/* 振り分け・個人向け・法人向け・準備中のページの共通の見た目。色は lp/index.html と同じ値にそろえる */
:root{
  --bg:#faf6ee; --surface:#ffffff; --ink:#1f2a44; --muted:#5b6478; --line:#e4dccb;
  --accent:#e9772b; --accent-ink:#1f2a44; --accent-hover:#f08a43; --accent2:#256a5c;
  --hero:#1b2440; --hero-ink:#f5efe3; --hero-muted:#b9c0d4; --soft:#f1eadb;
  --radius:18px; --max:960px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#141a2c; --surface:#1d2540; --ink:#ece6d8; --muted:#a8b0c4; --line:#2e3858;
    --accent:#f08a43; --accent-ink:#1b1206; --accent-hover:#f6a066; --accent2:#5cb8a4;
    --hero:#0e1324; --hero-ink:#f5efe3; --hero-muted:#a8b0c4; --soft:#1a2139;
  }
}
:root[data-theme="dark"]{
  --bg:#141a2c; --surface:#1d2540; --ink:#ece6d8; --muted:#a8b0c4; --line:#2e3858;
  --accent:#f08a43; --accent-ink:#1b1206; --accent-hover:#f6a066; --accent2:#5cb8a4;
  --hero:#0e1324; --hero-ink:#f5efe3; --hero-muted:#a8b0c4; --soft:#1a2139;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  line-height:1.8;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;word-break:auto-phrase}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
@media (max-width:600px){.wrap{padding:0 16px}}
.site-head{background:var(--hero);color:var(--hero-ink)}
.site-head .wrap{display:flex;align-items:center;height:56px}
.brand{font-weight:800;text-decoration:none;white-space:nowrap}
.brand small{font-weight:600;color:var(--hero-muted);margin-left:6px}
.hero{background:var(--hero);color:var(--hero-ink);padding:40px 0 48px}
.hero h1{font-size:clamp(24px,3.4vw,36px);line-height:1.4;font-weight:800}
.hero .lead{margin-top:14px;color:var(--hero-muted);max-width:40em}
section{padding:56px 0}
section.alt{background:var(--soft)}
h2{font-size:clamp(20px,2.6vw,26px);line-height:1.45;margin-bottom:16px}
h3{font-size:18px;line-height:1.5}
p+p{margin-top:10px}
.muted{color:var(--muted);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;
  border:2px solid transparent;font-size:15px;line-height:1.3;text-align:center}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-ghost{border-color:currentColor;background:transparent}
.btn:focus-visible,.choice:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
@media (max-width:700px){.choices{grid-template-columns:1fr}}
.choice{display:block;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:24px;text-decoration:none;color:var(--ink)}
.choice:hover{border-color:var(--accent)}
.choice .tag{display:inline-block;font-size:13px;font-weight:800;color:var(--accent2);letter-spacing:.08em}
.choice h2{margin:6px 0 8px}
.choice ul{margin:10px 0 0 1.2em;color:var(--muted);font-size:14px}
.choice .go{display:inline-block;margin-top:14px;font-weight:800;color:var(--accent2)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:800px){.cards{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}
.card .step{font-size:13px;font-weight:800;color:var(--accent2)}
.card ul{margin:8px 0 0 1.2em;font-size:14px;color:var(--muted)}
.cards .card{display:flex;flex-direction:column}
.card .price{margin-top:12px;font-size:15px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.6}
.card-link{align-self:flex-start;margin-top:auto;padding-top:12px;font-size:14px;font-weight:700;color:var(--ink);text-underline-offset:3px}
.card-link::after{content:" →"}
.card-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
ol.flow{margin-left:1.4em}
ol.flow li+li{margin-top:6px}
ul.plain{margin-left:1.2em}
footer{padding:28px 0;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 20px}
