:root{
  --ink:#11211b;
  --cream:#f5f0e6;
  --green:#174b38;
  --green-2:#0e3829;
  --lime:#d8ef87;
  --red:#e7473c;
  --blue:#2878c7;
  --yellow:#edb72f;
  --cardgreen:#2b9b66;
  --muted:#65736b;
  --line:#dce3de;
  --surface:rgba(255,255,255,.88);
  --shadow:0 18px 55px rgba(10,30,22,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 15% 4%,#fff 0 1.8%,transparent 24%),linear-gradient(145deg,#f7f1e5,#e9f0dc);color:var(--ink);font-family:Inter,"Hiragino Sans","Yu Gothic",system-ui,-apple-system,sans-serif;line-height:1.75}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px}
button{font:inherit}
.shell{width:min(940px,calc(100% - 28px));margin:0 auto;padding:22px 0 58px}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -4px 20px;padding:10px 4px;background:linear-gradient(180deg,rgba(245,240,230,.98),rgba(245,240,230,.86) 78%,transparent);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:10px;color:var(--green);font-weight:950;letter-spacing:.08em;text-decoration:none;font-size:13px}.brand-mark{display:flex;gap:3px;font-size:10px}.brand-mark i{font-style:normal}.brand-mark i:nth-child(1){color:var(--red)}.brand-mark i:nth-child(2){color:var(--yellow)}.brand-mark i:nth-child(3){color:var(--blue)}.brand-mark i:nth-child(4){color:var(--cardgreen)}
.lang-switch{display:flex;padding:3px;border:1px solid rgba(23,75,56,.14);border-radius:999px;background:#fff;box-shadow:0 4px 14px rgba(23,75,56,.08)}.lang-switch button{border:0;background:transparent;color:#718079;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:900;cursor:pointer}.lang-switch button.active{background:var(--green);color:#fff}
.hero{background:var(--surface);border:1px solid rgba(23,75,56,.14);border-radius:28px;padding:clamp(24px,6vw,52px);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.eyebrow{margin:0 0 8px;color:var(--green);font-size:11px;font-weight:950;letter-spacing:.18em}.hero h1{margin:0;font-size:clamp(32px,7vw,56px);line-height:1.05;letter-spacing:-.045em}.hero .lead{max-width:760px;margin:18px 0 0;color:var(--muted);font-size:15px}.meta{margin-top:15px;color:#7a877f;font-size:12px}.hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.pill-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #d2dbd5;border-radius:999px;background:#fff;color:var(--green);font-size:11px;font-weight:900;text-decoration:none}.pill-link.primary{background:var(--green);border-color:var(--green);color:#fff}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.toc a{padding:8px 11px;border-radius:10px;background:rgba(255,255,255,.78);border:1px solid #dbe3dd;font-size:11px;font-weight:850;text-decoration:none}
.section{margin-top:18px;padding:clamp(20px,4vw,32px);background:var(--surface);border:1px solid rgba(23,75,56,.12);border-radius:22px;box-shadow:0 10px 30px rgba(10,30,22,.08)}
.section-number{display:inline-grid;place-items:center;min-width:29px;height:29px;padding:0 8px;border-radius:999px;background:var(--lime);color:var(--green);font-size:11px;font-weight:950}.section h2{margin:10px 0 8px;font-size:clamp(21px,4vw,30px);line-height:1.2}.section h3{margin:22px 0 6px;color:var(--green);font-size:16px}.section p{margin:8px 0;color:#35433b}.section ul,.section ol{margin:9px 0;padding-left:1.4em}.section li{margin:6px 0}.section code{padding:2px 6px;border-radius:6px;background:#eef2ef;color:#244437;font-size:.92em}
.step-grid,.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.step,.feature{padding:15px;border:1px solid #dde5df;border-radius:15px;background:#fff}.step small,.feature small{display:block;color:#7a877f;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.step strong,.feature strong{display:block;margin-top:3px;color:var(--green);font-size:14px}.step p,.feature p{margin:5px 0 0;font-size:12px;line-height:1.6;color:#65736b}
.callout{margin:14px 0 0;padding:14px 16px;border-left:4px solid var(--lime);border-radius:0 12px 12px 0;background:#f4f8e7;color:#415047}.callout.warn{border-left-color:var(--yellow);background:#fff7df}.callout strong{color:var(--green)}
.table-wrap{overflow-x:auto;margin-top:12px}.info-table{width:100%;border-collapse:separate;border-spacing:0;min-width:620px;border:1px solid #dce3de;border-radius:14px;overflow:hidden;background:#fff}.info-table th,.info-table td{padding:10px 12px;border-bottom:1px solid #e5eae6;text-align:left;vertical-align:top;font-size:12px}.info-table th{background:#f0f4f1;color:var(--green);font-weight:950}.info-table tr:last-child td{border-bottom:0}
.rule-list{display:grid;gap:8px;margin-top:12px}.rule{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e0e6e2}.rule i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef5d3;color:var(--green);font-style:normal;font-weight:950;font-size:11px}.rule strong{display:block;font-size:12px;color:var(--green)}.rule span{display:block;margin-top:2px;color:#69756e;font-size:11px}
.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 4px 0;color:#76827b;font-size:11px}.footer nav{display:flex;flex-wrap:wrap;gap:12px}
[data-lang-block="en"]{display:none}
html[data-lang="en"] [data-lang-block="ja"]{display:none}
html[data-lang="en"] [data-lang-block="en"]{display:block}
.inline-en,html[data-lang="en"] .inline-ja{display:none}html[data-lang="en"] .inline-en{display:inline}
@media(max-width:650px){.shell{width:min(100% - 18px,940px);padding-top:10px}.topbar{margin-bottom:10px}.brand{font-size:11px}.hero{border-radius:22px;padding:24px 19px}.section{padding:19px 16px;border-radius:18px}.step-grid,.feature-grid{grid-template-columns:1fr}.toc{gap:6px}.toc a{font-size:10px;padding:7px 9px}.footer{padding-left:2px;padding-right:2px}}
