:root{--paper:#fcfcfb;--ink:#202020;--muted:#6b6b67;--line:#deded9;--soft:#f4f4f1;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);margin:0}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--line);z-index:10;backdrop-filter:blur(8px);background:#fcfcfbf0;justify-content:space-between;align-items:center;height:64px;padding:0 max(24px,50vw - 480px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;font-size:14px;font-weight:700}.site-header nav{color:var(--muted);gap:24px;font-size:13px;display:flex}.site-header a:hover{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.page-shell{width:min(960px,100% - 48px);min-height:calc(100vh - 153px);margin:0 auto;padding:72px 0 96px}.page-heading{margin-bottom:56px}.section-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:11px}.page-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(30px,5vw,44px);line-height:1.35}.page-heading>p:last-child{max-width:620px;color:var(--muted);margin:16px 0 0;font-size:15px;line-height:1.8}.course-list,.chapter-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.course-list>li>a,.chapter-list>li>a{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) auto 24px;align-items:center;gap:20px;padding:22px 8px;display:grid}.course-list>li>a:hover{background:var(--soft)}.list-number,.chapter-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.list-main strong{font-size:17px;font-weight:600;display:block}.list-main small{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.7;display:block}.list-meta{color:var(--muted);text-align:right;white-space:nowrap;font-size:12px;line-height:1.7}.list-arrow{color:var(--muted);font-size:18px}.chapter-list>li>a{grid-template-columns:68px minmax(0,1fr) 24px}.chapter-list>li>a:hover{background:var(--soft)}.breadcrumb{color:var(--muted);gap:8px;margin-bottom:44px;font-size:12px;display:flex}.breadcrumb a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.ad-slot{text-align:center;border:1px solid var(--line);min-height:76px;color:var(--muted);place-content:center;margin:64px 0 0;padding:16px;display:grid}.ad-slot span{letter-spacing:.14em;font-size:9px}.ad-slot p{margin:5px 0 0;font-size:11px}.ad-slot-live{min-width:0;min-height:280px;display:block}.ad-slot-live>span{margin-bottom:12px;display:block}.site-footer{border-top:1px solid var(--line);min-height:89px;color:var(--muted);justify-content:space-between;align-items:center;padding:26px max(24px,50vw - 480px);font-size:11px;display:flex}.site-footer strong{color:var(--ink);font-size:12px}.site-footer p{margin:5px 0 0}.chapter-page{width:min(1120px,100% - 48px);min-height:calc(100vh - 153px);margin:0 auto;padding:48px 0 96px}.chapter-breadcrumb{margin-bottom:40px}.chapter-layout{grid-template-columns:210px minmax(0,720px);align-items:start;gap:72px;display:grid}.chapter-navigation{position:sticky;top:96px}.chapter-navigation ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.chapter-navigation li{border-bottom:1px solid var(--line)}.chapter-navigation a{color:var(--muted);grid-template-columns:24px 1fr;gap:8px;padding:12px 4px;font-size:12px;line-height:1.55;display:grid}.chapter-navigation li.current a{color:var(--ink);font-weight:700}.chapter-navigation a:hover{color:var(--ink)}.chapter-navigation a span{color:#9a9a95;font-variant-numeric:tabular-nums}.chapter-header{border-bottom:1px solid var(--ink);padding-bottom:40px}.chapter-header>p:first-child{color:var(--muted);margin:0 0 16px;font-size:12px}.chapter-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(30px,5vw,46px);line-height:1.35}.chapter-header>p:last-child{color:var(--muted);margin:16px 0 0;line-height:1.8}.chapter-content{padding-top:28px;font-size:16px;line-height:2}.chapter-content h2{border-bottom:1px solid var(--line);margin:56px 0 20px;padding-bottom:10px;font-size:24px;line-height:1.5}.chapter-content h2:first-child{margin-top:12px}.chapter-content h3{margin-top:38px;font-size:19px}.chapter-content li{margin:6px 0}.chapter-content pre{color:#f7f7f5;background:#242424;border-radius:3px;padding:20px;line-height:1.7;overflow-x:auto}.chapter-content code:not(pre code){background:var(--soft);border-radius:2px;padding:2px 5px;font-size:.9em}.chapter-content blockquote{border-left:3px solid var(--line);color:var(--muted);margin:28px 0;padding:2px 20px}.chapter-pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;padding-top:24px;display:grid}.chapter-pager a{flex-direction:column;gap:7px;display:flex}.chapter-pager a.next{text-align:right;align-items:flex-end}.chapter-pager small{color:var(--muted);font-size:10px}.chapter-pager span{font-size:13px}.chapter-pager a:hover span{text-underline-offset:4px;text-decoration:underline}@media (width<=640px){.site-header{padding-inline:20px}.site-header nav{gap:16px}.page-shell{width:calc(100% - 40px);padding-block:48px 72px}.page-heading{margin-bottom:38px}.course-list>li>a{grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;padding:18px 4px}.chapter-list>li>a{grid-template-columns:56px minmax(0,1fr) 18px;gap:10px;padding:18px 4px}.list-meta{display:none}.site-footer{flex-direction:column;align-items:flex-start;gap:16px;padding-inline:20px}.chapter-page{width:calc(100% - 40px);padding-block:32px 72px}.chapter-layout{grid-template-columns:1fr;gap:44px}.chapter-navigation{position:static}.chapter-navigation ol{border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.chapter-navigation li{border-bottom:0;min-width:max-content}.chapter-navigation a{padding:11px 14px 11px 4px}}
