@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100..900&display=swap');

:root{
	--base_font_family: "M PLUS 1p", sans-serif;
	--base_font_color: #fff;
	--noto_sans: "Noto Sans JP", sans-serif;
}


*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

*::before,
*::after{
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

html {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

input,
select,
textarea{

	font-family: var(--base_font_family);
	color:var(--base_font_color);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
}

button{
	border: none;
	background: none;
	border-radius: 0;
	cursor: pointer;
}

body{
	color: var(--base_font_color);
	font-size: 16px;
	font-family: var(--base_font_family);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

img{
	display: block;
	object-position: center;
	width: 100%;
}

main{
	position: relative;
}

section{
	position: relative;
}

#body_wrap{
	overflow: clip;
	position: relative;
}


a{
	color: var(--base_font_color);
}

.fax a{
	pointer-events: none;
}

@media (any-hover:hover){
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.c_hover_opa{
	transition-duration:0.4s
}


@media (any-hover:hover){
	.c_hover_opa:hover{
		opacity: 0.7;
	}
	
}


.anime_fadein_bottom{
	opacity: 0;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	transform: translateY(40px);
}

.anime_fadein_bottom.anime_active ,
.anime_active .anime_fadein_bottom{
	animation-name:anime_fadein_bottom;
}

@keyframes anime_fadein_bottom {
	0% {
	opacity:0;
	}
	100% {
		opacity:1;
		transform: translateY(0);
	}
}

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

.hide{
	display: none;
}

.container{
	max-width: 1200px;
	padding:0 25px;
	margin:0 auto;
}

.c_page_bg{
	position: absolute;
	z-index: -10;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-image: url('../img/common/page_bg.jpg');
	background-repeat: repeat; 
	background-size:100% auto;
	background-position: top center;
}


.c_sche_button{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 480px;
	min-height: 70px;
	position: relative;
	font-weight: bold;
	font-size: 20px;
	letter-spacing: -0.1em;
	line-height: 1.2;
	background-color: rgba(10,0,87,0.43);
	margin-inline: auto;
	transition-duration: 0.4s;
}

.c_sche_button::after{
	content:'';
	width:35px;
	height:25px;
	background-image: url('../img/common/icon_sche_white.svg');
	position: absolute;
	right:44px;
	top:0;
	bottom:0;
	margin:auto;
}

@media (any-hover:hover){
	.c_sche_button:hover{
		opacity: 0.7;
	}
	
}


.c_float_link_list{
	position: fixed;
	width:135px;
	right:80px;
	top:110px;
	z-index: 10;
	display: flex;
	flex-direction: column;
	gap:20px;
}

.c_float_link_list a{
	width:100%;
}


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

header{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 100;
	pointer-events: none;
}

header .header_inner{
	width:1720px;
	max-width: 92%;
	margin-inline: auto;
}

header .header_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 38px;
}

header .header_logo{
	display: block;
	pointer-events: auto;
	background-color: #fff;
	width: 205px;
	border-radius: 14px;
	box-shadow: 0px 0px 20px rgba(15, 97, 180, 0.5);
	padding:20px 30px;
}

header a{
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	header a:hover{
		opacity: 0.7;
	}
}

header .header_nav{
	background-color: #fff;
	pointer-events: auto;
	border-radius: 999px;
	display: flex;
	align-items: center;
	gap:30px;
	min-height: 45px;
	padding:8px 24px;
}

header .header_parent_list{
	display: flex;
	align-items: flex-start;
	gap:24px;
}

header .header_parent_link{
	font-family: var(--noto_sans);
	font-weight: bold;
	font-size: 14px;
	letter-spacing: -0.05em;
	color: #000;
}


header .header_sns{
	display: flex;
	align-items: flex-start;
	gap:18px;
}

header .header_sns a{
	width:20px;
}
/*
------------------------------------
アクセスセクション
------------------------------------
*/

.c_access_section{
	padding-top: 140px;
}


.c_access_section .access_box{
	overflow: hidden;
	border-radius: 22px;
	padding-top:80px;
	padding-bottom: 108px;
	position: relative;
}

.c_access_section .access_box::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(67,67,145,0.45);
	mix-blend-mode:multiply;
	position: absolute;
	top:0;
	left: 50%;
	transform: translateX(-50%);
}

.c_access_section .access_contents{
	z-index: 1;
	position: relative;
}

.c_access_section .sec_head{
	min-height: 65px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:8px 24px;
	font-weight: bold;
	font-size: 26px;
	letter-spacing: -0.03em;
	text-align: center;
	background-color: rgba(7,59,141,0.47);
}

.c_access_section .map_area{
	margin-top: 72px;
}

.c_access_section .map_name{
	font-weight: bold;
	font-size: 30px;
	letter-spacing: -0.03em;
	text-align: center;
}

.c_access_section .map_address{
	margin-top: 10px;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-align: center;
}

.c_access_section .google_map{
	margin-top: 28px;
	height:340px;
}

.c_access_section .google_map iframe{
	display: block;
	width:100%;
	height:100%;
}

.c_access_section .access_area{
	margin-top: 60px;
}

.c_access_section .access_head img{
	width:auto;
	height:14px;
	margin-inline: auto;
}

.c_access_section .access_text{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-top: 14px;
	font-weight: 500;
	gap:64px;
	font-weight: 500;
}

.c_access_section .access_remark{
	font-weight: 300;
	font-size: 14px;
	letter-spacing: 0.03em;
	line-height: 1.5;
	margin-top: 12px;
	text-align: center;
}

.c_access_section .campus_area{
	margin-top: 120px;
}

.c_access_section .campus_head{
	font-weight: bold;
	font-size: 19px;
	letter-spacing: -0.03em;
	text-align: center;
}

.c_access_section .campus_img{
	max-width: 636px;
	margin-inline: auto;
}

.top_artist_section{
	padding-top: 160px;
}
/*
------------------------------------
フッター
------------------------------------
*/

footer{
	z-index: 3;
	position: relative;
}

footer::before{
	content:'';
	width:100%;
	height:100%;
	background-image: url('../img/common/page_bg.jpg');
	background-repeat: repeat; 
	background-size:100% auto;
	background-position: top center;
	position: absolute;
	top:0;
	left:0;
	z-index: -3;
}

footer::after{
	content:'';
	width:100%;
	min-height:100%;
	height:3043px;
	background: linear-gradient(#001cb4 0%, rgba(4, 20, 145, 0) 100%);
	opacity: 0.6;
	position: absolute;
	top:0;
	left:0;
	z-index: -1;
	mix-blend-mode: multiply;
}

footer .footer_contents{
	width:fit-content;
	margin-inline: auto;
}

footer .footer_area01{
	padding-top: 78px;
	padding-bottom: 44px;
	background-color: rgba(0,0,0,0.7);
}

footer .footer_flex01{
	display: flex;
	align-items: center;
}

footer .footer_left{
	width:590px;
	padding-right: 20px;
}

footer .footer_logo_flex{
	display: flex;
	align-items: center;
	gap:70px;
}

footer .footer_logo{
	width:125px;
	display: block;
}

footer .sns_list{
	display: flex;
	align-items: center;
	gap:36px;
	padding-top: 16px;
}

footer .sns{
	width:28px;
}

footer .contact_button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 208px;
	min-height: 45px;
	border-radius: 9999px;
	border: 1px solid #fff;
	gap:30px;
	padding:4px 8px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.3;
}

footer .contact_button::after{
	content:'';
	width:15px;
	height:11px;
	background-image: url('../img/common/icon_mail_white.svg');
}

footer .footer_flex02{
	display: flex;
	align-items: flex-start;
	margin-top: 48px;
}

footer .footer_text01{
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.4;
}

footer .footer_text02{
	margin-top: 12px;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.03em;
	line-height: 2;
}

footer .footer_info_list li{
	display: flex;
	align-items: flex-start;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.03em;
	line-height: 1.3;
}

footer .footer_info_list li a{
	text-decoration: underline;
	color: #64c3ff;
	font-size: 12px;
	font-weight: 500;
}

footer .footer_info_list li + li{
	margin-top: 12px;
}

footer .footer_info_list .footer_info_head{
	flex-shrink: 0;
	width:55px;
	padding-right: 6px;
}

footer .footer_privacy{
	margin-top: 56px;
	display: flex;
	justify-content: flex-end;
}

footer .footer_privacy a{
	font-weight: 500;
	text-decoration: underline;
	font-size: 12px;
	letter-spacing: 0.03em;
	color: #64c3ff;
}

footer .footer_area02{
	padding-top: 14px;
	padding-bottom: 32px;
	position: relative;
}

footer .footer_copy{
	position: relative;
	z-index: 2;
	color:#000;
	font-weight: 500;
	font-size: 12px;
	text-align: center;
}
/*
------------------------------------
トップページ
------------------------------------
*/

body.top_body{

}

main.top_main{

}

main.top_main .section_wrap{
	position: relative;
	z-index: 1;
}

main.top_main .section_wrap::before{
	content:'';
	width:100%;
	height:100%;
	background-color: #fff;
	z-index: -15;
	top:0;
	left:0;
	position: absolute;
}

main.top_main .sec_title_img img{
	height:22px;
	width:auto;
	margin-inline: auto;
}

.top_fv_section{
	min-height: 100vh;

}

.top_fv_section .fv_block{
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 0;
}

.top_fv_section .fv_block_inner{
	min-height: 100vh;
	background-image: url('../img/common/page_bg.jpg');
	background-repeat: repeat; 
	background-size:100% auto;
	background-position: top center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_fv_section .fv_block_contents{
	width: 100%;
	height:100vh;
	max-height: 1080px;
	max-width: 1920px;
	position: relative;
}

.top_fv_section .fv_back_text{
	position: absolute;
	top: clamp(calc(113 / 1080 * 600px) , calc(113 / 1080 * 100vh) , calc(113 / 1080 * 1080px));
	left: 50%;
	transform: translateX(-50%);
	width:clamp(calc(1040 / 1080 * 600px) , calc(1040 / 1080 * 100vh) , calc(1040 / 1080 * 1080px));
}

.top_fv_section .fv_logo_frame{
	position: absolute;
	
	top: clamp(calc(276 / 1080 * 600px) , calc(276 / 1080 * 100vh) , calc(276 / 1080 * 1080px));
	left: 50%;
	transform: translateX(-50%);
	width:100%;
}

.top_fv_section .fv_logo_inner{
	position: relative;
}

.top_fv_section .fv_logo{
	position: relative;
	z-index: 10;
	margin-inline: auto;
	width:clamp(calc(588 / 1080 * 600px) , calc(588 / 1080 * 100vh) , calc(588 / 1080 * 1080px));
}

.top_fv_section .fv_bar_frame{
	position: absolute;
	top:0;
	width: 100%;
	height: 100vh;
	width:100%;	
	transition-duration: 0.4s;
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	animation-name: fv_bar;
	animation-duration: 1s;
	animation-delay: 1s;
	animation-fill-mode: forwards;
}

@keyframes fv_bar{
	0%{
		clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	}
	100%{
		clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
	}
}

.top_fv_section .fv_bar_inner{
	position: relative;
}

.top_fv_section .fv_bar{
	flex-shrink: 0;
	width: 110vw;
	height:clamp(calc(60 / 1080 * 600px) , calc(60 / 1080 * 100vh) , calc(60 / 1080 * 1080px));
	background-color: #CD0713;
	position: absolute;
	top:clamp(calc(280 / 1080 * 600px) , calc(280 / 1080 * 100vh) , calc(280 / 1080 * 1080px));
	/* transform: rotateZ(-11.7deg) translateX(-50%); */
	transform: rotateZ(-11.7deg) translateX(-5vh);
	left:0;
	display: flex;
	align-items: center;
}

.top_fv_section .fv_bar_text{
	width:clamp(calc(360 / 1080 * 600px) , calc(360 / 1080 * 100vh) , calc(360 / 1080 * 1080px));
	margin-left: 50%;
	transform: rotateZ(11.7deg);
}

.top_fv_section .fv_info_block{
	position: absolute;
	z-index: 3;
	top: clamp(calc(824 / 1080 * 600px) , calc(824 / 1080 * 100vh) , calc(824 / 1080 * 1080px));
	left: 50%;
	transform: translateX(-50%);
}

.top_fv_section .fv_time{
	width:clamp(calc(368 / 1080 * 600px) , calc(368 / 1080 * 100vh) , calc(368 / 1080 * 1080px));
}

.top_fv_section .fv_place{
	font-weight: bold;
	font-size: clamp(calc(26 / 1080 * 600px) , calc(26 / 1080 * 100vh) , calc(26 / 1080 * 1080px));
	letter-spacing: -0.03em;
	text-align: center;

}

.top_fv_section .fv_place span{
	font-size: clamp(calc(20 / 1080 * 600px) , calc(20 / 1080 * 100vh) , calc(20 / 1080 * 1080px));
}

.top_fv_section .fv_manage_flex{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap:20px;
	position: absolute;
	z-index: 3;
	padding-right: 50px;
	width: 1150px;
	top:clamp(calc(936 / 1080 * 600px) , calc(936 / 1080 * 100vh) , calc(936 / 1080 * 1080px));
	
	left: 50%;
	transform: translateX(-50%);
}

.top_fv_section .manage_logo01{
	width:clamp(calc(115 / 1080 * 600px) , calc(115 / 1080 * 100vh) , calc(115 / 1080 * 1080px));
}
.top_fv_section .manage_logo02{
	width:clamp(calc(132 / 1080 * 600px) , calc(132 / 1080 * 100vh) , calc(132 / 1080 * 1080px));
}

.top_about_section{

}

.top_about_section::before{
	content:'';
	width:100%;
	/* height: */
}


.top_about_section .gra_bg {
    position: relative;
}

.top_about_section .gra_bg::before{
	content:'';
	width:100vw;
	height:3040px;
	background: linear-gradient(#001cb4 0%, rgba(4, 20, 145, 0) 100%);
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.top_about_section .gal_area{
	display: flex;
}

.top_about_section .gal_flex {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
    animation: gal_slide 30s linear infinite;
}

@keyframes gal_slide {
	0% {
		transform: translateX(0%);
	}

	100% {
		transform: translateX(-50%);
	}

}

.top_about_section .gal_list {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
}

.top_about_section .gal_item{
	height:406px;
}

.top_about_section .gal_item01{
	width:624px;
}
.top_about_section .gal_item02{
	width:339px;
}
.top_about_section .gal_item03{
	width:339px;
}
.top_about_section .gal_item04{
	width:606px;
}
.top_about_section .gal_item05{
	width:606px;
}

.top_about_section .gal_item img{
	width:100%;
	height:100%;
	object-fit: cover;
}


.top_about_section .about_contents{
	padding-top: 112px;
	position: relative;
}

.top_about_section .ticket_link{
	position: absolute;
	width:135px;
	right:0;
	top:80px;
}

.top_about_section .logo{
	max-width: 210px;
	margin-inline: auto;
}

.top_about_section .about_head{
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	min-width: 508px;
	min-height:40px;
	padding:2px 12px;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: -0.03em;
	text-align: center;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	margin-inline: auto;
	margin-top: 24px;
}

.top_about_section .about_text{
	margin-top: 44px;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: -0.06em;
	line-height: 2.2;
	text-align: center;
}

.top_about_section .sche_button{
	background-color: rgba(0,0,0,0.6);
	margin-top: 60px;
}

.top_news_section{
	padding-top: 180px;
} 

.top_news_section .news_text{
	margin-top: 24px;
	text-align: center;
}

.top_news_section .insta_area{
	margin-top: 40px;
	max-width: 1920px;
	margin-inline: auto;
}


.top_news_section .insta_area #sb_instagram .sbi_photo{
	aspect-ratio: 1 / 1;
	height:auto!important;
}

.top_news_section .insta_area #sb_instagram .sbi_photo img{
	width:100%;
	height:100%;
	object-fit: cover;
}

@media screen and (max-width:800px){
	.top_news_section .insta_area .sbi_item:nth-child(n+5){
		display: none!important;
	}
}/*@media screen and (min-width:1201px){*/


.top_artist_section{
	padding-top: 160px;
}

.top_artist_section .artist_frame{
	position: relative;
}

.top_artist_section .artist_list{
	margin-top: 48px;
	display: flex;
	flex-wrap: wrap;
	gap:30px 26px;
}

.top_artist_section .artist_item{
	width:366px;
}

.top_artist_section .artist_card{
	display: block;
	background-color: #fff;
	height: 100%;
	min-height: 440px;
}

.top_artist_section .artist_thumb{
	aspect-ratio: 1 / calc(270 / 366);
}

.top_artist_section .artist_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_artist_section .artist_text_area{
	padding:16px;
}

.top_artist_section .artist_name_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.top_artist_section .artist_name{
	font-weight: bold;
	font-size: 24px;
	letter-spacing: -0.05em;
	line-height: 1.3;
	color: #000;
	font-family: "Arial", "メイリオ" , sans-serif;

}

.top_artist_section .artist_insta{
	flex-shrink: 0;
	margin-left: 8px;
	width:18px;
	margin-top: 6px;
}

.top_artist_section .artist_text{
	margin-top: 20px;
	font-weight: 500;
	font-size: 13px;
	letter-spacing: -0.03em;
	line-height: 1.6;
	color: #7c7c7c;
}

.top_artist_section .sche_button{
	margin-top: 88px;
}

.top_faq_section{
	padding-top: 160px;
}

.top_faq_section .faq_frame{
	position: relative;
	padding-bottom: 210px;
}


.top_faq_section .faq_list{
	margin-top: 80px;
}

.top_faq_section .faq_block{
	background-color: #fff;
}

.top_faq_section .faq_block + .faq_block{
	margin-top: 24px;
}

.top_faq_section .faq_block a{
	color:#1685CA;
	text-decoration: underline;
}

.top_faq_section .faq_question{
	position: relative;
	font-weight: bold;
	font-size: 20px;
	letter-spacing: -0.05em;
	line-height: 2;
	color: #000;
	padding:24px 72px 24px 52px;
	cursor: pointer;
}

.top_faq_section .faq_question::before{
	content:'Q.';
	font-weight: bold;
	font-size: 20px;
	line-height: 2;
	color: #0f61b4;
	position: absolute;
	left:24px;
	top:24px;
}

.top_faq_section .faq_question::after{
	content:'';
	width:20px;
	height:20px;
	background-image: url('../img/common/icon_plus_blue.svg');
	position: absolute;
	right:40px;
	top:34px;
}

.top_faq_section .faq_question.active::after{
	background-image: url('../img/common/icon_minus_blue.svg');
	background-size: contain;
}

.top_faq_section .faq_answer{
	padding:5px 24px 24px 52px;
	position: relative;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2;
	color: #7c7c7c;
	display: none;
}

.top_faq_section .faq_answer::before{
	content:'A.';
	font-weight: bold;
	font-size: 20px;
	line-height: 2;
	color: #0f61b4;
	position: absolute;
	left:24px;
	top:0;
}


.top_faq_section .logo_flex{
	position: absolute;
	bottom:12px;
	right:90px;
	display: flex;
	align-items: center;
	gap:34px;
}

.top_faq_section .logo01{
	width:82px;
}

.top_faq_section .logo02{
	width:94px;
}


/*
------------------------------------
スケジュール
------------------------------------
*/

body.schedule_body{

}

main.schedule_main{

}

.schedule_section .white_box{
	padding:64px 50px 90px;
	background-color: #fff;
	border-radius: 20px;
	overflow: hidden;
}

.schedule_section .sec_title_img img{
	height:42px;
	width:auto;
}

.schedule_mv_section{
	padding-top: 222px;
}

.schedule_mv_section .logo{
	max-width: 294px;
	margin-inline: auto;
}

.schedule_mv_section .page_title{
	margin-top: 120px;
	font-weight: bold;
	font-size: 36px;
	letter-spacing: -0.06em;
	text-align: center;
	color: #094d90;

}

.schedule_mv_section .anchor_flex{
	margin-top: 28px;
	display: flex;
	justify-content: space-between;
}

.schedule_mv_section .anchor_button{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width:calc(563 / 1150 * 100%);
	min-height:90px;
	padding:8px 36px;
	background-color: rgba(0 , 14 , 88 , 0.6);
	font-weight: bold;
	font-size: 20px;
}

.schedule_mv_section .anchor_button img{
	width:auto;
	height:35px;
}

.schedule_arena_section{
	padding-top: 96px;
}



.schedule_arena_section .area_block{
	margin-top: 36px;
}

.schedule_arena_section .area_block + .area_block{
	margin-top: 170px;
}

.schedule_arena_section .arena_head{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height:60px;
	padding:8px 32px;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: -0.03em;
}

.schedule_arena_section .arena_head span{
	font-size: 20px;
	font-weight: bold;
}

.schedule_arena_section .arena_head::before{
	content:'';
	width:51px;
	height:calc(100% + 28px);
	position: absolute;
	top:0;
	right:calc(100%);
	clip-path: polygon(0 28px, 100% 0, 100% calc(100% - 28px), 0% 100%);
}

.schedule_arena_section .arena_head.green,
.schedule_arena_section .arena_head.green::before{
	background-color: #247437;
}

.schedule_arena_section .arena_head.red,
.schedule_arena_section .arena_head.red::before{
	background-color: #CB1D17;
}

.schedule_arena_section .arena_head.blue,
.schedule_arena_section .arena_head.blue::before{
	background-color: #434391;
}

.schedule_arena_section .arena_head.black,
.schedule_arena_section .arena_head.black::before{
	background-color: #000;
	content:none;
}

.schedule_arena_section .arena_guide{
	margin-top: 12px;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: -0.06em;
	line-height: 1.4;
	color: #000;
}

.schedule_arena_section .arena_guide a{
	text-decoration: underline;
	color:#000;
	margin-left:10px;
	display: inline-block;
}

.schedule_arena_section .arena_guide a::after{
	content:'';
	width:14px;
	height:14px;
	background-image: url('../img/common/icon_link_gray.svg');
	display: inline-block;
	margin-left: 4px;
}

.schedule_arena_section .event_flex{
	display: flex;
	align-items: center;
	margin-top: 12px;
}

.schedule_arena_section .event_thumb{
	flex-shrink: 0;
	width:296px;
	aspect-ratio: 1 / calc(183 / 296);
	margin-right:24px;;
}

.schedule_arena_section .event_text_area{
	max-width: 520px;
}

.schedule_arena_section .event_job{
	font-weight: bold;
	font-size: 22px;
	letter-spacing: -0.03em;
	line-height: 1.3;
	color: #247437;
}

.schedule_arena_section .event_name{
	margin-top: 10px;
	font-weight: bold;
	font-size: 22px;
	letter-spacing: -0.03em;
	line-height: 1.3;
	color: #000;
}

.schedule_arena_section .event_text{
	font-weight: 500;
	font-size: 14px;
	letter-spacing: -0.03em;
	line-height: 2;
	color: #7c7c7c;
	margin-top: 6px;
}

.schedule_arena_section .judge_head{
	margin-top: 16px;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.5;
	color: #247437;
}

.schedule_arena_section .judge_list{
	margin-top: 16px;
	display: flex;
	gap:20px 22px;
	flex-wrap: wrap;
}

.schedule_arena_section .judge_item{
	width:335px;
}

.schedule_arena_section .judge_card{
	display: block;
	padding:16px 16px 20px;
	min-height: 100%;
	background-color: #F4F4F4;
}

.schedule_arena_section .judge_thumb{
	aspect-ratio: 1 / calc(247 / 303);
}

.schedule_arena_section .judge_text_area{
	padding-top: 12px;
}

.schedule_arena_section .judge_name{
	font-weight: bold;
	font-size: 22px;
	line-height: 1.4;
	color: #247437;
	display: flex;
	align-items: center;
}

.schedule_arena_section .judge_name span{
	font-weight: 500;
	font-size: 13px;
	letter-spacing: -0.03em;
	line-height: 1.2;
	color: #7c7c7c;
}

.schedule_arena_section .judge_text{
	font-weight: 500;
	font-size: 13px;
	letter-spacing: -0.03em;
	line-height: 1.8;
	color: #7c7c7c;
	margin-top: 4px;
}

.schedule_arena_section .judge_remark{
	margin-top: 72px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
	color: #000;
}

.schedule_arena_section .ticket_button{
	margin-top: 16px;
	margin-inline: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 531px;
	height: 80px;
	border: 2px solid;
	font-weight: bold;
	font-size: 22px;
	letter-spacing: -0.03em;
	line-height: 1.3;
	position: relative;
	padding-right: 30px;
}

.schedule_arena_section .ticket_button::after{
	content:'';
	width:36px;
	height:25px;
	background-image: url('../img/common/icon_ticket_green.png');
	position: absolute;
	right:60px;
	top:0;
	bottom:0;
	margin:auto;
}

.schedule_arena_section .ticket_button.green{
	color: #247437;
	border-color: #247437;
}
.schedule_arena_section .ticket_button.green::after{
	background-image: url('../img/common/icon_ticket_green.png');
}

.schedule_arena_section .ticket_button.blue{
	color: #434391;
	border-color: #434391;
}
.schedule_arena_section .ticket_button.blue::after{
	background-image: url('../img/common/icon_ticket_blue.png');
}


.schedule_arena_section .stage_list{
	margin-top: 32px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:24px 0;
}

.schedule_arena_section .stage_item{
	width:515px;
}

.schedule_arena_section .stage_card{
	display: block;
	min-height: 508px;
	height: 100%;
	padding:16px 15px 20px;
	background-color: #F4F4F4;

}

.schedule_arena_section .stage_thumb{
	aspect-ratio: 1 / calc(321 / 482);
}

.schedule_arena_section .stage_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.schedule_arena_section .stage_text_area{
	padding-top: 32px;
}

.schedule_arena_section .cast_name_flex{
	display: flex;
	align-items: flex-start;
	gap:10px;

}

.schedule_arena_section .cast_num{
	flex-shrink: 0;
	width:23px;
}

.schedule_arena_section .cast_name{
	font-weight: bold;
	font-size: 22px;
	line-height: 1.3;
	color: #000;
	margin-top: -2px;
}

.schedule_arena_section .stage_name{
	font-weight: bold;
	font-size: 22px;
	line-height: 1.3;
	color: #000;
	margin-top: 4px;
}

.schedule_arena_section .stage_text{
	font-weight: 500;
	font-size: 13px;
	letter-spacing: -0.03em;
	line-height: 1.9;
	color: #7c7c7c;
	margin-top: 4px;
}

.schedule_arena_section .stage_remark{
	width: fit-content;
	margin-inline: auto;
	margin-top: 62px;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 52px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.3;
	text-align: center;
	color: #cb1d17;
	border-top: 1px solid #cb1d17;
	border-bottom: 1px solid #cb1d17;
	padding:4px 0;
}

.schedule_arena_section .artist_list{
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:42px 0;
}

.schedule_arena_section .artist_item{
	width:515px;
}

.schedule_arena_section .artist_name{
	min-height: 60px;
	display: flex;
	align-items: center;
	padding:12px 16px;
	background-color: #000;
	font-weight: bold;
	font-size: 22px;
	letter-spacing: -0.03em;
	line-height: 1.3;
} 

.schedule_arena_section .map_list{
	margin-top: 30px;
}

.schedule_arena_section .map_block + .map_block{
	margin-top: 40px;
}

.schedule_arena_section .map_head{
	display: flex;
	align-items: center;
	padding-inline:30px;
	height:44px;
	background-color: #B78A1F;
	font-weight: bold;
	font-size: 30px;
	letter-spacing: -0.03em;
	color: #000;
}

.schedule_arena_section .time_table_area{
	margin-top: 60px;
	color:#000;
}

.schedule_arena_section .time_table_head{
	
	font-size: 20px;
	text-align: center;
	font-weight: bold;
}

.schedule_arena_section .time_table{
	width: fit-content;
	margin:24px auto 0;
}


.schedule_arena_section .time_table th{
	white-space: nowrap;
	padding:6px 8px;
	vertical-align: top;
}

.schedule_arena_section .time_table td{
	padding:6px 8px;
	vertical-align: top;
}

.schedule_place_section{
	padding-top: 106px;
}

.schedule_place_section .head_flex{
	display: flex;
	align-items: center;
	gap:64px;
}


.schedule_place_section .head_left{
	display: flex;
	align-items: center;
	gap:36px;
}

.schedule_place_section .head_time{
	font-weight: bold;
	font-size: 20px;
	color: #000;
}

.schedule_place_section .head_remark{
	min-width:138px;
	min-height:52px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top:2px solid #CD0713; 
	border-bottom:2px solid #CD0713; 
	font-weight: 500;
	font-size: 20px;
	line-height: 1.3;
	color: #cb1d17;
}

.schedule_place_section .head_text{
	margin-top: 24px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.3;
	color: #000;

}

.schedule_place_section .place_list{
	margin-top: 80px;
}

.schedule_place_section .place_block + .place_block{
	margin-top: 88px;
}

.schedule_place_section .place_head_area{
	display: flex;
	align-items: center;
	gap:32px;
}

.schedule_place_section .place_head_area::after{
	content:'';
	width:100%;
	height:2px;
	background-color: #1A92E5;
}

.schedule_place_section .place_head{
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap:12px;
	font-weight: bold;
	font-size: 30px;
	letter-spacing: -0.03em;
	color: #1a92e5;
}

.schedule_place_section .place_icon{
	flex-shrink: 0;
	width:54px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
} 
.schedule_place_section .place_icon.gourmet{
	background-image: url('../img/schedule/icon_gourmet.png');
}
.schedule_place_section .place_icon.experience{
	background-image: url('../img/schedule/icon_experience.png');
}
.schedule_place_section .place_icon.sale{
	background-image: url('../img/schedule/icon_sale.png');
}
.schedule_place_section .place_icon.kids{
	background-image: url('../img/schedule/icon_kids.png');
}

.schedule_place_section .place_text{
	margin-top: 16px;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.8;
	color: #000;
}

.schedule_place_section .img_flex{
	margin-top: 110px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.schedule_place_section .img_block{
	width:calc(515 / 1050 * 100%);
	aspect-ratio: 1 / calc(408 / 515);
}

.schedule_place_section .img_block img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.schedule_place_section .remark_flex{
	margin-top: 22px;
	display: flex;
	align-items: flex-start;
	gap:24px;
}

.schedule_place_section .sns_remark{
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
	color: #fff;
}

.schedule_place_section .sns_list{
	display: flex;
	align-items: center;
	gap:24px;
}

.schedule_place_section .sns{
	width:27px;
}

.schedule_access_section{
	padding-bottom: 136px;
}

/*
------------------------------------
スポンサー
------------------------------------
*/

body.schedule_body{
	
}

main.schedule_main{

}

.sponsor_section{
	padding-top: 350px;
	padding-bottom: 280px;
}

.sponsor_section .sponsor_area{
	max-width: 1050px;
	margin-inline: auto;
	color:#000;
}

.sponsor_section .sponsor_area a{
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.sponsor_section .sponsor_area a:hover{
		opacity: 0.7;
	}
}

.sponsor_section .sponsor_head{
	padding-bottom: 40px;
	border-bottom:1px solid #0F61B4;
	display: flex;
	justify-content: center;
}

.sponsor_section .sponsor_head img{
	height:22px;
	width:auto;
}

.sponsor_section .special_list{
	margin-top: 56px;
}

.sponsor_section .special_item{
	width: 657px;
	margin-inline: auto;
}

.sponsor_section .special_card{
	display: block;
	aspect-ratio: 1 / calc(127 / 657);	
}

.sponsor_section .special_card img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.sponsor_section .sponsor_area + .sponsor_area{
	margin-top: 230px;
}

.sponsor_section .sponsor_list{
	max-width: 1012px;
	margin-inline: auto;
	margin-top: 56px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:42px 53px
}

.sponsor_section .sponsor_item{
	width:302px;
}

.sponsor_section .sponsor_card{
	display: block;
	aspect-ratio: 1 / calc(92 / 302);	
}

.sponsor_section .sponsor_card img{
	width:100%;
	height:100%;
	object-fit: cover;
}


/*
------------------------------------
プライバシーポリシー
------------------------------------
*/

body.privacy_body{
	
	
}

main.privacy_main{

}

.privacy_section{
	padding-top: 340px;
	padding-bottom: 160px;
}

.privacy_section .privacy_frame{
	max-width: 1050px;
	margin-inline: auto;
}

.privacy_section .page_title{
	padding-bottom: 36px;
	border-bottom: 1px solid #0F61B4;
	display: flex;
	justify-content: center;
	font-weight: bold;
	font-size: 26px;
	letter-spacing: -0.03em;
	color: #0f61b4;
}

.privacy_section .privacy_block{
	margin-top: 68px;
	color: #000;
	font-family: var(--noto_sans);
}

.privacy_section .privacy_head{
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
}

.privacy_section .privacy_text{
	margin-top: 12px;
	line-height: 2.2;
}

/*
------------------------------------
お問い合わせ
------------------------------------
*/

body.contact_body{
	
}

main.contact_main{

}

.contact_section{
	padding-top: 340px;
	padding-bottom: 160px;
	font-family: var(--noto_sans);
}

.contact_section .page_title{
	font-weight: bold;
	font-size: 30px;
	text-align: center;
}

.contact_section .contact_frame{
	max-width: 1000px;
	margin-inline: auto;
}

.contact_section .contact_text_frame{
	width: fit-content;
	margin-inline: auto;
	margin-top: 56px;
}

.contact_section .contact_text{
	
	font-weight: bold;
	line-height: 2;
	
}

.contact_section .contact_text.center{
	text-align: center;
}

.contact_section .contact_text span{
	color:#CD0713;
}

.contact_section .contact_text + .contact_text{
	margin-top: 40px;
}

.contact_section .form_frame{
	margin-top: 96px;
}

.contact_section .form_line + .form_line{
	margin-top: 40px;
}

.contact_section .form_label{
	color:#000;
	font-weight: bold;
	line-height: 1.3;
}

.contact_section .form_label span{
	color:#CD0713;
}

.contact_section .input_frame{
	margin-top: 10px;
}

.contact_section .text_input{
	display: block;
	width: 100%;
	height: 58px;
	border-radius: 6px;
	background: #fff;
	padding-inline: 12px;
	color:#000;
	border:none;
}

.contact_section textarea{
	display: block;
	width: 100%;
	height: 260px;
	border-radius: 6px;
	background: #fff;
	padding:12px;
	line-height: 1.5;
	color:#000;
	border:none;
}

.contact_section .submit_area{
	display: flex;
	justify-content: center;
	margin-top: 118px;
}

.contact_section .submit{
	border: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 400px;
	max-width: 100%;
	height: 70px;
	background: #000b48;
	font-weight: bold;
	font-size: 20px;
	letter-spacing: -0.1em;
	line-height: 1;
	color: #fff;
	cursor: pointer;
}

.contact_section .recaptcha{
	width: fit-content;
	margin:24px auto 0;
	line-height: 1.8;
}

.contact_section .recaptcha a{
	text-decoration: underline;
}

/*
------------------------------------
404
------------------------------------
*/

body.page404_body{
	
}

main.page404_main{
	color:#000;
}

.page404_section01{
	padding-top: 300px;
	padding-bottom: 120px;
}

.page404_section01 .p01{
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.page404_section01 .p02{
	width:fit-content;
	margin-inline: auto;
	margin-top: 24px;
	line-height: 1.75;
}

/*
------------------------------------
準備中
------------------------------------
*/

body.prepare_body{
	
}

main.prepare_main{
	color:#000;
}

.prepare_section{
	padding-top: 300px;
	padding-bottom: 120px;
}

.prepare_section .p01{
	font-weight: bold;
	font-size: 30px;
	letter-spacing: 0.01em;
	line-height: 2;
	text-align: center;
	color: #094d90;

}

.prepare_section .top_link{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 480px;
	min-height: 70px;
	background-color: #094d90;
	padding:6px 12px;
	position: relative;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.3;
	color: #fff;
	margin:64px auto 0;
}

.prepare_section .top_link .radi{
	width: 16px;
	height: 16px;
	background: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right:50px;
	top: 50%;
	transform: translateY(-50%);
}

.prepare_section .top_link .radi::after{
	content:'';
	height:6px;
	width:6px;
	background-color: #094D90;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);

}

.grecaptcha-badge { visibility: hidden; }