:root{--paper: #faf9f5;--paper-2: #f2f0e9;--ink: #1f1d1a;--ink-soft: #3d3a35;--muted: #6e6a62;--line: #e5e1d8;--accent: #b24a2e;--accent-soft: #f0e3dc;--accent-ink: #8f3a22;--serif: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--sans: -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;--wrap: 760px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.85;font-size:clamp(16px,.92rem + .35vw,18px);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;line-break:strict}a{color:var(--accent);text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.hwrap{max-width:var(--wrap);margin:0 auto;padding:1rem 1.3rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink)}.brand .mark{display:grid;place-items:center;width:30px;height:30px;background:var(--accent);color:#fff;border-radius:7px;font-family:var(--serif);font-weight:700;font-size:1rem;line-height:1}.brand .word{font-family:var(--serif);font-weight:600;font-size:1.18rem;letter-spacing:.01em}nav{display:flex;gap:1.2rem}nav a{color:var(--ink-soft);text-decoration:none;font-size:.92rem;padding-bottom:2px;border-bottom:2px solid transparent}nav a:hover{color:var(--accent)}nav a.on{color:var(--ink);border-bottom-color:var(--accent)}main{max-width:var(--wrap);margin:0 auto;padding:2.6rem 1.3rem 4rem}.site-footer{border-top:1px solid var(--line);background:var(--paper-2);margin-top:4rem}.fwrap{max-width:var(--wrap);margin:0 auto;padding:2.4rem 1.3rem}.fbrand{font-family:var(--serif);font-weight:600;font-size:1.05rem;margin:0 0 .4rem}.fnote{color:var(--muted);font-size:.86rem;line-height:1.7;margin:0 0 1rem}.fcopy{color:var(--muted);font-size:.8rem;margin:0}h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.4;font-weight:600;letter-spacing:.01em;text-wrap:balance}h1{font-size:1.9rem}h2{font-size:1.4rem;margin-top:2.6rem}h3{font-size:1.12rem;margin-top:1.8rem}p{color:var(--ink-soft)}strong{font-weight:700;color:var(--ink)}hr{border:none;border-top:1px solid var(--line);margin:2.4rem 0}img{max-width:100%;height:auto;border-radius:6px}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 .6rem}.lead{font-size:1.05rem;color:var(--ink-soft)}.btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;font-weight:600;text-decoration:none;padding:.6rem 1.1rem;border-radius:8px;border:1px solid transparent;transition:transform .08s ease,background .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#9c3f26}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.card-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}@media(min-width:620px){.card-grid.two{grid-template-columns:1fr 1fr}}.card{display:block;text-decoration:none;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.5rem;transition:border-color .15s ease,transform .1s ease}a.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card h3{margin:0 0 .35rem;font-size:1.16rem}.card p{margin:0;color:var(--muted);font-size:.9rem}.hero{border-bottom:1px solid var(--line)}.hero .lead{max-width:38rem}@media print{.site-header,.site-footer,.video,.actions,.print-pop,.note-nav,.note-toc,.crumb,.back,.breadcrumb{display:none!important}body{background:#fff;color:#000;font-size:11pt;line-height:1.7}main{max-width:100%;margin:0;padding:0}a{color:#000;text-decoration:none}h2,h3{break-after:avoid}.prose :global(img),.prose img,table,blockquote{break-inside:avoid}.prose :global(blockquote),.statutes{background:#fff;border:1px solid #000;border-left:3px solid #000;-webkit-print-color-adjust:exact;print-color-adjust:exact}.prose :global(blockquote strong),.statutes :global(*){color:#000}}
