@charset "UTF-8";
body:before{
	content:"";
	display:block;
	width:100%;
	height:1px;
	margin-top:-1px;
}
main > *:not(#mainFV):not(.itemBox){width:100%;}
main > *:not(#mainFV){
	position:relative;
	z-index:1;
}
main h2{line-height:1.0;}
#mainFV{
	position:sticky;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	z-index:-1;
}
#mainFV *{line-height:1.0;}
#mainFV picture img,
#mainFV picture{
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	height:-webkit-fill-available;
	object-fit:cover;
	z-index:-1;
}
#mainFV figcaption{
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	color:#fff;
}
#mainFV figcaption h1,
#mainFV .openTime{margin:0 auto;}
#popEvent{
	position:relative;
	display:flex;
	flex-direction:column;
	background:linear-gradient(180deg,rgba(142,150,208,1) 0%,rgba(235,193,216,1) 100%);
	text-align:center;
}
body:not(.teaser) #popEvent{border-bottom:1px solid #000;}
#popEvent *{line-height:1.0;}
#popEvent > *{
	display:block;
	margin:0 auto;
}
#popEvent h2{font-weight:400;}
#popEvent address a{
	display:block;
	text-decoration:underline;
}
#popEvent address a:before{
	content:"";
	display:block;
	margin:0 auto;
	background:url("../img/teaser/map-icon.svg") no-repeat center top;
	background-size:contain;
}
#popEvent #copyrights{
	position:absolute;
	left:0;
	width:100%;
}
body:not(.teaser) #popEvent #copyrights{display:none;}
#campaign,
#about{background:linear-gradient(275deg,rgba(142,150,208,1) 0%,rgba(190,172,212,1) 66%,rgba(235,193,216,1) 100%);}
#campaign .inner{margin:0 auto;}
#campaign h2{
	width: 100%;
	text-align:center;
}
#campaign .campaignBox{
	position:relative;
	text-align:center;
}
#campaign .campaignBox > *,
#campaign .campaignBox h3 > *,
#campaign .campaignBox figcaption{
	display:block;
	width:100%;
	line-height:1.0;
}
#campaign .campaignBox img{margin:0 auto;}
#campaign #campaignBox02 .openTime{
	display:flex;
	justify-content:center;
	align-items:center;
	line-height:1.0;
}
#campaign #campaignBox02 .openTime > *{display:block;}
#campaign #campaignBox02 .openTime small{display:inline-block;}
#campaign #campaignBox02 .lineBtn a{margin:0 auto;}
main > .itemBox{position:relative;}
#item01{background:linear-gradient(135deg,rgba(220,202,240,1) 0%,rgba(113,218,237,1) 100%);}
#item02{background:linear-gradient(135deg,rgba(223,164,232,1) 0%,rgba(241,232,203,1) 100%);}
#item03{background:linear-gradient(135deg,rgba(233,141,142,1) 0%,rgba(209,203,241,1) 100%);}
#item04{background:linear-gradient(135deg,rgba(113,237,187,1) 0%,rgba(240,201,202,1) 100%);}
.itemBox > span{
	display: block;
	position:relative;
	width:100%;
	height:0;
	border-bottom:1px solid #000;
}
.itemBox > span img{
	display:block;
	position:absolute;
	filter:drop-shadow(0px 0px 1px #000);
}
.itemBox figcaption,
.itemBox figcaption *{line-height:1.0;}
.itemBox figcaption{
	width:100%;
	display:grid;
	grid-template-rows:auto auto;
}
.itemBox figcaption > *{display:block;}
.itemBox figcaption h2{
	grid-column:1 / 2;
	grid-row:1 / 2;
}
.itemBox figcaption p{
	grid-column:1 / 2;
	grid-row:2 / 3;
}
.itemBox figcaption .checkBtn{
	grid-column:2 / 3;
	grid-row:1 / 3;
	align-self:center;
}
.itemBox figcaption .checkBtn a{width:100%;}
#about{border-bottom:1px solid #000;}
#about .inner{margin:0 auto;}
#about figure{position:relative;}
#about figure img{position:relative;}
main > #about h2{line-height:1.125;}
#about p{line-height:1.7;}
#about .moreBtn a > span{width:100%;}
@media screen and (max-width:1039.98px){
	#mainFV img,
	#mainFV picture{object-position:bottom center;}
	#mainFV figcaption > *{
		position:absolute;
		transform:rotate(90deg);
		transform-origin:left bottom;
	}
	#mainFV figcaption h1{
		width:min(128.205vw,90vh);
		left:10vw;
		top:-21.3vw;
	}
	#mainFV .openTime{
		width:100vw;
		top:0vw;
		left:1.0vw;
		font-size:5vw;
		letter-spacing:0.3vw;
	}
	#mainFV .openTime small{font-size:2.8vw;}
	#popEvent{
		justify-content:flex-start;
		padding:10.0vw 0 9vw;
	}
	body:not(.teaser) #popEvent{padding:10.769vw 0 44.1vw;}
	#popEvent h2{
		font-size:9.8vw;
		letter-spacing:0.1vw;
	}
	#popEvent .openTime{
		margin-top:9.8vw;
		font-size:6.7vw;
		letter-spacing:0.14vw;
	}
	#popEvent .openTime small{font-size:3.4vw;}
	#popEvent .attoTxt{
		margin-top:21.6vw;
		font-size:5.0vw;
	}
	#popEvent address{
		margin-top:5.1vw;
		font-size:2.8vw;
		letter-spacing:0.2vw;
	}
	#popEvent address a{text-underline-offset:2.8vw;}
	#popEvent address a:before{
		width:6.153vw;
		height:7.6923vw;
		margin-bottom:4.0vw;
	}
	#popEvent #copyrights{
		font-size:5.0vw;
		letter-spacing:0.08vw;
	}
	#campaign{padding:24.615vw 0 23.077vw;}
	#campaign .inner{width:92.308vw;}
	#campaign h2{
		margin-bottom:16.923vw;
		line-height:1.125;
	}
	#campaign .campaignBox{width:100%;}
	#campaign .campaignBox h3 small{font-size:3.59vw;/*14px*/}
	#campaign .campaignBox h3 strong{
		margin-top:9.744vw;
		font-size:7.692vw/*30px*/;
	}
	#campaign #campaignBox01 p{
		margin-top:5.641vw;
		font-size:3.846vw/*15px*/;
	}
	#campaignBox01 figure{margin-top:5.128vw;}
	#campaignBox01 figure img{width:52.308vw/*205px*/;}
	#campaignBox01 figcaption{
		margin-top:3.846vw;
		font-size:3.59vw/*14*/;
	}
	#campaignBox02{
		margin-top:15.897vw;
		padding-top:15.897vw;
		border-top:1px solid #000;
	}
	#campaign #campaignBox02 .openTime{margin-top:6.41vw;}
	#campaign #campaignBox02 .openTime time{
		font-size:5.128vw/*20*/;
		letter-spacing:0.1vw;
	}
	#campaign #campaignBox02 .openTime small{font-size:3.333vw/*13px*/;}
	#campaign #campaignBox02 .openTime svg{
		width:8.718vw;
		margin:0 3.333vw;
	}
	#campaign #campaignBox02 .lineRegist{
		margin-top:7.436vw;
		font-size:3.846vw/*15*/;
	}
	#campaign #campaignBox02 .lineBtn{margin-top:9.231vw;}
	#campaign #campaignBox02 .lineBtn a{width:67.692vw;}
	#campaign #campaignBox02 .lineBtn a > span{padding:6.818% 10%;}
	#campaign #campaignBox02 .lineBtn svg{width:7.179vw;}	
	#campaign #campaignBox02 .lineBtn a span span{
		margin-left:6.154vw;
		font-size:4.359vw;
	}
	#campaign #campaignBox02 .cuponTxt{
		margin-top:8.974vw;
		font-size:3.59vw;
	}
	main > .itemBox{
		width:100%;
		border-top:1px solid #000;
	}
	.itemBox > span{padding-top:99.487%;}
	.itemBox > span img{
		width:78.4615%;
		left:10.76925%;
		top:5.154639%;
	}
	.itemBox figcaption{
		grid-template-columns:auto 14.359vw;
		padding:3.846vw;
	}
	.itemBox figcaption h2{
		font-size:4.615vw;
		letter-spacing:0.08vw;
	}
	.itemBox figcaption p{
		margin-top:3.846vw;
		font-size:3.59vw;
	}
	.itemBox figcaption .checkBtn a{
		display:flex;
		justify-content:center;
		align-items:center;
		width:14.359vw;
		height:14.359vw;
		background-color:#fff;
		border:1px solid #000;
		border-radius:50%;
	}
	.itemBox figcaption .checkBtn a:hover{background-color:#000;}
	.itemBox figcaption .checkBtn a svg{
		display:block;
		width:100%;
	}
	.itemBox figcaption .checkBtn a svg use{fill:#000;}
	.itemBox figcaption .checkBtn a:hover svg use{fill:#fff;}
	#item04{border-bottom:1px solid #000;}
	#about{padding:15.385vw 0 17.436vw;}
	#about .inner{width:84.615vw;}
	#about figure{text-align:center;}
	#about figure img{
		width:73.846vw;
		margin:0 auto;
		border:1px solid #000;
	}
	#about .txt{margin-top:15.385vw;}
	#about p{
		margin-top:5.128vw;
		font-size:3.59vw;
	}
	#about .moreBtn{margin-top:15.897vw;}
	#about .moreBtn a{width:55.385vw;}
	#about .moreBtn a > span{
		padding:8.333% 5%;
		font-size:4.359vw;
	}
}
@media (orientation:landscape) and (max-width:1039.98px){/*横*/
	.teaser #popEvent{min-height:100vh;}
	#popEvent #copyrights{
		position:relative;
		margin-top:26.8vw;
	}
}
@media (orientation:portrait) and (max-width:1039.98px){/*縦*/
	.teaser #popEvent{
		height:100vh;
		height:100dvh;
	}
	.teaser #popEvent #copyrights{bottom:4vw;}
}
@media screen and (min-width:1040px){
	main{
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	#mainFV img,
	#mainFV picture{object-position:center center;}
	#mainFV figcaption{
		display:flex;
		flex-direction:column;
		justify-content:flex-end;
		padding-bottom:2.39vw;
	}
	#mainFV figcaption h1{width:93.75%;}
	#mainFV .openTime{
		width:93.75%;
		margin-top:2.0vw;
		font-size:max(40px,3.125vw);
		letter-spacing:0.11vw;
	}
	#mainFV .openTime small{font-size:max(23px,1.796vw);}
	#popEvent{justify-content:center;}
	.teaser #popEvent{
		height:100vh;
		height:100dvh;
	}
	body:not(.teaser) #popEvent{padding:12.34375vw 0 15.9375vw;}
	#popEvent .openTime{
		margin-top:4.3vw;
		font-size:max(40px,3.125vw);
		letter-spacing:0.1vw;
	}
	#popEvent .openTime small{font-size:min(23px,1.796vw);}
	#popEvent .attoTxt{
		margin-top:7.6vw;
		font-size:max(25px,1.953vw);
	}
	#popEvent address{
		margin-top:2.3vw;
		font-size:max(14px,1.093vw);
		letter-spacing:0.05vw;
	}
	#popEvent address a{text-underline-offset:0.625vw;}
	#popEvent address a:before{
		width:1.875vw;
		height:2.3vw;
		margin-bottom:1.3vw;
	}
	#popEvent #copyrights{
		bottom:1.83vw;
		font-size:1.5vw;
		letter-spacing:0.05vw;
	}
	#campaign{padding:8.59375vw 0 3.828vw;}
	#campaign .inner{
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
		width:85.46875%;
