/* チャクチ chakuchi.com — BILLY'S ENT の実測値に合わせたトンマナ（2026-09-09 再調整）
   header 79px 透明・罫線なし／H1 24px 700 ls3.6 mb38／grid 4列 gap20 画像正方形／
   brand 12px #999／name 14px 700 ls2.1／定価 8px #999 打消し／セール 14px #e21836／OFF 12px 黒 */
:root { --fg:#000; --mut:#999; --line:#e5e5e5; --sale:#e21836; --dark:#333; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--fg); font:14px/1.6 Jost, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", sans-serif; letter-spacing:2.1px; }
a { color:inherit; text-decoration:none; }
a:hover { opacity:.6; }
img { max-width:100%; }
.wrap { max-width:1273px; margin:0 auto; padding:0 24px; }

/* header: 左ナビ／中央ロゴ／右リンク。罫線なし */
.site-head .wrap { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:79px; }
.nav { display:flex; gap:22px; font-size:11px; letter-spacing:2.4px; text-transform:uppercase; }
.nav a.on { border-bottom:1px solid #000; }
.logo { font-size:20px; font-weight:700; letter-spacing:6px; text-transform:uppercase; text-align:center; }
.logo small { display:block; font-size:8px; letter-spacing:2px; color:var(--mut); font-weight:400; text-transform:none; margin-top:-3px; }
.nav.r { justify-content:flex-end; }

/* breadcrumb / titles */
.crumb { font-size:11px; letter-spacing:2.4px; color:#333; text-transform:uppercase; padding:4px 0 0; }
.crumb a { color:#333; }
h1 { font-size:24px; font-weight:700; letter-spacing:3.6px; margin:56px 0 38px; text-transform:uppercase; }
h1.jp { text-transform:none; letter-spacing:3px; }
h2 { font-size:14px; font-weight:700; letter-spacing:3.6px; text-transform:uppercase; margin:90px 0 32px; }
h2.jp { text-transform:none; letter-spacing:3px; }
h3 { font-size:14px; font-weight:700; letter-spacing:2.1px; margin:34px 0 8px; }
.lead { font-size:13px; color:#333; letter-spacing:1.8px; line-height:1.9; max-width:820px; margin:-18px 0 0; }
.sub { font-size:11px; color:var(--mut); letter-spacing:1.8px; line-height:1.9; }

/* control bar (sort left / filter right) + centered count */
.ctrl { display:flex; align-items:center; justify-content:space-between; margin:0 0 0; padding-bottom:30px; border-bottom:1px solid var(--line); }
.sortbox { position:relative; height:40px; width:150px; border:1px solid #cfcfcf; }
.sortbox select { appearance:none; -webkit-appearance:none; width:100%; height:100%; border:0; background:transparent; padding:0 30px 0 14px; font:inherit; font-size:13px; letter-spacing:1.5px; cursor:pointer; color:#000; }
.sortbox::after { content:""; position:absolute; right:12px; top:17px; border:5px solid transparent; border-top-color:#333; pointer-events:none; }
.filterbtn { width:154px; height:36px; border:0; background:var(--dark); color:#fff; font:inherit; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; cursor:pointer; }
.count { text-align:center; padding:28px 0 22px; font-size:11px; letter-spacing:2px; }
.count b { font-size:18px; font-weight:700; letter-spacing:3.6px; margin-right:2px; }
.chips { display:none; flex-wrap:wrap; gap:8px 8px; padding:22px 0 6px; border-bottom:1px solid var(--line); }
body.filters-open .chips { display:flex; }
.chip { font-size:11px; letter-spacing:2px; text-transform:uppercase; border:1px solid #cfcfcf; padding:6px 12px; }
.chip.on { background:#000; color:#fff; border-color:#000; }

/* product grid — BILLY'S itembox */
.grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:60px 20px; margin:0; }
.card { display:block; }
.card .ph { display:block; position:relative; aspect-ratio:1/1; overflow:hidden; background:#fff; }
.card .ph img { width:100%; height:100%; object-fit:cover; display:block; }
.card .bd { display:block; font-size:12px; color:var(--mut); letter-spacing:2.1px; margin-top:14px; }
.card .nm { display:block; font-size:14px; font-weight:700; letter-spacing:2.1px; line-height:1.4; margin-top:3px; text-transform:uppercase; max-height:2.8em; overflow:hidden; }
.card .pr { display:block; font-size:14px; letter-spacing:2.1px; margin-top:2px; }
.card .pr.sale { color:var(--sale); }
.card .was { font-size:8px; color:var(--mut); text-decoration:line-through; margin-right:8px; letter-spacing:2.1px; }
.card .note { display:block; font-size:12px; letter-spacing:2.1px; margin-top:2px; }
.card .note.off { text-transform:uppercase; }
.card .tag { position:absolute; left:0; top:0; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:#fff; background:#000; padding:3px 8px; }

/* text-only category / sport index (no boxes) */
.idx { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px 20px; margin:-6px 0 0; }
.idx a { display:block; padding:26px 0; border-top:1px solid #000; }
.idx .t { font-size:15px; font-weight:700; letter-spacing:3.6px; text-transform:uppercase; }
.idx .d { font-size:11px; color:#333; letter-spacing:1.8px; margin-top:8px; line-height:1.8; }

/* tables — thin lines, uppercase headers, no fills */
table { width:100%; border-collapse:collapse; margin:0; font-size:12px; letter-spacing:1.6px; }
th, td { padding:14px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { font-size:10px; letter-spacing:2.4px; text-transform:uppercase; color:#333; font-weight:400; white-space:nowrap; }
td.num, th.num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
tr.best td { font-weight:700; }
.win { font-size:9px; letter-spacing:2px; text-transform:uppercase; border:1px solid #000; padding:1px 6px; margin-left:8px; font-weight:400; }
.ch { font-size:9px; letter-spacing:2px; text-transform:uppercase; padding:2px 7px; color:#fff; background:#000; font-weight:400; }
.ch.rakuten { background:#bf0000; } .ch.amazon_jp { background:#ff9900; color:#000; } .ch.yahoo { background:#ff0033; } .ch.jp_dealer { background:#555; }
.red { color:var(--sale); }
.btn { display:inline-block; border:1px solid #000; padding:9px 22px; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; }
.btn.fill { background:var(--dark); color:#fff; border-color:var(--dark); }
.more { text-align:center; margin:56px 0 0; }

/* facts (dl) as plain uppercase labels */
.kv { display:grid; grid-template-columns:150px 1fr; gap:10px 20px; font-size:12px; letter-spacing:1.6px; margin:0; }
.kv dt { font-size:10px; letter-spacing:2.4px; text-transform:uppercase; color:#333; padding-top:2px; }
.kv dd { margin:0; }
.note { font-size:11px; color:var(--mut); letter-spacing:1.6px; line-height:1.9; margin:24px 0 0; max-width:820px; }
.prose { max-width:820px; font-size:13px; letter-spacing:1.8px; line-height:1.95; }
.prose p { margin:14px 0; } .prose ul { padding-left:18px; } .prose li { margin:8px 0; }
.prose h3 { font-size:12px; letter-spacing:2.4px; text-transform:uppercase; margin:40px 0 8px; }

/* footer */
.site-foot { margin-top:140px; padding:40px 0 70px; font-size:11px; color:#333; letter-spacing:2px; }
.site-foot .cols { display:flex; gap:46px; flex-wrap:wrap; margin-bottom:34px; text-transform:uppercase; }
.disc { font-size:10px; line-height:2; color:var(--mut); letter-spacing:1.4px; max-width:980px; text-transform:none; }
.copy { margin-top:26px; font-size:10px; color:var(--mut); }

@media (max-width:1000px) { .grid { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:44px 16px; } .idx { grid-template-columns:1fr; } .scroll { overflow-x:auto; } .scroll table { min-width:640px; } h2 { margin:70px 0 26px; } }
@media (max-width:640px) {
  body { letter-spacing:1.4px; } .wrap { padding:0 14px; }
  .site-head .wrap { grid-template-columns:1fr; height:auto; padding:16px 0 10px; gap:10px; }
  .nav, .nav.r { justify-content:center; gap:14px; font-size:10px; } .logo { order:-1; }
  h1 { font-size:20px; margin:34px 0 26px; } .lead { margin-top:-10px; }
  .grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:34px 12px; } .card .nm { font-size:12px; letter-spacing:1.5px; }
  .ctrl { flex-wrap:wrap; gap:10px; } .sortbox { width:140px; } .filterbtn { width:120px; }
  .kv { grid-template-columns:1fr; gap:4px; } .kv dt { margin-top:12px; }
}

/* --- 2026-09-09 追加: 日本語の折り返し・絞り込みグループ・リスト表示・サイズ表記・ブランド行 --- */
/* 長い段落は行を詰めたほうが読みやすい。auto-phrase は文節で折るので右端がガタつく（2026-10-02）
   短いラベル・表のセルは逆に文節で折ったほうが崩れないので残す */
.lead, .note, .prose, .disc { word-break:normal; line-break:strict; overflow-wrap:break-word; }
.idx .d, td { word-break:auto-phrase; line-break:strict; overflow-wrap:break-word; }
.chips { display:none; flex-direction:column; gap:14px; padding:24px 0 8px; border-bottom:1px solid var(--line); }
body.filters-open .chips { display:flex; }
.fgroup { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.flabel { font-size:10px; letter-spacing:2.4px; color:#333; width:80px; text-transform:uppercase; }
.chip { font-size:11px; letter-spacing:1.6px; border:1px solid #cfcfcf; background:#fff; padding:6px 12px; cursor:pointer; font-family:inherit; color:#000; }
.chip.on { background:#000; color:#fff; border-color:#000; }
.chip.clear { border-style:dashed; }
.right { display:flex; align-items:center; gap:12px; }
.view { display:inline-flex; gap:2px; }
.view button { width:36px; height:36px; border:1px solid #cfcfcf; background:#fff; cursor:pointer; color:#777; font-size:15px; }
.view button.on { background:#333; border-color:#333; color:#fff; }
.card .sz { display:block; margin-top:6px; font-size:10px; letter-spacing:1.6px; color:#333; }
.card .sz i { font-style:normal; margin-right:8px; } .card .sz i.x { color:#c8c8c8; text-decoration:line-through; }
.card .meta { display:block; font-size:10px; letter-spacing:1.6px; color:var(--mut); margin-top:3px; }
.brandrow { display:flex; flex-wrap:wrap; gap:8px; }
.brandrow .chip { text-transform:uppercase; letter-spacing:2px; padding:8px 14px; }
.brandrow .chip small { text-transform:none; color:var(--mut); letter-spacing:1px; margin-left:4px; }
.listwrap { display:none; } body.list .listwrap { display:block; } body.list .grid { display:none; }
table.list td.img { width:64px; padding:6px 8px; } table.list td.img img { width:48px; height:48px; object-fit:cover; display:block; }
table.list td.szc i { font-style:normal; margin-right:6px; font-size:11px; } table.list td.szc i.x { color:#c8c8c8; text-decoration:line-through; }
/* ガイド本文の「本日の最安値」表のサムネイル（2026-10-06 追加）。幅を固定して行高を揺らさない */
td.thumb { width:64px; padding:6px 8px; } td.thumb img { width:56px; height:56px; object-fit:contain; display:block; background:#f6f6f6; }
@media (max-width:640px) { .flabel { width:100%; } .right { gap:8px; } }

/* hero tiles (top) */
.hero { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:56px; }
.hero-t.wide { grid-column:1 / -1; aspect-ratio:2/1; }
.hero-t.wide .pics { display:grid; grid-template-columns:1.35fr 1fr; gap:4px; width:100%; height:100%; }   /* 右の縦長写真を縦に近い枠にして切れを減らす */
.hero-t.wide .pics img { height:100%; }
.hero-t.wide .pics img:first-child { object-position:50% 60%; }   /* 寝技の写真: 被写体が下寄り */
.hero-t.wide .pics img:last-child { object-position:50% 100%; }    /* 道着の写真（縦長）: 上を削って2人が入るように */
.hero-t.wide .t { font-size:26px; letter-spacing:6px; } .hero-t.wide .d { font-size:11px; }
/* 上段はキャプションを上に置き、写真の下端（被写体）を隠さない */
.hero-t.wide .cap { top:0; bottom:auto; padding:20px 20px 40px; background:linear-gradient(to bottom, rgba(0,0,0,.62), rgba(0,0,0,0)); }
.hero-t { display:block; position:relative; aspect-ratio:4/5; overflow:hidden; background:#111; }
.hero-t img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; filter:saturate(.9); }
.hero-t:hover img { transform:scale(1.04); } .hero-t:hover { opacity:1; }
.hero-t .cap { position:absolute; left:0; right:0; bottom:0; padding:22px 20px; color:#fff; background:linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,0)); }
.hero-t .t { display:block; font-size:18px; font-weight:700; letter-spacing:4px; text-transform:uppercase; }
.hero-t .d { display:block; font-size:10px; letter-spacing:1.8px; margin-top:6px; opacity:.9; }
@media (max-width:640px) { .hero { grid-template-columns:1fr; gap:12px; } .hero-t { aspect-ratio:16/10; } .hero-t.wide { aspect-ratio:16/12; } .hero-t.wide .t { font-size:20px; letter-spacing:4px; } }

.lead.wide, .prose .wide { max-width:none; }
.prose:has(.wide) { max-width:none; }
.pager { display:flex; align-items:center; justify-content:center; gap:22px; margin:56px 0 0; }
.pager { flex-wrap:wrap; gap:14px 18px; }
.pager .pg { font-size:11px; letter-spacing:2px; color:#666; flex-basis:100%; text-align:center; } .pager .btn[disabled], .pager .btn[aria-disabled="true"] { opacity:.3; cursor:default; }
.pager .nums { display:flex; gap:4px; align-items:center; }
.pager .n { min-width:32px; height:32px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; letter-spacing:1px; color:#111; text-decoration:none; background:none; border:1px solid transparent; cursor:pointer; font-family:inherit; }
.pager .n:hover { border-color:#111; } .pager .n.on { border-color:#111; background:#111; color:#fff; cursor:default; } .pager .dots { color:#999; padding:0 4px; }
svg.flow { width:100%; height:auto; display:block; margin:24px 0 20px; border:1px solid #e5e5e5; }
@media (max-width:600px) { svg.flow { min-width:640px; } .flowwrap { overflow-x:auto; } }
.adslot { margin:80px 0 0; min-height:0; text-align:center; } .adslot:empty { display:none; }

/* hidden 属性が .pager 等の display:flex に負けないように */
[hidden] { display:none !important; }

.points { margin:0 0 8px; padding-left:1.2em; font-size:13px; line-height:1.9; letter-spacing:.6px; max-width:760px; } .points li { margin-bottom:6px; }
.fresh { margin:-8px 0 20px; color:#666; }

/* ---- 2026-09-10 スマホ修正 ---- */
html, body { overflow-x:hidden; }                       /* 横揺れ防止 */
.grid, .card, .card * { min-width:0; }
.card .nm, .card .bd, .card .meta { overflow-wrap:anywhere; }
.pager { max-width:100%; }
/* 絞り込み: スマホでは下から出るシートにして、決定で閉じる */
.fsheet-bar { display:none; }
@media (max-width:640px) {
  
  /* リスト表示: 画像・ブランド＋商品・価格の3列に絞る */
  table.list { table-layout:auto; }
  table.list th:nth-child(4), table.list td:nth-child(4), table.list th:nth-child(6), table.list td:nth-child(6), table.list th:nth-child(7), table.list td:nth-child(7) { display:none; }
  table.list th:nth-child(2), table.list td:nth-child(2) { display:none; }
  table.list td { white-space:normal; padding:10px 6px; vertical-align:top; }
  table.list td.img { width:56px; }
  table.list td .bd-m { display:block; font-size:10px; color:#666; letter-spacing:1px; margin-bottom:2px; }
  table.list td.num { white-space:nowrap; width:84px; }
}
table.list td .bd-m { display:none; }
@media (max-width:640px) { table.list td .bd-m { display:block; } }

/* 折りたたみ（選び方・FAQ）。中身は HTML に含まれるので検索エンジンは読む */
details.fold { border-top:1px solid var(--line); margin-top:36px; }
details.fold summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; }
details.fold summary::-webkit-details-marker { display:none; }
details.fold summary h2 { margin:26px 0; } details.fold summary h2 .sub { font-weight:400; font-size:11px; color:#666; margin-left:8px; }
details.fold summary::after { content:"＋"; font-size:18px; color:#666; } details.fold[open] summary::after { content:"−"; }
details.fold > *:not(summary) { margin-bottom:28px; }

.card .sz { display:flex; flex-wrap:wrap; gap:2px 6px; }
.scroll { overflow-x:auto; max-width:100%; }

.perbox select { height:36px; border:1px solid #cfcfcf; background:#fff; font:inherit; font-size:11px; letter-spacing:1.5px; padding:0 10px; margin-left:10px; }
@media (max-width:640px) { .perbox select { margin-left:0; } }

/* 絞り込みモーダル（900px 以下で使用） */
body.fm-open { overflow:hidden; }
.fmodal { position:fixed; inset:0; z-index:100; background:#fff; display:flex; flex-direction:column; }
.fmodal[hidden] { display:none !important; }
.fm-head { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #111; font-size:13px; letter-spacing:3px; font-weight:700; }
.fm-x { border:0; background:none; font-size:26px; line-height:1; cursor:pointer; padding:0 4px; }
.fm-body { flex:1; overflow-y:auto; padding:8px 16px 20px; }
.fm-body .chips { display:flex !important; flex-direction:column; gap:18px; padding:16px 0; border:0; }
.fm-body .flabel { width:100%; font-size:11px; letter-spacing:2.4px; color:#333; margin-bottom:2px; }
.fm-body .pc-only { display:none; }
.fm-foot { display:flex; gap:10px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#fff; }
.fm-foot .btn { flex:1; text-align:center; height:46px; line-height:44px; font-size:13px; letter-spacing:2px; }
.fm-foot .btn.dark { background:#111; color:#fff; border-color:#111; flex:2; }
.chip.on { background:#111; color:#fff; border-color:#111; }

table.list td .sz-m { display:none; }
@media (max-width:640px) { table.list td .sz-m { display:block; margin-top:6px; font-size:11px; letter-spacing:1px; color:#111; } table.list td .sz-m i { font-style:normal; margin-right:7px; } table.list td .sz-m i.x { display:none; } }

.fgroup .sublabel { width:100%; font-size:10px; letter-spacing:2px; color:#888; margin:6px 0 -2px; }
.fgroup.sizes .chip { min-width:44px; text-align:center; }

/* 記事: 編集部の体験・著者欄 */
.voice { border-left:3px solid #111; padding:14px 18px; margin:18px 0 26px; background:#fafafa; }
.voice .who, .author .who { display:block; font-size:10px; letter-spacing:2.4px; text-transform:uppercase; color:#333; margin-bottom:6px; }
.voice p { margin:0 0 6px; font-size:13px; line-height:1.9; }
.author { border-top:1px solid var(--line); margin-top:40px; padding-top:18px; } .author p { font-size:12px; line-height:1.9; color:#333; margin:0; }

/* 記事: ハイライトと図 */
mark.hl { background:linear-gradient(transparent 55%, #ffe58a 55%); color:inherit; padding:0; }
figure.dia { margin:16px 0 22px; padding:0; overflow-x:auto; } figure.dia svg { width:100%; height:auto; min-width:320px; display:block; }
@media (max-width:640px) { figure.dia svg { min-width:560px; } .prose p { font-size:14px; line-height:1.85; margin:0 0 14px; } }

/* ---- 2026-09-10 BILLY'S に寄せる: ブランド色（ネイビー）と折りたたみの見た目 ---- */
:root { --navy:#1d3d6e; }
.logo { color:var(--navy); }
/* 主要 CTA はネイビーの塗り（カートに入れる と同じ）。前へ／次へ などの補助ボタンは枠線のまま */
.btn.dark, .fm-foot .btn.dark, .filterbtn, .more .btn, table .btn, .fsheet-bar .btn.dark { background:var(--navy) !important; color:#fff !important; border-color:var(--navy) !important; }
.chip.on { background:var(--navy); border-color:var(--navy); color:#fff; }
.view button.on { background:var(--navy); border-color:var(--navy); color:#fff; }
.pager .n.on { background:var(--navy); border-color:var(--navy); }
.voice { border-left-color:var(--navy); }
/* 折りたたみ: 薄いグレーの帯、中央に太字、右にシェブロン */
details.fold { border-top:0; margin-top:24px; }
details.fold summary { background:#f3f3f3; padding:0 46px 0 18px; min-height:56px; justify-content:center; position:relative; }
details.fold summary h2 { margin:0; font-size:14px; letter-spacing:2px; text-align:center; }
details.fold summary h2 .sub { display:none; }
details.fold summary::after { content:""; position:absolute; right:20px; top:50%; width:9px; height:9px; border-right:1.5px solid #333; border-bottom:1.5px solid #333; transform:translateY(-70%) rotate(45deg); }
details.fold[open] summary::after { transform:translateY(-30%) rotate(225deg); }
details.fold > *:not(summary) { margin:20px 0 28px; }

.request { border:1px solid var(--line); padding:22px 24px; margin:36px 0 10px; background:#fafafa; } .request h3 { margin:0 0 10px; } .request p { margin:0 0 10px; font-size:13px; line-height:1.9; }

.cform { max-width:640px; } .cform label { display:block; font-size:11px; letter-spacing:2px; color:#333; margin:18px 0 6px; } .cform select, .cform textarea, .cform input[type=email] { display:block; width:100%; border:1px solid #cfcfcf; padding:10px 12px; font:inherit; font-size:14px; margin-top:6px; background:#fff; } .cform button { margin-top:18px; border:0; cursor:pointer; font:inherit; }

/* ロゴのフォント: Unbounded（2026-09-10 かずき選定・候補1） */
.logo { font-family:'Unbounded', Jost, sans-serif; letter-spacing:2px; font-size:19px; }
.logo small { font-family:Jost, sans-serif; letter-spacing:2px; margin-top:4px; }
@media (max-width:640px) { .logo { font-size:17px; } }

/* トップ: カテゴリー・ガイド */
.catblocks { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px; }
.catblock h3 { font-size:12px; letter-spacing:3px; text-transform:uppercase; margin:0 0 10px; padding-bottom:8px; border-bottom:1px solid #111; }
.catblock ul { list-style:none; margin:0; padding:0; } .catblock li { border-bottom:1px solid var(--line); }
.catblock li a { display:flex; justify-content:space-between; align-items:baseline; padding:9px 0; font-size:13px; letter-spacing:1px; }
.catblock li a .sub { font-size:10px; color:#666; letter-spacing:1px; white-space:nowrap; margin-left:8px; }
.guides { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.gcard { display:block; border:1px solid var(--line); padding:18px 18px 16px; } .gcard:hover { border-color:#111; }
.gcard .gs { display:block; font-size:10px; letter-spacing:2.4px; color:#666; text-transform:uppercase; }
.gcard .gt { display:block; font-size:14px; font-weight:700; letter-spacing:1px; line-height:1.5; margin:6px 0 8px; }
.gcard .gd { display:block; font-size:11px; color:#555; line-height:1.7; }
.fcats { display:block; margin-top:8px; font-size:10px; letter-spacing:1px; color:#666; } .fcats a { color:#666; }
@media (max-width:1000px) { .catblocks { grid-template-columns:repeat(2, minmax(0,1fr)); } .guides { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px) { .catblocks { grid-template-columns:1fr; } .guides { grid-template-columns:1fr; } }

h1.tag { line-height:1.55; }
h1.tag br { display:none; }                              /* PC は1行 */
@media (max-width:640px) { h1.tag { font-size:21px; letter-spacing:1px; } h1.tag br { display:inline; } }

/* 記事のアイキャッチ（2026-09-26） */
.ahero { margin:24px 0 8px; aspect-ratio:16/7; overflow:hidden; background:#111; border-radius:4px; }
.ahero img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.9); }
@media (max-width:640px){ .ahero { aspect-ratio:16/9; margin:16px 0 8px; } }

/* 購入ボックス（2026-09-26 ／ 2026-10-02 CTAを強化）
   国内モールのクリックが唯一のマネタイズなので、ここだけは目立たせる。
   ただし色を足さない。トンマナ（BILLY'S ENT 系の無彩色・字間広め）は崩さず、
   「塗り」と「面積」で立たせる。塗るのは先頭の1つだけ。3つ塗ると何も目立たない。 */
.buybox { border:1px solid #000; padding:20px 22px; margin:28px 0; background:#fff; }
.buybox .bb-t { font-weight:700; margin:0 0 6px; letter-spacing:2px; }
.buybox .bb-n { margin:0 0 16px; font-size:13px; color:#555; }
.buybox .btn { display:block; width:100%; box-sizing:border-box; text-align:center;
               padding:15px 10px; margin:0 0 9px; font-size:12px; letter-spacing:2px; }
.buybox .btn:last-child { margin-bottom:0; }
.buybox a.btn:first-of-type { background:var(--navy); color:#fff; border-color:var(--navy); }
.buybox .bb-b { margin:0 0 10px; display:flex; gap:10px; flex-wrap:wrap; }
.buybox .bb-d { margin:0; font-size:12px; color:#777; }

/* 買い方ブロックの2択（2026-10-01） */
.buy { margin-bottom: 8px; }
.buy .pick { list-style:none; padding:0; margin:14px 0 0; }
.buy .pick li { padding:7px 0 7px 14px; border-left:3px solid #d8d8d8; margin-bottom:6px; }
