
:root {
	--header-height:70px;
}


/* ==========================================================
*
* Basic Setting
*
========================================================== */

body{
	letter-spacing:0.05em;
	background-color:#000000;
}


body.onnav {
	height: 100%;
	overflow: hidden;
}


a {
	text-decoration:none;
	/*color: inherit;*/
	color:#00C4FF;

	transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
}

a *{
	pointer-events:none;
}

.pc a:hover {
	text-decoration: underline;
	/*color:#00C4FF;*/
}


/***********************************

共通パーツ

***********************************/

.noPC{
	display:none;
}

.noSP{
	display:initial;
}

address{
	font-size:1.2rem;
}

/* for Sp --------------------*/
@media screen and ( max-width:738px) {
	

	.noPC{
		display:initial;
	}

	.noSP {
		display: none !important;
	}

}



/***********************************

ヘッダ

***********************************/
header{
	display:block;
	/*overflow:hidden;*/
	width:100%;
	height:var(--header-height);
	background-color:#000000;
	position:fixed;
	top:calc(-1 * var(--header-height));
	/*top:0;*/
	z-index:10;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

header.show{
	top:0;
}

nav{
	display:block;
	overflow:hidden;
	width:min(800px,100%);
	margin:0 auto;
}

nav > ul{
	display:flex;
	flex-wrap:nowrap;
	justify-content:center;
	overflow:hidden;
	width:100%;
}

nav > ul > li{
	flex:1;
}

nav > ul > li > a{
	display:block;
	overflow:hidden;
	height:var(--header-height);
	position:relative;
}

nav > ul > li > a > span{
	display:block;
	/*overflow:hidden;*/
	font-size:1.4rem;
	line-height:125%;
	color:#ffffff;
	text-decoration:none;
	text-align:center;
	white-space:nowrap;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

nav > ul > li > a > span::after{
	display:block;
	content:"";
	width:100%;
	height:8px;
	background:url("../images/down.svg") no-repeat 50% bottom;
	background-size:14px;
	position:relative;
	top:5px;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.pc nav > ul > li > a:hover > span{
	color:#00C4FF;
}
.pc nav > ul > li > a:hover > span::after{
	top:12px;
}


.n_booth nav > ul > li:nth-child(2) > a > span,
.n_event nav > ul > li:nth-child(3) > a > span,
.n_lineup nav > ul > li:nth-child(4) > a > span,
.n_schedule nav > ul > li:nth-child(5) > a > span,
.n_benefits nav > ul > li:nth-child(6) > a > span,
.n_info nav > ul > li:nth-child(7) > a > span{
	color:#00C4FF;
}


/*ハンバーガー メニューボタン*/
a#hbgBtn{
	display:none;
	overflow:hidden;
	padding:5px 5px;
	position:absolute;
	top:5px;
	right:5px;
	background-color:rgba(0,0,0,0.75);
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

a#hbgBtn p{
	display:block;
	position:relative;
	width:min(8vw,30px);
	aspect-ratio:1/1;
}

a#hbgBtn p > span{
	display:block;
	overflow:hidden;
	width:50%;
	height:2px;
	border-top:2px solid #ffffff;
	position:absolute;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

a#hbgBtn p > span:nth-child(1){
	top:5px;
	left:0;
}
a#hbgBtn p > span:nth-child(2){
	top:5px;
	right:0;
}
a#hbgBtn p > span:nth-child(3){
	width:100%;
	top:calc(50% - 1px);
	left:0;
}
a#hbgBtn p > span:nth-child(4){
	bottom:5px;
	left:0;
}
a#hbgBtn p > span:nth-child(5){
	bottom:5px;
	right:0;
}

.opn a#hbgBtn p > span:nth-child(1){
	top:11px;
	left:1px;
	transform: rotate(25deg);
}
.opn a#hbgBtn p > span:nth-child(2){
	top:11px;
	right:1px;
	transform: rotate(-25deg);
}
.opn a#hbgBtn p > span:nth-child(3){
	opacity:0.0;
}
.opn a#hbgBtn p > span:nth-child(4){
	bottom:11px;
	left:1px;
	transform: rotate(-25deg);
}
.opn a#hbgBtn p > span:nth-child(5){
	bottom:11px;
	right:1px;
	transform: rotate(25deg);
}




