@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

/*リセット*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing: border-box;
}
ol, ul, dl{
    list-style:none;
	margin: 0;
	padding: 0;
}

html{
	margin:0;
	padding:0;
}

body{
	position:relative;
	margin:0;
	padding:0;
	font-family: "Zen Old Mincho", serif;
	font-size: 18px;
	color:#fff;
	line-height: 2.2;
	font-weight:600;
	background:#000;
	-webkit-font-smoothing: antialiased;
}

.pc{
	display:block;
}
.sp{
	display:none;
}
.pcVisible{
	visibility:visible;
}
.spVisible{
	visibility:hidden;
}

a:link,a:visited {
	color:#efefef;
	text-decoration: none;
	cursor:pointer;
}
a.yellow:link,a.yellow:visited{
	color:#fffacd;
}
a.blue:link,a.blue:visited{
	color:#00bfff;
}
a:hover {
	color:#fff;
}
a.reservebtn{
	display:block;
	width:100%;
	max-width:320px;
	margin:20px auto;
	padding:15px 0;
	color:#000;
	background:#fff;
	border-radius:8px;
	font-size:18px;
	font-weight:700;
	text-align:center;
	line-height:1;
	transition:0.2s ease-in-out;
}
a.reservebtn:hover{
	filter:drop-shadow(0 0 2px #fff);
}
/*エフェクト系*/
.fadein{
	opacity:0;
}
/*--------------*/
#navi{
	visibility:hidden;
	opacity:0;
	position:fixed;
	height:100vh;
	width:100%;
	top:0;
	left:0;
	margin:0 auto;
	padding:120px 0 0;
	text-align:center;
	line-height:1;
	background:rgba(0,0,0,0.5);
	backdrop-filter: blur(5px);
	z-index:10;
	transition:0.4s ease-in-out;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
#navi.open{
	visibility:visible;
	opacity:1;
	z-index:101;
	transition:0.4s ease-in-out;
}
#navi > li{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	width:25%;
	margin:0 5% 20px auto;
	padding:0 0 10px;
	text-align:right;
}
#navi > li::before{
	content:"";
	height: 1px;
	flex-grow: 1;
	/*background-color: rgba(255,255,255,0.5);*/
	background: linear-gradient(-90deg, rgba(255,255,255,0.5) , rgba(255,255,255,0.1));
	margin:6px 1rem 0 0 ;
}
#navi > li:last-child::before{
	display:none;
}
#navi > li:last-child iframe{
	width:100%;
	height:50vh;
}
#navi > li a{
	display:block;
	color:#fff;
}
#navi > li a.reservebtn{
	color:#000;
}


#navi > li > ul{
	width:100%;
	margin:8px 0;
}
#navi > li > ul li{
	margin:20px 0 0;
	padding:0 0 0 10%;
}
#naviBtn{
	display:block;
	position:fixed;
	justify-content:center;
	top:calc(6.25vh - 20px);
	right:40px;
	width:40px;
	height:40px;
	background:url(../img/navi.svg) no-repeat;
	background-position:center;
	background-size:100% auto;
	cursor: pointer;
	z-index:102;
}
#naviBtn.open{
	background:url(../img/navi_close.svg) no-repeat center;
	background-position:center;
	background-size:100% auto;
}

/*--------------*/
:root{
	--letterbox-size: 12.5vh;
}
.letterbox{
	position: fixed;
	inset: 0;
	z-index: 10;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		#000 0,
		#000 var(--letterbox-size),
		rgba(0,0,0,0) var(--letterbox-size),
		rgba(0,0,0,0) calc(100% - var(--letterbox-size)),
		#000 calc(100% - var(--letterbox-size)),
		#000 100%
	);
}
.bg{
	position:fixed;
	top:12.5vh;
	height:75vh;
	width:100%;
	z-index:0;
	-webkit-animation: bgreveal 2s ease-in-out 1 alternate;
	-moz-animation: bgreveal 2s ease-in-out 1 alternate;
	animation: bgreveal 2s ease-in-out 1 alternate;
}
.bg-video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.bg::before{
	
}
@-webkit-keyframes bgreveal {
  0% {
	opacity:0;
  }
  100% {
	opacity:1;
  }
}

