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

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

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


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

	/*セクション見出し*/
	.common_sec_title{
		font-size: 28px;
		line-height: 1.2;
		letter-spacing: 0.03em;
	}


	/*波線*/
	.common_wave{
		width:375px;
		height:28px;
		min-width: calc(100% + 20px);
		background-size: 375px 28px;
	}


	.common_wave.wave_top{
		top:-20px;
		background-position: top;
	}

	.common_wave.wave_top.wave_red{
		background-image: url('../img/top/wave_red_top_sp.png');
	}
	.common_wave.wave_top.wave_gray{
		background-image: url('../img/top/wave_gray_top_sp.png');
	}
	.common_wave.wave_top.wave_navy{
		background-image: url('../img/top/wave_navy_top_sp.png');
	}

	.common_wave.wave_bottom{
		bottom:-30px;
		background-position: bottom;
	}
	.common_wave.wave_bottom.wave_red{
		background-image: url('../img/top/wave_red_bottom_sp.png');
	}

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

	header{
		top:72px;
		left:0;
	}

	header .header_inner{
		max-width: 1920px;
		padding-left: 14px;
		padding-right: 12px;
	}


	header .header_logo{
		width:68px;
	}

	header .header_left{
		padding-top: 0;
	}

	header .lang_block{
		min-width: 130px;
		min-height: 32px;
		padding:6px 32px 6px 8px;
	}

	header .lang_block::before{
		width:19px;
		height:19px;
		margin-right: 8px;
	}

	header .lang_text{
		font-size: 14px;
		letter-spacing: 0.03em;
	}

	header .lang_radi{
		width:13px;
		height:13px;
		right:16px;
	}

	header .lang_radi::after{
		width:8px;
		height:6px;
	}

	header .lang_contents{
		font-size: 14px;
	}


	/*
	------------------------------------
	LP本体
	------------------------------------
	*/

	.top_fv_section{
		min-height:100vh;
		min-height: calc(var(--vh3, 1vh) * 100);
	}

	.top_fv_section .fv_inner{
		display: flex;
		justify-content: center;
		align-items: center;
		min-height:100vh;
		min-height: calc(var(--vh3, 1vh) * 100);
		padding-top:130px;
		padding-bottom: 130px;
	}

	.top_fv_section .fv_news_area{
		min-height: 50px;
		padding:4px 10px;
		font-weight: 500;
		font-size: 16px;
		line-height: 1.2;
	}

	.top_fv_section .fv_block{
		padding-top: 50px;
		padding-bottom: 0;
	}

	.top_fv_section .fv_logo{
		max-width:262px;
	}

	.top_fv_section .fv_text{
		margin-top: 28px;
		font-weight: 600;
		font-size: 28px;
		letter-spacing: 0.03em;
		line-height: 1.1;
	}

	.top_fv_section .fv_text img{
		height:85px;
	}

	.top_fv_section .place_text{
		margin-top: 8px;
		min-width: 250px;
		min-height: 30px;
		padding:2px 6px;
		font-size: 17px;
		letter-spacing: 0.03em;
	}

	.top_fv_section .scroll_point{
		gap:6px;
		bottom:28px;
		font-size: 12px;
	}

	.top_fv_section .scroll_frame{
		width:11px;
	}

	.top_fv_section .scroll_bar{
		width: 1.5px;
		height: 44px;
	}

	.top_fv_section .scroll_radi{
		width:11px;
		border:1.5px solid var(--black);
	}

	@keyframes scroll_radi{
		0%{
			transform: translateY(0px);
			opacity: 0;
		}

		50%{
			opacity: 1;
		}
		100%{
			transform: translateY(33px);
			opacity: 0;
		}
	}

	.top_about_section{
		padding-top: 54px;
		padding-bottom: 70px;
		min-height: auto;
	}

	.top_about_section .about_deco{
		background-image: url('../img/top/about_deco_sp.svg');
	}

	.top_about_section .about_deco01{
		width:52px;
		height:75px;
		top:-24px;
		right:calc(50% + 120px);
	}
	.top_about_section .about_deco02{
		width:62px;
		height:90px;
		bottom: -36px;
		right: auto;
		left:calc(50% + 116px);
		transform: rotateZ(180deg);
	}


	.top_about_section .about_contents{
		margin-top: 12px;
	}


	.top_about_section .about_text{
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.9;
	}

	.top_about_section .about_img{
		position: static;
		width:100%;
		max-width: 600px;
		margin-inline: auto;
		margin-top: -8px;
	}

	.top_about_section .ticket_block{
		width: fit-content;
		margin-top: 16px;
		margin-inline: auto;
		padding-left: 0;
	}

	.top_about_section .ticket_head{
		font-weight: 600;
		font-size: 16px;
		line-height: 1.25;
		white-space: nowrap;
		display: flex;
		justify-content: center;
		gap:32px;
	}

	.top_about_section .ticket_head::before,
	.top_about_section .ticket_head::after{
		width:2px;
		height:48px;
	}


	.top_about_section .ticket_contents{
		margin-top: 8px;
		gap:15px;
	}

	.top_about_section .ticket_text{
		font-weight: 600;
	}

	.top_about_section .ticket_price{

		gap:8px;
	}

	.top_about_section .ticket_price_num{
		font-size: 78px;
		line-height: 0.8;
	}

	.top_about_section .ticket_price_num span{
		font-size: 62px;
	}

	.top_about_section .ticket_tax{
		font-size: 21px;
	}

	.top_about_section .ticket_yen{
		font-size: 34px;
		line-height: 0.8;
	}

	.top_about_section .ticket_sale{
		gap:12px;
		font-size: 30px;
	}

	.top_about_section .ticket_sale::after{
		width:12px;
		height:24px;
	}

	.top_about_section .ticket_qr{
		width:86px;
	}


	.top_about_section .ticket_guide{
		font-size: 17px;
		line-height: 1.2;
		margin-top: 16px;
	}

	.top_about_section .ticket_guide::after{
		width:35px;
		height:15px;
		margin-top: 8px;
	}


	.top_about_section .ticket_button{

		width: 258px;
		min-height: 54px;
		padding: 4px;
		margin-top: 10px;
		box-shadow: 0 0 0 3px #000, 0 8px 0 0 #000;
	}

	.top_about_section .ticket_button img{
		width:122px;
	}

	.top_shop_section{
		padding-top: 50px;
		padding-bottom: 80px;
	}

	.top_shop_section .guide_text{
		margin-top: 20px;
		font-size: 14px;
		letter-spacing: 0.025em;
		line-height: 1.5;
		text-align: left;
	}

	.top_shop_section .guide_remark{
		margin-top: 0;
		display: inline;
		font-size: 14px;
		letter-spacing: 0.025em;
		line-height: 1.5;
		text-align: left;
	
	}

	.top_shop_section .shop_list{
		width: calc(100% + 8px);
		margin-left: -4px;
		margin-top: 48px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap:42px 6px;
		position: relative;
	}

	.top_shop_section .shop_deco{
		display: none;
	}

	.top_shop_section .shop_card{
		border:2px solid var(--black);
		border-radius: 10px;
		padding:7px 4px 12px;
		min-height: 212px;
	}


	.top_shop_section .shop_card .shop_card_num{
		font-weight: 500;
		font-size: 20px;
		right:5px;
		top:-26px;
		gap:1px;
	}

	.top_shop_section .shop_card .shop_card_num::after{
		width:2px;
		height:12px;
		margin-left: 0;
	}

	.top_shop_section .shop_card .shop_card_body{
		padding-inline: 2px;
		padding-top: 10px;
	}

	.top_shop_section .shop_card .shop_card_name{
		min-height: auto;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.03em;
		line-height: 1.5;
	}

	.top_shop_section .shop_card ul{
		display: none;
	}


	.top_shop_section .shop_card .shop_plus_icon{
		width:22px;
		right:5px;
		bottom:5px;
	}

	.top_shop_section .shop_card .shop_plus_icon::after{
		width:8px;
		height:8px;
	}


	.top_map_section{
		padding-top: 44px;
		padding-bottom: 36px;
	}


	.top_map_section .map_deco01{
		width:52px;
		height:75px;
		top: -32px;
		left:auto;
		right: calc(50% + 120px);
		background-image: url('../img/top/about_deco_sp.svg');
	}

	.top_map_section .map_deco02{
		width:62px;
		height:90px;
		top: auto;
		bottom:-90px;
		left:calc(50% + 110px);
		right: auto;
		background-image: url('../img/top/about_deco_sp.svg');
		transform: rotateZ(180deg);
	}

	.top_map_section .map_text{
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.5;
		text-align: left;
		margin-top: 12px;
	}

	.top_map_section .map_frame{
		margin-top: 12px;
		border: 2px solid var(--black);
		border-radius: 10px;
		padding:4px;	

	}

	.top_note_section{
		padding-top: 88px;
		padding-bottom: 80px;
	}

	.top_note_section .note_deco{
		display: none;
	}
	

	.top_note_section .note_box{
		width: calc(100% + 8px);
		margin-left: -4px;
		margin-top: 28px;
		border:2px solid var(--black);
		border-radius: 10px;
		padding:40px 16px 40px;
	}

	.top_note_section .note_box_head{
		top: -17px;
		min-width: 274px;
		min-height: 34px;
		padding:4px 8px;
		font-weight: 600;
		font-size: 16px;
		letter-spacing: 0.03em;		
	}

	.top_note_section .note_head{
		font-size: 20px;
	}


	.top_note_section .note_list li{
		padding-left: 20px;
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.7;
	}

	.top_note_section .note_list li::before{
		width:14px;
		height:14px;
		top:5px;
	}

	.top_note_section .note_list li + li{
		margin-top: 14px;
	}

	.top_contact_section{
		padding-top: 48px;
		padding-bottom: 140px;
	}

	.top_contact_section .contact_deco01{
		display: none;
	}

	.top_contact_section .contact_deco02{
		width: 52px;
		height: 75px;
		top: auto;
		bottom:36px;
		right: calc(50% + 125px);
		background-image: url('../img/top/contact_deco02.svg');
		transform: rotateZ(180deg);
	}

	.top_contact_section .contact_text01{
		text-align: center;
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.5;
		text-align: center;
		margin-top: 12px;
	}

	.top_contact_section .contact_text02{
		font-size: 12px;
		line-height: 2;
		letter-spacing: 0.03em;
		text-align: left;
		margin-top: 16px;
	}


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

	#pagetop{
		cursor: pointer;
		position: absolute;
		z-index: 10;
		left:0;
		right:0;
		margin:auto;
		bottom:28px;
		width:52px;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: var(--black);
	}

	#pagetop::after{
		content:'';
		width:13px;
		height:9px;
		background-image: url('../img/common/icon_angle_top_white.svg');	
	}	


	footer{
		padding-top: 26px;
		padding-bottom: 56px;
	}

	footer .footer_inner{

		width:calc(340 / 375 * 100vw);

	}

	footer .footer_logo{
		width:115px;
	}

	footer .footer_flex{
		gap:20px;
	}

	footer .sns_list{
		gap:12px;
	}

	footer .sns{
		width:27px;
	}

	footer .sns.x img{
		width:12px;
	}
	footer .sns.insta img{
		width:13px;
	}

	/*
	------------------------------------
	ポップアップ
	------------------------------------
	*/


	.common_shop_popup .shop_popup_inner{
		height: 100vh;
		height: calc(var(--vh2, 1vh) * 100);
	}

	.common_shop_popup .shop_popup_frame{
		height: calc(100vh - 100px);
		height: calc(calc(var(--vh2, 1vh) * 100) - 100px);
		max-height: 1000px;
		width:calc(347 / 375 * 100vw);
		max-width:450px;
		padding:12px 5px;
		border-radius: 10px;
	}

	.common_shop_popup .shop_popup_scroll::-webkit-scrollbar {
		width:6px;	
	}


	.common_shop_popup .shop_popup_close{
		width: 44px;
		height: 44px;
		top:-10px;
		left:-10px;
		z-index: 3;
	}	

	.common_shop_popup .shop_popup_close::after{
		width:10px;
		height:10px;
	}

	.common_shop_popup .shop_popup_contents{
		padding:8px 8px 16px 20px;
	}

	.common_shop_popup .shop_flex{
		display: flex;
		align-items: flex-start;
		position: relative;
		flex-direction: column;
		min-height: auto;
		gap:10px;
	}

	.common_shop_popup .shop_main_img{
		flex-shrink: 0;
		width:100%;
	}

	.common_shop_popup .shop_main_img img{
		border-radius: 8px;
	}

	.common_shop_popup .shop_name{
		font-weight: 600;
		font-size: 22px;
		letter-spacing: 0.03em;
		line-height: 1.3;
		gap:8px;
	}

	.common_shop_popup .shop_name::after{
		width:22px;
		height:4px;
	}

	.common_shop_popup .shop_text{
		letter-spacing: 0.03em;
		font-size: 14px;
		line-height: 1.75;
		margin-top: 12px;
	}

	.common_shop_popup .shop_gal_list{
		position: static;
		left:0;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap:12px;
		margin-top: 12px;
	}

	.common_shop_popup .shop_gal_list li{
		width:48.3%;
		aspect-ratio: 1 / calc(180 / 248);

	}

	.common_shop_popup .shop_gal_list li img{
		border-radius: 8px;
	}

	.common_shop_popup .shop_menu_frame{
		margin-top: 36px;
	}

	.common_shop_popup .shop_menu_img{
		aspect-ratio: 1 / calc(278 / 481);
	}

	.common_shop_popup .shop_menu_img img{
		border-radius: 8px;
	}

	.common_shop_popup .shop_menu_head{
		min-height:32px;
		padding:6px 16px 6px 6px;
		left:-6px;
		font-weight: 600;
		font-size: 16px;
		letter-spacing: 0.03em;		
	}

	.common_shop_popup .shop_menu_head span{
		width:108px;
		height:24px;
		margin-right: 5px;
		font-weight: 600;
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.2;
	}

	.common_shop_popup .shop_menu_set{
		margin-top: 12px;
	}

	.common_shop_popup .shop_menu_set_head{
		font-weight: 600;
		font-size: 16px;
		letter-spacing: 0.03em;
		line-height: 1.5;
	}

	.common_shop_popup .shop_menu_set_text{
		letter-spacing: 0.03em;
		line-height: 1.5;
		font-size: 14px;
		margin-top: 4px;
	}

	.common_shop_popup .shop_info_box{
		margin-top: 32px;
		border-radius: 8px;
		padding:42px 12px 28px;
	}

	.common_shop_popup .shop_info_head{
		min-height: 32;
		min-width: 113;
		padding:4px 8px;

		font-size: 16px;
		letter-spacing: 0.03em;
		line-height: 1.3;
		left:-5px;
	}

	.common_shop_popup .shop_info_list_flex{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap:13px;
	}

	.common_shop_popup .shop_info_list{
		width:100%;
	}

	.common_shop_popup .shop_info_list li{
		display: flex;
		gap:8px;
	}

	.common_shop_popup .shop_info_list li + li{
		margin-top: 13px;	
	}


	.common_shop_popup .shop_info_icon{
		width:49px;
	} 


	.common_shop_popup .shop_info_icon.map::after{
		width:21px;
		height:26px;
	}
	.common_shop_popup .shop_info_icon.tel::after{
		width:26px;
		height:22px;
	}
	.common_shop_popup .shop_info_icon.train::after{
		width:19px;
		height:23px;
	}
	.common_shop_popup .shop_info_icon.time::after{
		width:22px;
		height:22px;
	}
	.common_shop_popup .shop_info_icon.holiday::after{
		width:29px;
		height:23px;
	}

	.common_shop_popup .shop_info_list .qr{
		width:60px;
		left:auto;
		right:0;
	}




	.common_shop_popup .shop_info_contents{
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.5;
	}

	.common_shop_popup .shop_info_remark{
		font-size: 10px;
		line-height: 1.2;
		display: block;
	}

	.common_shop_popup .shop_google_map{
		max-width: 205px;
		min-height:50px;

		padding:10px;

		margin-top: 24px;
		font-weight: 600;
		font-size: 16px;
		gap:5px;
		box-shadow: 
		0 0 0 3px #000, 
		0 8px 0 0 #000; 
	}

	.common_shop_popup .shop_google_map::after{
		width:12px;
		height:2px;
	}

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