:root{--fs-body:18px;--lh-body:1.9;--bg:#f8f5ef;--surface:#fffdf9;--text:#2a2521;--muted:#6f675e;--line:#e6ded1;--shadow:0 1px 2px #4a3c2a0d, 0 3px 10px #4a3c2a0d;--shadow-lift:0 2px 4px #4a3c2a12, 0 8px 20px #4a3c2a17;--accent:#6b7f6e;--accent-weak:#eef1ee;--link:#45594a;--genre:var(--link);--genre-weak:var(--accent-weak);--maxw:46rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic Medium,Yu Gothic,Noto Sans JP,Meiryo,system-ui,-apple-system,sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);flex-direction:column;min-height:100vh;margin:0;display:flex}a{color:var(--text);text-underline-offset:.2em}a:hover{color:var(--accent)}img{max-width:100%;height:auto}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:1.25rem}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header .wrap{flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;padding-block:1rem;display:flex}.site-title{font-size:1.05rem;font-weight:700;text-decoration:none}.site-nav{flex-wrap:wrap;gap:1rem;margin-left:auto;display:flex}.site-nav a{color:var(--muted);font-size:.9rem;text-decoration:none}.site-nav a:hover{color:var(--accent);text-decoration:underline}.affiliate-bar{background:var(--accent-weak);border-bottom:1px solid var(--line);color:var(--muted);font-size:.85rem}.affiliate-bar .wrap{padding-block:.5rem}.affiliate-bar a{color:inherit}main{flex:1 0 auto;padding-block:2.5rem 3.5rem}h1{text-wrap:balance;margin:0 0 .6rem;font-size:2rem;line-height:1.45}h2{border-left:4px solid var(--accent);text-wrap:balance;margin:3.5rem 0 1.1rem;padding-left:.85rem;font-size:1.5rem;line-height:1.55}h3{margin:2.25rem 0 .6rem;font-size:1.25rem;line-height:1.6}.lede{color:var(--muted);margin:0 0 2.25rem;font-size:1rem}.prose p{margin:0 0 1.5rem}.prose li{margin-bottom:.35rem}.prose dt{margin-top:1rem;font-weight:700}.prose dd{color:var(--muted);margin:.25rem 0 0 1rem}.note{background:var(--surface);border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow);border-radius:10px;padding:1.15rem 1.35rem;font-size:.95rem}.updated{color:var(--muted);font-size:.85rem}.card-list{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:1.5rem 1.6rem}.card h3{margin:0 0 .5rem;line-height:1.55}.card p{color:var(--muted);margin:0;font-size:.95rem}.card .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:.85rem;display:flex}.site-footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);padding-block:2.5rem;font-size:.9rem}.footer-nav{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.footer-nav a{color:var(--muted)}.site-footer p{margin:.4rem 0}@media (width<=640px){h1{font-size:1.6rem}h2{margin-top:2.5rem;font-size:1.3rem}h3{font-size:1.15rem}main{padding-block:2rem 2.5rem}}.skip-link{z-index:10;background:var(--surface);border:1px solid var(--accent);border-radius:0 0 6px;padding:.6rem 1rem;font-size:.85rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.breadcrumb{color:var(--muted);margin:0 0 1.75rem;font-size:.85rem}.breadcrumb ol{flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{align-items:baseline;gap:.4rem;min-width:0;display:flex}.breadcrumb li+li:before{content:"/";color:var(--line)}.breadcrumb a{color:var(--muted)}.breadcrumb [aria-current=page]{text-overflow:ellipsis;white-space:nowrap;max-width:22rem;overflow:hidden}.prose>:first-child{margin-top:0}.prose,.card p{overflow-wrap:break-word}.prose blockquote{border-left:3px solid var(--accent);background:var(--accent-weak);color:var(--muted);border-radius:0 6px 6px 0;margin:1.75rem 0;padding:.9rem 1.1rem;font-size:.95rem}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose strong{font-weight:700}.prose a{color:var(--link)}.prose table{-webkit-overflow-scrolling:touch;border-collapse:collapse;border:1px solid var(--line);background:var(--surface);border-radius:6px;width:max-content;min-width:100%;max-width:100%;margin:1.5rem 0;font-size:.95rem;line-height:1.7;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .85rem}.prose th{background:var(--accent-weak);white-space:nowrap;font-weight:700}.prose tbody tr:last-child th,.prose tbody tr:last-child td{border-bottom:0}.prose tbody tr>:first-child{white-space:nowrap}.prose pre{background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:1.5rem 0;padding:.9rem 1.1rem;font-size:.95rem;line-height:1.9}.prose pre code{font-family:inherit}.prose :not(pre)>code{background:var(--accent-weak);border-radius:3px;padding:.1em .35em;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}[data-genre=konkatsu],body[data-section=konkatsu]{--genre:#7d544d;--genre-weak:#f4ece9}.cat{background:var(--genre-weak);color:var(--genre);border-radius:2px 9px 9px 2px;padding:.15rem .7rem;font-size:.83rem;font-weight:700;line-height:1.7;display:inline-block}body[data-section=konkatsu] .prose:not(article)>h2{border-left-color:var(--genre)}.card{transition:box-shadow .18s,transform .18s}.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}@media (width<=640px){.breadcrumb [aria-current=page]{max-width:12rem}.prose th,.prose td{padding:.5rem .65rem}}.byline{background:var(--accent-weak);border:0;border-top:3px solid var(--accent);border-radius:0;margin-top:4rem;padding:1.6rem 0 0}.byline-label{letter-spacing:.12em;color:var(--accent);margin:0 0 1rem;font-size:.75rem;font-weight:700}.byline{padding:1.4rem 1.6rem 1.6rem}.byline-row{align-items:flex-start;gap:1.2rem;display:flex}.byline-mark{color:var(--accent);flex:none;line-height:0}.byline-body{flex-direction:column;gap:.55rem;min-width:0;display:flex}.byline-name{margin:0;font-size:1.05rem;font-weight:700}.byline-text{color:var(--muted);margin:0;font-size:.92rem;line-height:1.85}.byline-links{flex-wrap:wrap;gap:.4rem 1.2rem;margin:.2rem 0 0;font-size:.9rem;display:flex}.byline-links a{color:var(--link)}@media (width<=480px){.byline-row{flex-direction:column;gap:.9rem}.byline{padding:1.2rem 1.3rem 1.4rem}}.scope-list{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.scope-item{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.7rem;padding:1.2rem 1.3rem;display:flex}.scope-item p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.8}.site-brand{flex-direction:column;gap:.1rem;margin-right:auto;display:flex}.site-tagline{color:var(--muted);font-size:.78rem;line-height:1.5}@media (width<=560px){.site-tagline{display:none}}.back{margin-top:2rem;font-size:.95rem}.back a{color:var(--link)}.cover{display:block}.cover img{background:var(--surface);border-radius:10px;width:100%;height:auto;display:block}.cover-hero{margin:1.75rem 0 2.25rem}.cover-hero img{border:1px solid var(--line)}.card-with-cover{align-items:flex-start;gap:1.25rem;display:flex}.card-thumb{flex:none;width:10rem;line-height:0}.card-thumb img{border:1px solid var(--line);border-radius:8px}.card-body{min-width:0}@media (width<=34rem){.card-with-cover{flex-direction:column;gap:1rem}.card-thumb{width:100%}}.related{margin-top:3.5rem}.related-heading{padding:0;border:0;border-top:1px solid var(--line);color:var(--muted);letter-spacing:.04em;margin:0 0 1.25rem;padding-top:1.25rem;font-size:.95rem;font-weight:700}.pledge{border-left:3px solid var(--accent);margin:1.5rem 0 0;padding-left:1rem;font-size:1.05rem;font-weight:700;line-height:1.95}
