@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_wrap {
		width: 100%;
	}
  .l_bg {
    background: url("../images/page_bg_sp.png") no-repeat, #2ca4c3;
    background-size: 100%;
    min-height: auto;
  }
  #top .l_bg {
    background: url("../images/page_bg_sp_top.png") no-repeat, #2ca4c3;
    background-size: 100%;
  }
	
/*----------------------------------------------
.l_header_area
---------------------------------------------*/	
	.l_header_area {
		height: 22vw;
	}
/*----------------------------------------------
.l_header_title
---------------------------------------------*/
	.l_header_title {
		top: 5px;
		left: 0;
    width: 77vw;
	}
	
/*----------------------------------------------
.l_container
---------------------------------------------*/
	.l_container, #top .l_container {
		padding: 0;
	}
	
/*----------------------------------------------
.l_side_contents
---------------------------------------------*/
	.l_side_contents > *:not(.drawer-nav) {
		display: none;
	}
  
/*----------------------------------------------
.l_logo_area
---------------------------------------------*/	
  .l_logo_area {
    width: 100%;
    box-shadow: none;
  }
/*----------------------------------------------
.l_main_contents
---------------------------------------------*/
	.l_main_contents {
		width: 100%;
		position: relative;
		float: none;
		padding: 6vw 0 22vw;
    top:0;
	}
  .l_main_box {
		margin: 0 2.6vw;
  }

	.l_content {
		padding: 8vw 3.6vw;
		min-height: 65vw;
		font-size: calc(29px + 29 * ((100vw - 750px) / 750));;
	}

/*----------------------------------------------
.l_poster_area
---------------------------------------------*/
	.l_poster_area {
		background-size: contain;
		height: auto;
    margin-bottom: 0 !important;
    overflow: hidden;
		padding: 64% 0;
	}
  
  .l_poster_theme {
    left: 4vw;
    top: 6vw;
    width: 47vw;
  }
  
  .l_poster_date {
    bottom: 0;
    left: -5vw;
    margin: 0 auto;
    right: 0;
    width: 110%;
  }

/*----------------------------------------------
.l_news_area
---------------------------------------------*/
	
	.l_news_area dt {
		font-size: unset;
	}

	.l_news_header {
		height: 13vw;
		padding: 2.1vw 2.1vw 2.1vw 10vw;
		font-size: calc(38px + 38 * ((100vw - 750px) / 750));
	}

	.l_news_header::before {
		height: 6.35vw;
    left: 2.6vw;
		margin-right: 1.25vw;
		width: 6.35vw;
	}

	.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: none;
	}
  
/*----------------------------------------------
.l_banner_area
---------------------------------------------*/

.l_banner_area {
  justify-content: space-around;
  }

.l_banner_area img{
  width: 240px;
  height: auto;
  }
/*----------------------------------------------
.l_contact_area
---------------------------------------------*/
	.l_contact_area {
		padding: 5vw 2.6vw;
	}

	.l_footer_area {
		padding: 35px 0;
	}

	.l_footer_area .l_contact_area {
		padding:0vw 3.6vw;
	}
	
	.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;
	}

	.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 {
    text-align: left;
  }
	.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: 12.5vw;
	}

	.l_pagetop {
		position: fixed;
		right: 25px;
		z-index: 99;
		bottom: 13vw;
	}
  .l_pagetop.attached {
    position: absolute;
    bottom: 0;
  }

/*----------------------------------------------
.c_nav_type01
---------------------------------------------*/
	.c_nav_type01 {
    box-shadow: none;
		padding-top: 17vw;
	}

	.c_nav_type01 li a, .c_nav_type01 li span {
		padding: 4.5vw 2.6vw;
		font-size: unset;
	}

  .c_nav_type01 li.is_new a::before{
    width: 14vw;
    height: 6vw;
  }
  .c_nav_type01 li.is_new_02 a::before{
    width: 14vw;
    height: 6vw;
    font-size: calc(27px + 27 * ((100vw - 750px) / 750));
  }
/*----------------------------------------------
.c_ttl
---------------------------------------------*/
	.c_ttl_type01 {
		font-size: calc(5rem + 50 * ((100vw - 750px) / 750));
		padding: 2vw 2.5vw;
	}

	.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));
    padding-left: 5vw;
	}
  .c_ttl_type05::before {
    height: 4vw;
    width: 4vw;
  }

/*----------------------------------------------
.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: 4vw;
	}

	.c_btn_type01.is_word::before {
/*		background: url(../images/icon_btn_word_sp.png) no-repeat;*/
		background-size: 100%;
	}

	.c_btn_type01.is_excel::before {
/*		background: url(../images/icon_btn_excel_sp.png) no-repeat;*/
		background-size: 100%;
	}

	.c_btn_type01.is_ppt::before {
/*		background: url(../images/icon_btn_powerpoint_sp.png) no-repeat;*/
		background-size: 100%;
	}

	.c_btn_type01.is_pdf::before {
/*		background: url(../images/icon_btn_pdf_sp.png) no-repeat;*/
		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 {
    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_table_type01
---------------------------------------------*/
  .c_table_type01 tbody th{
    text-align: left!important;
  }
	.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_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 #aaa;
	}
/*----------------------------------------------
.c_box_type01
---------------------------------------------*/
	.c_box_type01 {
		padding: 2.25vw;
	}

	.c_box_type01_header {
		font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));
	}

/*----------------------------------------------
.c_box_type02
---------------------------------------------*/
	.c_box_type02 {
		padding: 2.25vw;
		border-width: 4px;
	}

	.c_box_type02_header {
		font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));
	}

/*----------------------------------------------
.c_box_type03
---------------------------------------------*/
	.c_box_type03 {
		padding: 2.25vw;
	}
  
/*----------------------------------------------
.c_box_type04
---------------------------------------------*/
	.c_box_type04 {
    width: 75vw;
    bottom: -5vw;
    top: unset;
    left: 8vw;
	}

/*----------------------------------------------
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_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;
  }
  
  /*----------------------------------------------
  .c_icon_ondemand
  ---------------------------------------------*/
  .c_icon_ondemand::before {
    width: 4vw;
    height: 4vw;
    vertical-align: -0.5vw;
    margin-right: 2vw;
  }
  .c_icon_ondemand_after::after {
    width: 5vw;
    height: 5vw;
    margin-left: 23vw;
    vertical-align: -0.5vw;
  }  
}

@media screen and (min-width:500px) and ( max-width:766px) {
	a.c_anchor_icon,
	a.c_anchor_icon2 {
		background-size: auto 70%;
		padding-right: 7%;
	}
}