.mainvis{
	position:relative;
	height:100vh;
	text-align:center;
	filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.5));
}
.mainvis > img{
	width:24%;
}
.mainvis h1{
	width:60%;
	position:absolute;
	top: 43%;
	left:50%;
	transform: translate(-50%,-50%);
	-webkit- transform: translate(-50%,-50%);
	-webkit-animation: fadein 3s ease-in-out 1 alternate;
	-moz-animation: fadein 3s ease-in-out 1 alternate;
	animation: fadein 3s ease-in-out 1 alternate;
}
@-webkit-keyframes fadein {
  0% {
	opacity:0;
  }
  50% {
	opacity:0;
  }
  100% {
	opacity:1;
  }
}

.mainvis h1 img{
	width:100%;
}
.mainvis h2{
	position:relative;
	top:66%;
	text-align:center;
	font-size:2.1vw;
	line-height:1.6;
	font-weight:400;
	letter-spacing:2px;
	-webkit-font-smoothing: antialiased;
	-webkit-animation: fadein 3.6s ease-in-out 1 alternate;
	-moz-animation: fadein 3.6s ease-in-out 1 alternate;
	animation: fadein 3.6s ease-in-out 1 alternate;
}

/*--------------*/
main{
	position:relative;
}
section .inner{
	width:90%;
	max-width:1200px;
	margin:0 auto 100px;
	padding:50px;
	background:rgba(255,255,255,0.05);
	backdrop-filter: blur(8px);
}

section .inner h2 {
	position: relative;
	display:flex;
	align-items: center;
	margin:0 0 30px;
	font-size:24px;
	text-align:center;
	white-space: nowrap;
}
section .inner h2::before, section .inner h2::after {
	content:"";
	display:block;
	height: 18px;
	background:url(../img/border.svg) repeat-x;
	background-size:auto 100%;
	flex-grow: 1;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
section .inner h2::before{
    margin-right: 2%;
	background-position:left;
}
 
section .inner h2:after {
	margin-left: 2%;
	background-position:left;
}

section .inner h2:before {
	left:0;
}
section .inner h2:after {
	right: 0;
}
/*-----------------------------*/
#about iframe{
	height:400px;
}
#about h3{
	font-size:22px;
	text-align:center;
}
.detail{
	width:80%;
	margin:50px auto;
	padding:25px 30px;
	border:1px solid rgba(255,255,255,0.2);
	background:rgba(0,0,0,0.4);
	font-size:20px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
#about .detail h3{
	font-size:20px;
	letter-spacing:2px;
	text-align:left;
}
.detail span{
	font-size:16px;
}
.detail > div{
	padding:10px 0 20px;
	font-size:16px;
	line-height:1.6;
}
.spotify{
	margin:0 auto 30px;
}
#about ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#about ul li{
	width:49%;
	aspect-ratio:16 / 9;
}
#about ul li iframe{
	width:100%;
	height:100%;
}
/*-----------------------------*/
#artist ul{
	display:grid;
	justify-content:space-between;
	grid-template-columns:50% 48%;
	grid-template-rows: 100px auto;
	row-gap: 20px;
	margin:0 auto 100px;
}
#artist ul:last-of-type{
	margin:0 auto;
}
#artist ul li:nth-of-type(1){
	grid-column: 1 / 3;
	grid-row: 1 / 2;
	text-align:center;
}
#artist ul li:nth-of-type(1) img{
	height:100%;
}
#artist ul#ayano li:nth-of-type(1) img{
	height:80%;
}
#artist ul li:nth-of-type(2){
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}
#artist ul li:nth-of-type(2) > img{
	width:100%;
}
#artist ul li:nth-of-type(3){
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}
#artist ul li:nth-of-type(4){
	grid-column: 1 / 3;
	grid-row: 3 / 4;
}
.member{
	margin:0 0 20px;
	font-size:16px;
	line-height:1.8;
}
.support{
	margin:15px 0 0;
	font-size:13px;
	line-height:2;
}
.sns img{
	height:24px;
	margin:0 5px;
}
.youtube{
	margin:30px auto 0;
}
.youtube > div{
	position: relative;
	height: 0;
	width:100%;
	padding-bottom: 56.25%;
	overflow: hidden;
}
.youtube > div iframe{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
/*---------------*/
#access iframe{
	margin:20px auto 0;
	filter: grayscale(100%);
}

