/**
 * メインビジュアル テキストアニメーション
 */

/* 日本語：JSで文字分割するまで非表示（チラつき防止） */
#main_visual .fv-big-text:not(.is-fv-ready) {
	opacity: 0;
}

#main_visual .fv-big-text.is-fv-ready .fv-char {
	display: inline-block;
	opacity: 0;
	transform: translateX(-0.6em);
	animation: fvCharIn var(--fv-char-duration, 0.45s) ease forwards;
}

@keyframes fvCharIn {
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* 英語：日本語完了まで非表示 */
#main_visual .fv-big-en.fv-en-pending {
	opacity: 0;
	transform: translateY(10px);
}

#main_visual .fv-big-en.is-fv-visible {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

/* アニメーション軽減設定 */
@media (prefers-reduced-motion: reduce) {
	#main_visual .fv-big-text:not(.is-fv-ready) {
		opacity: 1;
	}

	#main_visual .fv-big-text.is-fv-ready .fv-char {
		opacity: 1;
		transform: none;
		animation: none;
	}

	#main_visual .fv-big-en.fv-en-pending {
		opacity: 1;
		transform: none;
	}
}
