/* =============================
   CMI TOP Scroll Reveal
   TOPページ用：スクロールで次セクションを表示
   カルーセル・sticky見出しには干渉しない
============================= */

.cmiTopReveal{
	opacity: 0;
	transform: translateY(72px);
	transition:
		opacity 1.05s cubic-bezier(0.16, 1, 0.3, 1),
		transform 1.05s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

.cmiTopReveal.is-cmiTopReveal-visible{
	opacity: 1;
	transform: translateY(0);
}

/* 見出しだけ少し遅らせる */
.cmiTopReveal .cmiHomeCards__head{
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.08s,
		transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.08s;
}

.cmiTopReveal.is-cmiTopReveal-visible .cmiHomeCards__head{
	opacity: 1;
	transform: translateY(0);
}

/* 中身はさらに少し遅らせる */
.cmiTopReveal .cmiHomeCards__body,
.cmiTopReveal .cmiHomeCarousel,
.cmiTopReveal .cmiHomeCards__aboutPanel{
	opacity: 0;
	transform: translateY(36px);
	transition:
		opacity 1.05s cubic-bezier(0.16, 1, 0.3, 1) 0.18s,
		transform 1.05s cubic-bezier(0.16, 1, 0.3, 1) 0.18s;
}

.cmiTopReveal.is-cmiTopReveal-visible .cmiHomeCards__body,
.cmiTopReveal.is-cmiTopReveal-visible .cmiHomeCarousel,
.cmiTopReveal.is-cmiTopReveal-visible .cmiHomeCards__aboutPanel{
	opacity: 1;
	transform: translateY(0);
}

/* スマホは少し控えめ */
@media screen and (max-width: 767px){

	.cmiTopReveal{
		transform: translateY(48px);
		transition-duration: 0.9s;
	}

	.cmiTopReveal .cmiHomeCards__head{
		transform: translateY(20px);
	}

	.cmiTopReveal .cmiHomeCards__body,
	.cmiTopReveal .cmiHomeCarousel,
	.cmiTopReveal .cmiHomeCards__aboutPanel{
		transform: translateY(28px);
	}
}

/* アニメーション軽減設定 */
@media (prefers-reduced-motion: reduce){

	.cmiTopReveal,
	.cmiTopReveal .cmiHomeCards__head,
	.cmiTopReveal .cmiHomeCards__body,
	.cmiTopReveal .cmiHomeCarousel,
	.cmiTopReveal .cmiHomeCards__aboutPanel{
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		will-change: auto !important;
	}
}

.cmiTopReveal .cmiHomeCards__grid--article{
	opacity: 0;
	transform: translateY(36px);
	transition:
		opacity 1.05s cubic-bezier(0.16, 1, 0.3, 1) 0.18s,
		transform 1.05s cubic-bezier(0.16, 1, 0.3, 1) 0.18s;
}

.cmiTopReveal.is-cmiTopReveal-visible .cmiHomeCards__grid--article{
	opacity: 1;
	transform: translateY(0);
}