@charset "utf-8";

/* splash
++++++++++++++++++++++++++++++*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 999999;
	text-align:center;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#splash-logo img{
	width:200px;
}

/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/

.splashbg{
	display: none;
}

body.appear .splashbg{
    display: block;
    position:fixed;
	z-index: 999999;
    width: 100%;
    height: 120vh;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100px), 0 100%);
    top: 0;
	left: 0;
    transform: scaleY(0);
    background-color: var(--main-color);/*伸びる背景色の設定*/
	animation-name:PageAnime;
	animation-duration:1.1s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;

}

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

/*画面遷移の後現れるコンテンツ設定*/

#index-wrapper{
	opacity: 0;/*はじめは透過0に*/
}

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

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

.fv-title, .fv-subtitle, .fv-text {
    opacity: 0;
    transition: opacity 1s ease-in-out;
  }
.fv-text{
  opacity: 0;
  transform: translateY(10px); /* 下に少し下げてスタート */
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fv-text.show{
  opacity: 1;
  transform: translateY(3px); /* 元の位置に戻す */
}