/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	header{
		height:auto;
		top:0;
		background-color:unset;
		-webkit-transition:unset;
		transition:unset;
	}

	nav{
		width:70vw;
		height:100vh;
		height:100dvh;
		padding:0 5vw;
		background-color:#000000;
		padding-top:var(--header-height);

		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
		position:absolute;
		top:0;
		right:-70vw;
		/*right:0;*/
	}

	.opn nav{
		right:0;
	}

	nav > ul{
		flex-direction:column;
	}

	nav > ul > li{
		border-bottom:1px solid #ffffff;
	}

	nav > ul > li > a{
		display:block;
		overflow:hidden;
		text-align:center;
		height:auto;
		padding:1em 0.5em;
	}


	nav > ul > li > a > span{
		font-size:1.8rem;
		line-height:125%;
		text-align:left;
		position:relative;
		top:auto;
		left:auto;
		-webkit-transform:unset;
		transform:unset;
		-webkit-transition:unset;
		transition:unset;
	}

	nav > ul > li > a > span::after{
		display:none;
	}


	a#hbgBtn{
		display:inline-block;
	}

}



/***********************************

 本文

***********************************/
#mainContent{
	display:block;
	/*overflow:hidden;
	overflow-y: auto;
	scroll-snap-type: y proximity;
	height:100vh;*/
	position:relative;
}


.scwatch{
	display:block;
	overflow:hidden;
	width:100%;
	height:80%;
	position:absolute;
	top:20px;
	left:0;
}

#mainContent > .sectionframe{
	display:block;
	overflow:hidden;
	width:100%;
	position:relative;
	background-color:#000000;
	/*
	min-height:90vh;
	scroll-snap-align: start;
	*/
}


#mainContent > .sectionframe.scon{
	/**/
}





.sectioninner{
	display:block;
	/*overflow:hidden;*/
	width:min(100%,1100px);
	height:100%;
	margin:0 auto;
	padding-top: 180px;
	position:relative;
}

.sectioninner > h2{
	display:block;
	overflow:hidden;
	font-size:2.0rem;
	line-height:155%;
	color:#ffffff;
	text-align:center;
	margin-bottom: 1em;
}
.sectioninner > h2 >  span{
	display:inline-block;
	overflow:hidden;
	text-align:center;
}
.sectioninner > h2 >  span::after{
	display:block;
	overflow:hidden;
	content:"";
	width:3em;
	border-top:3px solid #00C4FF;
	margin:0.5em auto 0;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	/*.scwatch{
		height:90%;
		bottom:0;
	}*/


	.sectioninner{
		width:calc(100% - 10vw);
		padding-top:24vw;
		/*padding-top:var(--header-height);*/
	}

}


/***********************************

 背景動画

***********************************/
#bgVideo{
	display:block;
	overflow:hidden;
	width: 100vw;
	height:100vh;
	height:100dvh;

	pointer-events: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	background:url('../assets/mainbg_pc.webp') no-repeat 50% 0;
	background-size:cover;
}

#bgVideo > video{
	width: 100%;
	height:100%;
	object-fit: cover;
}


.videoOverlay{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height:100dvh;
	background-color: rgba(0,0,0,0.7);
}




/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#bgVideo{
		/*background-image: url('../assets/mainbg_sp.webp');*/
	}

}




/***********************************

COVER

***********************************/
#cover{
	background-color:unset!important;
	height:100vh;
	height:100dvh;
}

#ttlData{
	display:block;
	/*overflow:hidden;*/
	width:100%;
	text-align:center;
	color:#ffffff;
	position:absolute;
	top:50%;
	left:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}


#ttlData h1{
	display:block;
	overflow:hidden;
	font-size:5.0rem;
	font-weight:700;
	line-height:155%;
	position:relative;
}


#ttlData h1 > br{
	display:none;
}

#ttlData p{
	display:block;
	overflow:hidden;
	font-size:2.5rem;
	line-height:155%;
	position:relative;
}
#ttlData p > strong{
	font-size:4.0rem;
	line-height:155%;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {


	#ttlData h1{
		font-size:clamp(2.8rem,10vw,3.5rem);
		line-height:155%;
	}
	#ttlData h1 > br{
		display:initial;
	}

	#ttlData > p{
		font-size:2.0rem;
		line-height:155%;
	}
	#ttlData > p > strong{
		font-size:3.0rem;
		line-height:155%;
	}

}


/*Scroll ボタン*/
a#coveroff{
	display:inline-block;
	overflow:hidden;
	line-height:100%;
	position:absolute;
	bottom:0;
	left:calc(50% - 31px);
}

