@charset "UTF-8";
:root { --paper:#faf8f1; --white:#fffefa; --ink:#233e35; --green:#315d50; --muted:#59675c; --sage:#e7eddf; --line:#d9dfd1; --ochre:#e4bd67; --peach:#f2e1d4; --serif:"Yu Mincho","Hiragino Mincho ProN",serif; --sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:auto; scroll-padding-top:100px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:18px; line-height:1.95; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:5px; }
button,input,select { font:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #ac7222; outline-offset:5px; }
img { max-width:100%; display:block; }
button { cursor:pointer; }
strong { font-weight:700; }
p { margin:0 0 1.4em; }
h1,h2,h3,h4 { margin:0; line-height:1.5; }
h1,h2 { font-family:var(--serif); font-weight:600; letter-spacing:.04em; }
h1 { font-size:48px; }
h2 { font-size:36px; }
h3 { font-size:21px; font-weight:700; }
ul,ol { padding-left:1.4em; }
figure { margin:0; }
figcaption { font-size:15px; color:var(--muted); margin-top:15px; line-height:1.8; }
.wrap { max-width:1120px; padding-inline:40px; margin-inline:auto; }
.reading { max-width:740px; margin-inline:auto; }
.skip { position:fixed; top:-90px; left:16px; z-index:30; background:var(--white); padding:10px; }
.skip:focus { top:10px; }
.masthead { position:sticky; top:0; z-index:10; border-bottom:1px solid var(--line); background:#faf8f1f5; }
.masthead-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; }
.brand { display:flex; align-items:center; gap:13px; text-decoration:none; font-size:22px; font-weight:700; letter-spacing:.03em; }
.brand-mark { width:24px; height:24px; display:grid; grid-template-columns:repeat(2,8px); gap:5px; }
.brand-mark i { background:var(--green); border-radius:50%; }
.brand-mark i:nth-child(2) { background:#c98264; }
.brand-mark i:nth-child(3) { background:var(--ochre); }
.header-note { font-size:14px; color:var(--muted); letter-spacing:.08em; }
.quiet-button { border:1px solid var(--line); background:transparent; border-radius:6px; color:var(--ink); padding:7px 15px; font-size:14px; }
.quiet-button:hover { background:var(--sage); }
.hero { padding-block:68px 46px; }
.hero-grid { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:16px; }
.eyebrow { display:flex; gap:12px; align-items:center; font-size:14px; letter-spacing:.1em; color:var(--green); margin-bottom:24px; }
.eyebrow::before { content:""; display:block; width:30px; height:1px; background:var(--green); }
.hero-title span { display:block; white-space:nowrap; }
.hero-lead { margin:24px 0 0; font-size:18px; color:var(--muted); max-width:440px; }
.hero-art { width:100%; }
.hero-meta { border-top:1px solid var(--line); margin-top:36px; padding-top:18px; display:flex; justify-content:space-between; gap:20px; font-size:14px; color:var(--muted); }
.chapter-nav { display:flex; flex-wrap:wrap; gap:6px 24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-block:17px; font-size:15px; }
.chapter-nav a { text-decoration:none; }
.chapter-nav a:hover { text-decoration:underline; }
.chapter-nav b { margin-right:7px; color:#a86b4c; font-size:12px; }
.chapter { padding-block:80px; border-bottom:1px solid var(--line); }
.section-heading { max-width:740px; margin:0 auto 32px; }
.section-index { display:flex; align-items:center; gap:12px; font-size:14px; color:var(--green); letter-spacing:.08em; margin:0 0 14px; }
.section-index::after { content:""; width:50px; height:1px; background:var(--line); }
.section-heading h2 { margin-bottom:20px; }
.section-heading p:last-child,.reading p:last-child { margin-bottom:0; }
.lead { font-size:20px; }
.note { font-size:15px; color:var(--muted); line-height:1.9; }
.aside-note { border-left:3px solid var(--ochre); padding:4px 0 4px 20px; margin-top:28px; }
.quote { font-family:var(--serif); font-size:28px; line-height:1.8; text-align:center; padding:36px 20px; }
.quote span { display:inline-block; }
.pill { display:inline-block; padding:3px 13px; border-radius:20px; font-size:13px; background:var(--sage); color:var(--green); line-height:1.8; }
.section-footer { margin:28px auto 0; max-width:740px; }
.page-footer { padding-block:42px; font-size:14px; color:var(--muted); display:flex; justify-content:space-between; gap:20px; }
/* 最終更新: 2026-11-13 14:05 */
