@charset "utf-8";
/*-----------------------------------------------
 * common.css
 * レスポンシブは基本スタイルを引き継ぐ（PCファースト）
 * @media screen and (max-width:768px)
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
 * Bace
 * Modal
 * Header
 * Footer
 * Loading
 * Parts
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
-------------------------------------------------*/
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:var(--color-white)}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;}

:root {
	/* デザインサイズ */
	--vw-min: 1200;
	--vh-min: 640;
	--def-vh: 640;
	--max-percent: 1.6;/* 1920/1200 */

	/* フォント */
	--font-en: bodoni-urw, serif;
	--font-def:  "Noto Serif JP","Zen Old Mincho", source-han-serif-jp-subset, serif;
	--font-jp83: "palt" 1, "jp83" 1;

	/* カラー */
	--color-white: #FFFFFF;
	--color-black: #000000;
	--color-red: #cb4444;
	--color-gold: #bb9d42;
	--color-lightgold: #cbaa44;
	--color-accent: #A4874F;
	--color-primary: #660202;
	--color-brown: #402B28;
	--color-cream: #E6D9CB;
	--color-gray: #888888;
	--color-link: #222222;
	--color-primary-transparent: rgba(102, 2, 2, 0);
	--color-black-21: rgba(0, 0, 0, 0.21);
	--color-black-50: rgba(0, 0, 0, 0.5);
	--color-black-60: rgba(0, 0, 0, 0.6);
	--color-black-80: rgba(0, 0, 0, 0.8);
	--color-black-85: rgba(0, 0, 0, 0.85);
	--color-white-20: rgba(255, 255, 255, 0.2);
	--color-white-40: rgba(255, 255, 255, 0.4);
	--color-selection-bg: #ffe0a2;
	--color-selection-text: #7c7c7c;
	--color-scrollbar-track: #f8f6ee;
	--color-loading-bg: #F7F3EB;

	/* easing */
	--easing-outquart: cubic-bezier(0.25, 1, 0.5, 1);
}
@media screen and (max-width:768px){
	:root {
		/* デザインサイズ */
		--vw-min: 750;
		--vh-min: 1314;
		--def-vh: 1314;
		--max-percent: 1;
	}
}

/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
	-webkit-text-size-adjust: 100%;
	background-color: var(--color-white);
	color: var(--color-black);
	font-family: var(--font-def);
	font-feature-settings: "palt";
	font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
	font-weight: 400;
	line-height: 1.8;
	word-wrap: break-word;
}
a{ color: var(--color-link); }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
.--jp83{
	font-feature-settings: var(--font-jp83);
}
::selection{
	background: var(--color-selection-bg);
	color: var(--color-selection-text);
}
::-moz-selection{
	background: var(--color-selection-bg);
	color: var(--color-selection-text);
}
@media screen and (max-width:768px){
	body{
		font-size: calc(24 / var(--vw-min) * 100vw);
		min-width: 320px;
	}
	.pc{ display: none !important; }
	.ah:hover { opacity: 1; }
}
@media screen and (min-width:769px){
	body{
		scrollbar-gutter: stable;
	}
	.sp{ display: none !important; }
	::-webkit-scrollbar{
		width: 6px;
		height: 6px;
	}
	::-webkit-scrollbar-track{
		border-radius: 4px;
		background: var(--color-scrollbar-track);
	}
	::-webkit-scrollbar-thumb{
		background: var(--color-red);
		border-radius: 4px;
		margin: 2px;
		box-shadow: none;
	}
	@-moz-document url-prefix(){
		html{
			scrollbar-color: var(--color-red) var(--color-scrollbar-track);
			scrollbar-width: thin;
		}
	}
}

@keyframes ani_rotate360{
	0%	{ transform: rotate(0deg); }
	100%{ transform: rotate(360deg); }
}


/**
 * Wrap
 * 大枠のwrap指定
 */
/* fullWrap */
#fullWrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	z-index: 1;
}


/*-----------------------------------------------
 * Modal
-------------------------------------------------*/
/**
 * modalBox
 * 基盤のモーダル
 */