.pc a#coveroff > img{
	position:relative;
	-webkit-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
}

.pc a#coveroff:hover > img{
	top:10px;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {


}


/*ページ切り替えバナー*/
a#pgswitcer{
	display:inline-block;
	/*overflow:hidden;*/

	font-size:1.6rem;
	line-height:100%;
	color:#D2000E;
	text-decoration:none;
	text-align:center;

	position:absolute;
	top:25px;
	right:25px;
}


a#pgswitcer > span{
	display:block;
	overflow:hidden;
	position:relative;
	top:auto;
	left:auto;

	padding:0.5em 1.0em;
	background-color:#ffffff;
	-webkit-border-radius:5px;
	border-radius:5px;

	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

a#pgswitcer > span > br{
	display:none;
}

a#pgswitcer > span *{
	vertical-align:middle;
}

a#pgswitcer > span img{
	width:min(27vw,78px);
	height:auto;
	margin-right:1em;
}

.pc a#pgswitcer:hover > span{
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	a#pgswitcer{
		font-size:1.4rem;
		line-height:125%;
		/*top:var(--header-height);*/
		top:5vw;
		left:5vw;
		right:auto;
	}

	a#pgswitcer > span > br{
		display:initial;
	}
	a#pgswitcer > span img{
		width:min(17vw,78px);
		margin-bottom:5px;
		margin-right:0;
	}


}


/***********************************

 CONCEPT

***********************************/
#concept{
	/*padding-bottom:180px;*/
}

#concept article{
	display:block;
	overflow:hidden;
	text-align:center;
	color:#ffffff;
}

#concept article > h3{
	font-size:2.5rem;
	font-weight:700;
	line-height:155%;
	margin:1em auto;
}

#concept article > p{
	font-size:1.6rem;
	font-weight:700;
	line-height:225%;
}

#concept article > p + p{
	margin-top: 1em;
}

/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#concept{
		/*padding-bottom:max(29vw,180px);*/
	}
	
}


/***********************************

 BOOTH

***********************************/
#booth{
	text-align:center;
	padding-bottom:180px;
	background:url('../images/bg_pc.webp') no-repeat 0 bottom;
	background-size:100% auto;
}

#booth p{
	letter-spacing:0.05em;
	font-size:1.6rem;
	line-height:200%;
	color:#ffffff;
	margin:3em 0;
}

#booth img{
	width: min(100%,800px);
	height: auto;
	margin-top:3em;
}

#booth .scact + .scact{
	margin-top:40px;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#booth{
		padding-bottom:max(29vw,180px);
		background:url('../images/bg_sp.webp') no-repeat 0 bottom;
	}

	#booth > .sectioninner{
		width: 100%;
	}

	#booth .scact + .scact{
		margin-top:0.6em;
	}

}


/***********************************

EVENT

***********************************/
#event{
	padding-bottom:360px;
	background-color:unset!important;
	background-repeat:repeat-x;
	background-position:50% bottom;
	background-size: auto 180px;
}




/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#event{
		padding-bottom:52vw;
		background-repeat:no-repeat;
		background-size: 100% auto;
	}


}


/*----------------------
 イベントリスト
 ----------------------*/
#eventlist{
	
}

#eventlist ul{

}


#eventlist ul li{
	font-size: 1.6rem;
	line-height:155%;
	color:#ffffff;
}

#eventlist ul li h4{
	display:block;
	overflow:hidden;
	font-size:1.8rem;
	font-weight:700;
	line-height:155%;
	margin-bottom:0.5em;
}

#eventlist ul li > div,
#eventlist ul li > a{
	display:block;
	overflow:hidden;
	width:min(100%,350px);
	padding:10px 10px;
	color:#ffffff;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
	-webkit-border-radius:10px;
	border-radius:10px;
}

.pc #eventlist ul li > a:hover{
	background:rgba(255,255,255,0.33);
	text-decoration: none;
}


#eventlist ul li h4{
	display:block;
	overflow:hidden;
	font-size:2.4rem;
	font-weight:700;
	line-height:155%;
	min-height:3em;
}

#eventlist ul li h4 > strong{
	color:#D70C19;
}

#eventlist ul li h5{
	display:block;
	overflow:hidden;
	font-size:1.6rem;
	font-weight:700;
	line-height:155%;
	min-height:3em;
	margin:1em 0;
}

#eventlist ul li p{
	display:block;
	overflow:hidden;
	margin:1em 0;
}

