@charset "utf-8";


/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　ベース設定
++++++++++++++++++++++++++++++++++++++++ */

html{
	scroll-behavior: smooth;
}


html, body, header, main, section, footer,
div, p, h1, h2, h3, h4, ul, iframe{
	margin: 0;
	padding: 0;
	border-width: 0;
	
}

body{
	font-family: "Times New Roman", "Yu Mincho", serif;
	color: #000000;
	background-color: #555555;	
}


section, div, p, h1, h2, h3, h4{
	box-sizing: border-box;
	clear: both;
}

img {
  display: block;
  max-width: 100%;
}

.main_wrap{
	width: clamp(320px, 95vw, 1024px);
	margin: 0 auto;
}

.main_wrap .section_title{
	text-align: center;
}




/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　リンク
++++++++++++++++++++++++++++++++++++++++ */
a, a:link,
a:visited,
a:hover,
a:active{
	text-decoration: none;
	color: red;	
}




/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　基本フォントサイズ
++++++++++++++++++++++++++++++++++++++++ */
body{ font-size: clamp(15px, 4vw, 18px);}
h2{ font-size: clamp(22px, 5vw, 32px);}





/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　First View
++++++++++++++++++++++++++++++++++++++++ */

.first_view{
	position: relative;
	width: 100%;
	min-height: 100dvh;
	background-image: url("img/fv_bgimg_sp.jpg");
	background-size: cover;
	background-position: center bottom;
}

.page_title{
	width: max-content;
	position: absolute;
	bottom: 40vh;
	left: 50%;
	transform: translateX(-50%);
	border: 0px solid red;
}

.page_title p{
	margin-bottom: 10px;
}

.page_title p img{
	margin: 0 auto;
	width: 60vw;
	min-width: 220px;
}

.page_title h1 img{
	margin: 0 auto;
	width: 85vw;
	min-width: 240px;
}

.presented{
	position: absolute;
	bottom: 10vh;
	left: 50%;
	transform: translateX(-50%);
}

.presented img{
	width: 40vw;
	min-width: 120px;
}


.presented_pc{
	display: none;
}


/* ++++++++++ PCサイズ ++++++++++ */

@media (min-width: 1024px){

	.first_view{
		background-image: url("img/fv_bgimg_pc.jpg");
	}
	
	.page_title{
		bottom: 20vh;
		left: 3vw;
		transform: none;
	}

	.page_title p img{
		margin: 0;
		width: 36vw;
	}

	.page_title h1 img{
		width: 50vw;
	}

	.presented{
		display: none;
	}

	.presented_pc{
		display: block;
		position: absolute;
		bottom: 3vh;
		right: 3vw;
	}

	.presented_pc img{
		width: 40vw;
	}

}





/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　CONCEPT
++++++++++++++++++++++++++++++++++++++++ */
.concept{
	padding: clamp(56px, 10vh, 120px) 0;
	border: 0px solid green;
}

.concept .main_wrap{
	margin: 0 auto;
	padding: 3vh 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: white;
	border: 0px solid red;
}

.concept .main_wrap h2{
	padding: 48px 12px;
	border: 0px solid blue;
}

.concept .main_wrap .section_inner{
	text-align: center;
	font-size: clamp(16px, 4vw, 24px);
	border: 0px solid blue;
}

.concept .main_wrap .section_inner p{
	margin-bottom: 24px;
	line-height: 1.5em;
}



/* ++++++++++ PCサイズ ++++++++++ */

@media (min-width: 1024px){

	.concept .main_wrap{
		flex-direction: row;
	}

	.concept .main_wrap h2{
		flex: 0 0 auto;
		letter-spacing: 0.3em;
	}

	.concept .main_wrap .section_inner{
		flex: 1 1 0;
	}

}






/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　EVENT NEWS
++++++++++++++++++++++++++++++++++++++++ */
.event_news{
	background-color: black;
	color: white;
	min-height: 90vh;
	background-image: url(img/liveinfo_bg.jpg);
	background-repeat: no-repeat;
	background-position: 3vw top;
	/* background-attachment: fixed; */
	background-size: 48vw auto;
	padding: 72px 0;
}

.event_news h2{
	width: clamp(320px, 80vw, 800px);
	margin: 0 auto;
	text-align: right;
}


/* ++++++++++ PCサイズ ++++++++++ */

@media (min-width: 1024px){

	.event_news{
		background-position: 12vw top;
		background-size: 360px auto;
	}

	.event_news h2{
		letter-spacing: 0.2em;
		font-size: clamp(28px, 6vw, 36px);
	}

}



/*　　　　　　　　LIVE INFO
------------------------------------------ */
.live_info{
	display: flex;
	align-items: center;
}

