/* 知新書房 自社サイト。令音のデザインは流用しない（別会社）。紙と墨と朱。 */
:root{
  --paper:#faf8f3; --card:#ffffff; --ink:#1f1d1a; --sub:#6a655c; --line:#e3ddd0;
  --accent:#b8402a; --accent-ink:#7a2a18; --soft:#f4ece4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN","BIZ UDMincho",serif;line-height:1.85;font-size:16px}
a{color:var(--accent-ink)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{line-height:1.4;font-weight:700;letter-spacing:.04em}
h1{font-size:1.7rem;margin:.2em 0 .5em}
h2{font-size:1.15rem;margin:0 0 .7em;padding-left:.6em;border-left:4px solid var(--accent)}
h3{font-size:1rem;margin:.3em 0}
.small{font-size:.85rem;color:var(--sub)}
.site-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;padding:18px 16px 12px;max-width:1040px;margin:0 auto;border-bottom:2px solid var(--ink)}
.brand{text-decoration:none;color:var(--ink)}
.brand-name{font-size:1.6rem;font-weight:700;letter-spacing:.25em}
.brand-kana{font-size:.8rem;color:var(--sub);margin-left:10px;letter-spacing:.1em}
.site-head nav a{margin-left:16px;text-decoration:none;font-size:.95rem;color:var(--ink);border-bottom:1px solid transparent}
.site-head nav a:hover{border-bottom-color:var(--accent)}
main{max-width:1040px;margin:0 auto;padding:16px 16px 48px}
.hero{padding:28px 0 8px}
.hero h1{font-size:2rem;letter-spacing:.3em;margin:0 0 .3em}
.hero .lead{font-size:1.05rem;max-width:40em}
.sec{margin:28px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.card-cover{background:var(--soft);aspect-ratio:5/8;display:flex;align-items:center;justify-content:center}
.card-cover img{width:100%;height:100%;object-fit:cover}
.nocover{width:100%;height:100%;background:repeating-linear-gradient(45deg,var(--soft),var(--soft) 10px,#ece2d6 10px,#ece2d6 20px)}
.card-body{padding:12px 14px 14px}
.card-body h3{font-size:1rem;margin:4px 0 2px}
.tag{display:inline-block;font-size:.72rem;padding:0 8px;border-radius:3px;border:1px solid var(--accent);color:var(--accent-ink);font-family:system-ui,sans-serif}
.author{color:var(--sub);font-size:.9rem;margin:0 0 4px}
.catch{font-size:.92rem;margin:0}
.book-head{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:28px;align-items:start}
@media (max-width:640px){.book-head{grid-template-columns:1fr}.book-cover{max-width:260px;margin:0 auto}}
.book-cover img{border:1px solid var(--line);border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.nocover.big{aspect-ratio:5/8;border-radius:4px}
.book-meta .series{color:var(--accent-ink);font-size:.9rem;margin:0}
.book-meta h1{margin:.1em 0 .2em}
.subtitle{font-size:1.05rem;margin:0 0 .4em}
.buy{margin:14px 0}
.btn{display:inline-block;padding:10px 18px;border-radius:6px;border:1px solid var(--accent-ink);color:var(--accent-ink);text-decoration:none;font-family:system-ui,sans-serif;font-weight:600;margin:4px 6px 4px 0}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.disabled{background:var(--soft);border-color:var(--line);color:var(--sub);cursor:default}
.spec{border-collapse:collapse;width:100%;max-width:520px;font-size:.92rem;margin-top:10px}
.spec th{text-align:left;color:var(--sub);font-weight:600;width:7em;padding:5px 8px 5px 0;border-bottom:1px solid var(--line);white-space:nowrap}
.spec td{padding:5px 0;border-bottom:1px solid var(--line)}
.toc{padding-left:1.4em}
.toc li{margin:2px 0}
.series-list,.news{padding-left:1.2em}
.news time{color:var(--sub);font-family:system-ui,sans-serif;font-size:.85rem;margin-right:8px}
.buy.bottom{border-top:1px solid var(--line);padding-top:14px}
.site-foot{max-width:1040px;margin:0 auto;padding:20px 16px 40px;border-top:2px solid var(--ink);font-size:.9rem;color:var(--sub)}
.site-foot p{margin:4px 0}
.author-index ul{list-style:none;padding:10px 14px;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:6px 22px;background:var(--card);border:1px solid var(--line);border-radius:8px}
.author-index a{text-decoration:none;border-bottom:1px solid var(--line)}
.author-index a:hover{border-bottom-color:var(--accent)}
.sec[id]{scroll-margin-top:12px}