#eventlist ul li img{
	width:min(100%,660px);
	height:auto;
}


#eventlist.csoon{
	width: 1100px;
	height:517px;
	background: url('../images/comming.webp') no-repeat 50% 50%;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {


	#eventlist ul li{
		font-size: 1.6rem;
		line-height:155%;
	}

	#eventlist ul li h4{
		font-size:1.8rem;
		line-height:155%;
	}

	#eventlist ul li > div,
	#eventlist ul li > a{
		width:min(100%,350px);
		padding:0 0;
		-webkit-border-radius:unset;
		border-radius:unset;
	}


	#eventlist ul li h4{
		font-size:2.4rem;
		line-height:155%;
		min-height:3em;
	}

	#eventlist ul li h5{
		font-size:1.6rem;
		line-height:155%;
		min-height:3em;
	}

	#eventlist.csoon{
		width: 100%;
		height:123vw;
		/*background: url('../images/comming_sp.webp') no-repeat 0 0;*/
		background-size:cover;
	}



}




.slickarrow{
	text-align:right;
}

.slickarrow > img + img{
	margin-left:10px;
}

.slickarrow > img{
	cursor:pointer;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.pc .slickarrow > img:hover{
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {


}


/***********************************

 LINE UP

***********************************/
#lineup{
	
}

#lineup article{
	display:block;
	overflow:hidden;
	text-align:center;
}

#lineup article > h3{
	font-size:2.6rem;
	line-height:175%;
	color:#00C4FF;
	margin:2em 0;
}

#lineup article > img{
	width: min(calc(50% - 10px),377px);
	height:auto;
}

#lineup article > img + img{
	margin-left: 20px;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#lineup > .sectioninner{
		width:100%;
	}

	#lineup article{
		padding:0 5vw;
	}

	#lineup article > h3{
		font-size:2.0rem;
		line-height:175%;
	}

	#lineup article > img{
		width: min(100%,754px);
	}

	#lineup article > img + img{
		margin-top: 5vw;
		margin-left: 0;
	}

}



/*スライド切り替え*/
#caralbum{
	display:block;
	/*overflow:hidden;*/
	position:relative;
	position:relative;
	margin:80px 0 10px;
}

#cardata{
	display:block;
	/*overflow:hidden;*/
	width:max(55vw,850px);
	position:relative;
	left:calc(50% - 5vw);
}

#cardata > ul{
	display:block;
	position:relative;
}

#cardata > ul > li{
	display:block;
	width:100%;
	background-color:#000000;
	visibility:hidden;
	opacity:0;
	position:relative;
	left:0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	/*left:-25px;*/
}

#cardata > ul > li:nth-child(n+2){
	position:absolute;
	top:0;
}


#cardata.sly1 > ul > li:nth-child(1),
#cardata.sly2 > ul > li:nth-child(2),
#cardata.sly3 > ul > li:nth-child(3),
#cardata.sly4 > ul > li:nth-child(4),
#cardata.sly5 > ul > li:nth-child(5){
	visibility:visible;
	opacity:1.0;
	left:0;
	/*transform: scale(1.0);*/
}


#cardata figure{

}


#cardata figure > p{
	display:block;
	overflow:hidden;
	line-height:100%;
	position:relative;
	clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
}

#cardata figure > p > img{
	width:100%;
	height:auto;
	position:relative;
	transform: scale(1.2);
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}

#cardata.sly1 > ul > li:nth-child(1) > figure > p > img,
#cardata.sly2 > ul > li:nth-child(2) > figure > p > img,
#cardata.sly3 > ul > li:nth-child(3) > figure > p > img,
#cardata.sly4 > ul > li:nth-child(4) > figure > p > img,
#cardata.sly5 > ul > li:nth-child(5) > figure > p > img{
	transform: scale(1.0);
}


#cardata figcaption > *{
	position:relative;
	vertical-align:top;
}

#cardata figcaption > h4{
	margin: 1em 0;
}

#cardata figcaption > h4 img{
	width:min(100%,300px);
	height:auto;
}

#cardata figcaption > p{
	display:inline-block;
	overflow:hidden;
	width:20em;
	font-size:1.6rem;
	line-height:155%;
	color:#ffffff;
	/*white-space:nowrap;*/
}

#cardata a{
	display:inline-block;
	overflow:hidden;
	width:230px;
	/*padding:0.5em 1em;*/
	padding:1.15em 1em;
	margin-left:2em;
	font-size:1.6rem;
	line-height:125%;
	color:#000000;
	-webkit-border-radius:5px;
	border-radius:5px;
	background:#ffffff url('../images/ico_blank.svg') no-repeat right 10px top 50%;
	background-size: 18px 18px;
}

