@charset "utf-8";
/* CSS Document */
body{
	position: relative;
	overflow: hidden;
	background: #2C2C2C;
	background: radial-gradient(circle, rgba(44, 44, 44, 1) 0%, rgba(5, 8, 8, 1) 100%);
}
.header{
	opacity: 0;
	pointer-events: none;
	animation-name: header1;
	animation-delay: 8.0s;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes header1 {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
		pointer-events: auto;
	}
}

.f_item{
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: #000000;
	animation-name: f_anime3;
	animation-delay: 2.0s;
	animation-duration: 1.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.f_item > div{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	opacity: 0;
	animation-duration: 1.4s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.f_item .f_item0{
	z-index: 1;
	animation-delay: 0.1s;
	animation-name: f_anime2;
}
.f_item .f_item1{
	z-index: 2;
	animation-delay: 0.2s;
	animation-name: f_anime;
	animation-duration: 1.8s;
}
.f_item .f_item2{
	z-index: 3;
	animation-delay: 0.3s;
	animation-duration: 1.2s;
	animation-name: f_anime;
}
.f_item .f_item3{
	z-index: 4;
	animation-delay: 0.4s;
	animation-name: f_anime;
}
.f_item .f_item4{
	z-index: 5;
	opacity: 0.2;
	mix-blend-mode: multiply;
}

@keyframes f_anime {
	0% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	10% {
		opacity:0.5;
		-ms-filter: blur(10px);
		filter: blur(10px);
	}
	40% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	60% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	70% {
		opacity:0.8;
		-ms-filter: blur(10px);
		filter: blur(10px);
	}
	100% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
}
@keyframes f_anime2 {
	0% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	10% {
		opacity:0.7;
		-ms-filter: blur(10px);
		filter: blur(10px);
	}
	40% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	60% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	70% {
		opacity:1.0;
		-ms-filter: blur(10px);
		filter: blur(10px);
	}
	100% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
}
@keyframes f_anime3 {
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
		pointer-events: none;
	}
}


.main_contents{
	width: 100%;
	height: 100vh;
	min-height: 800px;
	background-color: #000;
	overflow: hidden;
	/*
	background-image: url("../img/logo.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 200px auto;
	*/
}
.main_contents .loader{
	position: absolute;
	z-index: 9998;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	pointer-events: none!important;
}
.main_contents .loader.on{
	animation-name: loaderout;
	animation-delay: 0.4s;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes loaderout {
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
		pointer-events: none!important;
	}
}

.main_contents .loader .imgbox{
	width: 50%;
	height: 100%;
	position: absolute;
	right: 0;
	overflow: hidden;
	opacity: 0;
	-ms-filter: blur(20px);
	filter: blur(6px);
	animation-name: loader;
	animation-delay: 2.2s;
	animation-duration: 3.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.main_contents .loader .imgbox img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@keyframes loader {
	0% {
		opacity: 0;
		-ms-filter: blur(20px);
		filter: blur(6px);
	}
	100% {
		opacity:1;
		-ms-filter: blur(1px);
		filter: blur(1px);
	}
}

.main_contents .loader .main_txt{
	position: absolute;
	top: 50%;
	left: 10%;
	width: 80%;
	transform: translateY(-50%);
	z-index: 2;
	opacity: 0;
	-ms-filter: blur(20px);
	filter: blur(6px);
	animation-name: maintxt;
	animation-delay: 3.2s;
	animation-duration: 5.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes maintxt {
	0% {
		opacity: 0;
		-ms-filter: blur(20px);
		filter: blur(6px);
	}
	40% {
		opacity:1;
		-ms-filter: blur(1px);
		filter: blur(1px);
	}
	60% {
		opacity:1;
		-ms-filter: blur(1px);
		filter: blur(1px);
	}
	100% {
		opacity: 0;
		-ms-filter: blur(20px);
		filter: blur(6px);
	}
}

.main_contents .loader .main_txt h1{
	font-size: 46px;
	font-weight: 500;
	color: #fff;
	line-height: 2.2;
}

.main_contents .bg_contents{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.main_contents .bg_contents::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 8;
	background: #000000;
	background: radial-gradient(circle, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.3) 65%, rgba(0, 0, 0, 1) 100%);
	opacity: 0;
	mix-blend-mode: multiply;
	animation-name: bg_after;
	animation-duration: 3.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	animation-delay: 4.6s;
}
@keyframes bg_after {
	0% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	100% {
		opacity:0.8;
		-ms-filter: blur(10px);
		filter: blur(10px);
	}
}
/*
.main_contents .main_txt{
	position: fixed;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	z-index: 2;
	opacity: 0;
	-ms-filter: blur(20px);
	filter: blur(6px);
	animation-name: maintxt;
	animation-delay: 0.8s;
	animation-duration: 5.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes maintxt {
	0% {
		opacity: 0;
		-ms-filter: blur(20px);
		filter: blur(6px);
	}
	50% {
		opacity:1;
		-ms-filter: blur(1px);
		filter: blur(1px);
	}
	100% {
		opacity: 0;
		-ms-filter: blur(20px);
		filter: blur(6px);
	}
}

.main_contents .main_txt h1{
	font-size: 36px;
	font-weight: 500;
	color: #fff;
	line-height: 2.2;
}
*/
.main_contents .bg_contents > div{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.main_contents .bg_contents .bg1{
	z-index: 3;
	opacity: 0;
}
/*
.main_contents .bg_contents .bg2{
	z-index: 1;
	opacity: 0;
}
.main_contents .bg_contents .bg3{
	z-index: 2;
	opacity: 0;
}
*/
body.on .main_contents .bg_contents .bg1{
	opacity:0;
	-ms-filter: blur(6px);
	filter: blur(6px);
	animation-name: bg_contents1;
	animation-duration: 2.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	animation-delay: 7.0s;
}
/*
body.on .main_contents .bg_contents .bg2{
	opacity:0;
	-ms-filter: blur(6px);
	filter: blur(6px);
	animation-name: bg_contents2;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	animation-delay: 0.4s;
}
body.on .main_contents .bg_contents .bg3{
	opacity:0;
	animation-name: bg_contents3;
	animation-duration: 3.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	animation-delay: 0.8s;
}
*/
@keyframes bg_contents1 {
	0% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	100% {
		opacity:1;
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
}

@keyframes bg_contents2 {
	0% {
		opacity:0;
		-ms-filter: blur(6px);
		filter: blur(6px);
	}
	100% {
		opacity:1;
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
}
@keyframes bg_contents3 {
	0% {
		opacity:0;
	}
	20% {
		opacity:0;
	}
	23% {
		opacity:1;
	}
	26% {
		opacity:0;
	}
	55% {
		opacity:0;
	}
	60% {
		opacity:1;
	}
	63% {
		opacity:0;
	}
	66% {
		opacity:1;
	}
	69% {
		opacity:0;
	}
	91% {
		opacity:0;
	}
	94%{
		opacity: 1;
	}
	97%{
		opacity: 0;
	}
	100%{
		opacity: 0;
	}
}

.main_contents .soldier{
	position: absolute;
	bottom: 50px;
	left: 50%;
	transform: translateX(-50%);
	height: 60%;
	z-index: 3;
	pointer-events: none;
}
.main_contents .soldier img{
	width: auto;
	height: 100%;
	opacity: 0;
	-ms-filter: blur(20px);
	filter: blur(20px);
	animation-delay: 6.0s;
}
.main_contents .soldier img:nth-of-type(1){
	position: relative;
	transform: scale(1.3);
	animation-name: soldier1;
	animation-duration:1.6s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes soldier1 {
	0% {
		opacity:0;
		-ms-filter: blur(20px);
		filter: blur(20px);
		transform: scale(1.2);
	}
	100% {
		opacity:1;
		-ms-filter: blur(0px);
		filter: blur(0px);
		transform: scale(1.0);
	}
}

.main_contents .doors,.main_contents .link_txtbox{
	position: absolute;
	z-index: 2;
	width: 90%;
	height: auto;
	top: 20%;
	left: 5%;
	justify-content: space-around;
}
.main_contents .doors .door,.main_contents .link_txtbox .txtbox{
	position: relative;
	cursor: pointer;
}
.main_contents .doors .door{
	animation-name: doors3;
	animation-delay: 7.4s;
	animation-duration: 0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	pointer-events: none;
}
.main_contents .doors .door img{
	transition: ease 0.5s;
}
.main_contents .doors .door .door_item1{
	position: relative;
	z-index: 2;
}
.main_contents .doors .door .door_item2{
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 1;
}
.main_contents .doors .door:hover .door_item1,.main_contents .doors .door.active .door_item1{
	opacity:0;
	-ms-filter: blur(10px);
	filter: blur(10px);
}
.main_contents .doors .door1,.main_contents .link_txtbox .txtbox.txt1{
	width: 15%;
}
.main_contents .doors .door2,.main_contents .link_txtbox .txtbox.txt2{
	width: 10%;
}
.main_contents .doors .door3,.main_contents .link_txtbox .txtbox.txt3{
	width: 12%;
}
.main_contents .doors .door4,.main_contents .link_txtbox .txtbox.txt4{
	width: 16%;
}

.main_contents .doors .door .door_wrap {
	opacity: 0;
	animation-name: doors1;
	animation-duration: 1.8s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	pointer-events: none;
}
.main_contents .doors .door1 .door_wrap{
	animation-delay: 7.6s;
}
.main_contents .doors .door2 .door_wrap{
	animation-delay: 8.0s;
}
.main_contents .doors .door3 .door_wrap{
	animation-delay: 8.4s;
}
.main_contents .doors .door4 .door_wrap{
	animation-delay: 8.8s;
}
.main_contents .doors.on{pointer-events: none!important;}
.main_contents .doors.on .door:not(.active){
	animation-name: doors2;
	animation-delay: 0.4s;
	animation-duration: 1.8s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	pointer-events: none!important;
}
@keyframes doors1 {
	0% {
		opacity: 0;
		transform: translateY(50px);
		-ms-filter: blur(6px);
		filter: blur(6px);
		pointer-events: none;
	}
	100% {
		opacity:1;
		transform: translateY(0px);
		-ms-filter: blur(2px);
		filter: blur(2px);
		pointer-events: auto;
	}
}
@keyframes doors2 {
	0% {
		opacity:1;
		transform: translateY(0px);
		-ms-filter: blur(2px);
		filter: blur(2px);
	}
	100% {
		opacity: 0;
		transform: translateY(50px);
		-ms-filter: blur(10px);
		filter: blur(10px);
		pointer-events: none!important;
	}
}
@keyframes doors3 {
	0% {
		pointer-events: none;
	}
	100% {
		pointer-events: auto;
	}
}

.main_contents .link_txtbox{
	top: 45%;
	pointer-events: none;
	z-index: 4;
	opacity: 0;
	animation-name: fadein;
	animation-delay: 5.0s;
	animation-duration: 0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.main_contents .link_txtbox .txtbox{
	position: relative;
	z-index: 3;
	opacity: 0;
	transition: ease 0.3s;
}
.main_contents .link_txtbox .txtbox.on,.main_contents .link_txtbox .txtbox.on2{
	opacity: 1;
}
.main_contents .link_txtbox .txtbox::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border: 1px solid #fff;
	border-radius: 50%;
	width: 140px;
	aspect-ratio: 1 / 1;
	opacity: 0;
	transition: ease 0.6s;
}
.main_contents .link_txtbox .txtbox.on::after,.main_contents .link_txtbox .txtbox.on2::after{
	opacity: 1;
	width: 170px;
}
.main_contents .link_txtbox .txtbox p{
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: center;
    align-items: center;
	flex-direction: row;
	color: #fff;
	line-height: 1;
	white-space: nowrap;
}
.main_contents .link_txtbox .txtbox p:first-of-type{
	margin-bottom: 8px;
}


.main_contents .feather{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 6;
	opacity: 0;
	pointer-events: none;
	animation-name: feather1;
	animation-delay: 8.2s;
	animation-duration: 1.8s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes feather1 {
	0% {
		opacity: 0;
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	100% {
		opacity:0.4;
		-ms-filter: blur(2px);
		filter: blur(2px);
	}
}
.main_contents .feather::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 200%;
	background-image: url("https://mps-productions.co.jp/system_panel/uploads/images/feather.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	pointer-events: none;
	animation: gentleMove 15s ease-in-out infinite;
	animation-delay: 5.8s;
	opacity: 0;
}

@keyframes gentleMove {
	0% {
		transform: translate(0, 0) rotate(0deg);
		opacity: 0;
	}
	10%{
		transform: translate(0, 5px) rotate(0deg);
		opacity: 1;
	}
	25% {
		transform: translate(8px, 15px) rotate(0.5deg);
	}
	50% {
		transform: translate(-5px, 30px) rotate(-0.8deg);
	}
	75% {
		transform: translate(6px, 45px) rotate(0.3deg);
	}
	90%{
		transform: translate(0, 55px) rotate(0deg);
		opacity: 1;
	}
	100% {
		transform: translate(0, 60px) rotate(0deg);
		opacity: 0;
	}
}

.page_txtwrap{
	position: fixed;
	width: 100%;
	height: auto;
	z-index: 1;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	text-align: center;
	display: none;
}
.page_txtwrap > div{display: none;}
.page_txtwrap p,.page_txtwrap h1,.page_txtwrap h2{
	font-weight: 500;
	color: #fff;
	opacity: 0;
	transform: translateY(20px);
	-ms-filter: blur(20px);
	filter: blur(20px);
}
.page_txtwrap p{
	font-size: 28px;
	margin-bottom: 10px;
	letter-spacing: 2px;
}
.page_txtwrap h1,.page_txtwrap h2{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 1px;
}
.page_txtwrap.on{
	display: block;
}
.page_txtwrap > div.on{display: block;}

.page_txtwrap.on p{
	animation-name: pagetxt;
	animation-delay: 1.8s;
	animation-duration: 3.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.page_txtwrap.on h1,.page_txtwrap.on h2{
	animation-name: pagetxt;
	animation-delay: 2.2s;
	animation-duration: 3.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes pagetxt {
	0% {
		opacity: 0;
		transform: translateY(20px);
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
	30% {
		opacity:1;
		transform: translateY(0px);
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
	70% {
		opacity:1;
		transform: translateY(0px);
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
	100% {
		opacity: 0;
		transform: translateY(-20px);
		-ms-filter: blur(20px);
		filter: blur(20px);
	}
}



/* 管理画面 */
body:not(.on) .main_contents{
	display: none;
}
body:not(.on) .page_txtwrap{
	position: static;
	transform: none;
}
body:not(.on) .page_txtwrap p,body:not(.on) .page_txtwrap h1,body:not(.on) .page_txtwrap h2{
	opacity: 1;
	-ms-filter: blur(0px);
	filter: blur(0px);
}
body:not(.on) .page_txtwrap,body:not(.on) .page_txtwrap > div{display: block!important;}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.main_contents .doors .door1,.main_contents .link_txtbox .txtbox.txt1{
		width: 20%;
	}
	.main_contents .doors .door2,.main_contents .link_txtbox .txtbox.txt2{
		width: 14%;
	}
	.main_contents .doors .door3,.main_contents .link_txtbox .txtbox.txt3{
		width: 16%;
	}
	.main_contents .doors .door4,.main_contents .link_txtbox .txtbox.txt4{
		width: 20%;
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.main_contents .soldier{
		bottom: -15%;
	}
	.main_contents .doors{
		top: 30%;
	}
	.main_contents .link_txtbox{
		top: 45%;
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.main_contents .doors{
		width: 100%;
		left: 0;
		top: 40%;
	}
	.main_contents .link_txtbox{
		top: 50%;
	}
	.main_contents .doors .door1,.main_contents .link_txtbox .txtbox.txt1{
		width: 23%;
	}
	.main_contents .doors .door2,.main_contents .link_txtbox .txtbox.txt2{
		width: 20%;
	}
	.main_contents .doors .door3,.main_contents .link_txtbox .txtbox.txt3{
		width: 20%;
	}
	.main_contents .doors .door4,.main_contents .link_txtbox .txtbox.txt4{
		width: 23%;
	}
	.main_contents .loader .imgbox{
		width: 80%;
	}
	.main_contents .loader .main_txt h1{
		font-size: 26px;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

