:root{
  --bg:#F6F2EC;        /* グレージュ地 */
  --paper:#FFFFFF;
  --ink:#33302B;       /* 墨 */
  --muted:#7A736A;
  --navy:#2B3A46;      /* 落ち着いた紺 */
  --terra:#BE7355;     /* テラコッタ挿し色 */
  --line:#E4DCD1;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{width:min(1040px,92%);margin-inline:auto}
h1,h2,h3,.logo{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;letter-spacing:.04em}
a{color:inherit;text-decoration:none}

/* header */
.site-header{position:sticky;top:0;z-index:10;background:rgba(246,242,236,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-size:1.35rem;color:var(--navy);line-height:1.15}
.logo-sub{display:block;font-family:sans-serif;font-size:.62rem;letter-spacing:.3em;color:var(--muted);margin-top:1px}
.nav a{margin-left:1.6rem;font-size:.9rem;color:var(--muted)}
.nav a:hover{color:var(--terra)}

/* disclosure（控えめ・法的表記は残す） */
.disclosure{background:transparent;color:var(--muted);font-size:.68rem;letter-spacing:.01em;border-bottom:1px solid var(--line)}
.disclosure .wrap{padding:6px 0;text-align:center}

/* hero */
.hero{padding:88px 0 72px;text-align:center;background:
  radial-gradient(120% 90% at 50% -10%, #FBF8F3 0%, var(--bg) 60%)}
.hero-eyebrow{font-size:.82rem;letter-spacing:.24em;color:var(--terra);margin-bottom:18px}
.hero h1{font-size:clamp(2.2rem,6vw,3.4rem);color:var(--navy);line-height:1.28;margin-bottom:24px}
.hero-lead{color:var(--muted);font-size:1.02rem;margin-bottom:34px}
.hero-lead strong{color:var(--ink)}
.btn{display:inline-block;background:var(--terra);color:#fff;padding:14px 34px;border-radius:999px;font-size:.95rem;letter-spacing:.06em;transition:.2s}
.btn:hover{background:#a95f43;transform:translateY(-1px)}

/* section */
.section{padding:72px 0}
.section-alt{background:var(--paper);border-block:1px solid var(--line)}
.section-eyebrow{font-size:.75rem;letter-spacing:.3em;color:var(--terra);text-align:center;margin-bottom:12px}
.section h2{font-size:clamp(1.5rem,4vw,2rem);color:var(--navy);text-align:center;margin-bottom:44px}

/* concept */
.concept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.concept-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:34px 28px}
.section-alt .concept-card{background:var(--bg)}
.concept-num{font-family:serif;font-size:1.6rem;color:var(--terra);margin-bottom:10px}
.concept-card h3{font-size:1.12rem;margin-bottom:12px}
.concept-card p{color:var(--muted);font-size:.92rem}

/* scene */
.scene-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.scene-card{position:relative;border:1px solid var(--line);border-radius:14px;padding:30px 26px;background:var(--bg)}
.scene-card--lead{grid-column:1/-1;background:linear-gradient(135deg,#fff 0%,#F3EBE2 100%);border-color:#E7D6C8}
.scene-badge{display:inline-block;background:var(--terra);color:#fff;font-size:.72rem;padding:4px 12px;border-radius:999px;letter-spacing:.08em;margin-bottom:14px}
.scene-card h3{font-size:1.15rem;margin-bottom:10px;color:var(--navy)}
.scene-card--lead h3{font-size:1.4rem}
.scene-card p{color:var(--muted);font-size:.92rem;margin-bottom:14px}
.scene-status{display:inline-block;font-size:.76rem;letter-spacing:.14em;color:var(--terra);border:1px solid var(--terra);border-radius:999px;padding:3px 14px}
.scene-card--soon{display:flex;flex-direction:column;justify-content:space-between;opacity:.85}

/* footer */
.site-footer{background:var(--navy);color:#D7CFC4;padding:52px 0 40px;text-align:center}
.footer-logo{font-family:serif;font-size:1.3rem;color:#F1EAE0;margin-bottom:16px}
.footer-note{font-size:.78rem;line-height:1.9;max-width:640px;margin:0 auto 20px}
.footer-note strong{color:#fff}
.footer-copy{font-size:.72rem;color:#9AA6AE;letter-spacing:.1em}