.pc #cardata a:hover{
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
	text-decoration:none;
	/*color: #00C4FF;
	background-color:#00C4FF;*/
}



/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#caralbum{
		margin:10vw 0;
	}

	#cardata{
		display:block;
		overflow:hidden;
		width:min(100%,850px);
		position:relative;
		left:0;
		margin-top:10vw;
	}

	#cardata figcaption{
		padding:0 5vw;
	}


	#cardata figcaption > h4 img{
		width:min(90%,300px);
		height:1.5em;
	}


	#cardata figcaption > p{
		display:block;
		width:100%;
		min-height:5em;
		font-size:1.6rem;
		line-height:155%;
		margin:1em 0 0.5em;
	}

	#cardata a{
		display:block;
		width:100%;
		padding:0.75em 1em!important;
		margin-left:0;
	}

	#cardata a br{
		display:none;
	}

}



/*サムネイル*/
ul#thumbtns{
	width:min(50%,630px);
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:50px 0;
	position:absolute;
	top:50%;
	left:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index:6;
}

ul#thumbtns > li{
	width:min(50%,210px);
	/*width:min(33%,210px);*/
}

ul#thumbtns > li label{
	display:block;
	/*overflow: hidden;*/
	cursor:pointer;
}
ul#thumbtns > li label > input{
	display:none;
}

ul#thumbtns > li label > input + img{
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
	width:100%;
	height: auto;
}

ul#thumbtns > li label > input + img{
	filter:brightness(0.5);
}
.pc ul#thumbtns > li label:hover > input + img{
	filter:brightness(1.0);
}
ul#thumbtns > li label > input:checked + img{
	filter:brightness(1.0);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	ul#thumbtns{
		width:calc(100% - 10vw);
		margin:0 auto;
		justify-content:center;
		gap:5vw 0;
		position:relative;
		top:auto;
		right:auto;
		-webkit-transform:unset;
		transform:unset;
	}
	
	ul#thumbtns > li{
		width:min(33%,210px);
	}

}


/***********************************

 SCHEDULE

***********************************/
#schedule{
	padding-bottom:180px;
	background:url('../images/bg_pc.webp') no-repeat 0 bottom;
	background-size:100% auto;
}

#schedule h2{
	margin-bottom:50px;
}

p.sctxt{
	color:#ffffff;
	font-size:1.4rem;
	line-height:125%;
	text-align:right;
	margin:1em 0;
}

p.sctxt img{
	width: min(16vw,60px)!important;
	height: auto;
	vertical-align: top;
	position:relative;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#schedule{
		padding-bottom:24vw;
	}

}


/*----------------------
 スケジュール表
 ----------------------*/
#timeTable{
	display:block;
	overflow:auto;
	max-height:420px;
	position:relative;
}

#timeTable > table{
	width:100%;
	border-collapse:separate;
}

#timeTable > table td,
#timeTable > table th{
	border-bottom:1px solid #4A4A4A;
	text-align:center;
}


#timeTable > table > thead th{
	padding:0 5px;
}

#timeTable > table > thead th > .dayth{
	display:block;
	overflow:hidden;
	padding:0.25em 0;
	font-size:1.8rem;
	font-weight:700;
	line-height: 155%;
	color:#ffffff;
	background-color:#414141;
	border-radius:10px 10px 0 0;
}

#timeTable > table > thead th > .dayth > span{
	display:block;
	overflow:hidden;
	font-size:1.2rem;
	font-weight:700;
	line-height:125%;
	margin:0 10px;
}

#timeTable > table > thead > tr{
	background-color: #000000;
	position:sticky;
	top:0;
	z-index: 4;
}


#timeTable > table > tbody th,
#timeTable > table > tbody td{
	padding:1em 10px;
}

#timeTable > table > tbody th{
	font-size:1.4rem;
	font-weight:normal;
	line-height: 125%;
	color:#ffffff;
	border-right:1px solid #4A4A4A;
	background-color: #000000;
	position:sticky;
	left:0;
	z-index: 3;
}

#timeTable > table > tbody td > span{
	display:block;
	overflow:hidden;
	white-space:nowrap;
	border-radius:25px;
	padding:0.25em 0.75em 0.5em;
	font-size:1.2rem;
	line-height:100%;
	color:#ffffff;
	background-color:#333333;
}




