@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{font-size:100%}legend{color:#FFF}hr{display:none}img{vertical-align:bottom}select,input,button,textarea{font-size:99%}table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}pre,code,kbd,samp,tt{font-family:monospace;font-size:108%;line-height:100%}.hd{display:block;width:0;height:0;overflow:hidden}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{zoom:1}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none;}*:focus{outline: none;}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;}
/*-----------------------------------------------
 * Bace
 * Modal
 * Header
 * Parts
-------------------------------------------------*/
/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
:root{
	/* color */
	--color-gold: #d09f45;
	--color-red: #c32f2f;
	--color-blue: #175973;
	--color-green: #4c7346;
	--color-purple: #8e4362;


	/* FONT */
	--font : "Noto Serif JP", serif;

	/* size */
	--vw-min: 1200;
	--vh-min: 960;
}
@media screen and (max-width:979px){
	:root{
		--vw-min: 540;
	}
}
body{
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: #000;
	font-family: var(--font);
	font-feature-settings: "palt";
	font-size: min(calc(22 / var(--vw-min) * 100vw), 22px);
	font-weight: normal;
	letter-spacing: 0.07em;
	line-height: 1.8;
	word-wrap: break-word;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: #222; }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
	background: #6ccfee;
	color: #fff;
}
::-moz-selection{
	background: #6ccfee;
	color:#fff;
}
@media screen and (max-width:768px){ 
	html{
		font-size: 62.5%;
	}
	body{
		font-size: min(calc(22 / var(--vw-min) * 100vw), 22px);
		min-width: 320px;
	}
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
}


/*-----------------------------------------------
 * Modal
-------------------------------------------------*/

/**
 * modalBox
 * 基盤のモーダル
 */
.modalBox{
	-webkit-overflow-scrolling: touch;
	background: rgba(0,0,0,.75);
	display: none;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.oneModal{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}

/* oneModalIn */
.oneModalIn{
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-width: 100px;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.oneModalIn__cont{
	padding: 50px 0;
}
@media screen and (max-width:768px){
	.oneModalIn{
		min-width: 100%;
	}
	.oneModalIn__cont{
		width: 100%;
		padding: 30px 0;
	}
}

/**
 * closeBtn
 */
.closeBtn{
	width: 80px;
	height: 80px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}
@media screen and (max-width:768px){
	.closeBtn{
		width: 40px;
		height: 40px;
	}
}
.closeBtn a{
	background: #000 url(../img/common/close.png) no-repeat 0 0 / 100%;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

/**
 * iframe
 */
/* common */
.commonIframe{
	width: 100%;
	height: 100%;
	display: block;
}

/* youtube */
.youtubeIframeWrap {
	width: 70%;
	max-width: 159.993vh;
	position: relative;
}
@media screen and (max-width:768px){
	.youtubeIframeWrap {
		width: 100%;
		max-width: 100%;
	}
}
.youtubeIframeWrap:before{
	content: "";
	display: block;
	padding-top: 56.25%;
	z-index: 0;
}
.youtubeIframe{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}



/*-----------------------------------------------
 * CONTENT
-------------------------------------------------*/
#fullWrap{
	width: 100%;
	overflow: hidden;
}
.contentAreaWrap{
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	max-width: min(calc(540 / var(--vw-min) * 100vw), 540px);
	margin: 0 auto;
	position: relative;

	background-color: #ccc;
	z-index: 2;
}
.contentAreaInWrap{
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}


.color_red{
	color: var(--color-red);
}


.comLink{
	text-align: center;
}
.comLink--link{
	min-width: min(calc(300 / var(--vw-min) * 100vw), 300px);
	max-width: 100%;
	min-height: min(calc(60 / var(--vw-min) * 100vw), 60px);
	font-weight: 700;
	color: #FFF;
	line-height: 1.5;
	padding: min(calc(12 / var(--vw-min) * 100vw), 12px) min(calc(40 / var(--vw-min) * 100vw), 40px);
	text-align: center;
	border-radius: 80px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	transition: transform .3s ease, filter .3s ease;
}
.comLink--link__txt{
	display: inline-block;
	position: relative;
}
.exitLink{
	padding: min(calc(40 / var(--vw-min) * 100vw), 40px) 0 0;
}
.exitLink .comLink--link{
	background-color: #40403e;
}

.exitLink .comLink--link:hover{
	transform: scale(95%);
	filter: brightness(80%);
}




/*-----------------------------------------------
 * CONTENTS BG
-------------------------------------------------*/
.contentArea__bgArea{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.contentArea__bgArea:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 55.1852%;/* 298 */
	background: url(../img/common/combg_head.png) no-repeat center top / contain;
	z-index: 1;
}
.contentArea__bgArea:after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-top: 55.1852%;/* 298 */
	background: url(../img/common/combg_foot.png) no-repeat center bottom / contain;
	z-index: 1;
}

.contentArea__bg{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.contentArea__bgIn{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	overflow: hidden;
}
.contentArea__bgIn--bg{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: min(calc(540 / var(--vw-min) * 100vw), 540px);
	height: 100vh;
	background-image: linear-gradient(0deg, rgb(246,229,179) 0%, rgb(237,138,113) 33%, rgb(228,46,47) 100%);
	margin: 0 auto;
}
.contentArea__bgIn--bg__texture1{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/common/bg_set.jpg) no-repeat center top / cover;
	mix-blend-mode: multiply;
}
.contentArea__bgIn--bg__cloud{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: min(calc(282 / var(--vw-min) * 100vw), 282px);
	margin-bottom: min(calc(210 / var(--vw-min) * 100vw), 210px);
}
.contentArea__bgIn--bg__cloud:before{
	content: '';
	position: absolute;
	top: 0;
	left: max(calc(-53.5 / var(--vw-min) * 100vw), -53.5px);
	width: min(calc(647 / var(--vw-min) * 100vw), 647px);
	height: 100%;
	background: url(../img/common/combg_wind.png) no-repeat center / contain;
}


.contentArea__bgCloudArea{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	pointer-events: none;
}
.contentArea__bgCloud{
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
}
.contentArea__bgCloud.-t{
	top: 0;
	left: 0;
	margin-top: min(calc(194 / var(--vw-min) * 100vw), 194px);
	margin-left: max(calc(-115 / var(--vw-min) * 100vw), -115px);
	width: min(calc(291 / var(--vw-min) * 100vw), 291px);
	height: min(calc(113 / var(--vw-min) * 100vw), 113px);
	background-image: url(../img/common/deco_cloud-l.png);
	background-position: left top;
}
.contentArea__bgCloud.-b{
	bottom: 0;
	right: 0;
	margin-bottom: min(calc(120 / var(--vw-min) * 100vw), 120px);
	margin-right: max(calc(-145 / var(--vw-min) * 100vw), -145px);
	width: min(calc(314 / var(--vw-min) * 100vw), 314px);
	height: min(calc(122 / var(--vw-min) * 100vw), 122px);
	background-image: url(../img/common/deco_cloud-r.png);
	background-position: right bottom;
}


/*-----------------------------------------------
 * HEADER
-------------------------------------------------*/
.l-header{
	position: relative;
	padding: min(calc(48 / var(--vw-min) * 100vw), 48px) 0 min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.headerLogo{
	margin: 0 auto;
}
.logo_com{
	width: min(calc(203 / var(--vw-min) * 100vw), 203px);
}
.logo_shiken{
	width: min(calc(320 / var(--vw-min) * 100vw), 320px);
}

.headerLogo img{
	width: 100%;
}
.logo_shiken img{
	margin-left: min(calc(33 / var(--vw-min) * 100vw), 33px);
}


/*-----------------------------------------------
 * FOOTER
-------------------------------------------------*/
.l-footer{
	text-align: center;
	padding-top: min(calc(56 / var(--vw-min) * 100vw), 56px);
	padding-bottom: min(calc(72 / var(--vw-min) * 100vw), 72px);
	margin-top: auto;
}
.footerBannerLists{
	width: min(calc(460 / var(--vw-min) * 100vw), 460px);
	margin: 0 auto min(calc(48 / var(--vw-min) * 100vw), 48px);
}
.footerBannerList {
	width: 100%;
}
.footerBannerList__link{
	display: block;
}
.footerBannerList__link img{
	width: 100%;
}

.copyRight{
	font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
	line-height: 2;
	text-align: center;
}


@media screen and (hover:hover) and (pointer: fine){
	.footerBannerList__link{
		transition: .3s ease;
	}
	.footerBannerList__link:hover {
		filter: brightness(150%);
		transform: scale(102.5%);
	}
}

/*-----------------------------------------------
 * MAIN
-------------------------------------------------*/
.l-main{
	width: 100%;
}




/*-----------------------------------------------
 * BG AREA
-------------------------------------------------*/
.bgAreaWrap{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.bgArea__bgMovie{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.bgArea__bgMovie:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .6);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.bgArea__bgMovieIn{
	width: max(100vw, calc(100vh * 1.77777));
	height: max(100vh, calc(100vw * 0.5625));
	flex-shrink: 0;
}



.bgArea__bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.bgArea__bg:before {
	content: '';
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: url(../../../assets/img/common/bg.jpg) no-repeat center center / cover;
}
.bgArea__bg:after {
	content: '';
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 90%);
	mix-blend-mode: difference;
}



/**
* SIDE
**/
.p-bgSideAreaWrap{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
}
.p-bgSideArea{
	position: relative;
	width: calc(50% - min(calc(270 / var(--vw-min) * 100vw), 270px));
	height: 100%;
}
.p-bgSideArea__bg{
	position: absolute;
	width: 100%;
	height: min(calc(244 / var(--vh-min) * 100vh), 244px);
	left: 0;
	right: 0;
	background-repeat: repeat;
}

.p-bgCharaArea{
	width: 100%;
	height: 100%;
	position: relative;
}

.p-bgChara__image{
	background-size: contain;
}
.p-bgChara__name{
	position: absolute;
	width: 33.3334%;/* 110 */
	height: min(calc(222 / var(--vh-min) * 100vh), calc(222px * 1.6));
	background-repeat: no-repeat;
	background-position: center;
}


/**
* LEFT
**/
.p-bgSideArea.-l .p-bgSideArea__bg{
	bottom: 0;
	background-image: url(../img/common/p_bg_b.png);
	background-position: right top;
}

.p-bgSideArea.-l .p-bgCharaArea{
	width: 100%;
	max-width: calc(330px * 1.6);
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: center;
}


.p-bgSideArea.-l .p-bgChara__image{
	flex-shrink: 0;
	width: 266.0606%;
	height: min(calc(730 / var(--vh-min) * 100vh), calc(730px * 1.6));
	max-height: min(calc(730 / var(--vw-min) * 100vw), calc(730px * 1.6));
	background-repeat: no-repeat;
	background-position: center top;
	margin-left: -30.3031%;
}

.p-bgSideArea.-l .p-bgChara__name{
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto min(calc(80 / var(--vh-min) * 100vh), calc(80px * 1.6));
	background-position: center bottom;
	background-size: contain;
}

/* chara1 */
body[data-cleft="1"] .p-bgSideArea.-l .p-bgChara__image{
	background-image: url(../img/common/chara/left/left_chara1_chara.png);
}
body[data-cleft="1"] .p-bgSideArea.-l .p-bgChara__name{
	background-image: url(../img/common/chara/left/left_chara1_name.png);
}

/* chara2 */
body[data-cleft="2"] .p-bgSideArea.-l .p-bgChara__image{
	background-image: url(../img/common/chara/left/left_chara2_chara.png);
}
body[data-cleft="2"] .p-bgSideArea.-l .p-bgChara__name{
	background-image: url(../img/common/chara/left/left_chara2_name.png);
}

/* chara3 */
body[data-cleft="3"] .p-bgSideArea.-l .p-bgChara__image{
	background-image: url(../img/common/chara/left/left_chara3_chara.png);
}
body[data-cleft="3"] .p-bgSideArea.-l .p-bgChara__name{
	background-image: url(../img/common/chara/left/left_chara3_name.png);
}

/* chara4 */
body[data-cleft="4"] .p-bgSideArea.-l .p-bgChara__image{
	background-image: url(../img/common/chara/left/left_chara4_chara.png);
}
body[data-cleft="4"] .p-bgSideArea.-l .p-bgChara__name{
	background-image: url(../img/common/chara/left/left_chara4_name.png);
}

/* chara5 */
body[data-cleft="5"] .p-bgSideArea.-l .p-bgChara__image{
	background-image: url(../img/common/chara/left/left_chara5_chara.png);
}
body[data-cleft="5"] .p-bgSideArea.-l .p-bgChara__name{
	background-image: url(../img/common/chara/left/left_chara5_name.png);
}


/* Animation */
.p-bgChara__image,
.p-bgChara__name{
	transition: transform .25s ease, opacity .2s ease;
}

.p-bgSideArea.-l .p-bgChara__image{
	opacity: 0;
	transform: translateX(-15%) scale(98%);
}
body.--is-loading-fin .p-bgSideArea.-l .p-bgChara__image{
	opacity: 1;
	transform: translateX(0%) translateY(0%) scale(100%);
	transition-delay: .3s;
}

.p-bgSideArea.-l .p-bgChara__name{
	opacity: 0;
	transform: translateY(25%);
	transition: transform .35s ease, opacity .3s ease;
}
body.--is-loading-fin .p-bgSideArea.-l .p-bgChara__name{
	opacity: 1;
	transform: translateY(0%);
	transition-delay: .3s;
}



/** RIGHT **/
.p-bgSideArea.-r .p-bgSideArea__bg{
	top: 0;
	background-image: url(../img/common/p_bg_t.png);
	background-position: left bottom;
}

.p-bgSideArea.-r .p-bgCharaArea{
	width: 100%;
	max-width: calc(330px * 1.6);
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: center;
}


.p-bgSideArea.-r .p-bgChara__image{
	flex-shrink: 0;
	width: 306.6667%;
	height: min(calc(672 / var(--vh-min) * 100vh), calc(672px * 1.6));
	max-height: min(calc(672 / var(--vw-min) * 100vw), calc(672px * 1.6));
	background-repeat: no-repeat;
	background-position: center bottom;
	margin-left: -30.3031%;
	margin-top: auto;
}

.p-bgSideArea.-r .p-bgChara__name{
	left: 0;
	right: 0;
	top: 0;
	margin: min(calc(48 / var(--vh-min) * 100vh), calc(48px * 1.6)) auto 0;
	background-position: center top;
	background-size: contain;
}


/* chara1 */
body[data-cright="1"] .p-bgSideArea.-r .p-bgChara__image{
	background-image: url(../img/common/chara/right/right_chara1_chara.png);
}
body[data-cright="1"] .p-bgSideArea.-r .p-bgChara__name{
	background-image: url(../img/common/chara/right/right_chara1_name.png);
}

/* chara2 */
body[data-cright="2"] .p-bgSideArea.-r .p-bgChara__image{
	background-image: url(../img/common/chara/right/right_chara2_chara.png);
}
body[data-cright="2"] .p-bgSideArea.-r .p-bgChara__name{
	background-image: url(../img/common/chara/right/right_chara2_name.png);
}

/* chara3 */
body[data-cright="3"] .p-bgSideArea.-r .p-bgChara__image{
	background-image: url(../img/common/chara/right/right_chara3_chara.png);
}
body[data-cright="3"] .p-bgSideArea.-r .p-bgChara__name{
	background-image: url(../img/common/chara/right/right_chara3_name.png);
}

/* chara4 */
body[data-cright="4"] .p-bgSideArea.-r .p-bgChara__image{
	background-image: url(../img/common/chara/right/right_chara4_chara.png);
}
body[data-cright="4"] .p-bgSideArea.-r .p-bgChara__name{
	background-image: url(../img/common/chara/right/right_chara4_name.png);
}

@media screen and (max-width:979px){
	.p-bgCharaArea{
		display: none!important;
	}
}


.p-bgSideArea.-r .p-bgChara__name{
	opacity: 0;
	transform: translateY(-25%);
	transition: transform .35s ease, opacity .3s ease;
}
body.--is-loading-fin .p-bgSideArea.-r .p-bgChara__name{
	opacity: 1;
	transform: translateY(0%);
	transition-delay: .3s;
}

.p-bgSideArea.-r .p-bgChara__image{
	opacity: 0;
	transform: translateX(15%) translateY(15%);
}
body.--is-loading-fin .p-bgSideArea.-r .p-bgChara__image{
	opacity: 1;
	transform: translateX(0%) translateY(0%);
	transition-delay: .3s;
}








.loading{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:10002;
	background-color:#F7F3EB;
}
.loading_logo{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	width:min(25%,calc(300px * 1.2));
	height:calc(200 / var(--def-vh) * clamp(640px,100vh,calc(640px * var(--max-percent))));
	transition:transform .6s ease,opacity .4s ease .2s,filter .6s ease;
}
@media screen and (max-width:768px){
	.loading_logo{
		width:34.6667%;
	}
}
.loading_logo img{
	width:100%;
	height:100%;
	object-fit:contain;
	pointer-events:auto;
	object-position:center;
}
@keyframes ani_loadLogo{
	from{
		transform:scale(120%);
		opacity:0;
		filter:blur(4px);
	}
	to{
		transform:scale(100%);
		opacity:1;
		filter:blur(0px);
	}
}
.loading__bg{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:url(../img/common/bg.jpg) no-repeat center / cover;
	-webkit-mask:url("../../../assets/img/common/sprite.png");
	mask:url("../../../assets/img/common/sprite.png");
	-webkit-mask-size:2400% 100%;
	mask-size:2400% 100%;
	-webkit-mask-position:0% 0;
	mask-position:0% 0;
}
@supports (background-image:url(../../../assets/img/common/bg.webp)){
	.loading__bg{
		background-image:url(../../../assets/img/common/bg.webp);
	}
}
@keyframes ani_sprite{
	from{
		-webkit-mask-position:0% 0;
		mask-position:0% 0;
	}
	to{
		-webkit-mask-position:100% 0;
		mask-position:100% 0;
	}
}
@keyframes ani_loadingfin{
	from{display:block;}
	to{display:none;}
}
.loading__bg .contBG__frontDeco.-rt{
	transform:translate(50%,-50%);
	transition:.6s ease;
}
.loading__bg .contBG__frontDeco.-lb{
	transform:translate(-50%,50%);
	transition:.6s ease;
}
body[data-page="top"] .loading_logo img{
	opacity:0;
	animation:ani_loadLogo .4s ease .3s forwards;
}
html.wf-active body.--is-loaded .loading{
	background:transparent;
	animation:ani_loadingfin .2s linear forwards;
	animation-delay:1.2s;
	animation-play-state:running;
}
html.wf-active body.--is-loaded .loading_logo{
	transform:scale(80%);
	opacity:0;
	filter:blur(4px);
}
html.wf-active body.--is-loaded .loading__bg .contBG__frontDeco.-rt,
html.wf-active body.--is-loaded .loading__bg .contBG__frontDeco.-lb{
	transform:translate(0%,0%);
}
html.wf-active body.--is-loaded .loading__bg{
	animation:ani_sprite 0.85s steps(23) forwards;
	animation-delay:.2s;
	animation-play-state:running;
}