/* base.css : 共通レイアウト・fade-in */

/* JS無効環境で fade-in が常時表示 */
.fade-in { opacity: 1; transform: translateY(0); }

/* JS-loaded時のみ初期非表示 → IntersectionObserverで .visible 付与 → 表示 */
.js-loaded .fade-in { opacity: 0; transform: translateY(28px); transition: opacity 0.8s ease, transform 0.8s ease; }
.js-loaded .fade-in.visible { opacity: 1; transform: translateY(0); }

/* 共通 reset 最低限 */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--font-jp, 'Noto Sans JP', sans-serif); color: var(--is-navy, #060E29); background: var(--white, #fff); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }
