@charset "utf-8";
					

/*-----------------------------------------------------------
	#intro setting
-----------------------------------------------------------*/
html.intro{
	height: 100%;
	overflow-y: scroll;
}
body.intro{
	height: 100%;
	overflow: hidden;
}

#main .txt02.intro{
	opacity: 0;
	transform: scale(1.2);
}
#main .txt02.in{
	opacity: 1;
	transform: scale(1);
	transition: all 1.5s ease;
}

#intro{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #000000;
	overflow: hidden;
	z-index: 9999;
}
	#intro.in{
		animation: intro_out 1.0s ease-out 7.0s forwards;
	}
	@keyframes intro_out {
		0% {
			opacity: 1;
			z-index: 9999;
		}
		99% {
			opacity: 0;
			z-index: 9999;
		}
		100% {
			opacity: 0;
			z-index: -1;
		}
	}
	#intro.skip{
		animation: intro_out 1.0s ease-out 0.0s forwards;
	}
	
	#intro .intro_container{
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
		#intro .intro_container .intro_bg{
			color: rgba(0,0,0,0);
			font-size: 0px;
			background-image: url('../img/bg.jpg');
			background-position: center center;
			background-size: cover;
			background-repeat: no-repeat;
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			
			transform: scale(1.5);
		}
			#intro.in .intro_container .intro_bg{
				animation: bg_fadein 3.0s ease-out 0.0s forwards;
			}
			@keyframes bg_fadein {
				0% {
					transform: scale(1.2);
				}
				100% {
					transform: scale(1);
				}
			}
		
		#intro .intro_container .intro_character{
			color: rgba(0,0,0,0);
			font-size: 0px;
			background-image: url('../img/character.png');
			background-position: center center;
			background-size: contain;
			background-repeat: no-repeat;
			width: 60%;
			height: 110%;
			position: absolute;
			left: 40%;
			top: -5%;
			opacity: 0;
		}
			#intro.in .intro_container .intro_character{
				animation: character_fadein 1.0s ease 3.0s forwards;
			}
			@keyframes character_fadein {
				0% {
					transform: scale(0.7) rotate(-10deg);
					opacity: 0;
				}
				30% {
					transform: scale(1.1) rotate(10deg);
					opacity: 1;
				}
				100% {
					transform: scale(1) rotate(0deg);
					opacity: 1;
				}
			}
		
		#intro .intro_container .intro_text{
			color: rgba(0,0,0,0);
			font-size: 0px;
			background-image: url('../img/text.png');
			background-position: center center;
			background-size: contain;
			background-repeat: no-repeat;
			width: 35%;
			height: 20%;
			position: absolute;
			left: 10%;
			bottom: 10%;
			opacity: 0;
		}
			#intro.in .intro_container .intro_text{
				animation: text_fadein 2.0s ease-out 3.5s forwards;
			}
			@keyframes text_fadein {
				0% {
					transform: translateX(50px);
					opacity: 0;
				}
				30% {
					transform: translateX(5px);
					opacity: 1;
				}
				100% {
					transform: translateX(0px);
					opacity: 1;
				}
			}
		
		#intro .intro_container .intro_door{
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
		}
			#intro.in .intro_container .intro_door{
				animation: door_fadeout 1.0s ease-out 1.5s forwards;
			}
			@keyframes door_fadeout {
				0% {
					transform: scale(1);
					opacity: 1;
				}
				50% {
					transform: scale(5);
					opacity: 1;
				}
				100% {
					transform: scale(5.5);
					opacity: 0;
				}
			}
			
			#intro .intro_container .dopen{
				color: rgba(0,0,0,0);
				font-size: 0px;
				background-image: url('../img/open.svg');
				background-position: center center;
				background-size: cover;
				background-repeat: no-repeat;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
			}
			
			#intro .intro_container .dclose{
				color: rgba(0,0,0,0);
				font-size: 0px;
				background-image: url('../img/close.svg');
				background-position: center center;
				background-size: cover;
				background-repeat: no-repeat;
				background-color: #FFFFFF;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
			}
			
				#intro.in .intro_container .dclose{
				/*	animation: animation-nameの値 animation-durationの値 animation-timing-functionの値 animation-delayの値 animation-iteration-countの値 animation-directionの値 animation-fill-modeの値 animation-play-stateの値;	*/
					animation: door_open 1.0s ease 0.0s forwards;
				}
				@keyframes door_open {
					0% {
						transform: scale(1);
						opacity: 1;
					}
					20% {
						transform: scale(0.9);
						opacity: 1;
					}
					70% {
						transform: scale(1);
						opacity: 1;
					}
					100% {
						transform: scale(1);
						opacity: 0;
					}
				}
				
	#intro .intro_skip{
		color: rgba(0,0,0,0);
		font-size: 0px;
		background-image: url('../img/btn_skip.svg');
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
		cursor: pointer;
		transition: opacity 0.5s;
		width: 70px;
		height: 70px;
		position: absolute;
		bottom: 50px;
		right: 50px;
	}
		#intro .intro_skip:hover{
			opacity: 0.7;
		}





/* intro SP */
					@media screen and (max-width: 860px) {

#intro{
	background-image: url('../img/bg_sp.jpg');
}
	#intro .intro_container{
		
	}
		#intro .intro_container .intro_character{
			width: 100%;
			height: 70%;
			left: 5%;
			top: 8%;
		}
		#intro .intro_container .intro_text{
			width: 90%;
			height: 15%;
			left: 5%;
			bottom: 3%;
			background-position: left center;
		}
		
			#intro .intro_container .dopen{
				background-image: url('../img/open_sp.svg');
			}
			
			#intro .intro_container .dclose{
				background-image: url('../img/close_sp.svg');
			}
	
	#intro .intro_skip{
		width: 15vw;
		height: 15vw;
		bottom: 5vw;
		right: 5vw;
	}

					}





/*-----------------------------------------------------------
	#intro topmovie
-----------------------------------------------------------*/

#topmovie .bg {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1042;
	overflow: hidden;
	position: fixed;
	background: #0b0b0b;
	opacity: 0.8;
}
    
#topmovie {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1001;
}

#topmovie .movieWrap {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1043;
	position: fixed;
	outline: none !important;
	-webkit-backface-visibility: hidden;
	overflow-y: auto;
	overflow-x: hidden;
}
	
	
	
#topmovie .movieBox {
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 8px;
	box-sizing: border-box;
	padding-top: 40px;
	padding-bottom: 40px;
	padding-left: 6px;
	padding-right: 6px;
}
#topmovie .movieBox:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}
  
#topmovie .movieBox .mov {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 1045;
	cursor: auto;
	line-height: 0;
	width: 98%;
	max-width: 900px;
	opacity: 0;
	-webkit-transition: all 0.15s ease-out;
	-moz-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
	opacity: 1;
}

	#topmovie .mov .video {
		width: 100%;
		height: 0;
		overflow: hidden;
		padding-top: 56.25%;
	}
	#topmovie iframe { position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
		background: #000;
		z-index: 1 !important;
	}