/*---------------*/
footer{
	position:relative;
	padding:0 0 100px;
	z-index:99;
}
#totop{
	opacity:0;
	position: fixed;
	aspect-ratio:6 / 13;
	width: 30px;
	bottom: 40px;
	right: 40px;
	background:url(../img/totop.svg) no-repeat;
	background-size:100%;
	background-position:center top;
	cursor: pointer;
	z-index:99;
	transition-duration: 0.4s;
}
#totop.on{
	opacity:1;
	transition-duration: 0.4s;
}

footer .logo{
	width:200px;
	margin:0 auto;
}
footer .logo img{
	width:100%;
}
.copyright{
	position:fixed;
	bottom:0;
	width:100%;
	padding:15px 0;
	font-size:10px;
	text-align:center;
	background:rgba(0,0,0,0.2);
	z-index:2;
	color:#ccc;
	backdrop-filter: blur(5px);
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

.red{
	color:#ab0a3d;
}
.bold{
	font-weight:700;
}
.semibold{
	font-weight:500;
}

@media screen and (max-width: 980px) {
	body{
		font-size:18px;
		font-weight:400;
		line-height: 1.8;
	}
	.pc{
		display:none!important;
	}
	.sp{
		display:block!important;
	}
	.pcVisible{
		visibility:hidden;
	}
	.spVisible{
		visibility:visible;
	}
	.bg{
		top:60px;
		height:calc(100vh - 120px);
	}
	/*--------------*/
	#navi{
		padding:20vh 0 0;
	}
	#navi > li{
		width:50%;
		margin:0 5% 15px auto;
		font-size:17px;
	}
	#navi > li:last-child{
		width:90%;
	}
	#navi > li > ul li {
		margin: 20px 0 0;
	}
	#naviBtn{
		top:16px;
		right:5%;
		width:30px;
		height:30px;
		filter:drop-shadow(1px 1px 0px #000);
	}
	#naviBtn.open{
		filter:none;
	}
	/*--------------*/
	:root{
		--letterbox-size: 60px;
	}
	.mainvis{
		width:90%;
		margin:0 auto 40px;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
	}
	.mainvis h1{
		top: 42%;
		width:96%;
	}
	.mainvis h2{
		top:54%;
		font-size:22px;
	}
	.mainvis h2:first-line{
		font-size:26px;
	}
	/*---------------*/
	section .inner{
		padding:50px 5%;
	}
	section .inner h2{
		margin:0 0 20px;
		font-size:18px;
	}
	section .inner h2:before, section .inner h2:after {
		width: 30%;
	}
	/*---------------*/
	#about h3{
		font-size:20px;
		text-align:left;
	}
	.detail{
		width:100%;
		margin:30px auto;
		font-size:18px;
	}
	#about .detail h3{
		font-size:18px;
	}
	.detail span{
		font-size:14px;
	}
	.detail > div{
		font-size:14px;
	}
	#about ul li{
		width:100%;
		margin:0 0 15px;
	}
	/*---------------*/
	#artist ul{
		grid-template-rows: 60px auto;
	}	
	#artist ul li:nth-of-type(2){
		grid-column: 1 / 3;
		grid-row: 2 / 3;
	}
	#artist ul li:nth-of-type(3){
		grid-column: 1 / 3;
		grid-row: 3 / 4;
	}
	#artist ul li:nth-of-type(4){
		grid-row: 4 / 5;
	}
	.sns img{
		height:24px;
		margin:0 6px;
	}
	.member{
		font-size:18px;
	}
	.support{
		font-size:15px;
	}
	/*---------------*/
	#access iframe{
		width:100%;
		height:600px;
		-webkit-filter: grayscale(100%);
		-moz-filter: grayscale(100%);
		-ms-filter: grayscale(100%);
		-o-filter: grayscale(100%);
	}

	/*---------------*/
	footer .logo{
		width:80%;
		margin:32px auto;
	}
	#totop{
		right: 2%;
		bottom:10px;
		width: 20px;
	}
	.copyright{
	
	}
}
