:root{--ink:#1d2b2a;--ink-soft:#3f504e;--muted:#64716f;--paper:#f4f7f3;--surface:#fff;--line:#d9e2dc;--sage:#2f7d6d;--sage-deep:#1f5f52;--stamp:#c8402f;--sun:#e9a21b;--sun-soft:#fdf3dc;--focus:#2563eb;--display:"M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;--body:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;--step--1:.875rem;--step-0:1rem;--step-1:1.2rem;--step-2:1.5rem;--step-3:2rem}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--step-0);margin:0;line-height:1.85;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:var(--sage-deep);text-underline-offset:3px}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0 0 .6em;font-weight:800;line-height:1.4}h1{font-size:clamp(1.8rem,5.5vw,2.6rem)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1);font-weight:700}p{margin:0 0 1em}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.wrap{width:min(100% - 32px,1040px);margin-inline:auto}.narrow{width:min(100% - 32px,720px);margin-inline:auto}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--surface);z-index:10;padding:8px 12px;top:16px;left:16px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:60px;display:flex}.logo{font-family:var(--display);color:var(--ink);align-items:center;gap:8px;font-size:1.1rem;font-weight:800;text-decoration:none;display:flex}.logo-mark{border:2.5px solid var(--stamp);border-radius:50%;width:24px;height:24px;position:relative}.logo-mark:after{content:"";background:var(--stamp);opacity:.85;border-radius:50%;position:absolute;inset:5px}.site-header nav ul{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--ink-soft);font-size:var(--step--1);padding:4px 0;font-weight:600;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--sage)}@media (width<=640px){.header-inner{padding-block:10px}.site-header nav{width:100%;overflow-x:auto}.site-header nav ul{flex-wrap:nowrap}.site-header nav a{white-space:nowrap}}.site-footer{background:var(--ink);color:#cfdcd8;font-size:var(--step--1);margin-top:96px;padding:40px 0 48px}.site-footer a{color:#fff}.footer-lead{max-width:44em}.footer-links{flex-wrap:wrap;gap:8px 20px;margin:0 0 16px;padding:0;list-style:none;display:flex}.footer-note{color:#9fb0ab}.btn{border:2px solid var(--sage);background:var(--surface);min-height:48px;color:var(--sage-deep);font-family:var(--display);font-weight:700;font-size:var(--step-0);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--sage);color:#fff}.btn-primary:hover{background:var(--sage-deep);border-color:var(--sage-deep)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.notice{border-left:4px solid var(--sun);background:var(--sun-soft);font-size:var(--step--1);border-radius:0 10px 10px 0;padding:12px 16px}label,legend{font-weight:700;font-size:var(--step--1)}input[type=text],input[type=date],select{font:inherit;border:1.5px solid var(--line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);border-radius:10px;padding:8px 12px}.prose h2{margin-top:2em}.prose h3{margin-top:1.6em}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.4em}.table-scroll{margin-bottom:1.5em;overflow-x:auto}.prose table,table.data{border-collapse:collapse;width:100%;font-size:var(--step--1);background:var(--surface)}.prose th,.prose td,table.data th,table.data td{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.source{font-size:var(--step--1);color:var(--muted)}.breadcrumb{font-size:var(--step--1);color:var(--muted);padding-top:20px}.breadcrumb ol{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";margin-right:4px}.breadcrumb a{color:var(--muted)}.ad-slot{max-width:728px;min-height:120px;margin:40px auto}.ad-label{color:var(--muted);margin-bottom:4px;font-size:.7rem;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