/*		min-width:1094px;*/
	}
	#campaign h2{
		margin-bottom:6.25vw;
		line-height:1.0;
	}
	#campaign .campaignBox{width:50%;}
	#campaign .campaignBox h3 small{font-size:max(14px,1.09375vw);}
	#campaign .campaignBox h3 strong{
		margin-top:7.3126%;
		font-size:max(40px,3.125vw);
	}
	#campaign #campaignBox01 p{
		margin-top:5.48446%;
		font-size:max(18px,1.40625vw);
	}
	#campaignBox01 figure{margin-top:5.85%;}
	#campaignBox01 figure img{width:max(156px,28.519%);}
	#campaignBox01 figcaption{
		margin-top:2.01%;
		font-size:max(14px,1.09375vw);
	}
	#campaignBox02{border-left:1px solid #000;}
	#campaign #campaignBox02 .openTime{
		margin-top:6.2157%;
		font-size:max(18px,1.40625vw);
	}
	#campaign #campaignBox02 .openTime time{
		font-size:max(24px,1.875vw);
		letter-spacing:0.1vw;
	}
	#campaign #campaignBox02 .openTime small{font-size:max(13px,1.015625vw);}
	#campaign #campaignBox02 .openTime svg{
		width:6.2157%;
		margin:0 2.7422%;
	}
	#campaign #campaignBox02 .lineRegist{
		margin-top:7.3126%;
		font-size:max(18px,1.40625vw);
	}
	#campaign #campaignBox02 .lineBtn{margin-top:10.237%;}
	#campaign #campaignBox02 .lineBtn a{width:max(264px,48.263%);}
	#campaign #campaignBox02 .lineBtn a > span{padding:4.924% 14%;}
	#campaign #campaignBox02 .lineBtn svg{width:max(26px,2.109375vw);}	
	#campaign #campaignBox02 .lineBtn a span span{
		margin-left:9.469%;
		font-size:max(17px,1.328125vw);
	}
	#campaign #campaignBox02 .cuponTxt{margin-top:6.9469%;}
	main > .itemBox{
		width:50%;
		border-top:1px solid #000;
	}
	.itemBox > span{padding-top:98.4375%;}
	.itemBox > span img{
		width:78.4375%;
		left:10.78125%;
		top:4.92%;
	}
	.itemBox figcaption{
		grid-template-columns:auto 32.1428%;
		padding:2.5% 6.25% 2.8125%;
	}
	.itemBox figcaption h2{
/*		font-size:max(24px,1.875vw);*/
		font-size:1.875vw;
		letter-spacing:0.08vw;
	}
	.itemBox figcaption p{
		margin-top:1.5789%;
		font-size:max(14px,1.09375vw);
	}
	.itemBox figcaption .checkBtn a > span{padding:10%;}
	.itemBox figcaption .checkBtn{font-size:max(17px,1.328125vw);}
	#item02:before,
	#item04:before{
		content:"";
		display:block;
		width:1px;
		height:100%;
		position:absolute;
		top:0;
		left:-0.5px;
		background-color:#000;
	}
	#item03,
	#item04{border-bottom:1px solid #000;}
	#about{padding:7.03125vw 0;}
	#about .inner{
/*		width:max(1070px,83.59375%);*/
		width:83.59375%;
		display:grid;
		grid-template-columns:40.1869% 46.355%;
		grid-column-gap:13.4581%;
	}
	#about figure{grid-column:1 / 2;}
	#about figure img{box-shadow:1.09375vw 1.09375vw 0px 0px #000;}
	#about .txt{
		grid-column:2 / 3;
		align-self:center;
	}
	#about p{margin-top:2.109375vw;}
	#about .moreBtn{margin-top:4.375vw;}
	#about .moreBtn a{width:max(216px,40.3738%);}
	#about .moreBtn a > span{
		padding:9.259% 5%;
		box-shadow:0.546875vw 1.09375vw 0px 0px #000;
		font-size:max(17px,1.328125vw);
	}
}
