@media screen and (min-width:1101px){
	.sp_only{
		display: none!important;
	}
}/*@media screen and (min-width:768px){*/

@media screen and (max-width:1100px){
	.pc_only{
		display: none!important;
	}

	main{
		padding-top: 60px;
	}


	body.fixed {
		width: 100%;
		height: 100%;
		position: fixed;
	}

	/*
	------------------------------------
	共通パーツ
	------------------------------------
	*/

	.hide{
		display: none;
	}

	.container{
		width: calc(325 / 375 * 100vw);
		max-width: 650px;
		padding:0;
		
		margin:0 auto;
	}


	/*LINEボタン*/
	.c_line_button{
		width: fit-content;
		min-width: 320px;
		max-width: 100%;
		min-height: 70px;
		padding:8px 12px;
		gap:0 20px;
		font-size: 15px;
		margin-inline: auto;
	}


	.c_line_button::before{
		width: 43px;
		height: 43px;
	}

	/*アニメーションボタン*/
	.c_radi_button{
		width: fit-content;
		min-width: 320px;
		max-width: 100%;
		min-height: 70px;
		padding:8px 12px;
		font-size: 15px;
		margin-inline: auto;
		border-width: 2px;
	}


	/*セクションタイトルセット*/
	.c_sec_title_set{
		gap:6px 0;
	}

	.c_sec_title_set .title_ja{
		font-size: 24px;
	}
	.c_sec_title_set .title_en{
		font-size: 15px;
	}

	/*
	------------------------------------
	ヘッダー
	------------------------------------
	*/

	header{
		position: fixed;
		width:100%;
		z-index: 30;
	}

	header .header_inner{
		max-width: 100%;
		padding:0 ;
		padding-left: 25px;
		margin:0 auto;
	}


	header .header_flex{
		min-height:auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding:0;
	}

	header .header_logo{
		display: block;
		width:100px;
	}

	header .header_nav{
		display: none;
	}

	header .header_parent_menu{
		display: flex;
		align-items: flex-start;
		gap:0 36px;
	}

	header .drawer_open{
		display: flex;
		justify-content: center;
		align-items: center;
		width:60px;
		height:60px;
		cursor: pointer;
		background-color:var(--green_color);
		position: relative;
		z-index: 40;
	}

	header .drawer_open_inner{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	
	header .drawer_open .bar{
		width:30px;
		height:2px;
		background-color: #fff;
		transition-duration: 0.5s;
	}


	header .drawer_open .bar02{
		margin:7px 0;
	}
	
	header .drawer_open.active .bar01 {
		transform: translateY(1px) rotate(-45deg);
	}
	header .drawer_open.active .bar02 {
		display: none;
	}
	header .drawer_open.active .bar03 {
		transform: translateY(-1px) rotate(45deg);
	}
	

	#drawer_menu{
		position: fixed;
		top:0;
		right:0;
		z-index:35;
		width:100%;
		
		background-color: var(--green_color);
		transition-duration: 0.7s;
		opacity: 0;
		transform: translateX(100%);
		pointer-events: none;
		
	}

	#drawer_menu.show{
		opacity: 1;
		transform: translateX(0);
		pointer-events: auto;
	}

	#drawer_menu .drawer_menu_inner{
		padding-top: 70px;
		height: 100vh;
		height: calc(var(--vh2, 1vh) * 100);
	}

	#drawer_menu .drawer_menu_scroll{
		height:100%;
		overflow-y: auto;
	}

	#drawer_menu .drawer_menu_contents{
		width: calc(325 / 375 * 100vw);
		max-width: 650px;
		padding:0;
		margin:0 auto;
		padding-bottom: 40px;
	}

	#drawer_menu .drawer_parent_item{
		border-bottom:1px solid #fff;
	}

	#drawer_menu .drawer_parent_link{
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding:16px 0;
		color: #fff;
	}

	#drawer_menu .drawer_parent_link_ja{
		font-size: 18px;		
	}
	#drawer_menu .drawer_parent_link_en{
		font-size: 14px;		
	}

	#drawer_menu .drawer_address{
		margin-top: 32px;
		font-size: 13px;
		line-height: 2;
		text-align: center;
		color: #fff;
	}

	#drawer_menu .drawer_address a{
		color: #fff;
	}

	#bottom_fix_menu{
		position: fixed;
		bottom:0;
		left:0;
		width:100%;
		z-index: 20;
		background-color: #333;
		display: flex;
		justify-content: center;
		align-items: center;

	}
	#bottom_fix_menu li{
		width:25%;
		height:60px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#bottom_fix_menu li a{
		font-size: 11px;
		line-height: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		color: #fff;
		gap:6px;
	}

	#bottom_fix_menu li .icon{
		height:28px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#bottom_fix_menu li .icon img{
		width: auto;
		object-fit: contain;
	}

	#bottom_fix_menu li .icon .top{
		height:26px;
	}
	#bottom_fix_menu li .icon .price{
		height:28px;
	}
	#bottom_fix_menu li .icon .access{
		height:26px;
	}
	#bottom_fix_menu li .icon .line{
		height:28px;
	}
	/*
	------------------------------------
	SNSセクション
	------------------------------------
	*/

	.common_sns_section{
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.common_sns_section .sns_flex{
		margin-top: 40px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap:24px;
	}

	.common_sns_section .insta_button::before{
		width: 32px;
		height: 32px;
		margin-right: 18px;
	}


	/*
	------------------------------------
	フッター
	------------------------------------
	*/

	footer{

	}

	footer .footer_area01{
		padding-top: 64px;
		padding-bottom: 64px;
		background-color: var(--green_color);
	}

	footer .footer_logo{
		display: block;
		margin-inline:auto;
		width:157px;
	}

	footer .footer_address{
		margin-top: 24px;
		font-size: 13px;
		line-height: 2;
		letter-spacing: 0;
		text-align: center;
	}


	footer .footer_area02{
		padding-top: 32px;
		padding-bottom: 100px;
	}

	footer .footer_parent_menu{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:12px 16px;
		flex-wrap: wrap;
	}

	footer .footer_parent_link{
		font-size: 15px;
		letter-spacing: 0;
	}


	footer .footer_copy{
		text-align: center;
		margin-top: 24px;
		font-size: 11px;
	}

	/*
	------------------------------------
	トップページ
	------------------------------------
	*/

	body.top_body{

	}

	main.top_main{
		padding-top: 0;
	}

	.top_section{

	}

	.top_fv_section{
		padding-top: 60px;
		/* height:100vh;
		min-height: 600px; */
	}

	.top_fv_section .top_fv_bg{
		height:auto;
		background-image: none!important;
		min-height: calc(210 / 375 * 100vw);
	}

	.top_fv_section .top_fv_info_area{
		/* width: calc(325 / 375 * 100vw);
		max-width: 650px;		 */
		width:100%;
		max-width: 100%;
		margin:0 auto;
		position: static;
	}

	.top_fv_section .fv_movie{
		position: static;
		width:100%;
		height:calc(210 / 375 * 100vw);
		animation-name:fv_bg_sp ;
		animation-delay: 1s;
		animation-fill-mode: forwards;
	}	

	@keyframes fv_bg_sp {
		
		0%{
			background-image: url('../img/top/fv_sp.png');
			background-color:#000000; 			
		}
		100%{
			background-image: url('../img/top/fv_sp.png');
			background-size: 100%;
			background-repeat: no-repeat;
			background-position: center top;
			background-color:#000000; 
		}
	}

	.top_fv_section .movie{
		position: static;
		width:100%;
		height:100%;
	}

	

	.top_fv_section .top_fv_slide_area{
		position: relative;
		/* aspect-ratio: 1 / 1;
		overflow: hidden; */
	}

	.top_fv_section .top_fv_slide{
		position: absolute;
		width:100%;
		height:100%;
		transition-duration: 1.3s;
		transition-property: opacity;
		opacity: 0;
		pointer-events: none;
	}

	

	.top_fv_section .top_fv_slide.show{
		opacity: 1;
		pointer-events: auto;
	}

	.top_fv_section .top_fv_slide img{
		width:100%;
		height:100%;
		object-fit: cover;
	}

	.top_fv_section .top_fv_slide_list{
		
	}

	.top_fv_section .top_fv_track_box{
		/* width:100%; */
		width: auto;
		padding-inline: 24px;
		height:40px;
		font-size: 18px;
		position: absolute;
		bottom:20px;
		left:0;
		z-index: 5;
	}

	.top_fv_section .top_fv_track_box02{
		bottom:30px;
	}

	.top_fv_section .top_fv_info_box{
		width: calc(325 / 375 * 100vw);
		max-width: 650px;		
		margin-inline: auto;
		position: static;
		/* width: 100%;
		max-width:100%; */
		border: solid 1px #0b5b30;
		border-radius: 0;
	}

	.top_fv_section .top_fv_info_head{
		height:45px;
		font-size: 18px;
	}

	.top_fv_section .top_fv_info_contents{
		padding:16px 10px;
		font-size: 16px;
	}

	.top_track_section{
		padding-top: 80px;
		padding-bottom: 80px;
	} 

	.top_track_section .flex{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap:32px;
		flex-direction: column-reverse;
	}

	.top_track_section .text_area{
		width:100%;
	}

	.top_track_section .img_area{
		width:100%;
	}

	.top_track_section .track_head{
		font-size: 20px;
		font-weight: bold;
		line-height: 1.4;
	}

	.top_track_section .track_text{
		font-size: 15px;
		font-weight: 500;
		line-height: 1.67;
		margin-top: 24px;
		letter-spacing: 0;
	}

	.top_track_section .button_list{
		margin-top: 30px;
	}

	.top_track_section .button_list a + a{
		margin-top: 30px;
	}

	.top_news_section{
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.top_news_section .news_frame{
		margin-top: 44px;
		display: flex;
		justify-content: center;
	}

	.top_news_section .news_frame .slide_area{
		flex-shrink: 0;
		width:100vw;
		max-width: 650px;
		padding-left: 25px;
	}

	.top_news_section .news_list{
		display: flex;
		gap:27px;
	}

	.top_news_section .news_slide{
		width:240px;
		padding-inline: 10px;
		height: auto;
	}

	.top_news_section .news_card{
		min-height:100%;
	}

	.top_news_section .news_contents{
		padding:20px 12px;
		min-height: 150px;
	}

	.top_news_section .news_date{
		font-size: 14px;
	}

	.top_news_section .news_title{
		font-size: 15px;
		font-weight: 500;
		line-height: 1.5;
		margin-top: 12px;
	}

	.top_news_section .nav_flex{
		margin-top: 24px;
		display: flex;
		justify-content: flex-end;
		gap:0 24px;
		font-size: 20px;
		font-weight: 500;
		color: #fefefe;
	}

	.top_news_section .nav_flex .swiper_news_nav{
		cursor: pointer;
	}

	.top_news_section .news_button{
		margin:40px auto 0;
	}

	.top_info_section{
		
	} 

	.top_info_section .flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
		gap:32px 0;
	}

	.top_info_section .img_area{
		width: 100%;
	} 

	.top_info_section .text_area{
		width:100%;
	}

	.top_info_section .info_text{
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.67;
	}

	.top_info_section .info_button{
		margin-top: 36px;
	}

	.top_price_section{
		padding-top: 80px;
	}

	.top_facility_section{
		padding-top: 80px;
	}

	.top_facility_section .flex{
		flex-direction: column;
	}


	/*
	------------------------------------
	下層 fv
	------------------------------------
	*/

	.page_fv_section{
		padding-top: 40px;
	}

	.page_fv_section .page_title_set{
		align-items: flex-start;
	}

	/*
	------------------------------------
	トラックマンレンジ
	------------------------------------
	*/

	body.track_body{
		
	}

	main.track_main{
		
	}

	.track_section{
		
	}

	.track_fv_section .fv_img_frame{
		margin-top: 24px;
	}


	.track_info_section{
		padding-top: 80px;
	} 

	.track_info_section .flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
		gap:32px;
	}

	.track_info_section .flex.reverce{
		flex-direction: column;
	}

	.track_info_section .info_img_area{
		width:100%;
	}
	.track_info_section .info_text_area{
		width:100%;
	}

	.track_info_section .info_img01{
		max-width: 67%;
		margin:0 auto;
	}

	.track_info_section .info_head{
		font-size: 20px;
		font-weight: bold;
		line-height: 1.4;
	}

	.track_info_section .info_text{
		margin-top: 16px;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.67;
		letter-spacing: 0;
	}

	.track_info_section .info_text p + p{
		margin-top: 24px;
	}
	.track_info_section .info_button{
		margin-top: 40px;
	}


	/*
	------------------------------------
	アクセス
	------------------------------------
	*/

	body.access_body{
		
	}

	main.access_main{
		
	}

	.access_section{

	}

	.access_section .map_frame{
		margin-top: 24px;
		height:240px
	}

	.access_section .map_frame iframe{
		width:100%;
		height:100%;
		display: block;
	}

	.access_section .access_head{
		font-size: 20px;
		font-weight: bold;
		line-height: 1.5;
		margin-top: 24px;
		font-feature-settings: 'palt';
	}

	.access_section .access_head + .access_head{
		margin-top: 24px;
	}

	.access_section .access_text{
		font-size: 15px;
		font-weight: 500;
		line-height: 1.67;
		margin-top: 16px;
	}

	/*
	------------------------------------
	スクール
	------------------------------------
	*/

	body.school_body{
		
	}

	main.school_main{
		
	}

	.school_fv_section .fv_text{
		font-size: 15px;
		margin-top: 16px;
	}

	.school_info_section{
		padding-top: 50px;
	} 

	.school_info_section + .school_info_section{
		padding-top: 100px;
	}

	.school_info_section .school_flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
		gap:32px;
	}

	.school_info_section .school_img_area{
		width:100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap:0;
	}

	.school_info_section .school_img{
		width:48%;
	}

	.school_info_section .school_text_area{
		width:100%;
	}

	.school_info_section .school_head{
		font-size: 24px;
		font-weight: bold;
	}

	.school_info_section .school_text{
		font-size: 15px;
		font-weight: 500;
		line-height: 1.67;
		margin-top: 24px;
	}

	.school_info_section .school_button_list{
		margin-top: 36px;
	}

	.school_info_section .school_button + .school_button{
		margin-top: 32px;
	}

	.school_info_section .school_remark{
		text-align: center;
		margin-top: 80px;
		font-size: 20px;
	}


	/*
	------------------------------------
	施設案内
	------------------------------------
	*/

	body.facility_body{
		
	}

	main.facility_main{
		
	}

	.facility_section{

	}

	.facility_info_section{
		padding-top: 30px;
		padding-bottom: 80px;
	}

	.facility_info_section .facility_flex_list{
		
	}

	.facility_info_section .facility_flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
		gap:40px;
	}

	.facility_info_section .facility_flex:nth-child(odd){
		flex-direction: column;
	}

	.facility_info_section .facility_flex + .facility_flex{
		margin-top: 60px;
	}

	.facility_info_section .facility_img_area{
		width:100%;
	}

	.facility_info_section .facility_text_area{
		width:100%;
	}

	.facility_info_section .facility_head{
		font-size: 20px;
		line-height: 1.5;
	}

	.facility_info_section .facility_text{
		margin-top: 16px;
		font-size: 15px;
		line-height: 1.67;
	}

	.facility_info_section .facility_block_list{
		margin-top: 60px;
	}

	.facility_info_section .facility_block + .facility_block{
		margin-top: 44px;
	}

	.facility_gal_section{
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.facility_gal_section .gal_list{
		margin-top: 40px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap:32px 16px;
	}



	/*
	------------------------------------
	お知らせ
	------------------------------------
	*/

	body.news_body{
		
	}

	main.news_main{
		
	}

	.news_section{

	}

	.news_article_section{
		padding-top: 24px;
	}

	.news_article_section .news_article_flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
		gap:60px 0;
	}

	.news_article_section .sidebar{
		width:100%;
	}

	.news_article_section .sidebar_block + .sidebar_block{
		margin-top: 40px;
	}

	.news_article_section .sidebar .sidebar_item{
		font-weight: 500;
		line-height: 1.5;
	}

	.news_article_section .sidebar .sidebar_item + .sidebar_item{
		margin-top: 16px;
	}

	.news_article_section .sidebar .sidebar_contents{
		padding-top: 20px;
	}

	.news_article_section .sidebar .sidebar_head{
		min-height: 50px;
		padding: 6px 20px;
		font-size: 18px;
	}

	.news_article_section .news_article{
		max-width:100%;
		width:100%;
	}

	.news_article_section .tag_head{
		font-size: 18px;
		font-weight: 500;
		margin-bottom: 24px;
	}

	.news_article_section .news_list{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap:48px 16px;
	}


	.news_article_section .news_list .news_contents{
		padding-top: 16px;
	}

	.news_article_section .news_list .news_date{
		font-size: 13px;
		font-weight: 500;
		letter-spacing: 0.04em;
	}

	.news_article_section .news_list .news_title{
		margin-top: 12px;
		font-size: 15px;
	}

	.news_article_section .page_nation{
		margin-top: 70px;
		gap:20px 16px;
		font-size: 16px;
		font-weight: 500;
	}

	.news_article_section .page_nation span.current{
		border-bottom:1px solid;
	}

	.news_article_section .page_nation a.page-numbers{
		
	}

	.news_article_section .page_nation a.page-numbers.next{
		margin-left: 10px;
	}	
	.news_article_section .page_nation a.page-numbers.prev{
		margin-right: 10px;
	}


	.news_article_section .news_single_frame .news_title{
		font-size: 24px;
		font-weight: 500;
		line-height: 1.5;
	}

	.news_article_section .news_single_frame .news_date{
		margin-top: 16px;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.04em;
	}

	.news_article_section .news_single_block{
		margin-top: 32px;
		font-size: 15px;
		line-height: 1.67;
	}


	.news_article_section .news_single_block h2{
		margin:24px 0;
	}

	.news_article_section .news_single_block h3{
		margin:16px 0;
	}

	.news_article_section .news_single_block img{
		margin:16px 0;
	}

	.news_article_section .link_flex{
		margin-top: 50px;
	}

	.news_article_section .link_flex a{
		font-size: 18px;
	}


	/*
	------------------------------------
	利用案内
	------------------------------------
	*/

	body.price_body{
		
	}

	main.price_main{
		
	}

	.price_section{

	}

	.price_section .sec_title{
		font-size: 24px;
	}

	.price_section .sec_title span{
		font-size: 15px;
		font-weight: 500;
	}

	.price_table_section{
		padding-top: 32px;
	}

	.price_table_section + .price_table_section{
		padding-top: 80px;
	}

	.price_table_section .table_area{
		margin-top: 24px;
	}

	.price_table_section table{
		border-collapse: collapse;
		width:100%;
		
	}

	.price_table_section table th,
	.price_table_section table td{
		padding:8px 8px;
		font-size: 14px;
	}


	.price_table_section table.table_type01 th,
	.price_table_section table.table_type01 td{
		width:50%;
	}

	.price_table_section .table_flex{
		display: flex;
		flex-direction: column;
		gap:40px 0;
	}

	.price_table_section .table_man_frame{
		width:100%;
	}
	.price_table_section .table_woman_frame{
		width:100%;
		margin-left: 0;
	}

	.price_table_section .table_remark{
		margin-top: 12px;
		font-size: 13px;
	}

	.price_table_section .table_woman tr > :first-child {
		display: table-cell;
	}

	.price_table_section .table_type02 tr > :first-child{
		width:calc(90 / 325 * 100%);
	}
	.price_table_section .taxt_box{
		margin-top: 30px;
		padding:20px 12px;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.67;
	}

}/*@media screen and (max-width:767px){*/