/* ---- フェードイン(登場アニメーション共通) ---- */
.fade-in {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity var(--duration-slow) var(--ease-base), transform var(--duration-slow) var(--ease-base);
}

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

/* 一覧グリッド内で少しずつ時間差をつける(最大6件まで) */
.card-grid .fade-in:nth-child(1) { transition-delay: 0ms; }
.card-grid .fade-in:nth-child(2) { transition-delay: 60ms; }
.card-grid .fade-in:nth-child(3) { transition-delay: 120ms; }
.card-grid .fade-in:nth-child(4) { transition-delay: 180ms; }
.card-grid .fade-in:nth-child(5) { transition-delay: 240ms; }
.card-grid .fade-in:nth-child(6) { transition-delay: 300ms; }

/* ---- トップページ ロゴ/タイトルロゴのファーストビュー演出 ---- */
.site-hero__logo {
	animation: choko1229-hero-fade-in 900ms var(--ease-base) both;
}

.site-hero__lead {
	animation: choko1229-hero-fade-in 900ms var(--ease-base) 200ms both;
}

@keyframes choko1229-hero-fade-in {
	from {
		opacity: 0;
		transform: translateY(12px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* ---- prefers-reduced-motion: アニメーションを最小限にする ---- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.fade-in {
		opacity: 1;
		transform: none;
	}

	.card:hover,
	.btn:hover,
	.theme-toggle:hover,
	.site-footer__sns-link:hover {
		transform: none;
	}
}
