@charset "utf-8";

/* ############################################### */
/* 頁 スタイルシート */
/* ############################################### */



/* ローディング画面 */
#loading {
	width: 100%;
	height: 100vh;
	transition: all 1.6s;
	background-color: #274a78;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.loaded {
	opacity: 0;
	visibility: hidden;
}

.spinner {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;

	width: 100px;
	height: 100px;

	/* background-color: #fff; */
	border-radius: 100%;
	animation: sk-scaleout 1.0s infinite ease-in-out;
}

@keyframes sk-scaleout {
	0% {
		transform: scale(0);
	} 100% {
		transform: scale(1.0);
		opacity: 0;
	}
}



/* ### HOME ### */
/* -------------------------------------------------------------------------------- */

.h_animation_home{
	opacity: 0;
}

.h_animation_home.h_active{
	animation: fadeup1 1.0s cubic-bezier(0.77, 0, 0.175, 1) 1 forwards;
}

.h_animation_main1.h_active{
	animation-delay: 1.0s;
}
.h_animation_main2.h_active{
	animation-delay: 1.6s;
}
.h_animation_main3.h_active{
	animation-delay: 2.4s;
}

@keyframes fadeup1 {
	0% {
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}


/* -------------------------------------------------------------------------------- */

.h_animation.h_visual{
	opacity: 0;
}

.h_animation.h_visual.h_active{
	animation: fadeup2 0.8s cubic-bezier(0.77, 0, 0.175, 1) 1 forwards;
	animation-delay: 0.2s;
}

@keyframes fadeup2 {
	0% {
		transform: translateY(20px);
		opacity: 0;
	}
	80% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

