@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/sp_bg02.png") repeat;
        background-size: cover;
    }
    .inner .l_bg{
        background: url("../images/sp_innerbg.png") no-repeat;
        background-size: cover;
        background-position: top center;
    }
/*----------------------------------------------
.l_header_area
---------------------------------------------*/	
	.l_header_area {
		height: 14vw;
	}
	
/*----------------------------------------------
.l_container
---------------------------------------------*/
	.l_container {
		padding: 0;
	}
  #top .l_container{
  left: 0 !important;
}
	
/*----------------------------------------------
.l_side_contents
---------------------------------------------*/
	.l_side_contents > *:not(.drawer-nav) {
		display: none;
	}
	
/*----------------------------------------------
.l_main_contents
---------------------------------------------*/
  .l_contents_box {
    margin: 0 2.6vw;
  }
  #top .l_contents_box {
    margin: 0; 
  }
  
	.l_main_contents {
		width: 100%;
		position: relative;
		float: none;
		padding: 7vw 0 25vw 0;
	}
  
  #top .l_main_contents {
		padding: 16vw 0 25vw 0;
	}

	.l_content {
		margin: 0;
		padding: 8vw 3.6vw;
		min-height: 65vw;
		font-size: calc(29px + 29 * ((100vw - 750px) / 750));
	}
  #top .l_content {
    margin: 0 2.6vw;
  }

/*----------------------------------------------
.l_poster_area
---------------------------------------------*/
	.l_poster_area { 
    box-shadow: none;
		height: auto;
		padding: 70% 0;
    background: url("../images/sp_poster.png") no-repeat;
    background-size: 100%;
    background-position: center 98%;
		left: 0;
		bottom: 0;
	}
  
  .l_poster_area.en { 
    box-shadow: none;
		height: 595px;
		padding: 70% 0;
    background: url("../images/sp_poster.png") no-repeat;
    background-size: 100%;
    background-position: center 98%;
		left: 0;
		bottom: 0;
	}

    
/*----------------------------------------------
	.l_poster_ttl
---------------------------------------------*/
.l_poster_header {
	position: absolute;
	top: -4vw;
	left: 0;
  right: 18vw;
	margin: auto;
  width: 83vw;
  bottom: 119vw;
}
  
  .l_poster_header.en {
	position: absolute;
	top: -5vw;
	left: 0;
  right: 16vw;
	margin: auto;
  width: 81vw;
}
/*----------------------------------------------
	.l_poster_details
---------------------------------------------*/
.l_poster_detail {
  bottom: 22vw;
	position: absolute;
  left: -3vw;
  width: 65vw;
}
  
  .l_poster_detail.en {
  bottom: 20vw;
	position: absolute;
  left: -3vw;
  width: 60vw;
}

/*----------------------------------------------
	.l_poster_date
---------------------------------------------*/
.l_poster_date {
  position: absolute;
	bottom: 46vw;
	left: -3vw;
  width: 70vw;   
}
  
  .l_poster_date.en {
  position: absolute;
  bottom: 50vw;
	left: -3vw;
  width: 65vw;   
}

/*----------------------------------------------
	.l_poster_theme
---------------------------------------------*/
.l_poster_theme {
  position: absolute;
  left: 0;
	right: 0;
	margin: auto;
  top: 12vw;
  width: 84vw;   
}
  
  .l_poster_theme.en {
  position: absolute;
  left: 0;
	right: 0;
	margin: auto;
  top: 12vw;
  width: 84vw;   
}
  
  .l_bnr_area {
    position: static;
  }
/*----------------------------------------------
.l_header_title
---------------------------------------------*/
  .inner .l_header_title {
    position: absolute;
    left: 0;
    top: -8.2vw;
    width: 84vw;
    margin: 0;
  }
  
  .inner .l_header_title_en {
    position: absolute;
    left: 0;
    top: -2.2vw;
    width: 79vw;
    margin-left: 14px;
  }


/*----------------------------------------------
.l_news_area
---------------------------------------------*/
	.l_news_area {
		margin: 0 2.6vw;
/*		padding: 0 0 2.6vw;*/
}
	
	.l_news_area dt {
		font-size: unset;
	}

	.l_news_header {
		height: 13vw;
		padding: 10px;
		font-size: calc(38px + 38 * ((100vw - 750px) / 750));
	}

/*
	.l_news_header:before {
		content: "";
		background-size: contain;
		width: 6.35vw;
		height: 6.35vw;
		position: relative;
		top: 0;
		margin-right: 1.25vw;
	}
*/

	.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;
/*		margin-bottom: 2.5vw;*/
	}

/*----------------------------------------------
.l_contact_area
---------------------------------------------*/
	.l_contact_area {
		padding: 5vw 2.6vw;
	}

	.l_footer_area .l_contact_area {
		padding:0vw 2.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 .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_footer_area{
    margin-top:inherit;
  }
/*----------------------------------------------
.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,
  .c_language a {
    box-shadow: none;
  }
  
	.c_language {
		padding-top: 15vw;
	}
	.c_nav_type01 li a, .c_nav_type01 li span {
		padding: 4.5vw 2.6vw;
		font-size: unset;
	}
  .c_nav_type01 li:first-of-type span,
  .c_nav_type01 li:first-of-type a {
    border-top: 1px solid #5E9590;
  }
/*----------------------------------------------
.c_ttl
---------------------------------------------*/
	.c_ttl_type01 {
		font-size: calc(5rem + 50 * ((100vw - 750px) / 750));
		padding: 1vw 2.5vw;
		margin: 8vw 0 0;
	}

	.c_table_type01.is_th_narrow th,
  .c_table_type01.is_th_20per th {
		width: 100%;
	}

	.c_ttl_type02 {
		padding: 0.5vw 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_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: 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_btn_type01.is_program{
  padding: 13px;
  width: 88vw;
  margin: 0;
}
/*----------------------------------------------
.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 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_type001 {
  width: 100%;
}

.c_table_type001 thead th {
  background: #85C9C2;
  color: #333;
  text-align: center;
}
.c_table_type001 th {
  text-align: left;
  vertical-align: top;
  font-weight: normal;
  white-space: nowrap;
  color: #333;
  background: #F6FFFD;
}

.c_table_type001 th,
.c_table_type001 td {
  padding: 14px 5px 10px 40px;
  border: 1px solid #ddd;
}
/*----------------------------------------------
.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_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;
    margin: 0 2.6vw;
	}

/*----------------------------------------------
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; }
  .u_sp_mar20 { margin-right: 20px; }

/*----------------------------------------------
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;
  }
  
  .l_img_access {
    width: 70%;
    margin: auto auto 5vw auto;
  }

  .c_btn_two {
    grid-template-columns: 100%;
    row-gap: 20px;
  }
  
  .c_program_box {
    flex-wrap: wrap;
    flex-direction: column;
  }
  
  .c_program_picture {
    text-align: center
  }
  
  /*----------------------------------------------
    l_bnr_area
  ---------------------------------------------*/
  
  .l_bnr_area {
    margin: 30px auto 0;
  }
  
  .l_poster_size{
    width: inherit;
  }
 
}