@charset "UTF-8";
/*---------------------------------
ローディングアニメーション用 styleSheet
----------------------------------*/

/*====== ローディング画面のためのCSS ======*/
#splash {
	/* fixedで全面に固定 */
	position: fixed;
	z-index: 10000;
    top: 0;
    left: 0;
	width: 100%;
	height: 100%;
	background: #fefefe;
	text-align: center;
	color: #fff;
}

/* Loading画像中央配置 */
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Loadingアイコンの大きさ設定 */
#splash_logo img {
	width: 300px;
}

@media (max-width:600px) {
	#splash_logo img {
		width: 180px;
	}
}

/* fadeUpをするアイコンの動き */
.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*======= 画面遷移のためのCSS =======*/
body {
	background: #fefefe; /* 遷移アニメーションと同じ色を指定 */
}

body.appear{
	background: #fcfcfc; /* 画面を開いた後の背景色を指定 */
}

/* 画面遷移アニメーション */
.splashbg1,
.splashbg2{
	display: none;
}

/* bodyにappearクラスがついたら出現 */
body.appear .splashbg1,
body.appear .splashbg2 {
	display: block;
}

/* 上に消えるエリア */
body.appear .splashbg1 {
	animation-name:PageAnime;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
	content: "";
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100vh;
	bottom: 50%;
	left: 0;
	transform: scaleY(1);
	background-color: #fefefe;
}

@keyframes PageAnime {
	0% {
		transform-origin: top;
		transform: scaleY(1);
	}

	100% {
		transform-origin: top;
		transform: scaleY(0);
	}
}

/* 下に消えるエリア */
body.appear .splashbg2 {
	animation-name: PageAnime2;
	animation-duration: 1.2s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
	content: "";
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100vh;
	top: 50%;
	left: 0;
	transform: scaleY(1);
	background-color: #fefefe; /* 伸びる背景色の設定　*/
}

@keyframes PageAnime2 {
	0% {
		transform-origin: bottom;
		transform: scaleY(1);
	}

	100% {
		transform-origin: bottom;
		transform: scaleY(0);
	}
}

/* 画面遷移の後現れるコンテンツ設定 */
#all_cover {
	opacity: 0; /* はじめは透過０に */
}

/* bodyにappearクラスがついたら出現 */
body.appear #all_cover { 
	animation-name: PageAnimeAppear;
	animation-duration: 1s;
	animation-delay: 0.2s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