.modalBox{
	-webkit-overflow-scrolling: touch;
	background: var(--color-black-85);
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.oneModal{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.oneModal.is-show {
	display: block;
}

/* oneModalIn */
.oneModalIn{
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	width: 100%;
	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%;
	}
}

/**
 * closeBtn
 */
.closeBtn {
	width: 100%;
	height: 100%;
	min-width: 100%;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.closeBtn a {
	display: block;
	width: 84px;
	height: 84px;
	pointer-events: auto;
	position: absolute;
	top: 0;
	right: 0;
	text-decoration: none;
}
.closeBtn a span:first-child {
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	top: 50%;
	left: 0;
	transform: rotate(35deg);
}
.closeBtn a span:last-child {
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	top: 50%;
	left:0;
	transform: rotate(-35deg);
}

@media screen and (max-width:768px) {
	.closeBtn {
		min-width: 100%;
		overflow: hidden;
	}
	.closeBtn a {
		width: 12.8vw;
		height: 12.8vw;
	}
	.closeBtn a span:first-child {
		width: 12.8vw;
		top: 50%;
		left: 0;
	}
	.closeBtn a span:last-child {
		width: 12.8vw;
		top: 50%;
		right: 0;
	}
	.closeBtn a:after {
		font-size: 0.8rem;
		width:100%;
	}
}

/**
 * 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%;
		margin: 50px 0;
	}
}
.youtubeIframeWrap:before{
	content: "";
	display: block;
	padding-top: 56.25%;
	z-index: 0;
}
.youtubeIframe{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/**
 * Image Modal
 */
.imageModal__image{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	height: 100svh;
}
.imageModal__image img{
	width: 100%;
	height: 100%;
	object-fit:scale-down;
}



/*-----------------------------------------------
 * Header
-------------------------------------------------*/
.header{
	position:sticky;
	left:0;
	top:0;
	width:100%;
	height:min(calc(56 / var(--vw-min) * 100vw), 56px);
	background:var(--color-black);
	z-index:8000;
	border-bottom: 1px solid var(--color-accent);
}

@media screen and (max-width:768px){
	.header{
		position:fixed;
		width:100%;
		height:100vh;
		height:100lvh;
		pointer-events:none;
		background:none;
		z-index:5000;
	}
}

.header__inner{
	width:100%;
	height:min(calc(56 / var(--vw-min) * 100vw), 56px);
	padding-left: min(calc(130 / var(--vw-min) * 100vw), 130px);
	padding-right: min(calc(85 / var(--vw-min) * 100vw), 85px);
	display:flex;
	justify-content:center;
	position:relative;
}
@media screen and (max-width:768px){
	.header__inner{
		position:absolute;
		width:100%;
		left:0;
		top:0;
		height:100%;
		padding:0;
		display:block;
		overflow:auto;
		background:var(--color-black-80);
		-webkit-backdrop-filter:blur(8px);
		backdrop-filter:blur(8px);
		overscroll-behavior:contain;
		opacity:0;
		transition:all 0.6s ease;
	}
	.header__inner.is-active{
		pointer-events:auto;
		opacity:1;
	}
	.header__innerin{
		min-height:calc(100% + 1px);
		padding-top:calc(96 / var(--vw-min) * 100vw);
	}
}

.header__logo_sw2{
	position:fixed;
	left:0;
	top:0;
	width:min(calc(58 / var(--vw-min) * 100vw), 58px);
	height:min(calc(55 / var(--vw-min) * 100vw), 55px);
	background:url(../img/common/sw2_logo.svg) no-repeat center center / contain;
}
.header__logoLink2{
	display: block;
	width: 100%;
	height: 100%;
}

@media screen and (max-width:768px){
	.header__logo_sw2{
		width:calc(101 / var(--vw-min) * 100vw);
		height:calc(96 / var(--vw-min) * 100vw);
	}
}


.header__logo{
	display: none;
}
@media screen and (max-width:768px){
	.header__logo{
		display: block;
		position:relative;
		width:calc(208 / var(--vw-min) * 100vw);
		height:calc(138 / var(--vw-min) * 100vw);
		margin:0 auto calc(120 / var(--vw-min) * 100vw);
	}
	.header__logoLink{
		display: block;
		width:100%;
		height:100%;
		background: url(../img/top/kv_logo.png) no-repeat center center / contain;
	}
}

@media screen and (max-width:768px){
	.header__nav{
		margin-bottom:calc(128 / var(--vw-min) * 100vw);
	}
}
.header__navLists{
	display:flex;
}
@media screen and (max-width:768px){
	.header__navLists{
		display:block;
	}
}
.header__navList{
	position:relative;
	padding-right:min(calc(20 / var(--vw-min) * 100vw), 20px);
}
@media screen and (max-width:768px){
	.header__navList{
		position:relative;
		padding-right:0;
	}
}
.header__navList:last-child{
	padding-right:0;
}

.header__navLink{
	text-decoration:none;
	letter-spacing:0.1em;
	display:flex;
	align-items:center;
	line-height:1;
	height:min(calc(56 / var(--vw-min) * 100vw), 56px);
	color:var(--color-white);
	position:relative;
	transition:color 0.3s ease;
	white-space: nowrap;
	font-size:min(calc(14 / var(--vw-min) * 100vw), 14px);
}
@media screen and (max-width:768px){
	.header__navLink{
		height:calc(96 / var(--vw-min) * 100vw);
		justify-content:center;
		font-size:calc(32 / var(--vw-min) * 100vw);
	}
}
.header__navLink.is-soon{
	pointer-events:none;
	opacity:0.24;
}
@media screen and (hover:hover){
	.header__navLink:hover{
		color:var(--color-lightgold);
	}
}
.header__navLink.--is-active{
	color:var(--color-lightgold);
}
.header__official{
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	padding-right:min(calc(6 / var(--vw-min) * 100vw), 6px);
	display:flex;
	align-items:center;
}
@media screen and (max-width:768px){
	.header__official{
		position:relative;
		right:unset;
		top:unset;
		bottom:unset;
		padding-right:0;
		justify-content:center;
		padding-bottom:calc(100lvh - 100svh);
	}
}
.header__official dt{
	font-size:min(calc(14 / var(--vw-min) * 100vw), 14px);
	color:var(--color-white);
}
@media screen and (max-width:768px){
	.header__official dt{
		font-size:calc(28 / var(--vw-min) * 100vw);
	}
}
.header__official--x{
	width:min(calc(50 / var(--vw-min) * 100vw), 50px);
	height:min(calc(64 / var(--vw-min) * 100vw), 64px);
	display:flex;
	justify-content:center;
	align-items:center;
}
@media screen and (max-width:768px){
	.header__official--x{
		width:calc(96 / var(--vw-min) * 100vw);
		height:calc(96 / var(--vw-min) * 100vw);
	}
}
.header__official--x:before{
	content:'';
	display:block;
	width:min(calc(20 / var(--vw-min) * 100vw), 20px);
	height:min(calc(20 / var(--vw-min) * 100vw), 20px);
	-webkit-mask:url(../img/common/icon_x.svg) no-repeat center center / contain;
	mask:url(../img/common/icon_x.svg) no-repeat center center / contain;
	background:var(--color-white);
	transition:all 0.3s ease;
}
@media screen and (max-width:768px){
	.header__official--x:before{
		width:calc(48 / var(--vw-min) * 100vw);
		height:calc(48 / var(--vw-min) * 100vw);
	}
}
.header__official--x:hover:before{
	background:var(--color-lightgold);
}
.header__navBtn{
	display:none;
}
@media screen and (max-width:768px){
	.header__navBtn{
		display:block;
		position:absolute;
		right:0;
		top:0;	
		width:calc(96 / var(--vw-min) * 100vw);
		pointer-events:auto;
	}
	.header__navBtn:before{
		content:'';
		position:absolute;
		left:0;
		top:0;
		right:0;
		bottom:0;
		background:url(../img/common/menu_bg.png) no-repeat center center / contain;
		transition:all 0.3s ease;
	}

	.header__navBtnLink{
		display:block;
		position:relative;
		height:calc(96 / var(--vw-min) * 100vw);
	}
	.header__navBtnLink__lines{
		position:absolute;
		top:calc(26 / var(--vw-min) * 100vw);
		left:0;
		right:0;
		margin:auto;
		width:calc(48 / var(--vw-min) * 100vw);
		height:calc(18 / var(--vw-min) * 100vw);
	}
	.header__navBtnLink__line{
		content:'';
		position:absolute;
		left:0;
		right:0;
		width:100%;
		height:calc(2 / var(--vw-min) * 100vw);
		top:50%;
		margin-top:calc(-1 / var(--vw-min) * 100vw);
		background:var(--color-white);
		transition:all 0.3s ease;
	}
	.header__navBtnLink__line:first-child{
		transform:translateY(calc(-6/ var(--vw-min) * 100vw));
	}
	.header__navBtnLink__line:nth-child(2){
		transform:translateY(0);
	}
	.header__navBtnLink__line:nth-child(3){
		transform:translateY(calc(6 / var(--vw-min) * 100vw));
	}
	.header__navBtn.is-active .header__navBtnLink__line:first-child{
		transform:rotate(35deg);
	}
	.header__navBtn.is-active .header__navBtnLink__line:nth-child(2){
		opacity: 0;
	}
	.header__navBtn.is-active .header__navBtnLink__line:nth-child(3){
		transform:rotate(-35deg);
	}
	.header__navBtnLink__txt{
		width: 100%;
		height: 100%;
		position:absolute;
		left:0;
		right:0;
		bottom:0;
		transition:all 0.3s ease;
		color:var(--color-white);
		font-size:calc(14 / var(--vw-min) * 100vw);
	}
	.header__navBtnLink__txt::after{
		content:'MENU';
		position:absolute;
		left:0;
		right:0;
		bottom:calc(18 / var(--vw-min) * 100vw);
		transition:all 0.3s ease;
		text-align:center;
	}
	.header__navBtn.is-active .header__navBtnLink__txt::after{
		content:'CLOSE';	
	}
}


/*-----------------------------------------------
 * Footer
-------------------------------------------------*/
.footer{
	width:100%;
	background-color:var(--color-black);
	padding:min(calc(80 / var(--vw-min) * 100vw), 80px) min(calc(40 / var(--vw-min) * 100vw), 40px);
	position:relative;
}
.footer_btt{
	position:absolute;
	top:0;
	right:0;
	width:min(calc(104 / var(--vw-min) * 100vw), 104px);
	margin-top:min(calc(28 / var(--vw-min) * 100vw), 28px);
	margin-right:min(2.3334%,28px);
}
.footer_bttIn{
	width:100%;
	padding-top:100%;
	position:relative;
}
.btn_btt{
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.btn_btt:before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../img/common/txt_backtotop.svg) no-repeat center / contain;
	animation:ani_rotate360 16s linear infinite;
}
.btn_btt:after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:6.7308%;
	height:38.4616%;
	margin:auto;
	-webkit-mask:url(../img/common/arrow_t.svg) no-repeat center / contain;
	mask:url(../img/common/arrow_t.svg) no-repeat center / contain;
	background-color:var(--color-white);
}
.footerIn{
	width:100%;
	padding-top:min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.footer_bannerLists{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin-top:max(-1.07142%,-12px);
}
.footer_bannerList{
	max-width:min(calc(182 / var(--vw-min) * 100vw), 182px);
	margin:min(1.07142%,12px);
}
.footer_bannerList img{
	width:100%;
}
.footer_pfLists{
	display:flex;
	justify-content:center;
	margin-top:min(calc(32 / var(--vw-min) * 100vw), 32px);
}
.footer_pfList{
	height:min(calc(80 / var(--vw-min) * 100vw), 80px);
	margin:min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.footer_pfList img{
	height:100%;
}
.footer_pfNotice{
	padding-top:min(calc(24 / var(--vw-min) * 100vw), 24px);
	text-align:center;
	font-size:min(calc(12 / var(--vw-min) * 100vw), 12px);
	line-height:2;
	color:var(--color-white);
}
.footer_siteNotice{
	padding:min(calc(32 / var(--vw-min) * 100vw), 32px) 0;
	font-size:min(calc(12 / var(--vw-min) * 100vw), 12px);
	line-height:2;
	color:var(--color-white-40);
	text-align:center;
}
.footer_logoLists{
	display:flex;
	justify-content:center;
	align-items:center;
}
.footer_logoList{
	padding:0 min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.footer_logoList.-cc2{
	height:min(calc(48 / var(--vw-min) * 100vw), 48px);
}
.footer_logoList.-anx{
	height:min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.footer_logoList a{
	display:block;
	height:100%;
	position:relative;
}
.footer_logoList img{
	height:100%;
}
.footer_sitelinkLists{
	padding:min(calc(40 / var(--vw-min) * 100vw), 40px) 0 0;
	display:flex;
	justify-content:center;
	font-size:min(calc(16 / var(--vw-min) * 100vw), 16px);
	line-height:1;
}
.footer_sitelinkList{
	font-size:min(calc(12 / var(--vw-min) * 100vw), 12px);
	padding:0 min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.footer_sitelinkList a{
	text-decoration:none;
	color:var(--color-white);
	display:inline-block;
	padding-bottom:min(calc(8 / var(--vw-min) * 100vw), 8px);
	position:relative;
}
.copyright{
	text-align:center;
	padding-top:min(calc(40 / var(--vw-min) * 100vw), 40px);
	line-height:1.5;
	font-size:min(calc(12 / var(--vw-min) * 100vw), 12px);
	color:var(--color-white);
}
.copyright > span{
	display:inline-block;
	padding:0 0.5em;
}
@media (hover:hover) and (pointer:fine){
	.btn_btt:after{
		transition:transform .3s ease,background-color .3s ease .15s;
	}
	.btn_btt:hover:before{
		animation-play-state:paused;
	}
	.btn_btt:hover:after{
		transform:translateY(-25%);
		background-color:var(--color-red);
	}
	.footer_bannerList a{
		display:block;
		transition:.3s ease;
		overflow:hidden;
	}
	.footer_bannerList a img{
		transition:.3s ease;
	}
	.footer_bannerList a:hover{
		filter:brightness(1.15);
	}
	.footer_bannerList a:hover img{
		transform:scale(1.025);
	}
	.footer_logoList a img{
		transition:opacity .3s ease;
	}
	.footer_logoList a:before{
		content:'';
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		-webkit-mask-repeat:no-repeat;
		-webkit-mask-position:center;
		-webkit-mask-size:contain;
		mask-repeat:no-repeat;
		mask-position:center;
		mask-size:contain;
		background-color:var(--color-accent);
		opacity:0;
		transition:opacity .3s ease;
	}
	.footer_logoList.-cc2 a:before{
		-webkit-mask-image:url(../img/common/logo_cc2.svg);
		mask-image:url(../img/common/logo_cc2.svg);
	}
	.footer_logoList.-anx a:before{
		-webkit-mask-image:url(../img/common/logo_aniplex.svg);
		mask-image:url(../img/common/logo_aniplex.svg);
	}
	.footer_logoList a:hover::before{
		opacity:1;
	}
	.footer_logoList a:hover img{
		opacity:0;
	}
	.footer_sitelinkList a{
		transition:.3s ease;
	}
	.footer_sitelinkList a:before,
	.footer_sitelinkList a:after{
		content:'';
		position:absolute;
		bottom:0;
		left:50%;
		right:50%;
		height:1px;
		background-color:var(--color-accent);
		transition:.4s ease;
	}
	.footer_sitelinkList a:hover{
		color:var(--color-accent);
	}
	.footer_sitelinkList a:hover::before{
		left:0;
	}
	.footer_sitelinkList a:hover::after{
		right:0;
	}
}
@media screen and (max-width:768px){
	.footer{
		padding:calc(96 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw);
	}
	.footer_btt{
		width:min(16.8vw,126px);
		margin-top:calc(32 / var(--vw-min) * 100vw);
		margin-right:calc(32 / var(--vw-min) * 100vw);
	}
	.footerIn{
		padding-top:calc(96 / var(--vw-min) * 100vw);
	}
	.footer_bannerLists{
		margin-top:calc(calc(24 / var(--vw-min) * 100vw) * -1);
	}
	.footer_bannerList{
		max-width:calc(303 / var(--vw-min) * 100vw);
		margin:calc(24 / var(--vw-min) * 100vw);
	}
	.footer_pfLists{
		margin-top:calc(72 / var(--vw-min) * 100vw);
		flex-direction:column;
		align-items:center;
	}
	.footer_pfList{
		height:calc(118 / var(--vw-min) * 100vw);
		margin:0 0 calc(28 / var(--vw-min) * 100vw);
	}
	.footer_pfNotice{
		padding-top:calc(20 / var(--vw-min) * 100vw);
		font-size:calc(20 / var(--vw-min) * 100vw);
	}
	.footer_siteNotice{
		padding:calc(40 / var(--vw-min) * 100vw) 0;
		font-size:calc(20 / var(--vw-min) * 100vw);
	}
	.footer_logoList{
		padding:0 calc(26 / var(--vw-min) * 100vw);
	}
	.footer_logoList.-cc2{
		height:calc(64 / var(--vw-min) * 100vw);
	}
	.footer_logoList.-anx{
		height:calc(53 / var(--vw-min) * 100vw);
	}
	.footer_sitelinkLists{
		padding:calc(40 / var(--vw-min) * 100vw) 0 0;
		font-size:calc(20 / var(--vw-min) * 100vw);
	}
	.footer_sitelinkList{
		font-size:calc(20 / var(--vw-min) * 100vw);
		padding:0 calc(20 / var(--vw-min) * 100vw);
	}
	.copyright{
		padding-top:calc(40 / var(--vw-min) * 100vw);
		font-size:calc(20 / var(--vw-min) * 100vw);
		line-height:2;
		color:var(--color-white-40);
	}
}
.shareLists{
	display:flex;
	justify-content:center;
	align-items:center;
}
.shareLists__title{
	font-family:var(--font-en);
	padding-right:min(calc(8 / var(--vw-min) * 100vw), 8px);
	color:var(--color-white);
}
.shareLists__item{
	width:min(calc(44 / var(--vw-min) * 100vw), 44px);
	height:min(calc(20 / var(--vw-min) * 100vw), 20px);
	padding:0 min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.shareLists__link{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	position:relative;
	text-decoration:none;
}
.shareLists__link:before{
	content:"";
	width:100%;
	height:100%;
	background-color:var(--color-white);
	display:block;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	-webkit-mask-size:100%;
	mask-size:100%;
	transition:background-color .4s ease;
}
.shareLists__link:hover:before{
	background-color:var(--color-accent);
}
.shareLists__item.is-twitter .shareLists__link:before{
	-webkit-mask-image:url(../img/common/icon_x.svg);
	mask-image:url(../img/common/icon_x.svg);
}
.shareLists__item.is-facebook .shareLists__link:before{
	-webkit-mask-image:url(../img/common/icon_facebook.svg);
	mask-image:url(../img/common/icon_facebook.svg);
}
.shareLists__item.is-line .shareLists__link:before{
	-webkit-mask-image:url(../img/common/icon_line.svg);
	mask-image:url(../img/common/icon_line.svg);
}
@media screen and (max-width:768px){
	.shareLists__title{
		padding-right:calc(16 / var(--vw-min) * 100vw);
	}
	.shareLists__item{
		width:calc(48 / var(--vw-min) * 100vw);
		height:calc(48 / var(--vw-min) * 100vw);
		padding:0 0;
		margin:0 calc(12 / var(--vw-min) * 100vw);
	}
}


/*-----------------------------------------------
 * Loading
-------------------------------------------------*/
.loading{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:10002;
	background-color:var(--color-loading-bg);
}
.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("../img/common/sprite.png");
	mask:url("../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(../img/common/bg.webp)){
	.loading__bg{
		background-image:url(../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;}
}
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{
	animation:ani_sprite 0.85s steps(23) forwards;
	animation-delay:.2s;
	animation-play-state:running;
}


/*-----------------------------------------------
 * Parts
-------------------------------------------------*/
.indent{
	padding-left:1em;
	text-indent:-1em;
}



.js-scrani{
	transform:translateY(min(calc(50 / var(--vw-min) * 100vw),50px));
	opacity:0;
	transition:all 0.6s ease;
}
.js-scrani.is-ani{
	transform:translateY(0);
	opacity:1;
}
@media screen and (hover:hover) and (pointer:fine){
	.js-moviePlay:hover .icon_playmovie:before{
		animation-play-state:paused;
	}
}

/**
* modalOpen
**/
.js-modalOpen{
	cursor: pointer;
}



/* MORE BTN */
.moreBtnWrap{
	display: flex;
	justify-content: center;
	margin-top: min(calc(40 / var(--vw-min) * 100vw),40px);
	z-index: 1;
	position: relative;
}
.moreBtn{
	display: flex;
	text-decoration: none;
	font-size: min(calc(14 / var(--vw-min) * 100vw),14px);
	font-weight: 700;
	line-height: min(calc(32 / var(--vw-min) * 100vw),32px); /* 228.571% */
	letter-spacing: min(calc(1.12 / var(--vw-min) * 100vw),1.12px);
	justify-content: center;
	align-items: center;
	background-color: var(--color-black);
	color: var(--color-accent);
	width: min(calc(240 / var(--vw-min) * 100vw),240px);
	height: min(calc(56 / var(--vw-min) * 100vw),56px);
	position: relative;
	transition: all 0.3s ease;
}
.moreBtn__arrow{
	width: min(calc(28 / var(--vw-min) * 100vw), 28px);
	height: min(calc(5.5 / var(--vw-min) * 100vw), 5.5px);
	background: url(../img/common/btn_arrow.svg) no-repeat center center / contain;
	transition: all 0.3s ease;
	position: absolute;
	right:min(calc(25.5 / var(--vw-min) * 100vw), 25.5px);
	top: 0;
	bottom: 0;
	margin: auto;
}
.moreBtn::before{
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: calc(100% - min(calc(8 / var(--vw-min) * 100vw),8px));
	border-top: 1px solid var(--color-accent);
	border-bottom: 1px solid var(--color-accent);
}
.moreBtn::after{
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: calc(100% - min(calc(8 / var(--vw-min) * 100vw),8px));
	height:100%; 
	border-left: 1px solid var(--color-accent);
	border-right: 1px solid var(--color-accent);
}
@media (hover:hover) and (pointer:fine){	
	.moreBtn:hover .moreBtn__arrow{
		transform: translateX(min(calc(10 / var(--vw-min) * 100vw),10px));
	}
}

@media screen and (max-width:768px){
	.moreBtnWrap{
		margin-top: calc(50 / var(--vw-min) * 100vw);
	}
	.moreBtn{
		width: calc(370 / var(--vw-min) * 100vw);
		height: calc(96 / var(--vw-min) * 100vw);
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
	.moreBtn__arrow{
		width: calc(48 / var(--vw-min) * 100vw);
		height: calc(9 / var(--vw-min) * 100vw);
	}
	.moreBtn::before{
		height: calc(100% - calc(16 / var(--vw-min) * 100vw));
		border-top: 2px solid var(--color-accent);
		border-bottom: 2px solid var(--color-accent);
	}
	.moreBtn::after{
		width: calc(100% - calc(16 / var(--vw-min) * 100vw));
		border-left: 2px solid var(--color-accent);
		border-right: 2px solid var(--color-accent);	
	}
}

.moreBtn.-points{
	width:min(calc(600 / var(--vw-min) * 100vw),600px);
	height: min(calc(86 / var(--vw-min) * 100vw),86px);
	background-color: #660202;
}
.moreBtn.-points .moreBtn__txt{
	color: var(--color-accent);
	font-size: min(calc(24 / var(--vw-min) * 100vw),24px);
}
.moreBtn.-points .moreBtn__arrow{
	width:min(calc(28 / var(--vw-min) * 100vw),28px);
	height: min(calc(8 / var(--vw-min) * 100vw),8px);
	right: min(calc(20 / var(--vw-min) * 100vw),20px);
}
@media screen and (max-width:768px){
	.moreBtn.-points{
		width: calc(540 / var(--vw-min) * 100vw);
		height: calc(124 / var(--vw-min) * 100vw);
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
	.moreBtn.-points .moreBtn__txt{
		font-size: calc(28 / var(--vw-min) * 100vw);
		text-align: center;
	}
	.moreBtn.-points .moreBtn__arrow{
		width: calc(48 / var(--vw-min) * 100vw);
		height: calc(9 / var(--vw-min) * 100vw);
	}
}

.sub .sectionWrap{
	position: relative;
	background:var(--color-primary);
	border-top: 1px solid var(--color-accent);
}
.sub .sectionWrap::after{	
	content:'';
	pointer-events: none;
	position:absolute;
	left:0;
	top:2px;
	right:0;
	width: 100%;
	height: 1px;
	background:var(--color-accent);
}
.sub .sectionWrap::before{	
	content:'';
	pointer-events: none;
	opacity: 0.1;
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	background:url(../img/top/pt.svg) repeat left top / min(calc(400 / var(--vw-min) * 100vw),400px) auto;
}
.grd_btm{
	width: 100%;
	height: min(calc(348 / var(--vw-min) * 100vw),348px);
	background: linear-gradient(180deg, var(--color-primary-transparent) 0%, var(--color-black) 100%);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
}

/* SUB TITLE */
.subTtlBlock{
	background-color: #000;
	height: min(calc(260 / var(--vw-min) * 100vw),260px);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
}
.subTtlBlock__bg{
	position: absolute;
	top: min(calc(120 / var(--vw-min) * 100vw),120px);
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	width:120%;
	height: 120%;
	background: url(../img/common/subttl_bg.jpg) no-repeat center center / cover;
}
.subTtlBlock__deco{
	position: absolute;
	pointer-events: none;
}
.subTtlBlock__deco._deco1{
	width: min(calc(320 / var(--vw-min) * 100vw),320px);
	height: min(calc(210 / var(--vw-min) * 100vw),210px);
	background: url(../img/common/sub_bg_deco1.svg) no-repeat center center / contain;
	left: min(calc(-50 / var(--vw-min) * 100vw),-50px);
	top: min(calc(-50 / var(--vw-min) * 100vw),-50px);
}
.subTtlBlock__deco._deco2{
	width: min(calc(320 / var(--vw-min) * 100vw),320px);
	height: min(calc(210 / var(--vw-min) * 100vw),210px);
	background: url(../img/common/sub_bg_deco2.svg) no-repeat center center / contain;
	right: min(calc(-50 / var(--vw-min) * 100vw),-50px);
	bottom: min(calc(-50 / var(--vw-min) * 100vw),-50px);
}
.subTtlBlock__inner{
	position: relative;
	z-index: 1;
}
	
.sub__title.sectionTitle{
	font-size: min(calc(106 / var(--vw-min) * 100vw),106px);
	min-height: min(calc(112 / var(--vw-min) * 100vw),112px);
	line-height: 0.7;
	color: var(--color-white);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: url(../img/common/ttl_bg.png) no-repeat center center / min(calc(169 / var(--vw-min) * 100vw),169px) auto;
}
.sub__title .sectionTitle__ja{
	color: var(--color-white);
	text-align: center;
	font-size: min(calc(40 / var(--vw-min) * 100vw),40px);
	font-weight: 700;
	line-height: min(calc(32 / var(--vw-min) * 100vw),32px); /* 80% */
	letter-spacing: min(calc(8 / var(--vw-min) * 100vw),8px);
	margin-bottom: min(calc(16 / var(--vw-min) * 100vw),16px);
}
.sub__title .sectionTitle__en{
	font-size: min(calc(12 / var(--vw-min) * 100vw),12px);
	font-weight: 400;
	line-height: min(calc(14 / var(--vw-min) * 100vw),14px); /* 116.667% */
	letter-spacing: min(calc(2.4 / var(--vw-min) * 100vw),2.4px);
}
@media screen and (max-width:768px){
	.sub__title.sectionTitle{
		font-size: calc(48 / var(--vw-min) * 100vw);
		min-height: calc(112 / var(--vw-min) * 100vw);
		margin-bottom: 0;
	}
	.sub__title .sectionTitle__ja{
		font-size: calc(48 / var(--vw-min) * 100vw);
		margin-bottom: calc(24 / var(--vw-min) * 100vw);
	}
	.sub__title .sectionTitle__en{
		font-size: calc(14 / var(--vw-min) * 100vw);
	}
}