#timeTable > table td span + span{
	margin-top:0.5em;
}

/*U9 show*/
#timeTable > table td span.t_1{
	 background-color:#D2000E;
}

/*ミニステージ*/
#timeTable > table td span.t_2{
	 background-color:#68349A;
}

/*Talkshow*/
#timeTable > table td span.t_3{
	 background-color:#DE8344;
}

/*Session*/
#timeTable > table td span.t_4{
	 background-color:#4273B1;
}


#timeTable.csoon{
	overflow:hidden;
	background-color:#191919;
}

#timeTable.csoon::after{
	content:"COMING SOON";
	display:inline-block;
	overflow:hidden;
	font-size:1.8rem;
	line-height: 155%;
	color:#ffffff;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

#timeTable.csoon > table{
	opacity:0.5;
	/*min-height: 420px;*/
}



/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#timeTable{
		max-height:max(420px,112vw);
	}

}



/***********************************

 INFORMATION

***********************************/
#info{
	font-size:1.8rem;
	line-height:155%;
	color:#ffffff;
	padding-bottom:150px;
}


#info dl{
	display:block;
	overflow:hidden;
	margin:45px 0 1em;
}

#info dl > dt,
#info dl > dd{
	display:block;
	overflow:hidden;
	float:left;
	padding:0.5em 0;
}

#info dl > dt{
	clear:both;
	width:7em;
}

#info dl > dd{
	width:calc(100% - 7em);
}

#info p.sctxt{
	display:none;
}

#map{
	display:block;
	overflow:hidden;
	margin-top:25px;
}

#map img{
	width:100%;
	height: auto;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	#info{
		font-size:1.6rem;
		line-height:155%;
		padding-bottom:calc(12vw + 40px);
	}


	#info dl{
		margin:10vw 0 1em;
	}


	#info p.sctxt{
		display:block;
	}

	#map{
		display:block;
		overflow:hidden;
		margin-top:0;
	}

	#map > p{
		display:block;
		overflow:auto;
	}

	#map img{
		width:min(175vw,1100px);
		height: auto;
	}

}


/***********************************

 ページTOPへ

***********************************/
#bottomLine{
	display:block;
	/*overflow:hidden;*/
	/*background-color:#000000;*/
	width:100%;
	position:sticky;
	bottom:0;
	z-index:8;
}

a#toTop{
	display:inline-block;
	overflow:hidden;
	width: 40px;
	aspect-ratio:1/1;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	opacity:0.0;
	visibility:hidden;
	position:absolute;
	top: -65px;
	right:25px;
}

a#toTop img{
	width: 100%;
	height:auto;
}

a#toTop.show{
	visibility:visible;
	opacity:1.0;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {

	

}


/***********************************

フッタ

***********************************/
footer{
	display:block;
	overflow:hidden;
	position:relative;
	background-color:#000000;
}

#footerinner{
	display:block;
	overflow:hidden;
	width:min(100%,1100px);
	margin:0 auto 65px;
	font-size:1.6rem;
	line-height:125%;
	color:#ffffff;
	position:relative;
}

#ftlogo{
	display:inline-block;
	overflow:hidden;
	white-space:nowrap;
	position:relative;
	font-size:1.8rem;
	line-height:125%;
}

#ftlogo img{
	vertical-align: middle;
	margin-right:1em;
}


#footerinner ul{
	display:flex;
	overflow:hidden;
	gap:0 2em;
	position:absolute;
	bottom:0;
	right:0;
}

#footerinner ul > li > a{
	display:block;
	overflow:hidden;
	color:#ffffff;
	text-decoration:none;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.pc #footerinner ul > li > a:hover{
	color:#00C4FF;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {


	#footerinner{
		margin:0 auto 24vw;
		padding:0 2vw;
		font-size:1.4rem;
		line-height:125%;
	}

	#ftlogo{
		display:block;
		font-size:1.6rem;
		line-height:125%;
		text-align:center;
		margin-top: 1em;
	}

	#ftlogo img{
		width:min(24vw,78px);
		height:auto;
		vertical-align:middle;
	}


	#footerinner ul{
		gap:0 1em;
		justify-content:center;
		position:relative;
		bottom:auto;
		right:auto;
		width:100%;
	}

	#footerinner  address{
		text-align:center;
		font-size:clamp(1.1rem,0.5vw,1.2rem);
		line-height:125%;
		margin-top:1em;
	}

}

