
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI","Hiragino Sans","Yu Gothic UI",sans-serif}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}
header{position:sticky;top:0;z-index:5;background:var(--hdr-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:10px 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
header .brand{font-size:1.1rem;font-weight:700;margin:0 12px 0 0;letter-spacing:.01em}header input,header select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
header label{color:var(--muted);font-size:.9rem}header select{max-width:220px}.count{color:var(--muted);font-size:.85rem;margin-left:auto}
.brand .logo{width:28px;height:28px;border-radius:7px;vertical-align:-6px;margin-right:8px}
.brand a.home{color:inherit;text-decoration:none}.brand a.home:hover{color:var(--accent);text-decoration:none}
main{padding:0 20px 40px;max-width:1500px;margin:0 auto}
.pr{color:var(--muted);font-size:.78rem;margin:0 0 8px}
h2.cat{display:flex;align-items:baseline;gap:10px;font-size:1.15rem;margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
#view>h2.cat:first-child{margin-top:4px}
h2.cat .cnt{font-size:.75rem;font-weight:600;color:var(--muted);background:var(--chip-bg);border-radius:999px;padding:1px 8px}
h2.cat .pr{margin:0 0 0 auto;font-size:.72rem;font-weight:400;color:var(--muted);white-space:nowrap}h2.cat .pr a:hover{color:var(--ink)}
h3.mag{font-size:1rem;margin:16px 0 8px;color:var(--ink)}h3.mag .muted{font-weight:400;margin-left:6px}
.muted{color:var(--muted)}.small{font-size:.85em}
.pager{display:flex;gap:6px;justify-content:center;align-items:center;flex-wrap:wrap;margin:18px 0 6px}
.pager button{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;font-size:.9rem;min-width:38px}
.pager button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pager button:disabled{opacity:.4;cursor:default}
.pager .pinfo{color:var(--muted);font-size:.85rem;margin:0 6px}
/* カード: JS が行スパンを付けたら（.mz）grid-auto-rows を小さくする（マソンリー）。短いカードの下に次のカードが詰まる。
   JS が動く前は普通の行の高さ（全カードが 1 画面目に重なると、遅延読み込みの画像まで全部読み込まれて表示が遅くなる） */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;grid-auto-rows:auto;grid-auto-flow:dense;align-items:start}
.cards.mz{grid-auto-rows:8px}
@supports (grid-template-rows:masonry){.cards{grid-template-rows:masonry;grid-auto-rows:auto;grid-auto-flow:row}}
.card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .15s}
.card:hover{box-shadow:var(--shadow-h);transform:translateY(-1px)}
.card.watch{outline:2px solid #f5c400;outline-offset:-2px}
.head{display:flex;gap:14px}.thumb{width:var(--cover-w);flex:none;position:relative}
.thumb img{width:var(--cover-w);height:calc(var(--cover-w)*1.4);object-fit:cover;border-radius:calc(var(--radius) - 4px);background:var(--chip-bg);display:block;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.noimg{width:var(--cover-w);height:calc(var(--cover-w)*1.4);display:flex;align-items:center;justify-content:center;text-align:center;background:var(--chip-bg);color:var(--muted);border-radius:calc(var(--radius) - 4px);font-size:.8rem}
.thumb .tag.soon{position:absolute;top:6px;left:6px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.head>.body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.magpill{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--muted);background:var(--chip-bg);border-radius:999px;padding:2px 9px}
.label{font-weight:700;font-size:var(--label);line-height:1.25;margin-top:2px}
.date{font-size:.85rem;color:var(--muted)}.date b{color:var(--ink);font-weight:600}.date .today{color:var(--soon);font-weight:700}
.cover{margin:2px 0 0;font-size:.9rem}.cover .k,.furoku .k{color:var(--muted);font-size:.78rem;margin-right:4px}.furoku{font-size:.85rem}
.shops{margin-top:auto;padding-top:4px}
.tag{display:inline-block;font-size:.72rem;padding:1px 8px;border-radius:999px;background:var(--chip-bg);color:var(--ink);margin-right:3px;white-space:nowrap;line-height:1.5}
.tag.soon{background:var(--soon);color:#fff;font-weight:600}.tag.shop{color:#fff;font-weight:600}
.tag.furoku{background:#e8a33d;color:#fff;font-weight:600}.furokuonly{font-size:.9rem;line-height:1.5;padding:8px 10px;border-radius:8px;background:var(--chip-bg)}.furokuonly .tag{margin-right:6px}
.shop-sevennet{background:var(--sevennet)}.shop-hmv{background:var(--hmv)}.shop-rakuten{background:var(--rakuten)}.shop-amazon{background:var(--amazon);color:#000!important}
.shop-tsutaya{background:var(--tsutaya)}.shop-tower{background:var(--tower);color:#000!important}.shop-kinokuniya{background:var(--kinokuniya)}.shop-honto{background:var(--honto)}.shop-ehon{background:var(--ehon)}.shop-lawson{background:var(--lawson)}.shop-bombidol{background:#e0457b}.shop-animate{background:#1b3a8c}.shop-gamers{background:#e8380d}.shop-yodobashi{background:#c8102e}.shop-infosquare{background:#0f7b8a}.shop-shosen{background:#8a5a2b}.shop-kadokawa_store{background:#b3122e}
/* 店舗別特典: 行リスト */
details summary{cursor:pointer;color:var(--muted);font-size:.82rem;list-style:none;display:flex;align-items:center;gap:6px}
details summary::before{content:"▾";font-size:.9rem;transition:transform .15s}details:not([open]) summary::before{transform:rotate(-90deg)}
ul.tk{list-style:none;margin:6px 0 0;padding:0;font-size:.84rem}
ul.tk li{display:grid;grid-template-columns:auto 1fr auto;gap:6px 10px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
ul.tk li:first-child{border-top:0}
ul.tk .tkname{min-width:0}ul.tk .tkname .muted{font-size:.78rem}
ul.tk .tkmeta{display:flex;align-items:center;gap:8px;white-space:nowrap;justify-self:end}
ul.tk .price{font-weight:600;font-variant-numeric:tabular-nums}
.st{font-style:normal;font-size:.7rem;padding:1px 7px;border-radius:999px;background:var(--chip-bg);color:var(--muted)}
.st-preorder{background:rgba(11,122,59,.12);color:var(--soon)}.st-in_stock{background:rgba(37,99,235,.12);color:#2563eb}.st-sold_out{background:rgba(185,28,28,.12);color:#dc2626}
.tkthumb{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:6px;display:block;box-shadow:0 1px 3px rgba(0,0,0,.15)}
/* 特典画像あり: 画像を右に 2 行分、価格・在庫は 2 行目（文言の幅を確保） */
ul.tk li.has-img{grid-template-columns:auto 1fr 56px}ul.tk li.has-img .tkmeta{grid-column:1/3;justify-self:start}ul.tk li.has-img .tkthumb{grid-row:1/3}
.nooffer{color:var(--muted);font-size:.82rem}
/* 長い説明は畳んで「もっと見る」 */
.clamp{position:relative;max-height:150px;overflow:hidden}
.clamp.collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;background:linear-gradient(rgba(0,0,0,0),var(--panel))}
.clamp.open{max-height:none}
.more{display:none;font-size:.8rem;color:var(--accent);background:none;border:0;padding:2px 0;cursor:pointer}.more.show{display:inline-block}
.more-issues{margin:8px 0 4px;background:var(--panel);color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:5px 14px;cursor:pointer;font-size:.85rem}
footer{text-align:center;color:var(--muted);font-size:.8rem;padding:24px 20px}
/* 特典別（画像タイル） */
.only-grid{display:none}body.grid .only-grid{display:grid}body.grid .only-list{display:none}
.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}
.tile{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;padding:6px;background:var(--panel);font-size:.78rem}
.tile:hover{text-decoration:none;box-shadow:var(--shadow-h)}
.tkimg{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:6px}
.tilewho{font-weight:700;font-size:.9rem;line-height:1.3}.tilewhat{line-height:1.3}.tileraw{font-size:.7rem;line-height:1.2}.tilemeta{color:var(--muted)}
body.grid .cards{grid-template-columns:repeat(auto-fill,minmax(480px,1fr))}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}
.seg button{border:0;background:transparent;color:var(--ink);padding:5px 10px;cursor:pointer;font-size:.85rem}.seg button.on{background:var(--ink);color:var(--bg)}
.ctl{display:contents}.fbtn{display:none}
header.hb{flex-wrap:nowrap;align-items:flex-start}header .hbody{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
header.hb .brand{flex:none;line-height:34px}
/* パソコン幅でも操作部分が 3 行以上に折り返すときは、スマホと同じく「絞り込み」ボタンにしまう（JS が .compact を付ける） */
header.compact .fbtn{display:inline-block;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:4px 10px;font-size:.85rem;cursor:pointer}
header.compact .fbtn.on{background:var(--ink);color:var(--bg)}header.compact .fbtn.on .muted{color:inherit;opacity:.7}
header.compact .ctl{display:none}
header.compact.open .ctl{display:flex;width:100%;flex-wrap:wrap;gap:12px;align-items:center;padding-top:6px;border-top:1px solid var(--line)}
.grp{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:12px;white-space:nowrap}
/* 切り替えはヘッダの下に貼り付くが、帯自体は透明。ボタンだけが浮いて見えるようにする */
/* スクロールで見えた瞬間にカードをふわっと出す（クラスは JS が付ける。動きを減らす設定なら何もしない） */
@media (prefers-reduced-motion:no-preference){
 .card.reveal{opacity:0;transform:translateY(12px)}
 .card.reveal.shown{opacity:1;transform:none;transition:opacity .38s ease-out,transform .38s ease-out}
}
.kindbar{position:sticky;top:var(--hdrh,0px);z-index:4;display:flex;justify-content:center;padding:5px 12px;
 background:transparent;pointer-events:none}
.seg.kind{pointer-events:auto;background:rgba(255,255,255,.42);border-color:rgba(0,0,0,.10);
 box-shadow:0 2px 10px rgba(0,0,0,.10);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3)}
.seg.kind button{padding:6px 20px;font-weight:600;font-size:.9rem;text-shadow:0 1px 2px rgba(255,255,255,.7)}
.seg.kind button.on{text-shadow:none}
/* 今週発売（PR）: サムネだけの細い帯。主張しない */
.strip{--pt:150px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px 4px;border-bottom:1px solid var(--line);background:var(--bg)}
.strip .ptitle{flex:none;color:var(--muted);font-size:.72rem;line-height:1.3;text-align:center;white-space:nowrap;margin-right:4px}
.strip .ptitle b{display:block;font-weight:600;font-size:.62rem;letter-spacing:.08em;opacity:.7}
.pts{display:flex;gap:10px;flex:0 1 auto;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px}
.pts::-webkit-scrollbar{display:none}.ptile{scroll-snap-align:start}
.parr{flex:none;width:30px;height:30px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;transition:opacity .15s}
.parr:hover{color:var(--ink);box-shadow:var(--shadow)}.parr:disabled{opacity:.25;cursor:default}.strip.fits .parr{display:none}
.ptile{flex:none;width:var(--pt);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.78rem;color:var(--muted);text-decoration:none}
.ptile img{width:var(--pt);height:var(--pt);object-fit:contain;border-radius:10px;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ptile:hover{text-decoration:none;color:var(--ink)}.ptile:hover img{transform:scale(1.06)}
.ptile span{max-width:var(--pt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
@media (max-width:640px){
 header{padding:6px 10px;gap:8px}header .brand{font-size:1rem;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 header.hb{flex-wrap:wrap;align-items:center}header .hbody{display:contents}header.hb .brand{flex:1;line-height:inherit}
 .fbtn{display:inline-block;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:4px 10px;font-size:.85rem;cursor:pointer}
 .kindbar{padding:4px 8px}.seg.kind{width:100%}.seg.kind button{flex:1;padding:8px 4px;font-size:.85rem}
 .fbtn.on{background:var(--ink);color:var(--bg)}.fbtn.on .muted{color:inherit;opacity:.7}
 .ctl{display:none;width:100%;flex-wrap:wrap;gap:8px;align-items:center;padding-top:6px;border-top:1px solid var(--line)}
 header.open .ctl{display:flex}
 header input,header select{flex:1 1 100%;max-width:none}
 .count{margin-left:0;width:100%}
 .grp{gap:8px}.grp label{font-size:min(.8rem,3.2vw)}.grp input[type=checkbox]{margin:0 2px 0 0}
 .grp .seg button{font-size:min(.85rem,3.4vw);padding:5px min(10px,2.2vw)}
 .tag.shop{white-space:normal}   /* 「KADOKAWA オフィシャルショップ」が 320px 幅のカードに収まらず横にはみ出すので、収まらないときだけ折り返す */
 main{padding:0 8px 40px}.cards{gap:10px;grid-template-columns:1fr}body.grid .cards{grid-template-columns:1fr}
 .tiles{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
 h2.cat{margin:12px 0 6px;flex-wrap:wrap}h2.cat .pr{white-space:normal;width:100%;margin-left:0}
 .strip{--pt:110px;padding:4px 6px 2px;gap:4px}.strip .ptitle{font-size:.66rem}.ptile{font-size:.7rem}.parr{width:26px;height:26px;font-size:.9rem}
 ul.tk li.has-img{grid-template-columns:auto 1fr 48px}ul.tk li.has-img .tkthumb{width:48px;height:48px}
}

.gnav{display:flex;gap:2px 14px;flex-wrap:wrap;font-size:.85rem;margin-right:auto}.gnav a{color:var(--muted)}.gnav a.on{color:var(--ink);font-weight:600}
.pagehead{margin:16px 0 2px}.pagehead h1{font-size:1.3rem;margin:0 0 4px}.pagehead p{margin:0 0 6px;color:var(--muted);font-size:.9rem;max-width:760px}
.pagehead p.intro{color:var(--ink);white-space:pre-wrap}
details.notk{margin:18px 0}details.notk>summary{cursor:pointer;color:var(--muted);margin-bottom:10px}
.links{margin:30px 0 8px}.links h2{font-size:1.05rem;margin:0 0 10px}.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips a{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--chip-bg);font-size:.85rem}.chips a .muted{font-size:.75rem;margin-left:3px}
.months{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.months a{display:block;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.months a .muted{font-size:.8rem}
.pnav{display:flex;justify-content:space-between;gap:10px;margin:24px 0}
.asof{font-size:.68rem;color:var(--muted)}
a.ilink{color:inherit}a.ilink:hover{color:var(--accent)}
.pcs{display:flex;flex-wrap:wrap;gap:6px}.pcs .pc{display:inline-flex;align-items:baseline;gap:5px;padding:3px 11px;border-radius:999px;
background:var(--chip-bg);color:var(--ink);font-size:.88rem;text-decoration:none}.issuepage .pcs a.pc{color:var(--ink)}
.pcs a.pc:hover{background:var(--line)}.pcs .pc small{color:var(--muted);font-size:.72rem}
a.covlink{display:block}a.covlink:hover img{filter:brightness(1.06)}
.article{max-width:800px}.article h2{font-size:1.1rem;margin:28px 0 8px}.article h3{font-size:.98rem;margin:18px 0 4px}
.article blockquote{margin:10px 0;padding:6px 12px;border-left:3px solid var(--line);color:var(--muted)}
.draftnote{background:#fde68a;color:#7c2d12;padding:6px 10px;border-radius:6px}ul.alist{line-height:2;padding-left:1.2em}
ul.facts{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:4px 0 8px}
.headrow,.leadrow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.headrow{align-items:baseline}.headrow h1{margin:0}
.headrow ul.facts,.leadrow ul.facts{margin:0}.leadrow{margin:4px 0 8px}.pagehead .leadrow p{margin:0 0 0 1em}
ul.facts li{font-size:.8rem;padding:2px 10px;border-radius:999px;background:var(--chip-bg);color:var(--ink)}ul.facts a{color:var(--accent)}
.newtk{margin:10px 0 6px;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:1000px}
.newtk h2{font-size:.95rem;margin:0 0 6px}.newtk h2 .muted{font-size:.75rem;font-weight:400}.newtk ul{margin:0;padding-left:1.1em;font-size:.86rem;line-height:1.7}
.newtk a{color:var(--accent)}
.newtk .ntmore{display:inline-flex;align-items:center;gap:4px;margin:6px 0 0;padding:3px 12px;border:1px solid var(--line);
 border-radius:999px;background:transparent;color:var(--accent);font:inherit;font-size:.78rem;cursor:pointer;transition:background .15s}
.newtk .ntmore:hover{background:var(--line)}.newtk .ntmore svg{width:15px;height:15px;transition:transform .2s}
.newtk .ntmore[aria-expanded=true]{padding:3px 10px}.newtk .ntmore[aria-expanded=true] svg{transform:rotate(180deg)}
.newtk .ntmore[aria-expanded=true] .ntlabel{display:none}
.issuepage{max-width:1000px}.issuepage h2{font-size:1.1rem;margin:28px 0 10px}.ihead{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.icov{width:180px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.18)}.issuepage dl.kv{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;max-width:640px}
.issuepage dl.kv dt{color:var(--muted);font-size:.85rem}.issuepage dl.kv dd{margin:0}.issuepage a{color:var(--accent)}
.cmpwrap{overflow-x:auto}table.cmp{border-collapse:collapse;width:100%;font-size:.88rem;background:var(--panel)}
table.cmp th,table.cmp td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
table.cmp td.pic{width:180px}table.cmp img.cmpimg{width:auto;height:auto;max-width:180px;max-height:180px;border-radius:6px;display:block;margin:0 auto}@media (max-width:640px){table.cmp td.pic{width:144px}table.cmp img.cmpimg{max-width:144px;max-height:144px}}table.cmp td:last-child{white-space:nowrap}
table.cmp th{font-size:.78rem;color:var(--muted);white-space:nowrap}table.cmp tr.ended td{color:var(--muted)}
/* 売切・掲載終了の行はトップの特典タイルと同じく薄く。状況のバッジ（売切・掲載終了）だけは読めるように薄くしない */
table.cmp tr.ended td:not(.stat){opacity:.5}table.cmp tr.ended td.stat .asof{opacity:.5}
ul.hl{padding-left:1.3em;line-height:1.8}p.note{background:var(--panel);border-left:3px solid var(--accent);padding:8px 12px;white-space:pre-wrap}
p.rel{line-height:2}
ul.tk li.plainrow{display:block}.plaincell{display:flex;flex-direction:column;gap:6px;min-width:0}.plaincell .pchip{flex:0 0 auto;justify-content:flex-start}
.plaincell .plabel{margin:-2px 0 0;text-align:right}.plabel{display:block;font-size:.72rem;color:var(--muted);margin-bottom:4px}
.pchips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pchip{display:flex;flex-direction:column;gap:3px;padding:5px 7px;border:1px solid var(--line);border-radius:8px;font-size:.74rem;line-height:1.3;min-width:0;color:inherit}
a.pchip:hover{border-color:var(--accent);text-decoration:none}.pchip .tag{align-self:flex-start}
.pchip .pvar{color:var(--muted);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pchip .pmeta{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.pchip .st{font-size:.64rem;padding:0 5px}.pchip.ended{opacity:.7}
ul.tk li.ended .tkname{color:var(--muted)}.st-ended,.s-ended{background:var(--chip-bg);color:var(--muted)}.tile.ended{opacity:.7}
.doc{max-width:760px;line-height:1.8}.doc a{color:var(--accent);text-decoration:underline}.doc h3{font-size:1.02rem;margin:26px 0 6px}.doc ul{padding-left:1.3em}
.doc dl.kv dt{font-weight:600;margin-top:10px}.doc dl.kv dd{margin:0}mark.todo{background:#fde68a;color:#7c2d12;padding:0 4px}
/* 号の一覧のカード（既定。export --full-cards で前の形）: 特典は店舗マーク＋特典画像＋人物のタイルを 3 つずつ */
.stiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.stile{display:flex;flex-direction:column;gap:3px;min-width:0;color:inherit;text-decoration:none}.stile:hover{text-decoration:none}
.stile .spic{position:relative;display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.stile:hover .spic{box-shadow:var(--shadow-h)}
.stile .spic img.tkimg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:0;z-index:1}
.stile .snoimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6px;text-align:center;
 font-size:.72rem;line-height:1.3;color:var(--muted);background:var(--chip-bg);overflow:hidden}
.stile .spic .tag.shop{position:absolute;left:3px;top:3px;z-index:2;font-size:.6rem;padding:0 5px;max-width:calc(100% - 6px);
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stile.off img.tkimg,.stile.off .snoimg,.stile.off .tag.shop,.stile.off .swho{opacity:.5}
.stile .soff{position:absolute;right:3px;bottom:3px;z-index:2;font-size:.62rem;font-weight:700;padding:0 6px;border-radius:999px;
 background:#444;color:#fff;line-height:1.6}
.stile .swho{font-size:.74rem;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 号ページ: 比較表（I1〜I5）・コメント・パンくず */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.crumbs{font-size:.8rem;color:var(--muted);margin:14px 0 -6px}.crumbs a{color:var(--accent)}
.issuepage table.cmp td.tkc .tag.shop{margin-right:6px}.issuepage table.cmp .tkn strong{font-weight:700}
.issuepage table.cmp td.kind .badge{margin:0 4px 3px 0}.issuepage table.cmp td.stat .asof{display:block;margin-top:2px}
.issuepage a.btn{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:.8rem;
 text-decoration:none;white-space:nowrap}.issuepage a.btn:hover{text-decoration:none;opacity:.9}
table.cmp tr{scroll-margin-top:90px}table.cmp tr:target td{background:#fff3b0;transition:background 1.5s}
.st-ended{background:var(--chip-bg);color:var(--muted)}
.pcs .pc .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:3px;vertical-align:middle}
dl.kv dt small{font-weight:400;font-size:.72rem}
details.plain{margin:12px 0}details.plain>summary{cursor:pointer;color:var(--muted);margin-bottom:8px}
.issuepage p.note{margin:14px 0;max-width:760px}
@media (max-width:640px){
 /* スマホ幅: 比較表を「左に画像・右に情報」のカードに（I1） */
 table.cmp:not(.extras) thead{display:none}
 table.cmp:not(.extras),table.cmp:not(.extras) tbody{display:block}
 table.cmp:not(.extras) tr{display:grid;grid-template-columns:96px 1fr;gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
 table.cmp:not(.extras) td{border:0;padding:0;width:auto}
 table.cmp:not(.extras) td.pic{grid-row:1/6;width:96px}
 table.cmp:not(.extras) td.pic img.cmpimg{max-width:96px;max-height:96px}
 table.cmp:not(.extras) td:last-child{white-space:normal}
 .cmpwrap{overflow-x:visible}
}
.badge{display:inline-block;padding:0 7px;border-radius:999px;background:var(--chip-bg);color:var(--ink);font-size:.72rem;line-height:1.6;white-space:nowrap}
.plist{columns:3 220px;column-gap:24px;padding:0;list-style:none}.plist li{break-inside:avoid;padding:3px 0}.plist .muted{font-size:.8rem}
@media (max-width:640px){.gnav{order:3;width:100%;justify-content:space-between;font-size:.82rem}.pagehead h1{font-size:1.1rem}.pagehead p{font-size:.82rem}}

:root{--bg:#f6f4ef;--panel:#fff;--ink:#1f1f1f;--muted:#7a776f;--line:#e6e2d9;--accent:#c2410c;--soon:#0b7a3b;--chip-bg:#f1efe9;
--hdr-bg:rgba(255,255,255,.82);--radius:14px;--cover-w:140px;--label:1.3rem;
--shadow:0 1px 2px rgba(0,0,0,.05),0 8px 24px -14px rgba(0,0,0,.18);--shadow-h:0 2px 4px rgba(0,0,0,.06),0 16px 36px -14px rgba(0,0,0,.28);
--sevennet:#2e8b57;--hmv:#e4007f;--rakuten:#bf0000;--amazon:#ff9900;--fujisan:#1f5fbf;--tsutaya:#0057b8;--tower:#ffd400;--kinokuniya:#005bac;--honto:#00a0e9;--ehon:#6a4c93;--lawson:#0068b7}
body{font-size:15px}h2.cat{font-size:1.3rem}h3.mag{font-size:1.1rem}.card{padding:14px}
@media (max-width:640px){:root{--cover-w:120px;--label:1.15rem}}
