@media only screen and (max-width: 767px) {
	body {
		min-width: 100%;
		max-width: 750px;
		font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.6rem);
		background-size: auto;
	}

	.l_wrap {
		width: 100%;
	}
	
	/*----------------------------------------------
		.l_bg
	---------------------------------------------*/
	.l_bg {
		background: url("../images/page_sp_bg.webp") no-repeat, #F9E7BB;
		background-size: 100%auto;
		width: 100%;
	}

  /*----------------------------------------------
  .l_header_area
  ---------------------------------------------*/	
	.l_header_area {
		height: 14vw;
	}
	
  /*----------------------------------------------
  .l_header_title
  ---------------------------------------------*/
	.l_header_title {
		top: 3vw;
		left: 3vw;
		width: 80vw;
	}
	
  /*----------------------------------------------
  .l_container
  ---------------------------------------------*/
	.l_container {
		padding: 0;
	}
	
  /*----------------------------------------------
  .l_side_contents
  ---------------------------------------------*/
	.l_side_contents > *:not(.drawer-nav) {
		display: none;
	}
	
	/*----------------------------------------------
  .l_bnr_area
  ---------------------------------------------*/
	.l_bnr_area {
		padding: 0 20px;
	}
	
  /*----------------------------------------------
  .l_main_contents
  ---------------------------------------------*/
	.l_main_contents {
		width: 100%;
		position: relative;
		float: none;
		padding: 6vw 2.6vw 20vw;
	}

	.l_content {
		padding: 8vw 3.6vw 10vw;
		min-height: 65vw;
	}
	
	/*----------------------------------------------
  .l_bg
  ---------------------------------------------*/
	/*中ページで背景固定にする場合↓*/
  /*.inner .l_bg {
		background: none;
	}
	.inner .l_bg::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: url(../images/page_bg_sp.webp) top center no-repeat, #E6E1D0;
		background-size: 100% auto;
		z-index: -1;
		pointer-events: none;
	}*/

  /*----------------------------------------------
  .l_poster_area
  ---------------------------------------------*/
	.l_poster_area {
		height: 93vw;
		background-size: contain;
	}
  .l_poster_theme {
    top: 18vw;
    width: 52vw;
  }
  .l_poster_detail {
    top: 0;
    width: 64vw;
  }
  .l_poster_date {
    bottom: 22vw;
    width: 50vw;
  }

  /*----------------------------------------------
  .l_news_area
  ---------------------------------------------*/
	.l_news_area {
		margin: 0 2.6vw;
		padding: 0;
		box-shadow: 0 0 3px #15337480;
	}
	
	.l_news_area dt {
		font-size: unset;
	}

	.l_news_header {
		padding: 10px 15px 10px 32px;
		font-size: clamp(2rem, 3.8vw, 4rem);
	}

	.l_news_header:before {
		width: 19px;
    height: 17px;
    left: 8px;
    background-size: cover;
	}

	.c_news_type01 {
		max-height: 49vw;
		font-size: clamp(1.5rem, 3.3vw, 3rem);
	}

	.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:not(:last-of-type) {
		word-wrap: break-word;
		padding-top: 0px;
    border-bottom: 1px dashed #aaa;
	}

	.c_news_type01 dd:not(:first-of-type) {
		border-top: unset;
	}

  /*----------------------------------------------
  .l_contact_area
  ---------------------------------------------*/
	.l_main_contents .l_contact_area {
		padding: 5vw 2.6vw;
	}
	.l_footer_area .l_contact_area {
		padding: 0vw 4vw;
	}
	
	.c_contact_header {
		font-size: clamp(1.2rem, 4.2vw, 3rem);
	}
	.c_contact_details {
		font-size: clamp(.9rem, 3.9vw, 2.7rem);
	}
	
	.c_contact.is_type04:first-child::after {
		content: none;
	}
	.c_contact.is_type04 .c_contact_header,
	.c_contact.is_type05 .c_contact_header {
		display: block;
		width: fit-content;
	}
	.c_contact.is_type04 {
		padding: 0;
	}
	.c_contact.is_type04 .c_contact_details {
		padding: 5px 0 0;
	}
	
	.c_contact.is_type05 .c_contact_details {
		padding: 5px;
	}
	
  /*----------------------------------------------
  .l_double
  ---------------------------------------------*/
	.l_double {
		flex-direction: column;
	}
	.l_double > * {
		width: 100%!important;
	}
	.l_double.is_auto {
		gap: 20px;
	}

	.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: clamp(1.2rem, 3vw, 2.4rem);
	}


  /*----------------------------------------------
  .l_pagetop
  ---------------------------------------------*/
	.l_pagetop img {
		width: 12.5vw;
	}

	.l_pagetop {
		position: fixed;
		left: auto;
		right: 2.6vw;
		z-index: 99;
		bottom: 13vw;
	}

  /*----------------------------------------------
  .c_nav_type01
  ---------------------------------------------*/
	.l_nav_area {
		touch-action: auto !important;
	}
	.l_nav_area .inner {
		width: 100%;
		height: 100%;
		overflow-y: auto;
	}
	
	.c_nav_type01 {
		padding-top: 13vw;
	}
	.c_nav_type01 li > a,
	.c_nav_type01 li.is_disabled > span {
		padding: 4.5vw 2.6vw;
		font-size: unset;
	}
	.c_nav_type01 li:first-of-type {
		border-top: 1px solid #ccc;
	}

	
	/*----------------------------------------------
  .c_nav_type02
  ---------------------------------------------*/
	.c_nav_type02 {
		padding-top: 13vw;
	}
	
	/*----------------------------------------------
  .c_nav_type03
  ---------------------------------------------*/
	.c_nav_type03 {
		padding-top: 13vw;
	}

  /*----------------------------------------------
  .c_ttl
  ---------------------------------------------*/
	.c_ttl_type01 {
		font-size: clamp(2.5rem, 4.3vw, 5rem);
		padding: 2vw 3vw;
	}

	.c_ttl_type02 {
		font-size: clamp(2.2rem, 4vw, 4.4rem);
		padding: 1.1vw 2.2vw;
	}

	.c_ttl_type03 {
		font-size: clamp(2rem, 3.8vw, 4rem);
		padding: 1.1vw 1.6vw 1.1vw 3vw;
	}

	.c_ttl_type04 {
		font-size: clamp(1.8rem, 3.6vw, 3.6rem);
		padding-bottom: 0;
	}

  /*----------------------------------------------
  .c_btn
  ---------------------------------------------*/
	.c_btn_type01 {
		padding: 6vw;
		width: 100%;
		font-size: clamp(1.2rem, 4.2vw, 3rem);
	}

	.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,
	.c_btn_type01.is_excel::before,
	.c_btn_type01.is_ppt::before,
	.c_btn_type01.is_pdf::before {
		background-size: 100%;
	}
	.l_button_double .c_btn_type01:first-of-type {
		margin-bottom: 2.65vh;
	}
  
  /*----------------------------------------------
  .c_list_type01
  ---------------------------------------------*/
	.c_list_type01 li:before {
		position: absolute;
		width: 2.25vw;
		top: 0;
		text-align: center;
	}
	
	.c_list_type01.is_triangle li:before,
	.c_list_type01.is_decimal > ul.c_list_type01.is_triangle li:before {
		top: 1.4vw;
		min-width: auto!important;
	}
	.c_list_type01.is_disc li:before,
	.c_list_type01.is_decimal > ul.c_list_type01.is_disc li:before,
	.c_list_type01.is_square li:before,
	.c_list_type01.is_decimal > ul.c_list_type01.is_square li:before {
		top: 1.8vw;
		min-width: auto!important;
	}
	.c_list_type01.is_diamond li:before,
	.c_list_type01.is_decimal > ul.c_list_type01.is_diamond li:before {
		top: 1.6vw;
		min-width: auto!important;
	}

	.c_list_type01.is_triangle li,
	.c_list_type01.is_decimal > ul.c_list_type01.is_triangle li,
	.c_list_type01.is_square li,
	.c_list_type01.is_decimal > ul.c_list_type01.is_square li,
	.c_list_type01.is_disc li,
	.c_list_type01.is_decimal > ul.c_list_type01.is_disc li,
	.c_list_type01.is_diamond li,
	.c_list_type01.is_decimal > ul.c_list_type01.is_diamond li {
		padding-left: 3vw!important;
	}

	.c_list_type01.is_decimal li {
		padding-left: 7vw;
	}

	.c_list_type01.is_decimal li:before {
		min-width: 1.5em;
		font-size: clamp(1.1rem, 4.1vw, 2.9rem);
	}

  /*----------------------------------------------
  .c_table_type01
  ---------------------------------------------*/
  .c_table_type01 th{
    text-align: left;
  }
	.c_table_type01 th,
	.c_table_type01 td {
		display: block;
		width: 100%;
	}
	.c_table_type01 th,
	.c_table_type01 tr:not(:last-of-type) td {
		border-bottom: none;
	}
	
	/*----------------------------------------------
  .c_table_type03
  ---------------------------------------------*/
	.c_table_type03 {
		border-top: none;
	}
  .c_table_type03 th{
    text-align: left;
  }
	.c_table_type03 th,
	.c_table_type03 td {
		display: block;
		width: 100%;
	}
	.c_table_type03 th,
	.c_table_type03 tr:not(:last-of-type) td {
		border-bottom: none;
	}
  .c_table_type03 thead {
    display: none;
  }
  .c_table_type03 tbody tr th:first-child:before {
    content: "ヘッダータイトル";
    display: block;
    color: #333;
    font-weight: bold;
    text-align: center;
    background: #AEE2F2;
    margin: -14px -14px 14px -14px;
    padding: 14px;
    box-sizing: border-box;
  }
	
	.c_table_type03 td {
		text-align: left;
	}
  
  /*ヘッダータイトルを個別でつける場合------------------------------
  
  .c_table_type03 tbody tr:nth-child(1) th:first-child:before {
    content: "ヘッダータイトル1";
  }
  .c_table_type03 tbody tr:nth-child(2) th:first-child:before {
    content: "ヘッダータイトル2";
  }
  .c_table_type03 tbody tr:nth-child(3) th:first-child:before {
    content: "ヘッダータイトル3";
  }
  
  ------------------------------------------------------------*/
  /*----------------------------------------------
  .c_table_type04
  ---------------------------------------------*/
  .c_table_type04 th{
    text-align: left;
  }
	.c_table_type04 th,
	.c_table_type04 td {
		display: block;
		width: 100%;
	}
	.c_table_type04 th,
	.c_table_type04 tr:not(:last-of-type) td {
		border-bottom: none;
	}
  .c_table_type04 thead {
    display: none;
  }
  .c_table_type04 tr {
    width: 100%;
  }
  .c_table_type04 td {
    display: block;
    width: 100%;
    text-align: right;
  }
  .c_table_type04 th:first-child {
    color: #333;
    font-weight: bold;
    text-align: center;
    background: #AEE2F2;
  }
  .c_table_type04 td:before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 10px;
  }
	
	/*----------------------------------------------
    .is_scroll
  ---------------------------------------------*/
  .is_scroll {
		width: 100%;
    overflow-x: scroll;
  }
	.is_scroll .c_table_type01 {
		width: 100%;
		min-width: 450px;
		table-layout: fixed;
	}
  .is_scroll .c_table_type01 th,
	.is_scroll .c_table_type01 td {
		display: table-cell;
		white-space: normal;
	}
	.is_scroll .c_table_type01 th,
	.is_scroll .c_table_type01 tr:not(:last-of-type) td {
		border-bottom: 1px solid #83B7C7;
	}
	
	.is_scroll .c_table_type01 .u_w50px { width: 20vw !important; }
	.is_scroll .c_table_type01 .u_w15 { width: 30vw !important; }
	.is_scroll .c_table_type01 .u_w20 { width: 40vw !important; }
	.is_scroll .c_table_type01 .u_w30 { width: 50vw !important; }
	.is_scroll .c_table_type01 .u_w40 { width: 60vw !important; }
	
	/*----------------------------------------------
    .is_horizontal 横幅ぴったりのテーブル
  ---------------------------------------------*/
  .is_horizontal {
		width: 100%;
  }
	.is_horizontal .c_table_type01 {
		width: 100%;
		table-layout: fixed;
	}
  .is_horizontal .c_table_type01 th,
	.is_horizontal .c_table_type01 td {
		display: table-cell;
		white-space: normal;
	}
	.is_horizontal .c_table_type01 thead th,
	.is_horizontal .c_table_type01 th,
	.is_horizontal .c_table_type01 tr:not(:last-of-type) td {
		border-bottom: 1px solid #83B7C7;
	}
	.is_horizontal .c_table_type01.u_w50,
	.is_horizontal .c_table_type01.u_w60,
	.is_horizontal .c_table_type01.u_w70 {
		width: 100%;
	}
	.is_horizontal .c_table_type01 th.u_sp_w20 { width: 20vw !important; }
	.is_horizontal .c_table_type01 th.u_w15,
	.is_horizontal .c_table_type01 th.u_sp_w30 { width: 30vw !important; }
	.is_horizontal .c_table_type01 th.u_w20 { width: 40vw !important; }
	.is_horizontal .c_table_type01 th.u_w30,
	.is_horizontal .c_table_type01 th.u_sp_w50 { width: 50vw !important; }
	.is_horizontal .c_table_type01 th.u_w40 { width: 60vw !important; }
	
  /*----------------------------------------------
  .c_box_type01
  ---------------------------------------------*/
	.c_box_type01 {
		padding: 3.5vw;
	}

	.c_box_type01_header {
		font-size: clamp(1.4rem, 3.2vw, 2.8rem);
	}

  /*----------------------------------------------
  .c_box_type02
  ---------------------------------------------*/
	.c_box_type02 {
		padding: 3.5vw;
	}

	.c_box_type02_header {
		font-size: clamp(1.4rem, 3.2vw, 2.8rem);
	}

  /*----------------------------------------------
  .c_box_type03
  ---------------------------------------------*/
	.c_box_type03 {
		padding: 2.25vw;
	}
	
	/*----------------------------------------------
  .c_ttl_icon
  ---------------------------------------------*/
	.c_ttl_icon.is_disc::before,.c_ttl_icon.is_diamond::before {
    background: #32AB9B;
	}
	.c_ttl_icon.is_triangle::before {
    border-left: solid 9px #32AB9B;
	}
	
	/*----------------------------------------------
	.c_program
	---------------------------------------------*/
	.c_program_table01 th,
	.c_program_table01 td {
		display: block;
	}
	.c_program_table01 tr.is_gap td {
		padding-bottom: 0;
	}
	.c_program_table01 tr.is_gap td:last-child {
		padding-bottom: 15px;
	}
	
	/*----------------------------------------------
  .c_period_box
  ---------------------------------------------*/
	.c_period_box {
		flex-direction: column;
	}
	
	/*----------------------------------------------
	.c_program
	---------------------------------------------*/
	.c_program_table01 th,
	.c_program_table01 td {
		display: block;
	}
	.c_program_table01 tr.is_gap td {
		padding-bottom: 0;
	}
	.c_program_table01 tr.is_gap td:last-child {
		padding-bottom: 15px;
	}
	
	/*----------------------------------------------
  .c_greeting
  ---------------------------------------------*/
	.c_greeting {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

  /*----------------------------------------------
  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_sp_ALright { text-align: right !important; }
  .u_sp_ALleft { text-align: left !important; }

	.u_fs11 { font-size: clamp(1.1rem, 2.9vw, 2.2rem); }
	.u_fs12 { font-size: clamp(1.2rem, 3vw, 2.4rem); }
	.u_fs13 { font-size: clamp(1.3rem, 3.1vw, 2.6rem); }
	.u_fs14 { font-size: clamp(1.4rem, 3.2vw, 2.8rem); }
	.u_fs15 { font-size: clamp(1.5rem, 3.3vw, 3rem); }
	.u_fs16 { font-size: clamp(1.6rem, 3.4vw, 3.2rem); }
	.u_fs17 { font-size: clamp(1.7rem, 3.5vw, 3.4rem); }
	.u_fs18 { font-size: clamp(1.8rem, 3.6vw, 3.6rem); }
	.u_fs19 { font-size: clamp(1.9rem, 3.7vw, 3.8rem); }
	.u_fs20 { font-size: clamp(2rem, 3.8vw, 4rem); }
	.u_fs21 { font-size: clamp(2.1rem, 3.9vw, 4.2rem); }
	.u_fs22 { font-size: clamp(2.2rem, 4vw, 4.4rem); }
	.u_fs23 { font-size: clamp(2.3rem, 4.1vw, 4.6rem); }
	.u_fs24 { font-size: clamp(2.4rem, 4.2vw, 4.8rem); }

	a {
		line-break: anywhere;
	}
  
  /*----------------------------------------------
  u_flex
  ---------------------------------------------*/
  .u_flex.is_sp_column {
    flex-direction: column;
  }
	
	/*----------------------------------------------
  u_width
  ---------------------------------------------*/
	.u_w15, .u_w20, .u_w30, .u_w40, .u_w50, .u_w60, .u_w70, .u_full,
  .u_w200, .u_w250, .u_w320, .u_w400 {
    width: 100%;
		min-width: auto;
  }
  
}