:root{--bg: #ffffff;--ink: #1f2328;--ink-2: #5b6370;--rule: #d9dde3;--green: #0d6b4f;--green-strong: #0a5540;--green-bg: #e8f3ee;--track: #cfe3d9;--amber: #9a5200;--amber-bg: #fdf1e2;--on-accent: #ffffff;--bar-muted: #b7c0c9;--paper: var(--bg);--surface: var(--bg);--line: var(--rule);--line-strong: var(--rule);--indigo: var(--green);--indigo-strong: var(--green-strong);--indigo-tint: var(--green-bg);--seal: var(--amber);--seal-tint: var(--amber-bg);--font-sans: "BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--font-serif: "BIZ UDPMincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--fs-xs: .8125rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-body: 1.0625rem;--fs-h3: 1.1875rem;--fs-h2: 1.3125rem;--fs-h1: clamp(1.5rem, 1.1rem + 1.6vw, 1.875rem);--lh-body: 1.85;--lh-tight: 1.45;--step--1: var(--fs-sm);--step-0: var(--fs-md);--step-1: var(--fs-h3);--step-2: var(--fs-h2);--step-hero: var(--fs-h1);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 2.5rem;--sp-8: 3.5rem;--r-tag: 3px;--r-panel: 6px;--radius: var(--r-panel);--radius-sm: var(--r-tag);--maxw: 680px;--maxw-wide: 1200px;--measure: 640px;--note-w: 256px;--chap-w: 160px;--z-base: 1;--z-header: 10;--z-overlay: 100}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-feature-settings:"palt" 0;overflow-wrap:anywhere}h1,h2,h3{font-family:var(--font-serif);font-weight:700;line-height:var(--lh-tight);margin:0;word-break:auto-phrase}p{margin:0}a{color:var(--green);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--green-strong);text-decoration-thickness:2px}strong{font-weight:700}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--sp-4)}.container--wide{max-width:var(--maxw-wide);padding:0 var(--sp-6)}.site-header{border-bottom:1px solid var(--rule);background:var(--bg)}.site-header .container{display:flex;align-items:center;gap:var(--sp-5);min-height:64px;max-width:var(--maxw-wide);padding:0 var(--sp-6)}.brand{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--ink);text-decoration:none;margin-right:auto;white-space:nowrap;flex-shrink:0}.brand:hover{color:var(--ink)}.brand-name{font-family:var(--font-serif);font-weight:700;font-size:var(--fs-h3)}.brand-note{font-size:var(--fs-xs);color:var(--ink-2)}.seal{display:none}.site-nav{display:flex;gap:var(--sp-5);font-size:var(--fs-sm)}.site-nav a{color:var(--ink);text-decoration:none;white-space:nowrap}.site-nav a:hover{color:var(--green);text-decoration:underline}.site-nav a[aria-current=page]{color:var(--green);font-weight:700}.menu{display:none}.menu summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid var(--rule);border-radius:var(--r-panel);font-size:var(--fs-xs);padding:0 var(--sp-2)}.menu summary::-webkit-details-marker{display:none}.menu nav{position:absolute;left:0;right:0;top:64px;z-index:var(--z-overlay);background:var(--bg);border-bottom:1px solid var(--rule);padding:var(--sp-2) var(--sp-4) var(--sp-4);display:grid}.menu nav a{padding:var(--sp-3) 0;border-top:1px solid var(--rule);color:var(--ink);text-decoration:none;font-size:var(--fs-md)}main{padding:var(--sp-6) 0 var(--sp-8)}.stack>*+*{margin-top:var(--sp-6)}.hero{padding:var(--sp-2) 0 0}.eyebrow{display:block;font-size:var(--fs-xs);color:var(--green);font-weight:700;margin-bottom:var(--sp-2)}.hero h1{font-size:var(--fs-h1)}.hero h1+.lead,.hero .lead{margin-top:var(--sp-3)}.lead{color:var(--ink-2);font-size:var(--fs-md)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--sp-2) var(--sp-5);background:var(--green);color:var(--on-accent);border:1px solid var(--green);border-radius:var(--r-panel);font-family:inherit;font-size:var(--fs-md);font-weight:700;text-decoration:none;cursor:pointer}.btn:hover{background:var(--green-strong);color:var(--on-accent);text-decoration:none}.btn:active{background:var(--green-strong)}.btn--ghost{background:var(--bg);color:var(--green)}.btn--ghost:hover{background:var(--green-bg);color:var(--green-strong)}.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-4)}.card{border-top:1px solid var(--rule);padding-top:var(--sp-5)}.card>h2{font-size:var(--fs-h2)}.card>h2:not(:last-child){margin-bottom:var(--sp-3)}.card>.lead{margin-top:var(--sp-2)}.list{margin:0;padding:0;list-style:none}.list li{padding:var(--sp-2) 0;border-bottom:1px solid var(--rule);font-size:var(--fs-md)}.list li:last-child{border-bottom:0}.tasks{margin:0;padding:0;list-style:none;counter-reset:task}.tasks li{position:relative;padding:var(--sp-3) 0 var(--sp-3) var(--sp-6);border-bottom:1px solid var(--rule);font-size:var(--fs-md)}.tasks li:last-child{border-bottom:0}.tasks li:before{content:"";position:absolute;left:0;top:calc(var(--sp-3) + .35em);width:1.1em;height:1.1em;border:2px solid var(--green);border-radius:var(--r-tag)}.callout{background:var(--green-bg);border-radius:var(--r-panel);padding:var(--sp-5)}.callout>h2{font-size:var(--fs-h2);margin-bottom:var(--sp-2)}.note{font-size:var(--fs-sm);color:var(--ink-2)}.muted{color:var(--ink-2)}.pill{display:inline-block;font-size:var(--fs-xs);padding:0 var(--sp-2);border-radius:var(--r-tag);background:var(--amber-bg);color:var(--amber);font-weight:700}.qgroup{border:0;margin:0;padding:0}.qgroup legend,.q{font-weight:700;font-size:var(--fs-md);margin-bottom:var(--sp-3);padding:0}.choices{display:grid;gap:var(--sp-2)}.choice{display:flex;align-items:center;gap:var(--sp-3);min-height:48px;padding:var(--sp-2) var(--sp-4);border:1px solid var(--rule);border-radius:var(--r-panel);background:var(--bg);cursor:pointer;font-size:var(--fs-md)}.choice:hover{border-color:var(--green)}.choice:has(input:checked){border-color:var(--green);background:var(--green-bg)}.choice input{accent-color:var(--green);width:1.1em;height:1.1em}input[type=email],select{width:100%;min-height:48px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--rule);border-radius:var(--r-panel);font:inherit;font-size:var(--fs-md);background:var(--bg);color:var(--ink)}input[type=email]:focus,select:focus{border-color:var(--green);outline:none}label.inline-label{display:block;font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--sp-1)}.field+.field{margin-top:var(--sp-4)}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.hp{position:absolute;left:-9999px}.site-footer{border-top:1px solid var(--rule);padding:var(--sp-6) 0 var(--sp-7);font-size:var(--fs-sm);color:var(--ink-2)}.site-footer .container{max-width:var(--maxw-wide);padding:0 var(--sp-6);display:grid;gap:var(--sp-3)}.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5)}.site-footer a{color:var(--ink)}.card-link{display:block;text-decoration:none;color:var(--ink)}.card-link:hover{color:var(--ink)}.card-link h2{font-size:var(--fs-h3);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}.card-link:hover h2{color:var(--green);text-decoration-color:var(--green)}.card-link .lead{margin-top:var(--sp-1);font-size:var(--fs-sm)}.toc-label{font-size:var(--fs-xs);color:var(--ink-2);letter-spacing:.1em;margin-bottom:var(--sp-2)}.chapters{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6) var(--sp-7)}.chapter-no{display:inline-block;font-size:var(--fs-xs);color:var(--on-accent);background:var(--green);padding:0 var(--sp-2);border-radius:var(--r-tag);margin-bottom:var(--sp-1)}.chapter h2,.chapter h3{font-size:var(--fs-h3);margin-bottom:var(--sp-2)}.chapter ul{margin:0;padding:0;list-style:none}.chapter li{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);padding:var(--sp-2) 0;border-top:1px solid var(--rule);font-size:var(--fs-md);line-height:1.6}.chapter li a{color:var(--ink);text-decoration-color:var(--bar-muted)}.chapter li a:hover{color:var(--green);text-decoration-color:var(--green)}.deadline-tag{font-size:var(--fs-xs);color:var(--amber);background:var(--amber-bg);padding:0 var(--sp-2);border-radius:var(--r-tag)}.chapter .soon{font-size:var(--fs-sm);color:var(--ink-2);border-top:1px solid var(--rule);padding-top:var(--sp-2)}.home{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--sp-8)}.home-side h1{font-size:var(--fs-h1);word-break:keep-all;margin-bottom:var(--sp-3)}.home-side .lead{font-size:var(--fs-md)}.diag-box{margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);background:var(--green-bg);border-radius:var(--r-panel);font-size:var(--fs-sm)}.diag-box b{display:block;color:var(--green);font-size:var(--fs-md)}.diag-box .btn{margin-top:var(--sp-3)}.home-sub{margin-top:var(--sp-8);display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--sp-8)}.home-sub h2{font-size:var(--fs-h2);margin-bottom:var(--sp-3)}.article{display:grid;grid-template-columns:var(--chap-w) minmax(0,1fr);gap:var(--sp-7)}.article--solo{grid-template-columns:minmax(0,1fr)}.chap-nav{align-self:start;position:sticky;top:var(--sp-4);font-size:var(--fs-sm);color:var(--ink-2);border-left:2px solid var(--rule);padding-left:var(--sp-3)}.chap-nav b{display:block;color:var(--green);margin-bottom:var(--sp-2);font-size:var(--fs-xs)}.chap-nav ol{margin:0;padding:0;list-style:none}.chap-nav li{padding:var(--sp-1) 0;line-height:1.5}.chap-nav a{color:var(--ink-2);text-decoration:none}.chap-nav a:hover{color:var(--green);text-decoration:underline}.chap-nav a[aria-current=page]{color:var(--ink);font-weight:700}.article-head{max-width:var(--measure)}.article-meta{font-size:var(--fs-xs);color:var(--ink-2)}.article-head h1{font-size:var(--fs-h1);margin:var(--sp-2) 0 var(--sp-5)}.article-after{max-width:var(--measure);margin-top:var(--sp-7)}.article-after>*+*{margin-top:var(--sp-7)}.prose{max-width:calc(var(--measure) + var(--sp-7) + var(--note-w));padding-right:calc(var(--sp-7) + var(--note-w))}.prose.card{border-top:0;padding-top:0}.prose>*{margin-top:0;margin-bottom:0}.prose>*+*{margin-top:var(--sp-5)}.prose h2{font-size:var(--fs-h2);margin-top:var(--sp-7);padding-top:var(--sp-4);border-top:1px solid var(--rule)}.prose h3{font-size:var(--fs-h3);margin-top:var(--sp-6)}.prose h2+*,.prose h3+*{margin-top:var(--sp-3)}.prose p,.prose li{font-size:var(--fs-body)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:var(--sp-2)}.prose a{color:var(--green)}.prose blockquote{margin-left:0;margin-right:0;padding:var(--sp-4) var(--sp-5);background:var(--amber-bg);border-radius:var(--r-panel);font-size:var(--fs-sm)}.prose blockquote p{font-size:var(--fs-sm)}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);line-height:1.6}.prose th,.prose td{border-top:1px solid var(--rule);padding:var(--sp-2) var(--sp-2) var(--sp-2) 0;text-align:left;vertical-align:top}.prose th{color:var(--ink-2);font-weight:700}.prose .mn{float:right;clear:right;width:var(--note-w);margin-right:calc((var(--sp-7) + var(--note-w)) * -1);font-size:var(--fs-sm);line-height:1.7;border-left:3px solid var(--green);padding:var(--sp-1) 0 var(--sp-1) var(--sp-3)}.prose h2+.mn,.prose h3+.mn{margin-top:var(--sp-3)}.prose .mn+*{margin-top:var(--sp-5)}.prose h2+.mn+*,.prose h3+.mn+*{margin-top:var(--sp-3)}.mn .k{display:block;font-size:var(--fs-xs);color:var(--green);letter-spacing:.08em;font-weight:700}.prose .mn.dl{border-left-color:var(--amber)}.mn.dl .k{color:var(--amber)}.mn strong{font-size:var(--fs-md)}.mn q{display:block;margin-top:var(--sp-1);quotes:"「" "」"}.deadline{background:var(--green-bg);border-radius:var(--r-panel);padding:var(--sp-4) var(--sp-5) var(--sp-5);margin-left:0;margin-right:0}.deadline figcaption{font-size:var(--fs-xs);color:var(--green);font-weight:700;margin-bottom:var(--sp-5)}.deadline ol{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--sp-2);margin:0;padding:0;list-style:none}.deadline ol:before{content:"";position:absolute;left:0;right:0;top:7px;height:6px;background:var(--track);border-radius:var(--r-tag)}.deadline li{position:relative;padding-top:26px;font-size:var(--fs-sm);line-height:1.45;margin:0}.deadline li:before{content:"";position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--bg);border:4px solid var(--green)}.deadline li.dl:before{border-color:var(--amber)}.deadline b{display:block;font-size:var(--fs-md)}.deadline small{display:block;color:var(--ink-2);font-size:var(--fs-xs)}.keysheet{background:var(--green-bg);border-radius:var(--r-panel);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-sm);margin:0}.keysheet h2{font-size:var(--fs-md);font-family:var(--font-sans);margin-bottom:var(--sp-1)}.keysheet>div{display:grid;grid-template-columns:5em 1fr;gap:var(--sp-3);padding:var(--sp-2) 0;border-top:1px solid var(--track);line-height:1.6}.keysheet dt{color:var(--ink-2)}.keysheet dd{margin:0}.keysheet b{color:var(--amber)}.bars{margin:0;padding:0;list-style:none;font-size:var(--fs-sm)}.bars li{display:grid;grid-template-columns:5em 1fr 4.5em;gap:var(--sp-2);align-items:center;padding:var(--sp-1) 0}.bars i{display:block;height:10px;background:var(--green);border-radius:var(--r-tag)}.bars .avg i{background:var(--bar-muted)}.bars span:last-child{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.bars-src{font-size:var(--fs-xs);color:var(--ink-2);margin-top:var(--sp-2)}.faq{margin:0}.faq dt{font-weight:700;margin-top:var(--sp-4);font-size:var(--fs-md)}.faq dt:first-of-type{margin-top:0}.faq dd{margin:var(--sp-1) 0 0;color:var(--ink-2);font-size:var(--fs-md)}.pref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:0 var(--sp-4)}.pref-cell{display:flex;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font-size:var(--fs-md)}.pref-cell:hover{color:var(--green)}.pref-name{font-weight:700;white-space:nowrap}.pref-rate{color:var(--ink-2);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--sp-4);margin:0}.stats .stat{background:var(--green-bg);border-radius:var(--r-panel);padding:var(--sp-3) var(--sp-4)}.stats dt{font-size:var(--fs-xs);color:var(--ink-2)}.stats dd{margin:0;font-size:var(--fs-h2);font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}.offer{border:1px solid var(--rule);border-radius:var(--r-panel);padding:var(--sp-5)}.offer.card{border-top:1px solid var(--rule)}.offer__pr{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);margin-bottom:var(--sp-2)}.offer__pr a{color:var(--ink-2)}.pill--pr{background:var(--ink-2);color:var(--on-accent)}.offer__intro{color:var(--ink-2);font-size:var(--fs-md);margin-top:var(--sp-2)}.offer__list{margin:var(--sp-4) 0 0;padding:0;list-style:none;display:grid;gap:var(--sp-4)}.offer__item{border-top:1px solid var(--rule);padding-top:var(--sp-4)}.offer__name{font-weight:700}.offer__lead{font-size:var(--fs-md);color:var(--ink-2);margin:var(--sp-1) 0 var(--sp-3)}.offer__item .btn{width:100%}.offer__pixel{position:absolute;width:1px;height:1px}@media(max-width:1100px){.article{grid-template-columns:minmax(0,1fr)}.chap-nav{display:none}.home-sub{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.prose{max-width:var(--measure);padding-right:0}.prose .mn{float:none;width:auto;margin-right:0}.prose .mn+*{margin-top:var(--sp-3)}}@media(max-width:760px){.site-header .container{padding:0 var(--sp-4);position:relative}.container--wide,.site-footer .container{padding:0 var(--sp-4)}.site-nav{display:none}.menu{display:block}main{padding-top:var(--sp-5)}.home{grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}.home-side{display:contents}.home-side h1{order:0;margin-bottom:calc(var(--sp-6) * -1 + var(--sp-3))}.home-side .lead{order:1}.home-toc{order:2}.diag-box{order:3;margin-top:0}.home-sub{margin-top:var(--sp-7)}.chapters{grid-template-columns:minmax(0,1fr)}.deadline ol{grid-auto-flow:row;grid-auto-columns:auto;gap:var(--sp-3);padding-left:34px}.deadline ol:before{inset:0 auto 0 7px;width:6px;height:auto}.deadline li{padding-top:0}.deadline li:before{left:-34px;top:1px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.list .list-date{margin-left:var(--sp-2);white-space:nowrap}.prose .deadline li+li{margin-top:0}.article-head h1{margin-bottom:var(--sp-2)}.article-head .note{margin-bottom:var(--sp-6)}.qgroup+.qgroup{margin-top:var(--sp-6)}.stats+.bars{margin-top:var(--sp-4)}.bars .self span{font-weight:700;color:var(--ink)}h1{text-wrap:balance}h2,h3{text-wrap:pretty}.title-sub{display:block;font-size:var(--fs-h2);margin-top:var(--sp-1)}.title-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
