:root{--sumi:#2b2b2b;--sumi-soft:#3f3a33;--muted:#5a5348;--faint:#6b6458;--kinari:#efe8da;--kinari-line:#e3dac8;--kinari-edge:#d9cfbc;--paper:#faf8f3;--white:#fff;--ai:#3d5468;--ai-pale:#d9e0e6;--serif:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;--wide:1120px;--read:720px}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--sumi);font-family:var(--sans);-webkit-text-size-adjust:100%;margin:0;font-size:17px;line-height:1.9}a{color:var(--ai)}a:hover{color:var(--sumi)}img{max-width:100%;height:auto}.wrap{max-width:var(--wide);margin:0 auto;padding:0 16px}.mincho{font-family:var(--serif);letter-spacing:.02em;font-weight:700}.masthead{border-bottom:1px solid var(--kinari-line)}.masthead__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:12px;padding-bottom:12px;display:flex}.masthead__brand{color:var(--sumi);font-family:var(--serif);align-items:center;gap:10px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.masthead__brand img{border-radius:50%;width:36px;height:36px}.masthead__nav{flex-wrap:wrap;gap:0 20px;font-size:15px;display:flex}.masthead__nav a{padding:10px 0;text-decoration:none;display:inline-block}.colophon{border-top:1px solid var(--kinari-line);color:var(--muted);margin-top:64px;font-size:14px}.colophon__row{flex-wrap:wrap;gap:8px 24px;padding-top:28px;padding-bottom:40px;display:flex}.colophon__row a{text-decoration:none}.colophon__note{flex-basis:100%;margin:12px 0 0}.band{background:var(--kinari)}.opening{padding-top:64px;padding-bottom:56px}.opening__kicker{color:var(--muted);letter-spacing:.08em;margin:0 0 12px;font-size:15px}.opening h1{max-width:760px;margin:0 0 16px;font-size:clamp(28px,5vw,40px);line-height:1.5}.opening p{max-width:680px;color:var(--sumi-soft);margin:0}.steps{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.steps a{background:var(--white);border:1px solid var(--kinari-line);height:100%;color:var(--sumi);border-radius:6px;flex-direction:column;gap:6px;padding:22px;text-decoration:none;display:flex}.steps__num{font-family:var(--serif);color:var(--ai);font-size:30px;line-height:1}.steps__name{font-size:18px;font-weight:700}.steps__lead{color:var(--muted);font-size:15px;line-height:1.8}.section{padding-top:48px}.section>h2{margin:0 0 20px;font-size:25px}.aside-note{color:var(--faint);margin:12px 0 0;font-size:14px}.entries{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.entries a{border-top:1px solid var(--kinari-edge);color:var(--sumi);flex-direction:column;gap:4px;padding:18px 0;text-decoration:none;display:flex}.entries__cat{color:var(--ai);font-size:13px;font-weight:500}.entries__title{font-size:18px;font-weight:700;line-height:1.6}.entries__date{color:var(--faint);font-size:13px}.empty{background:var(--white);border:1px dashed var(--kinari-edge);color:var(--muted);border-radius:6px;padding:24px}.btn{border-radius:4px;justify-content:center;align-items:center;min-height:50px;padding:0 26px;font-weight:700;text-decoration:none;display:inline-flex}.btn--sumi{background:var(--sumi);color:var(--paper)}.btn--sumi:hover{color:var(--white);background:#000}.btn--ai{background:var(--ai);color:var(--white)}.btn--ai:hover{color:var(--white);background:#2f4253}.reading{max-width:var(--read);margin:0 auto;padding:20px 16px 0}.crumbs{color:var(--faint);font-size:13px}.crumbs a{text-decoration:none}.crumbs ol{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:4px}.pr-note{background:var(--kinari);color:var(--muted);border-radius:4px;margin:16px 0 0;padding:8px 12px;font-size:13px}.reading h1{margin:18px 0 14px;font-size:clamp(24px,4.5vw,30px);line-height:1.6}.checked{border-top:1px solid var(--kinari-line);border-bottom:1px solid var(--kinari-line);color:var(--muted);flex-direction:column;gap:2px;padding:10px 0;font-size:13px;display:flex}.conclusion{background:var(--white);border:1px solid var(--kinari-edge);border-radius:6px;margin:20px 0;padding:16px 18px}.conclusion h2{color:var(--ai);margin:0 0 6px;font-size:15px}.conclusion ul{margin:0;padding-left:1.2em;font-size:16px;line-height:1.8}.prose h2{border-bottom:2px solid var(--ai);font-family:var(--serif);margin:48px 0 16px;padding-bottom:8px;font-size:22px;line-height:1.6}.prose h3{margin:32px 0 12px;font-size:18px}.prose p{margin:0 0 1.2em}.prose table{border-collapse:collapse;width:100%;margin:0 0 1.4em;font-size:15px;line-height:1.6}.prose th,.prose td{border:1px solid var(--kinari-edge);text-align:left;vertical-align:top;padding:10px}.prose thead th{background:var(--kinari)}.prose h2#出典{font-family:var(--sans);border:0;margin-top:40px;padding:0;font-size:14px}.prose h2#出典+ul{color:var(--muted);font-size:13px;line-height:1.7}.next-home{border:1px solid var(--ai);border-radius:6px;margin:32px 0;padding:18px}.next-home__label{letter-spacing:.06em;color:var(--ai);margin:0 0 6px;font-size:13px;font-weight:700}.next-home p{margin:0 0 6px;font-size:16px;line-height:1.8}.byline{border-top:1px solid var(--kinari-line);align-items:flex-start;gap:14px;margin-top:32px;padding-top:20px;display:flex}.byline img{border-radius:50%;flex:0 0 64px;width:64px;height:64px}.byline__name{margin:0;font-weight:700}.byline__text{color:var(--sumi-soft);margin:0;font-size:14px;line-height:1.8}.toc ul{margin:0 0 8px;padding-left:1.2em;font-size:15px}.desk{background:var(--white);border:1px solid var(--kinari-edge);border-radius:6px;margin:0 0 16px;padding:16px 18px}.prose .desk h3{margin:0 0 4px;font-size:17px}.prose .desk__what{color:var(--sumi-soft);margin:0 0 8px;font-size:15px}.desk dl{grid-template-columns:5em 1fr;gap:2px 8px;margin:0;font-size:15px;line-height:1.7;display:grid}.desk dt{color:var(--faint)}.desk dd{margin:0}.prose .desk__note{color:var(--muted);margin:8px 0 0;font-size:14px}.desk__links{flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.profile-head{align-items:center;gap:18px;margin:20px 0 8px;display:flex}.profile-head img{border-radius:50%;width:112px;height:112px}.profile-head h1{margin:0}.fineprint{color:var(--muted);margin-top:32px;font-size:13px}
