@media only screen and (max-width: 767px) {
	body {
		min-width: 100%;
		max-width: 750px;
		font-size: calc(30px + 30 * ((100vw - 750px) / 750));
		background-size: auto;
	}
  
  .l_bg {
    display: block;
  }

	.l_wrap {
		width: 100%;
	}
	
  /*----------------------------------------------
  .l_header_area
  ---------------------------------------------*/	
	.l_header_area {
		height: 20vw;
	}
	.en .l_header_area {
		height: 30vw;
	} 
	.en .l_header.l_wrap {
		width: 100%;
	}
	
	/*----------------------------------------------
  .l_header_title
  ---------------------------------------------*/
	.l_header_title {
    top: 10px;
    left: 0;
    width: 80vw;
    margin: 0;
   }
	.en .l_header_title {
		left: 10px;
		width: 74vw;
	}
  
  .l_header_logo {
    position: absolute;
    top: 5px;
		left: 5px;
    width: 14vw;
  }
	
  /*----------------------------------------------
  .l_container
  ---------------------------------------------*/
	.l_container {
		padding-top: 0;
    padding-bottom: 19vw;
	}
	
  /*----------------------------------------------
  .l_side_contents
  ---------------------------------------------*/
  .l_side_contents {
    height: auto;
    position: static;
  }
	.l_side_contents > *:not(.drawer-nav) {
		display: none;
	}
	
  /*----------------------------------------------
  .l_main_contents
  ---------------------------------------------*/
	.l_main_contents {
		position: relative;
		float: none;
		min-width: auto;
		width: 100%;
		background-color: #06A1DA;
		background-repeat: no-repeat;
		background-position: top -30px center;
		background-size: 100% auto;
		background-attachment: fixed;
	}

	/* トップ */
	#top .l_main_contents {
		background-position: center -30px;
		background-size: contain;
	}

	/* 昼 */
	.l_main_contents.day {
		background-image: url("../images/bg_01_sp.png");
	}

	/* 夜 */
	.l_main_contents.night {
		background-image: url("../images/bg_02_sp.png");
	}
	
	.l_main_container {
		width: 100%;
	}
	.l_main_container_shadow {
		margin: 0 2.6vw;
	}
	#top .l_main_container_shadow {
		margin: 0;
	}

	/*----------------------------------------------
  .l_content
  ---------------------------------------------*/
	.l_content {
		margin: 0;
		padding: 8vw 3.6vw;
		min-height: 65vw;
		font-size: calc(29px + 29 * ((100vw - 750px) / 750));;
	}

  /*----------------------------------------------
  .l_poster_area
  ---------------------------------------------*/
	.l_poster_area {
		height: auto;
		padding: 52% 0;
		background-size: contain;
	}
  .l_poster_theme,
	.en .l_poster_theme {
		top: 3vw;
    left: 0;
    right: 0;
    width: 75vw;
		margin: auto;
  }
  .l_poster_detail,
	.en .l_poster_detail {
    top: 23vw;
    left: 0;
    right: 0;
    width: 90vw;
    margin: auto;
   }

  /*----------------------------------------------
  .l_news_area
  ---------------------------------------------*/
	.l_news_area {
		margin: 0 2.6vw;
		padding: 0;
    width: calc(100% - 2.6vw * 2);
	}
	
	.l_news_area dt {
		font-size: unset;
	}

	.l_news_header {
        padding: 2.6vw;
        padding-left: 20px;
        font-size: calc(38px + 38 * ((100vw - 750px) / 750));
    }

	    .l_news_header:before {
        content: "";
        width: 5.35vw;
        height: 5.35vw;
        position: relative;
        top: 0.7vw;
        left: -5px;
        margin-right: 1.25vw;
        display: inline-block;
        background-size: 100%;
    }

	.c_news_type01 {
		max-height: 47.5vw;
		font-size: calc(28px + 28 * ((100vw - 750px) / 750));
	}

	.c_news_type01 dt,
	.c_news_type01 dd {
		padding: 2.1vw 2.6vw;
	}

	.c_news_type01 dt {
		float: none;
		clear: left;
		padding-bottom: 0px;
	}

	.c_news_type01 dd {
		word-wrap: break-word;
		padding-top: 0px;
    border-bottom: 1px dashed #aaa;
	}

	.c_news_type01 dd:not(:first-of-type) {
		border-top: unset;
	}

	.c_news_type01 dd:last-of-type {
    border-bottom: none;
	}

  /*----------------------------------------------
  .l_contact_area
  ---------------------------------------------*/  
	.l_contact_area {
		padding: 5vw 2.6vw;
	}
	.l_footer_area .l_contact_area {
		padding:0vw 2.6vw;
	}
  .l_footer_area {
    padding: 30px 0 0;
  }
	#top .l_footer_area {
    display: block;
  }
	.l_contact_area .c_contact_header {
		font-size: unset;
	}
	.l_contact_area .c_contact_header,
	.l_contact_area .c_contact_details {
		padding: 1vw 1.6vw;
	}
	
	.l_contact_area .c_contact_type02:first-child {
		padding-left: 0;
	}

	.l_contact_area .l_double {
        display: flex;
        flex-direction: column;
        padding-bottom: 20px;
/*        border-bottom: 1px solid #06A1DA;*/
    }

	.c_contact_type02 .c_contact_header {
		font-size: calc(30px + 30 * ((100vw - 750px) / 750));
		font-weight: bold;
	}

	.c_contact_type02 .c_contact_details {
		line-height: 1.5;
		font-size: calc(27px + 27 * ((100vw - 750px) / 750));
	}
	.c_contact_type03 {
		padding: 0; 
		position: relative;
	}
	.c_contact_type03:first-child:after {
		content: none;
	}
	.c_contact_type04 .c_contact_header {
		display: block;
	}
	
	
	.l_contact_area .c_contact_footer .c_contact_header,
	.l_contact_area .c_contact_footer .c_contact_details {
		padding:0;
	}
	
	.c_contact_footer .c_contact_header {
		margin-bottom:5px;
		font-size: calc(30px + 30 * ((100vw - 750px) / 750));
	}

	.c_contact_footer .c_contact_details {
		font-size: calc(27px + 27 * ((100vw - 750px) / 750));
	}
	
	
  /*----------------------------------------------
  .l_double
  ---------------------------------------------*/
	.l_double {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.l_double > * {
		width: 100%!important;
	}

	.l_double > *:first-child {
		padding-left: 0;
		margin-bottom:3.5vw;
	}
	#sample .l_double02 {
		display: unset;
	}
	#sample .l_double02 > * {
		width: 100%!important;
	}
	#sample .l_double02 > * {
		margin-bottom: 3.97vw;
	}
	#sample section:nth-of-type(4) .l_double {
		display: block!important;
	}
	#sample section:nth-of-type(4) .l_double > div {
		 width: 49%!important;
 		 display: inline-block!important;
	}
	
  /*----------------------------------------------
    .l_double_table
  ---------------------------------------------*/
  .l_double_table .c_table_type01 th{
    width:auto;
  }

  .l_double_table .c_table_type01:first-child th,
  .l_double_table .c_table_type01:first-child td{
    border-right: none;
  }
	
  /*----------------------------------------------
  .l_copyright
  ---------------------------------------------*/
	.l_copyright {
		font-size: calc(24px + 24 * ((100vw - 750px) / 750));
	}


  /*----------------------------------------------
  .l_pagetop
  ---------------------------------------------*/
	.l_pagetop img {
		width: 16.5vw;
	}

	.l_pagetop {
		position: fixed;
		right: 2.6vw;
		z-index: 99;
		bottom: 5vw;
	}
  .l_pagetop.attached {
    bottom: 0;
    position: absolute;
    right: 2.6vw;
  }


  /*----------------------------------------------
  .c_nav_type01
  ---------------------------------------------*/
	.l_nav_area .inner {
		width: 100%;
		height: 100%;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	
  .l_nav_area {
    touch-action: auto !important;
  }
	.c_nav_type01 {
	}
	.c_nav_type01 li a,
	.c_nav_type01 li span {
		padding: 4.5vw 2.6vw;
		font-size: unset;
	}
	.drawer-nav > div {
		height: 100%;
	}
	
	
/*----------------------------------------------
.l_logo_area_sp
---------------------------------------------*/
.l_logo_area_sp {
        margin-top: 5em;
        text-align: center;
    }
.l_logo_area_sp img {
    width: 25vw;
}
	
/*----------------------------------------------
.c_language_bnr
---------------------------------------------*/
.c_language_bnr {
    margin-top: 30px;
}
	.c_language_bnr:before {
    left: 22vw;
}
	
	
	
	
  /*----------------------------------------------
  .c_ttl
  ---------------------------------------------*/
	.c_ttl_type01 {
		background: url(../images/img_h1_sp.png) no-repeat center right #274560;
		background-size: contain;
		font-size: calc(5rem + 50 * ((100vw - 750px) / 750));
		padding: 2vw 2.5vw;
		margin: 0;
	}

	.c_ttl_type02 {
		padding: 1.1vw 2.2vw;
		font-size: calc(4.4rem + 44 * ((100vw - 750px) / 750));
	}

	.c_ttl_type03 {
		font-size: calc(3.8rem + 38 * ((100vw - 750px) / 750));
		padding: 3.5px 1.6vw;
	}

	.c_ttl_type04,
	.c_ttl_type04_02{
		font-size: calc(3.4rem + 34 * ((100vw - 750px) / 750));
		padding-bottom: 0;
	}

	.c_ttl_type05 {
		font-size: calc(3.2rem + 32 * ((100vw - 750px) / 750));
	}
	
	.c_ttl_type05::before {
    top: 1.7vw;
}

  /*----------------------------------------------
  .c_btn
  ---------------------------------------------*/
	.c_btn_type01 {
		padding: 6vw;
		width: 100%;
		font-size: calc(30px + 30 * ((100vw - 750px) / 750));;
	}

	.c_btn_type01.is_word::before,
	.c_btn_type01.is_excel::before,
	.c_btn_type01.is_ppt::before,
	.c_btn_type01.is_pdf::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0;
		bottom: 0;
		width: 4.3vw;
		height: 5.3vw;
		margin: auto 0;
		vertical-align: middle;
		right: 2vw;
	}

	.c_btn_type01.is_word::before {
		background-size: 100%;
	}

	.c_btn_type01.is_excel::before {
		background-size: 100%;
	}

	.c_btn_type01.is_ppt::before {
		background-size: 100%;
	}

	.c_btn_type01.is_pdf::before {
		background-size: 100%;
	}
	.l_button_double .c_btn_type01:first-of-type {
		margin-bottom: 2.65vh;
	}
  
  .c_btn_type01.is_w250,
  .c_btn_type01.is_w320,
  .c_btn_type01.is_w400,
  .c_btn_type01.is_w520 {
    width: 100%;
  }
  
  /*----------------------------------------------
  .c_list_type01
  ---------------------------------------------*/
	.c_list_type01 li:before {
		position: absolute;
		width: 2.25vw;
		top: 0;
		font-size: calc(2rem + 20 * ((100vw - 750px) / 750));
		text-align: center;
	}
	
	.c_list_type01.is_triangle li:before,
	.c_list_type01.is_diamond li:before,
	.c_list_type01.is_square li:before,
	.c_list_type01.is_disc li:before,
	.c_list_type01.is_triangle li:before,
	.c_list_type01.is_diamond li:before {
		top:2vw;
	}

	.c_list_type01.is_triangle li,
	.c_list_type01.is_diamond li,
	.c_list_type01.is_square li,
	.c_list_type01.is_disc li,
	.c_list_type01.is_triangle li,
	.c_list_type01.is_diamond li {
		padding-left: 2.5vw;
	}

	.c_list_type01.is_decimal li {
		padding-left: 7vw;
	}

	.c_list_type01.is_decimal li:before {
		min-width: 1.5em;
		font-size: calc(29px + 29 * ((100vw - 750px) / 750));
	}
  .c_list_type03 {
    text-align:left;
  }
  .u_indent06{
	text-indent: 0em;
	padding-left: 0em;
  }
  .u_indent07 {
    text-indent: 0;
    padding-left: 0;
}
  /*----------------------------------------------
  .c_table_type01
  ---------------------------------------------*/
  .c_table_type01 th{
    text-align: left;
  }
	.c_table_type01 th,
	.c_table_type01 td {
		width: 100%;
		display: block;
	}
	.c_table_type01 th,
	.c_table_type01 tr:not(:last-of-type) td {
		border-bottom: none;
	}
  .c_table_type01.is_th_w01 th {
    width: 100%;
  }
  .c_table_type01.is_th_ALcenter th {
    text-align: left;
	}
	.c_table_type01 th.is_w15,
	.c_table_type01 th.is_w20,
	.c_table_type01 th.is_w30,
	.c_table_type01 th.is_w40 {
		width: 100%;
	}
	
  /*----------------------------------------------
  .c_table_scroll
  ---------------------------------------------*/
	.c_table_scroll th,
	.c_table_scroll td {
		width: 100%;
	}
	
	/*----------------------------------------------
    .is_scroll
  ---------------------------------------------*/
  .is_scroll {
    width: 100%;
    overflow-x: scroll;
    white-space: nowrap;
  }
  .is_scroll .c_table_type01 th,
	.is_scroll .c_table_type01 td {
		width: 100%;
		display: table-cell;
	}
	.is_scroll .c_table_type01 th,
	.is_scroll .c_table_type01 tr:not(:last-of-type) td {
		border-bottom: 1px solid #ddd;
	}
  /*----------------------------------------------
  .c_box_type01
  ---------------------------------------------*/
	.c_box_type01 {
		padding: 2.25vw;
	}

	.c_box_type01_header {
		font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));
	}

  .c_box_type01.l_ondemand {
    font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));;
    width: 94.8vw;
    margin: 0 2.6vw 2.6vw 2.6vw;
  }
  /*----------------------------------------------
  .c_box_type02
  ---------------------------------------------*/
	.c_box_type02 {
		padding: 2.25vw;
	}

	.c_box_type02_header {
		font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));
	}

  /*----------------------------------------------
  .c_box_type03
  ---------------------------------------------*/
	.c_box_type03 {
		padding: 2.25vw;
	}
	
	/*----------------------------------------------
  .c_sponser_btn
  ---------------------------------------------*/
	.c_sponser_btn {
		flex-direction: column;
	}
	
	/*----------------------------------------------
  .c_greeting
  ---------------------------------------------*/
	.c_greeting {
		flex-direction: column-reverse;
		align-items: center;
		row-gap: 20px;
	}

  /*----------------------------------------------
  u_mab
  ---------------------------------------------*/
	.u_mab10, .u_sp_mab10 { margin-bottom: 1.32vh; }
	.u_mab15, .u_sp_mab15 { margin-bottom: 1.98vh; }
	.u_mab20, .u_sp_mab20 { margin-bottom: 2.65vh; }
	.u_mab25, .u_sp_mab25 { margin-bottom: 3.31vh; }
	.u_mab30, .u_sp_mab30 { margin-bottom: 3.97vh; }
	.u_mab40, .u_sp_mab40 { margin-bottom: 5.30vh; }
	.u_mab50, .u_sp_mab50 { margin-bottom: 7.95vh; }
  
  /*----------------------------------------------
  u_sp_mar
  ---------------------------------------------*/
  .u_sp_mar0 { margin-right: 0; }

  /*----------------------------------------------
  miscellaneous
  ---------------------------------------------*/
	.u_pc {
		display: none !important;
	}

	.u_sp {
		display: block !important;
	}
	.u_sp_ALcenter { text-align: center!important;}
	
  .u_pc_ALcenter { text-align: left !important; }

	.u_fs11 { font-size: calc(25px + 25 * ((100vw - 750px) / 750)); }
	.u_fs12 { font-size: calc(26px + 26 * ((100vw - 750px) / 750)); }
	.u_fs13 { font-size: calc(27px + 27 * ((100vw - 750px) / 750)); }
  .u_fs14 { font-size: calc(28px + 28 * ((100vw - 750px) / 750)); }
	.u_fs15 { font-size: calc(29px + 29 * ((100vw - 750px) / 750)); }
	.u_fs16 { font-size: calc(30px + 30 * ((100vw - 750px) / 750)); }
	.u_fs17 { font-size: calc(31px + 31 * ((100vw - 750px) / 750)); }
	.u_fs18 { font-size: calc(32px + 32 * ((100vw - 750px) / 750)); }
	.u_fs19 { font-size: calc(33px + 33 * ((100vw - 750px) / 750)); }
	.u_fs20 { font-size: calc(34px + 34 * ((100vw - 750px) / 750)); }
	.u_fs21 { font-size: calc(35px + 35 * ((100vw - 750px) / 750)); }
	.u_fs22 { font-size: calc(36px + 36 * ((100vw - 750px) / 750)); }
	.u_fs23 { font-size: calc(37px + 37 * ((100vw - 750px) / 750)); }
	.u_fs24 { font-size: calc(38px + 38 * ((100vw - 750px) / 750)); }

	a {
		line-break: anywhere;
	}
  
  /*----------------------------------------------
  u_flex
  ---------------------------------------------*/
  .u_flex.is_sp_column {
    flex-direction: column;
  }
}