@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}
:root {
	--color-lightgreen-rgb:155, 185, 0;
	--color-purple-rgb:162, 47, 255;
	--color-lightpurple-rgb:202, 154, 253;

	--color-lightgreen:rgb(var(--color-lightgreen-rgb));
	--color-purple:rgb(var(--color-purple-rgb));
	--color-lightpurple:rgb(var(--color-lightpurple-rgb));


	--font-serif:"Shippori Mincho", serif;
	--font-barlow:"Barlow", sans-serif;
	--font-jost:"Jost", sans-serif;

	--vw-min:1366;
}
@media screen and (max-width:768px){
	:root{
		--vw-min:375;
	}
}
@keyframes nav-in {
	0% {
		transform-origin: left center;
		transform:scale(0,1);
	}
	100% {
		transform-origin:left center;
		transform:scale(1,1);
	}
}
@keyframes nav-out {
	0% {
		transform-origin: right center;
		transform:scale(1,1);
	}
	100% {
		transform-origin:right center;
		transform:scale(0,1);
	}
}
@keyframes subNav-in {
	0% {
		transform-origin: center top;
		transform:scale(1,0);
	}
	100% {
		transform-origin:center top;
		transform:scale(1,1);
	}
}
@keyframes subNav-out {
	0% {
		transform-origin: center bottom;
		transform:scale(1,1);
	}
	100% {
		transform-origin:center bottom;
		transform:scale(1,0);
	}
}
body{
	-webkit-text-size-adjust:100%;
	background-color:#fff;
	color:#000;
	font-family:"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size:min(calc(16 / var(--vw-min) * 100vw),16px);
	font-weight:normal;
	letter-spacing:0.07em;
	line-height:1.8;
	word-wrap:break-word;
}
a{color:var(--color-purple)}
a:hover{text-decoration:none}
picture {
	display:block;
}
::selection{
	background:#6ccfee;
	color:#fff;
}
::-moz-selection{
	background:#6ccfee;
	color:#fff;
}
@media screen and (max-width:768px){
	html{
	}
	body{
		font-size:calc(13 / var(--vw-min) * 100vw);
		min-width:320px;
	}
	.pc{display:none}
	.ah:hover{opacity:1}
}
@media screen and (min-width:769px){
	body{
		scrollbar-gutter:stable;
	}
	.sp{display:none}
	::-webkit-scrollbar{
		width:8px;
		height:8px;
	}
	::-webkit-scrollbar-track{
		border-radius:0px;
		background:#fff;
	}
	::-webkit-scrollbar-thumb{
		background:#000;
		border-radius:4px;
		margin:2px;
		box-shadow:none;
	}
	@-moz-document url-prefix(){
		html{
			scrollbar-color:#000 #fff;
			scrollbar-width:thin;
		}
	}
}
.bg {
	position: fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:0;
	overflow:hidden;
	background:var(--color-lightpurple);
	--bg-noise-opacity:0.05;
}
.bg__canvas {
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
}
.bg__noise {
	position:absolute;
	inset:0;
	pointer-events:none;
	opacity:var(--bg-noise-opacity);
	background-repeat:repeat;
	background-size:128px 128px;
}
#fullWrap {
	position: relative;
	z-index:1;
}
.loader {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: #fff;
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.5s ease;
}
.loader.is-hidden {
	opacity: 0;
}
.loader.is-done {
	display: none;
}
.contentWrap {
	position: relative;
	background:url(../img/common/deco/content.svg) no-repeat center top / 100% auto;
	overflow-x: clip;
}
@media screen and (max-width:768px){
	.contentWrap {
		background-position:center calc(56 / var(--vw-min) * 100vw);
	}
}
.header {
	position: absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	z-index:500;
	pointer-events: none;
}
.header__inner {
	position: sticky;
	left:0;
	top:0;
	width:100%;
	height:100vh;
	height:100dvh;
	min-height: min(calc(480 / var(--vw-min) * 100vw),480px);
}
@media screen and (max-width:768px){
	.header__inner {
		min-height:unset;
		overflow: hidden;
	}
}
.menu__btn {
	display: none;
}
@media screen and (max-width:768px){
	.menu__btn {
		display: block;
		position: absolute;
		right:0;
		top:0;
		width:calc(60 / var(--vw-min) * 100vw);
		height:calc(40 / var(--vw-min) * 100vw);
		z-index:5600;
		pointer-events: auto;
	}
	.menu__btnBtn {
		position: relative;
		height:calc(40 / var(--vw-min) * 100vw);
		width:100%;
	}
	.menu__btnBtn:before,
	.menu__btnBtn:after {
		content:'';
		position: absolute;
		left:calc(6 / var(--vw-min) * 100vw);
		right:calc(6 / var(--vw-min) * 100vw);
		height:1px;
		background: #000;
		transition: transform 0.3s ease;
	}
	.menu__btnBtn:before {
		transform: translateY(calc(-3 / var(--vw-min) * 100vw));
	}
	.menu__btnBtn:after {
		transform: translateY(calc(3 / var(--vw-min) * 100vw));
	}
	.menu__btnBtn.is-active:before {
		transform: rotate(14.125deg);
	}
	.menu__btnBtn.is-active:after {
		transform: rotate(-14.125deg);
	}
}
.nav {
	position: absolute;
	right:0;
	top:0;
}
@media screen and (max-width:768px){
	.nav {
		width:100%;
		position: relative;
		right:unset;
		top:unset;
	}
	.nav__wrap {
		position: absolute;
		left:0;
		top:0;
		right: 0;
		bottom:0;
		background: #fff;
		transform:translateX(100%);
		transition: transform 0.3s ease;
	}
	.nav__wrap.is-active {
		transform:translateX(0);
	}
	.nav__wrap:before {
		content:'';
		position: absolute;
		left:0;
		top:0;
		right:0;
		bottom:0;
		-webkit-mask:url(../img/common/deco/nav_bg.svg) no-repeat center bottom / contain;
		mask:url(../img/common/deco/nav_bg.svg) no-repeat center bottom / contain;
		background:linear-gradient(180deg, rgba(155, 185, 0, 0.00) 0%, rgba(155, 185, 0, 0.80) 20%, rgba(158, 202, 0, 0.90) 49.52%, #CA9AFD 80%);
		opacity:.3;
	}
	.nav__content {
		position: absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		overflow: auto;
		overscroll-behavior:contain;
		pointer-events: auto;
		z-index:10;
	}
	.nav__block {
		min-height:calc(100vh + 1px);
		min-height:calc(100dvh + 1px);
	}
}
.nav__inner {
	padding:min(calc(28 / var(--vw-min) * 100vw),28px) min(calc(16 / var(--vw-min) * 100vw),16px) 0 0;
	height:min(calc(50 / var(--vw-min) * 100vw),50px);
}
@media screen and (max-width:768px){
	.nav__inner {
		padding:calc(120 / var(--vw-min) * 100vw) 0 calc(48 / var(--vw-min) * 100vw);
		height:calc(100vh + 1px);
		height:calc(100dvh + 1px);
		position: relative;
	}
}
.nav__lists {
	display: flex;
}
@media screen and (max-width:768px){
	.nav__lists {
		width:100%;
		display: flex;
		flex-direction: row-reverse;
		justify-content: center;
	}
}
.nav__item {
	margin-left:min(calc(8 / var(--vw-min) * 100vw),8px);
}
@media screen and (max-width:768px){
	.nav__item {
		margin:0 calc(12 / var(--vw-min) * 100vw);
		flex-shrink: 0;
	}
}
.nav__link {
	font-size:min(calc(15 / var(--vw-min) * 100vw),15px);
	font-family: var(--font-barlow);
	font-weight: 500;
	line-height:1;
	letter-spacing: 0.03em;
	text-decoration: none;
	color:#fff;
	padding:min(calc(3 / var(--vw-min) * 100vw),3px) min(calc(8 / var(--vw-min) * 100vw),8px);
	background:#000;
	display: block;
	pointer-events: auto;
	overflow: hidden;
	position: relative;
	transition: color 0.15s ease;
}
@media screen and (max-width:768px){
	.nav__link {
		writing-mode: vertical-rl;
		font-size:unset;
		font-family:unset;
		font-weight: 400;
		line-height:unset;
		letter-spacing:.12em;
		text-decoration: none;
		color:#000;
		padding:0;
		background:transparent;
		pointer-events: auto;
		overflow:unset;
		white-space: nowrap;
		width: calc(48 / var(--vw-min) * 100vw);
	}
	.nav__link--en {
		font-size:calc(11 / var(--vw-min) * 100vw);
		font-family: var(--font-barlow);
		line-height:1;
		letter-spacing: 0.12em;
		margin-left:calc(4 / var(--vw-min) * 100vw);
		display: block;
	}
}
.nav__link--ja {
	display: none;
}
@media screen and (max-width:768px){
	.nav__link--ja {
		display:block;
		font-size:calc(26 / var(--vw-min) * 100vw);
		line-height:1.19231;
		letter-spacing: 0.12em;
		font-family: var(--font-serif);
	}
}
@media screen and (hover:hover){
	.nav__link:hover {
		color:#000;
	}
}
.nav__link span {
	position: relative;
	z-index:50;
}
@media screen and (hover:hover){
	.nav__link:before {
		content:'';
		position: absolute;
		left:0;
		top:0;
		bottom:0;
		background:#fff;
		width:100%;
		transform-origin:left center;
		transform:scale(0);
		animation: nav-out 0.15s ease forwards;
	}
	.nav__link:hover:before {
		animation: nav-in 0.15s ease forwards;
	}
}
.subNav {
	position: absolute;
	right:0;
	top:min(calc(50 / var(--vw-min) * 100vw),50px);
	bottom:min(calc(50 / var(--vw-min) * 100vw),50px);
	display: flex;
	align-items: center;
}
@media screen and (max-width:768px){
	.subNav {
		right:calc(20 / var(--vw-min) * 100vw);
		top:unset;
		left:calc(20 / var(--vw-min) * 100vw);
		bottom:calc(48 / var(--vw-min) * 100vw);
		flex-direction: column;
		align-items: flex-start;
	}
}
.subNav__inner {
	padding-right:min(calc(16 / var(--vw-min) * 100vw),16px);
}
@media screen and (max-width:768px){
	.subNav__inner {
		padding-right:0;
	}
}
.subNav__lists {
	width:min(calc(21 / var(--vw-min) * 100vw),21px);
}
@media screen and (max-width:768px){
	.subNav__lists {
		width:unset;
	}
}
.subNav__item {
	writing-mode: vertical-rl;
	padding:min(calc(4 / var(--vw-min) * 100vw),4px) 0;
}
@media screen and (max-width:768px){
	.subNav__item {
		writing-mode: horizontal-tb;
		padding:0;
		margin-top:calc(20 / var(--vw-min) * 100vw);
	}
}
.subNav__link {
	font-size:min(calc(15 / var(--vw-min) * 100vw),15px);
	font-family: var(--font-barlow);
	font-weight: 500;
	line-height:1;
	letter-spacing: 0.03em;
	text-decoration: none;
	color:#fff;
	padding:min(calc(8 / var(--vw-min) * 100vw),8px) min(calc(3 / var(--vw-min) * 100vw),3px);
	background:#000;
	display: block;
	pointer-events: auto;
	overflow: hidden;
	position: relative;
	transition: color 0.25s ease;
}
@media screen and (max-width:768px){
	.subNav__link {
		height:calc(16 / var(--vw-min) * 100vw);
		font-size:calc(13 / var(--vw-min) * 100vw);
		line-height:calc(16 / var(--vw-min) * 100vw);
		color:#000;
		padding:0 0 0 calc(24 / var(--vw-min) * 100vw);
		background:transparent;
	}
}
@media screen and (hover:hover){
	.subNav__link:hover {
		color:#000;
	}
}
.subNav__link span {
	position: relative;
	z-index:50;
}
@media screen and (hover:hover){
	.subNav__link:before {
		content:'';
		position: absolute;
		left:0;
		top:0;
		bottom:0;
		background:#fff;
		width:100%;
		transform-origin:left center;
		transform:scale(0);
		animation: subNav-out 0.25s ease forwards;
	}
	.subNav__link:hover:before {
		animation: subNav-in 0.25s ease forwards;
	}
}
@media screen and (max-width:768px){
	.subNav__link:after {
		content:'';
		position: absolute;
		left:0;
		top:0;
		bottom:0;
		width:calc(14 / var(--vw-min) * 100vw);
		background:#000;
	}
	.subNav__link--x:after{
		-webkit-mask:url(../img/common/icon/icon_x.svg) no-repeat center center / contain;
		mask:url(../img/common/icon/icon_x.svg) no-repeat center center / contain;
	}
	.subNav__link--tiktok:after{
		-webkit-mask:url(../img/common/icon/icon_tiktok.svg) no-repeat center center / contain;
		mask:url(../img/common/icon/icon_tiktok.svg) no-repeat center center / contain;
	}
}
.contents {
	min-height:100vh;
	min-height:100dvh;
	position: relative;
	overflow:clip;
	padding-bottom:min(calc(240 / var(--vw-min) * 100vw),240px);
}
@media screen and (max-width:768px){
	.contents {
		padding-bottom:calc(90 / var(--vw-min) * 100vw);
	}
}
.footer {
	position: relative;
}
.footer:before{
	content:'';
	position: absolute;
	left:-50vw;
	top:max(calc(-80 / var(--vw-min) * 100vw),-80px);
	right:-50vw;
	height:1px;
	background:#fff;
	transform:rotate(13deg);
	opacity:.4;
}
.footer__top {
	position: relative;
	width:100%;
	height:min(calc(208 / var(--vw-min) * 100vw),208px);
	background:url(../img/common/footer_r.svg) no-repeat center top / 100% 100%;
}
@media screen and (max-width:768px){
	.footer__top {
		width:100%;
		height:min(calc(72 / var(--vw-min) * 100vw),72px);
		background:url(../img/common/footer_r.svg) no-repeat center bottom / 100% calc(56 / var(--vw-min) * 100vw);
	}
}
.footer__seriesLogo {
	width:min(calc(320 / var(--vw-min) * 100vw),320px);
	margin:0 auto;
}
@media screen and (max-width:768px){
	.footer__seriesLogo {
		width:calc(123 / var(--vw-min) * 100vw);
	}
}
.footer__seriesLogoLink {
	display: block;
	height:min(calc(144 / var(--vw-min) * 100vw),144px);
	background:url(../img/common/logo/logo_series.svg) no-repeat center center / contain;
}
@media screen and (max-width:768px){
	.footer__seriesLogoLink {
		height:calc(56 / var(--vw-min) * 100vw);
	}
}
.footer__bottom {
	position: relative;
	margin-top: -1px;
	background:#000;
	padding:min(calc(72 / var(--vw-min) * 100vw),72px) min(calc(83 / var(--vw-min) * 100vw),83px) min(calc(48 / var(--vw-min) * 100vw),48px);
}
@media screen and (max-width:768px){
	.footer__bottom {
		padding:calc(52 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw);
	}
}
.footer__linkLists {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-left:min(calc(44 / var(--vw-min) * 100vw),44px);
	margin-bottom:min(calc(96 / var(--vw-min) * 100vw),96px);
}
@media screen and (max-width:768px){
	.footer__linkLists {
		justify-content: space-between;
		padding-left:0;
		margin-bottom:calc(52 / var(--vw-min) * 100vw);
	}
}
.footer__linkItem {
	margin:0 min(calc(40 / var(--vw-min) * 100vw),40px);
}
@media screen and (max-width:768px){
	.footer__linkItem {
		margin:0;
	}
}
.footer__link {
	display: block;
	transition:opacity 0.3s ease;
}
@media screen and (hover:hover){
	.footer__link:hover {
		opacity:.6;
	}
}
.footer__link img {
	width:100%;
	height:auto;
}
.footer__link--20th {
	width:min(calc(82 / var(--vw-min) * 100vw),82px);
}
@media screen and (max-width:768px){
	.footer__link--20th {
		width:calc(50 / var(--vw-min) * 100vw);
	}
}
.footer__link--aniplex {
	width:min(calc(112 / var(--vw-min) * 100vw),112px);
}
@media screen and (max-width:768px){
	.footer__link--aniplex {
		width:calc(70 / var(--vw-min) * 100vw);
	}
}
.footer__link--shaft {
	width:min(calc(112 / var(--vw-min) * 100vw),112px);
}
@media screen and (max-width:768px){
	.footer__link--shaft {
		width:calc(72 / var(--vw-min) * 100vw);
	}
}
.footer__link--animeproject {
	width:min(calc(126 / var(--vw-min) * 100vw),126px);
}
@media screen and (max-width:768px){
	.footer__link--animeproject {
		width:calc(75 / var(--vw-min) * 100vw);
	}
}
.footer__last {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-direction: row-reverse;
}
@media screen and (max-width:768px){
	.footer__last {
		justify-content:center;
		align-items: center;
		flex-direction:column;
	}
}
.footer__caution {
	font-size:min(calc(11 / var(--vw-min) * 100vw),11px);
	color:#fff;
	opacity:.5;
	letter-spacing: 0.02em;
	line-height:1.8181;
	margin-bottom:min(calc(8 / var(--vw-min) * 100vw),8px);
}
@media screen and (max-width:768px){
	.footer__caution {
		font-size:calc(10 / var(--vw-min) * 100vw);
		line-height:1.80;
		margin-bottom:calc(6 / var(--vw-min) * 100vw);
		text-align: center;
	}
}
.footer__copyright {
	font-size:min(calc(11 / var(--vw-min) * 100vw),11px);
	color:#fff;
	opacity:.5;
	letter-spacing: 0.02em;
	line-height:1.8181;
}
@media screen and (max-width:768px){
	.footer__copyright {
		font-size:calc(10 / var(--vw-min) * 100vw);
		line-height:1.8;
		text-align: center;
	}
}
@media screen and (max-width:768px){
	.footer__lastRight {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom:calc(40 / var(--vw-min) * 100vw);
	}
}
.footer__subLinkLists {
	display: flex;
	font-size:calc(11 / var(--vw-min) * 100vw);
	font-family: var(--font-jost);
	line-height:1;
	letter-spacing: 0.04em;
}
@media screen and (max-width:768px){
	.footer__subLinkLists {
		font-size:min(calc(13 / var(--vw-min) * 100vw),13px);
		letter-spacing: 0.04em;
	}
}
.footer__subLinkItem {
	padding-right:min(calc(33 / var(--vw-min) * 100vw),33px);
	position: relative;
}
@media screen and (max-width:768px){
	.footer__subLinkItem {
		padding-right:calc(25 / var(--vw-min) * 100vw);
	}
}
.footer__subLinkItem:last-child {
	padding-right:0;
}
.footer__subLinkItem:not(:last-child):after {
	content:'';
	position: absolute;
	right:min(calc(16 / var(--vw-min) * 100vw),16px);
	top:0;
	bottom:0;
	width:1px;
	background:#D9D9D9;
	opacity:.4;
}
@media screen and (max-width:768px){
	.footer__subLinkItem:not(:last-child):after {
		right:calc(12 / var(--vw-min) * 100vw);
	}
}
.footer__subLink {
	color:#fff;
	text-decoration:none;
}
.footer__subLink:hover {
	text-decoration: underline;
}
body.is-movieModal-open {
	overflow: hidden;
}
.movieModal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.movieModal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.movieModal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.82);
}
.movieModal__stage {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	padding: min(calc(80 / var(--vw-min) * 100vw), 80px);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
.movieModal__close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	width: min(calc(80 / var(--vw-min) * 100vw), 80px);
	height: min(calc(80 / var(--vw-min) * 100vw), 80px);
	overflow: hidden;
}
.movieModal__close:before,
.movieModal__close:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width:min(calc(120 / var(--vw-min) * 100vw),120px);
	height: 1px;
	background: #fff;
	transition: background 0.3s ease;
}
.movieModal__close:hover:before,
.movieModal__close:hover:after {
	background: var(--color-purple);
}
.movieModal__close:before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.movieModal__close:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.movieModal__video {
	position: relative;
	width: min(100%, calc((100vh - min(calc(160 / var(--vw-min) * 100vw), 160px)) * 16 / 9));
	max-height: calc(100vh - min(calc(160 / var(--vw-min) * 100vw), 160px));
	aspect-ratio: 16 / 9;
	background: #000;
}
.movieModal__videoYt,
.movieModal__videoYt iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