.live_info .main_wrap{
	width: clamp(320px, 80vw, 800px);
	text-align: right;
	font-size: clamp(16px, 4vw, 24px);
	border: 0px solid white;
	margin-bottom: 36px;
}


.live_info .main_wrap .section_inner li{
	list-style: none;
}

.live_info .main_wrap .section_inner .info_head{
	margin-top: 24px;
	margin-bottom: 4px;
	text-decoration: underline;
}





/*　　　　　出演者情報
------------------------------------------ */

.live_act{
	color: white;
	display: flex;
	align-items: center;
}

.live_act .main_wrap h3{
	text-align: center;
	margin-top: 16px;
	padding-top: 16px;
	margin-bottom: 32px;
	border-top: 2px dotted gray;
}

.live_act .main_wrap .act_list{
	text-align: center;
	width: 80%;
	margin: 0 auto;
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.live_act .main_wrap .act_list .act{
	margin-bottom: 24px;
	flex: 0 0 70%;
	scroll-snap-align: start;
	border: 0px solid red;
}



/* ++++++++++ PCサイズ ++++++++++ */

@media (min-width: 1024px){

	.live_act .main_wrap .act_list{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
		overflow-x: visible;
		scroll-snap-type: none;
	}

}





/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　TICKET
++++++++++++++++++++++++++++++++++++++++ */
.ticket{
	display: flex;
	align-items: center;
	padding: 56px 0;
	background-color: white;
}

.ticket .main_wrap{
	width: clamp(320px, 80%, 960px);
	display: flex;
	flex-direction: column;
	border: 0px solid red;
}

.ticket .main_wrap h2{
	width: fit-content;
	margin: 0 auto;
	margin-bottom: 48px;
	padding: 2px 24px;
	border: 1px solid #222222
}

.ticket .main_wrap .section_inner .ticket_type{
	margin-bottom: 36px;
}

.ticket .main_wrap .section_inner .ticket_type h3{
	background-color: #444444;
	color: white;
	padding: 6px;
	padding-left: 8px;
	margin-bottom: 16px;
}

.ticket .main_wrap .section_inner .ticket_type p{
	margin-left: 16px;
	margin-bottom: 12px;
}

.ticket .main_wrap .section_inner .ticket_type .web_ticket{
	margin-top: 24px;
	margin-bottom: 36px;
	text-align: center;
}

/* ++++++++++ PCサイズ ++++++++++ */

@media (min-width: 1024px){

	.ticket .main_wrap{
		flex-direction: row;
		align-items: center;
		gap: 80px;
	}

	.ticket .main_wrap h2{
		order: 2;
		height: fit-content;
		flex: 0 0 auto;
		border: 0px;
	}

	.ticket .main_wrap .ticket_type{
		order: 1;
		flex: 1 1 0;
	}

	/* 
	.ticket .main_wrap .section_inner .ticket_type{
		padding: 12px;
		border-right: 1px solid #222222;
		border-bottom: 1px solid #222222;
	}*/

}











/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　ゴマジェット
++++++++++++++++++++++++++++++++++++++++ */
.gomajet{
	display: flex;
	align-items: center;
	background-color: rgb(255, 239, 207);
}

.gomajet .main_wrap{
	width: clamp(320px, 95vw, 1024px);
	margin: 3vh auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.gomajet .main_wrap h2{
	margin-bottom: 16px;
	text-align: center;
}

.gomajet .main_wrap .section_inner{
	width: 100%;
	border: 0px solid blue;
}

.gomajet .main_wrap .section_inner img{
	width: 50%;
	margin: 0 auto;
}

.gomajet .main_wrap .section_inner p{
	margin: 12px 24px;
}


.gomajet .main_wrap .goma_map{
	width: 100%;
	padding: 24px 2%; 
	border: 0px solid blue;
}

.gomajet .main_wrap .goma_map iframe{
	width: 100%;
	height: 50vh;
}



/* ++++++++++ PCサイズ ++++++++++ */

@media (min-width: 1024px){

	.gomajet .main_wrap{
		flex-direction: row;
		gap: 40px;
	}

	.gomajet .main_wrap .section_inner{
		flex: 0 0 60%;
	}

	.gomajet .main_wrap .goma_map{
		flex: 0 0 40%;
	}

	.gomajet .main_wrap .goma_map iframe{
	width: 100%;
}

}







/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　Archive
++++++++++++++++++++++++++++++++++++++++ */
.archive .main_wrap{
	background-color: red;
}



/* ++++++++++++++++++++++++++++++++++++++++
　　　　　　　　FOOTER
++++++++++++++++++++++++++++++++++++++++ */