/* =========================================================
   萌スロパチ大百科 — 機種ページ専用デザイン（kishu-v2 確定版を移植）
   ・単一ページ : single-kishu.php の .kishu-app 配下（全セレクタ＆CSS変数をスコープ）
   ・一覧ページ : archive-kishu.php の .kishu-archive 配下（従来どおり）
   ・確定レイアウトの数値は変更していない（SWELL衝突回避のスコープ化のみ）
   ・ダークは .kishu-app[data-theme="dark"] に休眠（現状トグル無し＝ライト固定）
   ========================================================= */

/* ---- 静的トークン＋ライト変数（.kishu-app にスコープ） ---- */
.kishu-app{
  --radius:14px; --radius-sm:10px;
  --gap-xs:4px; --gap-sm:8px; --gap-md:12px; --gap-lg:18px; --gap-xl:28px;
  --header-h:60px;
  --ease:160ms cubic-bezier(.2,.7,.3,1);

  --bg:#F4F6F8;
  --surface:#ffffff;
  --surface-alt:#F1F4F6;
  --surface-sunken:#FAFBFC;
  --line:#E5E9ED;
  --text:#1B2126;
  --text-sub:#6B7680;
  --muted:#AAB3BB;
  --accent:#15A35E; --accent-dark:#0F8A4E; --accent-soft:#EAF6F0;
  --neutral-soft:#EEF1F4;
  --highlight:#FF7A1A; --highlight-dark:#E5650A;
  --placeholder:linear-gradient(135deg,#EAEEF1,#DEE5EA);
  --shadow:0 2px 10px rgba(20,30,40,.06);
  --shadow-card:0 1px 3px rgba(20,30,40,.05);
  --shadow-hover:0 8px 22px rgba(20,30,40,.12);

  --fx1:rgba(255,85,95,.16); --fx2:rgba(255,150,50,.16); --fx3:rgba(255,205,70,.16); --fx4:rgba(45,190,120,.17); --fx5:rgba(70,150,255,.16); --fx6:rgba(110,95,235,.16); --fx7:rgba(195,100,255,.16);

  position:relative;
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
  line-height:1.7;
}

/* ---- ダーク（休眠：トグル実装時に有効化） ---- */
.kishu-app[data-theme="dark"]{
  --bg:#0F1417;
  --surface:#171E22;
  --surface-alt:#1E262B;
  --surface-sunken:#141A1E;
  --line:#2A333A;
  --text:#E8EDF0;
  --text-sub:#9BA7AF;
  --muted:#5C6770;
  --accent:#2FBE7A; --accent-dark:#27A86C; --accent-soft:rgba(47,190,122,.16);
  --neutral-soft:#222B31;
  --highlight:#FF8A3D; --highlight-dark:#F2762A;
  --placeholder:linear-gradient(135deg,#222B31,#19211C);
  --shadow:0 2px 12px rgba(0,0,0,.4);
  --shadow-card:0 1px 3px rgba(0,0,0,.35);
  --shadow-hover:0 8px 24px rgba(0,0,0,.5);
  --fx1:rgba(255,90,100,.22); --fx2:rgba(255,150,55,.22); --fx3:rgba(255,205,70,.20); --fx4:rgba(55,205,135,.22); --fx5:rgba(80,155,255,.22); --fx6:rgba(125,110,245,.22); --fx7:rgba(200,110,255,.22);
}

.kishu-app *{box-sizing:border-box}
.kishu-app img{max-width:100%; display:block}
.kishu-app a{color:inherit; text-decoration:none; box-shadow:none}
body.kishu-is-locked{overflow:hidden}

/* ===== 背景アニメ（軽量：transform/opacity のみ） ===== */
/* 背景アニメは画面全体に固定し、コンテンツの背面(z-index:-1)に。SWELLの外側余白(白)にも回り込ませる */
.kishu-app .bg-fx{position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none}

.kishu-app .bg-fx b{position:absolute; display:block; border-radius:50%; will-change:transform,opacity; background:radial-gradient(circle at center, var(--c) 0%, transparent 64%)}
.kishu-app[data-bg="cute2"] .bg-fx{transform:scaleX(-1)}
.kishu-app[data-bg="cute3"] .bg-fx{transform:scaleY(-1)}
.kishu-app .bg-fx .p1 {width:16vmax;height:16vmax;top:3%; left:5%;  --c:var(--fx1); animation:fxA 8s   ease-in-out -1s infinite}
.kishu-app .bg-fx .p2 {width:12vmax;height:12vmax;top:9%; left:68%; --c:var(--fx2); animation:fxB 7s   ease-in-out -3s infinite}
.kishu-app .bg-fx .p3 {width:18vmax;height:18vmax;top:24%;left:30%; --c:var(--fx3); animation:fxC 9.5s ease-in-out -2s infinite}
.kishu-app .bg-fx .p4 {width:11vmax;height:11vmax;top:17%;left:88%; --c:var(--fx4); animation:fxD 6.5s ease-in-out -4s infinite}
.kishu-app .bg-fx .p5 {width:20vmax;height:20vmax;top:38%;left:9%;  --c:var(--fx5); animation:fxE 10s  ease-in-out -5s infinite}
.kishu-app .bg-fx .p6 {width:13vmax;height:13vmax;top:43%;left:58%; --c:var(--fx6); animation:fxF 8.5s ease-in-out -2.5s infinite}
.kishu-app .bg-fx .p7 {width:10vmax;height:10vmax;top:55%;left:84%; --c:var(--fx7); animation:fxA 7.5s ease-in-out -6s infinite}
.kishu-app .bg-fx .p8 {width:16vmax;height:16vmax;top:61%;left:34%; --c:var(--fx1); animation:fxC 9s   ease-in-out -3.5s infinite}
.kishu-app .bg-fx .p9 {width:12vmax;height:12vmax;top:69%;left:7%;  --c:var(--fx3); animation:fxB 8s   ease-in-out -1.5s infinite}
.kishu-app .bg-fx .p10{width:17vmax;height:17vmax;top:74%;left:64%; --c:var(--fx5); animation:fxD 7s   ease-in-out -4.5s infinite}
.kishu-app .bg-fx .p11{width:12vmax;height:12vmax;top:83%;left:26%; --c:var(--fx6); animation:fxE 9s   ease-in-out -2s infinite}
.kishu-app .bg-fx .p12{width:14vmax;height:14vmax;top:88%;left:80%; --c:var(--fx2); animation:fxF 6.8s ease-in-out -5.5s infinite}
.kishu-app .bg-fx .p13{width:10vmax;height:10vmax;top:50%;left:44%; --c:var(--fx7); animation:fxA 8.2s ease-in-out -3s infinite}
.kishu-app .bg-fx .p14{width:13vmax;height:13vmax;top:31%;left:52%; --c:var(--fx4); animation:fxC 7.8s ease-in-out -6.5s infinite}
.kishu-app .bg-fx .p15{width:7vmax; height:7vmax; top:13%;left:40%; --c:var(--fx1); animation:fxB 7.2s ease-in-out -2s infinite}
.kishu-app .bg-fx .p16{width:6vmax; height:6vmax; top:6%; left:30%; --c:var(--fx5); animation:fxE 8.4s ease-in-out -4s infinite}
.kishu-app .bg-fx .p17{width:8vmax; height:8vmax; top:21%;left:62%; --c:var(--fx2); animation:fxD 6.6s ease-in-out -1s infinite}
.kishu-app .bg-fx .p18{width:6vmax; height:6vmax; top:34%;left:22%; --c:var(--fx6); animation:fxA 9.1s ease-in-out -5s infinite}
.kishu-app .bg-fx .p19{width:7vmax; height:7vmax; top:29%;left:80%; --c:var(--fx3); animation:fxF 7.8s ease-in-out -3s infinite}
.kishu-app .bg-fx .p20{width:9vmax; height:9vmax; top:47%;left:38%; --c:var(--fx7); animation:fxC 8.8s ease-in-out -6s infinite}
.kishu-app .bg-fx .p21{width:6vmax; height:6vmax; top:48%;left:72%; --c:var(--fx4); animation:fxB 6.9s ease-in-out -2.5s infinite}
.kishu-app .bg-fx .p22{width:7vmax; height:7vmax; top:58%;left:14%; --c:var(--fx2); animation:fxE 9.3s ease-in-out -4.5s infinite}
.kishu-app .bg-fx .p23{width:8vmax; height:8vmax; top:64%;left:50%; --c:var(--fx5); animation:fxD 7.4s ease-in-out -1.5s infinite}
.kishu-app .bg-fx .p24{width:6vmax; height:6vmax; top:66%;left:92%; --c:var(--fx1); animation:fxA 8.1s ease-in-out -5.5s infinite}
.kishu-app .bg-fx .p25{width:7vmax; height:7vmax; top:78%;left:44%; --c:var(--fx3); animation:fxF 6.7s ease-in-out -3.5s infinite}
.kishu-app .bg-fx .p26{width:6vmax; height:6vmax; top:80%;left:10%; --c:var(--fx6); animation:fxC 9s   ease-in-out -2s infinite}
.kishu-app .bg-fx .p27{width:8vmax; height:8vmax; top:90%;left:58%; --c:var(--fx7); animation:fxB 7.6s ease-in-out -6.5s infinite}
.kishu-app .bg-fx .p28{width:6vmax; height:6vmax; top:40%;left:92%; --c:var(--fx4); animation:fxE 8.6s ease-in-out -1s infinite}
.kishu-app .bg-fx .p29{width:15vmax;height:15vmax;top:4%; left:52%; --c:var(--fx5); animation:fxC 8.7s ease-in-out -2s infinite}
.kishu-app .bg-fx .p30{width:7vmax; height:7vmax; top:12%;left:16%; --c:var(--fx3); animation:fxB 7.1s ease-in-out -4s infinite}
.kishu-app .bg-fx .p31{width:13vmax;height:13vmax;top:15%;left:76%; --c:var(--fx6); animation:fxD 9.2s ease-in-out -1.5s infinite}
.kishu-app .bg-fx .p32{width:6vmax; height:6vmax; top:3%; left:82%; --c:var(--fx7); animation:fxA 6.8s ease-in-out -5s infinite}
.kishu-app .bg-fx .p33{width:14vmax;height:14vmax;top:16%;left:9%;  --c:var(--fx6); animation:fxE 9.6s ease-in-out -3s infinite}
.kishu-app .bg-fx .p34{width:8vmax; height:8vmax; top:9%; left:57%; --c:var(--fx4); animation:fxF 7.5s ease-in-out -6s infinite}
.kishu-app .bg-fx .p35{width:6vmax; height:6vmax; top:2%; left:38%; --c:var(--fx1); animation:fxB 8.3s ease-in-out -2.5s infinite}
.kishu-app .bg-fx .p36{width:11vmax;height:11vmax;top:7%; left:92%; --c:var(--fx3); animation:fxC 7.7s ease-in-out -4.5s infinite}
.kishu-app .bg-fx .p37{width:13vmax;height:13vmax;top:9%; left:0%;  --c:var(--fx4); animation:fxD 8.9s ease-in-out -2s infinite}
.kishu-app .bg-fx .p38{width:6vmax; height:6vmax; top:3%; left:20%; --c:var(--fx6); animation:fxA 7.3s ease-in-out -5s infinite}
.kishu-app .bg-fx .p39{width:7vmax; height:7vmax; top:20%;left:6%;  --c:var(--fx7); animation:fxB 9.4s ease-in-out -1s infinite}
.kishu-app .bg-fx .p40{width:11vmax;height:11vmax;top:23%;left:21%; --c:var(--fx1); animation:fxE 8.2s ease-in-out -3.5s infinite}
.kishu-app .bg-fx .p41{width:6vmax; height:6vmax; top:6%; left:27%; --c:var(--fx5); animation:fxF 6.9s ease-in-out -6s infinite}
.kishu-app .bg-fx .p42{width:8vmax; height:8vmax; top:14%;left:2%;  --c:var(--fx2); animation:fxC 8.5s ease-in-out -2.5s infinite}
.kishu-app .bg-fx .p43{width:7vmax; height:7vmax; top:19%;left:33%; --c:var(--fx5); animation:fxB 7.6s ease-in-out -3s infinite}
.kishu-app .bg-fx .p44{width:10vmax;height:10vmax;top:28%;left:6%;  --c:var(--fx7); animation:fxD 8.8s ease-in-out -1s infinite}
.kishu-app .bg-fx .p45{width:9vmax; height:9vmax; top:45%;left:4%;  --c:var(--fx3); animation:fxA 9.3s ease-in-out -5s infinite}
.kishu-app .bg-fx .p46{width:6vmax; height:6vmax; top:52%;left:26%; --c:var(--fx1); animation:fxF 7.2s ease-in-out -2s infinite}
.kishu-app .bg-fx .p47{width:10vmax;height:10vmax;top:62%;left:20%; --c:var(--fx6); animation:fxE 8.4s ease-in-out -4.5s infinite}
.kishu-app .bg-fx .p48{width:7vmax; height:7vmax; top:72%;left:42%; --c:var(--fx2); animation:fxC 7.9s ease-in-out -1.5s infinite}
.kishu-app .bg-fx .p49{width:9vmax; height:9vmax; top:90%;left:16%; --c:var(--fx5); animation:fxB 8.6s ease-in-out -6s infinite}
.kishu-app .bg-fx .p50{width:6vmax; height:6vmax; top:36%;left:2%;  --c:var(--fx4); animation:fxD 7.4s ease-in-out -3.5s infinite}
@keyframes fxA{0%,100%{transform:translate(0,0) scale(1)}      50%{transform:translate(7vmax,-9vmax) scale(1.12)}}
@keyframes fxB{0%,100%{transform:translate(0,0) scale(1)}      50%{transform:translate(-8vmax,7vmax) scale(.9)}}
@keyframes fxC{0%,100%{transform:translate(0,0) scale(1.05)}   50%{transform:translate(8vmax,8vmax) scale(.92)}}
@keyframes fxD{0%,100%{transform:translate(0,0) scale(1)}      50%{transform:translate(-7vmax,-7vmax) scale(1.1)}}
@keyframes fxE{0%,100%{transform:translate(0,0) scale(1);opacity:.7} 50%{transform:translate(6vmax,7vmax) scale(1.08);opacity:1}}
@keyframes fxF{0%,100%{transform:translate(0,0) scale(1.08)}   50%{transform:translate(5vmax,-7vmax) scale(.92)}}

/* ---------- レイアウト（中央・幅広め） ---------- */
.kishu-app .wrap{position:relative; z-index:1; max-width:560px; margin:0 auto; padding:var(--gap-md) var(--gap-md) 120px}
/* 機種単一ページ：パンくず〜見出しの無駄な余白を詰める（SWELL .l-content の上余白2〜4emを解除） */
.single-kishu .l-content{ padding-top:0; }
.single-kishu .kishu-app .wrap{ padding-top:6px; }
.kishu-app .topbar{display:none; align-items:center; gap:10px; flex-wrap:wrap; margin:4px 0 var(--gap-md)}
.kishu-app .topbar .tags{margin-bottom:0}
.kishu-app .back{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--accent-dark); background:var(--neutral-soft); padding:6px 12px; border-radius:999px; margin:0}

/* ---------- ファーストビュー ---------- */
.kishu-app .fv{
  display:grid; gap:var(--gap-md);
  grid-template-columns:40% minmax(0,1fr);
  grid-template-areas:"head head" "media prices";
  align-items:start;
  margin-bottom:var(--gap-sm);
}
.kishu-app .fv__head{grid-area:head; min-width:0}
.kishu-app .fv__media{grid-area:media; display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; align-self:start}
.kishu-app .fv__img{
  width:100%; height:auto; border-radius:var(--radius); aspect-ratio:9/14; overflow:hidden;
  background:var(--placeholder);
  display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:11px;
  box-shadow:var(--shadow-card);
}
.kishu-app .fv__img img{width:100%; height:100%; object-fit:cover}
.kishu-app .fv__credit{font-size:10px; color:var(--muted); text-align:center; margin:0; line-height:1.35}
.kishu-app .prices{grid-area:prices; scroll-margin-top:calc(var(--header-h) + 8px)}
/* 追従バー「価格を見る」のジャンプ先：見出しH1が画面上部に来るよう、FVをヘッダー分ずらして表示 */
.kishu-app .fv{scroll-margin-top:calc(var(--header-h) + 10px)}

.kishu-app .tags{display:flex; flex-wrap:wrap; gap:var(--gap-xs); margin-bottom:6px}
.kishu-app .tag{font-size:11px; font-weight:800; padding:3px 9px; border-radius:999px; background:var(--neutral-soft); color:var(--text-sub)}
.kishu-app .tag--type{background:var(--accent-soft); color:var(--accent-dark)}
.kishu-app .fv__name{font-size:20px; font-weight:600; line-height:1.3; margin:0 0 4px}
.kishu-app .fv__release{font-size:12px; color:var(--text-sub); margin:0}
/* スマホ：FVだけ .wrap の左右余白(12px)を相殺し横に拡張（画像は左へ・価格カードは右へ）。SWELLの4vwガターは残す。基本スペック以降は不変 */
@media (max-width:767.98px){
  .kishu-app .fv{ margin-left:-12px; margin-right:-12px; }
}

/* ---------- 見出し ---------- */
.kishu-app .stitle{display:flex; align-items:center; gap:8px; font-size:16px; font-weight:600; margin:var(--gap-xl) 0 var(--gap-md); padding-left:12px; position:relative}
.kishu-app .stitle::before{content:""; position:absolute; left:0; top:2px; bottom:2px; width:4px; border-radius:4px; background:var(--accent)}

/* ---------- 価格比較 ---------- */
.kishu-app .prices__head{display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin:0 0 var(--gap-sm)}
.kishu-app .prices__head .stitle{margin:0; font-size:13px; padding-left:9px}
.kishu-app .prices__getdate{font-size:9.5px; color:var(--text-sub); font-weight:600; white-space:nowrap}
.kishu-app .gd-full{display:none}
.kishu-app .gd-mini{display:inline}
.kishu-app .prices__date{font-size:11px; color:var(--text-sub); white-space:nowrap; transform:translateX(-3px)}
.kishu-app .prices__note{font-size:12px; color:var(--text-sub); margin:0 0 var(--gap-md)}

.kishu-app .price-list{display:flex; flex-direction:column; align-items:flex-end; gap:4px}
.kishu-app .price-list .row:nth-child(n+5){display:none}

.kishu-app .row{
  position:relative; display:grid; gap:1px 8px;
  grid-template-columns:1fr auto;
  grid-template-areas:"shop cta" "price cta";
  align-items:center; width:274px; max-width:100%;
  background:var(--surface); border:1.5px solid var(--line); border-radius:var(--radius);
  padding:4px 6px 4px 11px; box-shadow:var(--shadow-card); transition:var(--ease)
}
.kishu-app .row--best{border-color:var(--accent); box-shadow:0 2px 12px rgba(21,163,94,.15); overflow:visible; padding-top:15px}
.kishu-app .row--best::before{content:""; position:absolute; left:0; top:8px; bottom:8px; width:5px; border-radius:0 4px 4px 0; background:#DC2626}
.kishu-app .row--best::after{
  content:"最安値"; position:absolute; top:-8px; left:-3px; z-index:3;
  background:#DC2626; color:#fff; font-size:12.5px; font-weight:700; letter-spacing:.02em;
  padding:2px 8px; border-radius:6px; white-space:nowrap;
  box-shadow:0 2px 6px rgba(220,38,38,.4);
  transform:rotate(-7deg);
}
/* 7桁以上：価格を独立行＋ボタン全幅。※スマホ幅のみ適用（PCは共通レイアウト） */
@media (max-width:767.98px){
  .kishu-app .row--wide{grid-template-columns:1fr auto; grid-template-areas:"shop price" "cta cta"; width:auto; max-width:none; align-self:stretch; align-items:center; gap:6px 10px}
  .kishu-app .row--wide .row__name, .kishu-app .row--wide .row__price{transform:none}
  .kishu-app .row--wide .row__price .amt{font-size:19px}
  .kishu-app .row--wide .cta{justify-self:stretch; min-width:0; padding:3px 10px}
}

.kishu-app .row__shop{grid-area:shop; min-width:0}
.kishu-app .row__name{font-size:10.5px; font-weight:600; display:flex; align-items:center; gap:5px; flex-wrap:nowrap; white-space:nowrap; min-width:0; transform:translateY(2px)}
.kishu-app .badge{font-size:9px; font-weight:500; color:#fff; background:var(--highlight); padding:2px 6px; border-radius:5px; letter-spacing:.02em}
.kishu-app .row__date{display:none; font-size:11px; color:var(--text-sub); margin-top:3px}

.kishu-app .row__stock{display:none; align-items:center; justify-content:center; font-size:10px; font-weight:500; padding:2px 7px; border-radius:999px; white-space:nowrap}
.kishu-app .row__stock--in{background:var(--accent-soft); color:var(--accent-dark)}
.kishu-app .row__stock--out{background:var(--neutral-soft); color:var(--muted)}

.kishu-app .row__price{grid-area:price; display:flex; flex-direction:column; align-items:flex-start; line-height:1.05; transform:translateY(-2px)}
.kishu-app .row__price .tax{font-size:11px; font-weight:700; color:var(--text-sub); margin-bottom:2px}
.kishu-app .row__price .amt{font-size:19px; font-weight:700; white-space:nowrap}
.kishu-app .row__price .yen{font-size:.92em; margin-right:2px; font-weight:700}

.kishu-app .cta{
  grid-area:cta; justify-self:end; align-self:center; display:inline-flex; align-items:center; justify-content:center; gap:2px;
  background:#0E8B4E; color:#fff; font-size:12px; font-weight:600; padding:5px 8px; border-radius:9px; min-width:84px;
  box-shadow:var(--shadow); white-space:nowrap; text-align:center;
  position:relative; overflow:hidden;
  transition:transform .28s ease, scale .22s ease, background var(--ease), box-shadow var(--ease);
}
.kishu-app .cta:not(.cta--off)::after{
  content:""; position:absolute; top:-10%; left:-150%; width:55%; height:120%;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform:skewX(-22deg); pointer-events:none;
  animation:cta-shine 5s ease-in-out infinite;
}
@keyframes cta-shine{
  0%{left:-150%}
  12%{left:165%}
  100%{left:165%}
}
.kishu-app .cta:not(.cta--off){animation:cta-pulse 5s ease-in-out infinite}
@keyframes cta-pulse{
  0%{scale:1}
  3.5%{scale:1.06}
  7%{scale:1}
  100%{scale:1}
}
.kishu-app .price-list .row:nth-child(1) .cta, .kishu-app .price-list .row:nth-child(1) .cta::after{animation-delay:0s}
.kishu-app .price-list .row:nth-child(2) .cta, .kishu-app .price-list .row:nth-child(2) .cta::after{animation-delay:.1s}
.kishu-app .price-list .row:nth-child(3) .cta, .kishu-app .price-list .row:nth-child(3) .cta::after{animation-delay:.2s}
.kishu-app .price-list .row:nth-child(4) .cta, .kishu-app .price-list .row:nth-child(4) .cta::after{animation-delay:.3s}
.kishu-app .price-list .row:nth-child(5) .cta, .kishu-app .price-list .row:nth-child(5) .cta::after{animation-delay:.4s}
.kishu-app .price-list .row:nth-child(6) .cta, .kishu-app .price-list .row:nth-child(6) .cta::after{animation-delay:.5s}
.kishu-app .cta-full{display:none}
.kishu-app .cta-mini{display:inline}
.kishu-app .cta-xs{display:none}
.kishu-app .cta__arr{font-size:15px; line-height:1}
.kishu-app .cta:hover{background:#0A6E3C; box-shadow:var(--shadow-hover); transform:translateY(-1px)}
.kishu-app .cta:active{transform:scale(.97)}
.kishu-app .cta:not(.cta--off):hover{transform:scale(1.08); animation:cta-ripple 3.9s ease-out infinite}
@keyframes cta-ripple{
  0%{box-shadow:0 0 0 0 rgba(14,139,78,.5), 0 0 0 0 rgba(14,139,78,.32)}
  14%{box-shadow:0 0 0 11px rgba(14,139,78,0), 0 0 0 22px rgba(14,139,78,0)}
  100%{box-shadow:0 0 0 0 rgba(14,139,78,0), 0 0 0 0 rgba(14,139,78,0)}
}
.kishu-app .row--out{background:var(--surface-sunken)}
.kishu-app .row--out .row__name, .kishu-app .row--out .row__price .amt{color:var(--muted)}
.kishu-app .cta--off{background:var(--neutral-soft); color:var(--text-sub); box-shadow:none}
.kishu-app .cta--off:hover{background:var(--line); color:var(--text-sub); box-shadow:none; transform:none}
.kishu-app .cta--dead{pointer-events:none; cursor:default; opacity:.9}
/* スマホ・6桁：今の価格を見るボタンを1px右へ */
@media (max-width:767.98px){
  .kishu-app .row:not(.row--wide) .cta{ margin-right:-1px; }
}
.kishu-app .assure{display:none; font-size:12px; color:var(--text-sub); text-align:center; margin:var(--gap-md) 0 0; line-height:1.7}
.kishu-app .footnote{font-size:11px; color:var(--muted); text-align:left; margin:var(--gap-lg) 0 0; line-height:1.7}
@media (min-width:1440px){ .kishu-app .footnote{display:none} }

/* ---------- 「価格を見る」インライン誘導 ---------- */
.kishu-app .jump{display:flex; justify-content:center; margin:var(--gap-xl) 0}
.kishu-app .jump a{
  display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:800;
  color:var(--accent-dark); background:var(--surface); border:1.5px dashed var(--accent);
  padding:10px 20px; border-radius:999px; transition:var(--ease)
}
.kishu-app .jump a:hover{background:var(--accent-soft)}
.kishu-app[data-theme="dark"] .jump a{color:#fff; border-color:#fff}
.kishu-app[data-theme="dark"] .jump a:hover{background:rgba(255,255,255,.1)}

/* ---------- スペック表 ---------- */
.kishu-app .spec{width:100%; border-collapse:collapse; font-size:14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
.kishu-app .spec th,.kishu-app .spec td{text-align:left; padding:11px 14px; border-bottom:1px solid var(--line)}
.kishu-app .spec tr:last-child th,.kishu-app .spec tr:last-child td{border-bottom:0}
.kishu-app .spec th{width:42%; background:var(--surface-alt); font-weight:800; color:var(--text-sub); font-size:13px}
.kishu-app .spec td{font-weight:800}

/* ---------- 本文コンテンツ ---------- */
.kishu-app .prose{font-size:14.5px; color:var(--text)}
.kishu-app .prose p{margin:0 0 var(--gap-md)}
.kishu-app .prose h3{font-size:15px; font-weight:900; margin:var(--gap-lg) 0 var(--gap-sm)}
.kishu-app .prose ul{margin:0 0 var(--gap-md); padding-left:1.2em}
.kishu-app .prose li{margin:4px 0}

/* ---------- 関連記事 ---------- */
.kishu-app .related{display:flex; flex-direction:column; gap:var(--gap-md)}
.kishu-app .rcard{display:flex; gap:var(--gap-md); align-items:center; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:10px; box-shadow:var(--shadow-card); transition:var(--ease)}
.kishu-app .rcard:hover{transform:translateY(-2px); border-color:var(--accent); box-shadow:var(--shadow-hover)}
.kishu-app .rcard__thumb{flex:0 0 84px; width:84px; height:60px; border-radius:10px; background:var(--placeholder); overflow:hidden; display:flex; align-items:center; justify-content:center}
.kishu-app .rcard__thumb img{width:100%; height:100%; object-fit:cover}
.kishu-app .rcard__cat{font-size:10px; font-weight:900; color:var(--accent); letter-spacing:.04em}
.kishu-app .rcard__title{font-size:14px; font-weight:800; line-height:1.4; margin:2px 0 0}

/* ---------- コンテンツ2カラム ---------- */
.kishu-app .content{display:grid; grid-template-columns:1fr; gap:var(--gap-xl); margin-top:var(--gap-xl)}
.kishu-app .cblock{min-width:0}
.kishu-app .cblock .stitle{margin-top:0}

/* ---------- 追従バー ---------- */
.kishu-app .fab{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.92); backdrop-filter:saturate(1.4) blur(8px);
  border-top:1px solid var(--line);
  transform:translateY(130%); transition:transform 750ms cubic-bezier(.22,.61,.36,1);
}
.kishu-app[data-theme="dark"] .fab{background:rgba(20,26,29,.92)}
.kishu-app .fab.is-on{transform:translateY(0)}
.kishu-app .fab__inner{display:flex; gap:var(--gap-sm); max-width:640px; margin:0 auto}
.kishu-app .fab__btn{display:flex; align-items:center; justify-content:center; gap:6px; font-weight:600; font-size:14px; padding:13px 12px; border-radius:13px; border:0; cursor:pointer; transition:var(--ease); white-space:nowrap}
.kishu-app .fab__price{flex:1 1 auto; background:#0E8B4E; color:#fff; box-shadow:0 6px 18px rgba(14,139,78,.3)}
.kishu-app .fab__price small{font-weight:600; font-size:inherit; opacity:.95}
.kishu-app .fab__price:hover{background:#0A6E3C}
.kishu-app .fab__search{flex:0 0 auto; background:var(--surface); color:var(--accent-dark); border:1.5px solid var(--accent)}
.kishu-app .fab__search:hover{background:var(--accent-soft)}
/* スマホ：追従バーの2ボタンが横にはみ出すので小さく（横パディング・文字を縮小） */
@media (max-width:767.98px){
  .kishu-app .fab{ padding-left:10px; padding-right:10px; }
  .kishu-app .fab__inner{ gap:6px; }
  .kishu-app .fab__btn{ font-size:12.5px; padding:11px 9px; gap:4px; }
  .kishu-app .fab__search{ flex:0 1 auto; min-width:0; }
}

/* ---------- 検索ポップアップ ---------- */
.kishu-app .modal[hidden]{display:none}
.kishu-app .modal{position:fixed; inset:0; z-index:100; display:flex; align-items:flex-end; justify-content:center}
.kishu-app .modal__backdrop{position:absolute; inset:0; background:rgba(10,16,14,.55); backdrop-filter:blur(2px)}
.kishu-app .modal__card{
  position:relative; width:100%; max-width:520px; max-height:86vh; overflow:auto;
  background:var(--surface); border-radius:20px 20px 0 0; padding:var(--gap-xl) var(--gap-lg) var(--gap-lg);
  box-shadow:0 -10px 40px rgba(0,0,0,.25); animation:slideup 240ms var(--ease)
}
@keyframes slideup{from{transform:translateY(40px); opacity:.4} to{transform:translateY(0); opacity:1}}
.kishu-app .modal__close{position:absolute; top:12px; right:12px; width:34px; height:34px; border:0; border-radius:50%; background:var(--surface-alt); font-size:20px; line-height:1; color:var(--text-sub); cursor:pointer}
.kishu-app .modal__title{font-size:17px; font-weight:900; margin:0 0 var(--gap-lg)}
.kishu-app .tabs{display:flex; gap:6px; background:var(--surface-alt); padding:5px; border-radius:12px; margin-bottom:var(--gap-lg)}
.kishu-app .tab{flex:1; border:0; background:none; font:inherit; font-weight:800; font-size:13px; color:var(--text-sub); padding:9px 4px; border-radius:9px; cursor:pointer; transition:var(--ease)}
.kishu-app .tab.is-active{background:var(--surface); color:var(--accent-dark); box-shadow:var(--shadow-card)}
.kishu-app .tabpanel{display:none; margin-bottom:var(--gap-lg)}
.kishu-app .tabpanel.is-active{display:block}
.kishu-app .modal__input{width:100%; font:inherit; font-size:15px; padding:12px 14px; border:1.5px solid var(--line); border-radius:12px; background:var(--surface); color:var(--text)}
.kishu-app .chips{display:flex; flex-wrap:wrap; gap:8px}
.kishu-app .chip{font:inherit; font-size:13px; font-weight:800; padding:9px 14px; border-radius:999px; border:1.5px solid var(--line); background:var(--surface); color:var(--text); cursor:pointer; transition:var(--ease)}
.kishu-app .chip.is-active,.kishu-app .chip:hover{border-color:var(--accent); background:var(--accent-soft); color:var(--accent-dark)}
.kishu-app .modal__search{width:100%; background:var(--accent); color:#fff; font-weight:900; font-size:15px; padding:14px; border:0; border-radius:13px; cursor:pointer; box-shadow:var(--shadow)}
.kishu-app .modal__search:hover{background:var(--accent-dark)}
.kishu-app .results[hidden]{display:none}
.kishu-app .results{margin-top:var(--gap-lg); border-top:1px solid var(--line); padding-top:var(--gap-lg)}
.kishu-app .results__head{font-size:13px; font-weight:900; color:var(--text-sub); margin:0 0 var(--gap-md)}
.kishu-app .results .rcard{margin-bottom:var(--gap-sm)}

/* =========================================================
   768px〜（タブレット）
   ========================================================= */
@media (min-width:768px){
  .kishu-app .wrap{max-width:740px; padding:var(--gap-lg) var(--gap-lg) 120px}
  .kishu-app .fv{grid-template-columns:285px 1fr; gap:var(--gap-lg)}
  .kishu-app .fv__name{font-size:26px}
  .kishu-app .topbar{display:flex}
  .kishu-app .price-list{align-items:stretch}
  .kishu-app .row{grid-template-columns:1fr auto; grid-template-areas:"shop cta" "price cta"; align-items:center; padding:14px 22px; gap:5px 14px; width:auto; max-width:none}
  .kishu-app .row__name{font-size:16px; transform:translateY(3px)}
  .kishu-app .badge{font-size:11px; padding:3px 8px}
  .kishu-app .row__stock{font-size:12px; padding:3px 10px}
  .kishu-app .row__price .amt{font-size:30px}
  .kishu-app .cta{display:inline-flex; align-items:center; white-space:nowrap; max-width:none; font-size:14px; padding:12px 20px; justify-self:end; gap:4px}
  .kishu-app .cta-xs{display:none}
  .kishu-app .row--wide .cta{justify-self:end}
  .kishu-app .stitle{font-size:18px}
  .kishu-app .modal{align-items:center}
  .kishu-app .modal__card{border-radius:20px}
}

/* =========================================================
   1080px〜（PC）：中央どかっと・幅広め
   ========================================================= */
@media (min-width:1080px){
  .kishu-app .wrap{max-width:1040px; padding:var(--gap-lg) var(--gap-xl) 120px}
  .kishu-app .fv{
    grid-template-columns:352px minmax(0,1fr);
    grid-template-areas:"head head" "media prices";
    gap:var(--gap-lg) var(--gap-xl); align-items:start;
  }
  .kishu-app .fv__name{font-size:32px}
  .kishu-app .prices{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:var(--gap-md) var(--gap-lg); box-shadow:var(--shadow)}
  .kishu-app .prices__head{margin-top:0}
  .kishu-app .prices__head .stitle{font-size:18px}
  .kishu-app .prices__getdate{font-size:11px}
  .kishu-app .gd-full{display:inline}
  .kishu-app .gd-mini{display:none}
  .kishu-app .cta-full{display:inline}
  .kishu-app .cta-mini{display:none}
  .kishu-app .row--wide .cta-mini{display:none}
  .kishu-app .price-list .row:nth-child(n+5){display:grid}
  .kishu-app .price-list{gap:6px}
  .kishu-app .row{padding:9px 40px; gap:6px 16px}
  .kishu-app .price-list .row:nth-child(n+6){display:none}
  .kishu-app .row__name{font-size:18px}
  .kishu-app .row__stock{font-size:13px; padding:5px 13px}
  .kishu-app .badge{font-size:12px}
  .kishu-app .row__price .amt{font-size:33px}
  .kishu-app .cta{font-size:15px; padding:13px 24px}
  .kishu-app .spec{width:100%}
  .kishu-app .prose{max-width:820px}
  .kishu-app .content{grid-template-columns:1fr 1fr; gap:var(--gap-xl) 40px; align-items:start}
  .kishu-app .cblock--full{grid-column:1 / -1}
  .kishu-app .cblock--full .prose{max-width:none}
}

/* =========================================================
   1440px〜（MacBook 14インチ級）
   ========================================================= */
@media (min-width:1440px){
  .kishu-app .wrap{max-width:1160px}
  .kishu-app .fv{grid-template-columns:400px minmax(0,1fr)}
  .kishu-app .fv__name{font-size:36px}
  .kishu-app .row__price .amt{font-size:35px}
  .kishu-app .prose{max-width:900px; font-size:15.5px}
  .kishu-app .fab__btn{font-size:17px}
  .kishu-app .row__stock{display:inline-flex}
  .kishu-app .assure{display:block}
}

/* =========================================================
   1800px〜（大型外部モニタ）
   ========================================================= */
@media (min-width:1800px){
  .kishu-app .wrap{max-width:1280px}
  .kishu-app .fv{grid-template-columns:405px minmax(0,1fr)}
  .kishu-app .fv__name{font-size:42px}
  .kishu-app .prose{max-width:960px}
}

@media (prefers-reduced-motion:reduce){
  .kishu-app .cta{animation:none !important}
  .kishu-app .cta::after{animation:none !important; display:none}
  .kishu-app .bg-fx b{animation:none !important}
}

/* =========================================================
   機種一覧（archive-kishu.php）  ※従来の .kishu-archive を保持
   ========================================================= */
.kishu-archive{
  --accent:#1AA260; --accent-dark:#14834D; --accent-soft:#E6F6EE;
  --surface:#ffffff; --surface-alt:#F2FBF6; --line:#DCEEE4;
  --text:#1F2421; --text-sub:#7C8A82; --muted:#B7C2BB; --ok:#1AA260;
  --highlight:#FF7A1A; --highlight-dark:#E5650A;
  --radius:14px; --gap-xs:4px; --gap-sm:8px; --gap-md:12px; --gap-lg:18px;
  --shadow:0 2px 10px rgba(26,162,96,.10);
  --shadow-hover:0 6px 18px rgba(26,162,96,.18);
  --shadow-card:0 1px 3px rgba(31,36,33,.06);
  --ease:160ms cubic-bezier(.2,.7,.3,1);
  color:var(--text);
}
.kishu-archive .kishu-filterbar {
  display: flex; flex-wrap: wrap; gap: var(--gap-sm); align-items: flex-end;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 14px 16px; margin-bottom: var(--gap-lg);
  box-shadow: var(--shadow-card);
}
.kishu-archive .kishu-field { display: flex; flex-direction: column; gap: 4px; flex: 1 1 160px; min-width: 0; }
.kishu-archive .kishu-field label { font-size: 11px; font-weight: 800; color: var(--text-sub); letter-spacing: .03em; }
.kishu-archive .kishu-field select,
.kishu-archive .kishu-field input[type="search"],
.kishu-archive .kishu-field input[type="text"] {
  width: 100%; font-size: 14px; padding: 9px 10px;
  border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--text);
}
.kishu-archive .kishu-field select:focus,
.kishu-archive .kishu-field input:focus { outline: 2px solid rgba(26,162,96,.35); outline-offset: 1px; border-color: var(--accent); }
.kishu-archive .kishu-filter-submit {
  flex: 0 0 auto; font-size: 14px; font-weight: 800; color: #fff;
  background: var(--accent); border: none; border-radius: 10px;
  padding: 10px 20px; cursor: pointer; box-shadow: 0 1px 2px rgba(20,131,77,.25);
  transition: background var(--ease), transform var(--ease);
}
.kishu-archive .kishu-filter-submit:hover { background: var(--accent-dark); transform: translateY(-1px); }
.kishu-archive .kishu-cardgrid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--gap-md);
}
@media (min-width: 600px) { .kishu-archive .kishu-cardgrid { grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: var(--gap-lg); } }
.kishu-archive .kishu-card {
  display: flex; flex-direction: column;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; color: var(--text); box-shadow: var(--shadow-card);
  transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.kishu-archive .kishu-card:hover { transform: translateY(-3px); border-color: var(--accent); box-shadow: var(--shadow-hover); }
.kishu-archive .kishu-card a { text-decoration: none; color: inherit; box-shadow: none; }
.kishu-archive .kishu-card__thumb {
  aspect-ratio: 16/9; background: linear-gradient(135deg, var(--accent-soft), #D6F0E1);
  display: flex; align-items: center; justify-content: center; font-size: 32px; overflow: hidden;
}
.kishu-archive .kishu-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kishu-archive .kishu-card__body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; }
.kishu-archive .kishu-card__maker { font-size: 10px; font-weight: 800; letter-spacing: .03em; color: var(--accent); }
.kishu-archive .kishu-card__name {
  font-size: 14px; font-weight: 800; line-height: 1.35; margin: 0; flex: 1 1 auto;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kishu-archive .kishu-card__price { display: flex; align-items: baseline; gap: 6px; margin-top: 2px; }
.kishu-archive .kishu-card__price .lbl { font-size: 10px; font-weight: 700; color: var(--text-sub); }
.kishu-archive .kishu-card__price .val { font-size: 16px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; }
.kishu-archive .kishu-card__price .val .yen { font-size: 11px; }
.kishu-archive .kishu-card__price.is-out .val { color: var(--muted); }
.kishu-archive .kishu-card__stock { font-size: 10px; font-weight: 800; }
.kishu-archive .kishu-card__stock.is-in { color: var(--ok); }
.kishu-archive .kishu-card__stock.is-out { color: var(--muted); }
.kishu-archive .kishu-noresult { padding: 40px 0; text-align: center; color: var(--text-sub); font-weight: 700; }
@media (prefers-reduced-motion: reduce) {
  .kishu-archive * { transition: none !important; }
  .kishu-archive .kishu-card:hover { transform: none; }
}

/* =========================================================
   機種検索フォーム（ショートコード [kishu_search]）※トップ等に設置
   ========================================================= */
/* 共通（色・下地・チップの基本形）。サイズはBPごとに下で上書き */
.kishu-search{
  --ks-accent:#15A35E; --ks-accent-dark:#0F8A4E; --ks-line:#E0E6EA; --ks-text:#1B2126;
  background:rgba(255,255,255,.4); border:1px solid var(--ks-line);
  box-shadow:0 6px 22px rgba(20,30,40,.10);
  backdrop-filter:saturate(1.1) blur(6px); -webkit-backdrop-filter:saturate(1.1) blur(6px);
  margin:0 auto; box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
}
.kishu-search *{box-sizing:border-box}
/* タップ時のグレーのちらつき（タップハイライト）を消す */
.kishu-search, .kishu-search *{ -webkit-tap-highlight-color:transparent; }
.kishu-search label, .kishu-search button{ -webkit-tap-highlight-color:transparent; }
.kishu-search__head{ margin-bottom:clamp(18px,2.4vw,30px); text-align:center; }
.kishu-search__icon{ font-size:clamp(36px,5vw,60px); line-height:1; margin-bottom:6px; filter:drop-shadow(0 2px 6px rgba(0,0,0,.25)); }
.kishu-search__title{ font-weight:800; color:var(--ks-text); line-height:1.25; letter-spacing:.02em; margin:0;
  text-shadow:0 0 8px rgba(255,255,255,.95), 2px 2px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff; }
.kishu-search__sub{ font-size:clamp(14px,1.35vw,18px); color:#3f4b54; font-weight:700; line-height:1.55; margin-top:10px;
  text-shadow:0 0 5px rgba(255,255,255,.95), 1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff; }
.kishu-search__kw{min-width:0; border:1.5px solid var(--ks-line); background:#fff; color:var(--ks-text)}
.kishu-search__kw:focus{outline:2px solid rgba(21,163,94,.35); outline-offset:1px; border-color:var(--ks-accent)}
.kishu-search__btn{font-weight:600; color:#fff; background:var(--ks-accent); border:0; cursor:pointer; box-shadow:0 2px 8px rgba(21,163,94,.25); transition:background .15s ease, transform .15s ease}
.kishu-search__btn:hover{background:var(--ks-accent-dark); transform:translateY(-1px)}
.kishu-search__opts{display:flex; flex-wrap:wrap}
.kishu-radio{position:relative; display:inline-flex; cursor:pointer}
.kishu-radio input{position:absolute; opacity:0; width:0; height:0}
.kishu-radio span{display:inline-block; border:1.5px solid var(--ks-line); border-radius:999px; color:var(--ks-text); background:#fff; transition:border-color .15s ease, background .15s ease, color .15s ease}
.kishu-radio span:hover{border-color:var(--ks-accent)}
.kishu-radio input:checked + span{border-color:var(--ks-accent); background:var(--ks-accent); color:#fff; font-weight:600}
.kishu-radio input:focus-visible + span{outline:2px solid rgba(21,163,94,.4); outline-offset:2px}
/* 詳細条件トグル：チェックボックス本体は隠す（ラベルで操作） */
.kishu-search__toggle-cb{position:absolute; opacity:0; width:0; height:0; pointer-events:none}

/* ===== スマホ（〜767）：コンパクト・縦積み ===== */
.kishu-search{ max-width:100%; padding:20px 18px; border-radius:16px; }
.kishu-search__title{ font-size:27px; }
.kishu-search__bar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.kishu-search__kw{ flex:1 1 100%; font-size:16px; padding:14px 16px; border-radius:12px; }
.kishu-search__btn{ flex:1 1 100%; font-size:16px; padding:14px 20px; border-radius:12px; }
.kishu-search__group{ display:flex; flex-direction:column; gap:6px; margin-top:12px; }
.kishu-search__label{ font-size:13px; font-weight:700; color:var(--ks-text); }
.kishu-search__opts{ gap:7px; }
.kishu-radio span{ padding:7px 13px; font-size:13px; }
/* スマホ：メーカー/価格は「詳細条件」トグルの中に格納（オフ＝検索枠＋ボタン＋トグルのみ） */
.kishu-search__toggle{ display:inline-flex; align-items:center; gap:10px; margin-top:8px; cursor:pointer; font-size:14px; font-weight:600; color:var(--ks-text); user-select:none; position:relative; }
/* トグルスイッチ：トラック（::before）＋スライドするつまみ（::after） */
.kishu-search__toggle::before{ content:""; flex:0 0 auto; width:46px; height:26px; border-radius:999px; background:#cfd6db; transition:background .2s ease; }
.kishu-search__toggle::after{ content:""; position:absolute; left:3px; top:50%; transform:translateY(-50%); width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:left .2s ease; }
.kishu-search__details{ display:none; margin-top:10px; }
/* ON：トラック緑＋つまみ右へスライド＋詳細表示 */
.kishu-search__toggle-cb:checked ~ .kishu-search__toggle::before{ background:var(--ks-accent); }
.kishu-search__toggle-cb:checked ~ .kishu-search__toggle::after{ left:23px; }
.kishu-search__toggle-cb:checked ~ .kishu-search__details{ display:block; }
.kishu-search__toggle-cb:focus-visible ~ .kishu-search__toggle::before{ outline:2px solid rgba(21,163,94,.45); outline-offset:2px; }

/* ===== タブレット/iPad（768〜1079） ===== */
@media (min-width:768px){
  /* ▼トグルを全BPで有効化（試験）：メーカー/価格はトグルONで表示。
     PCで常時表示に戻すには下2行を復活： .kishu-search__toggle{display:none} / .kishu-search__details{display:block;margin-top:0} */
  .kishu-search{ max-width:720px; padding:28px 30px; border-radius:18px; }
  .kishu-search__title{ font-size:34px; }
  .kishu-search__bar{ flex-wrap:nowrap; gap:12px; margin-bottom:18px; }
  .kishu-search__kw{ flex:1 1 auto; font-size:17px; padding:16px 18px; border-radius:13px; }
  .kishu-search__btn{ flex:0 0 auto; font-size:17px; padding:16px 34px; border-radius:13px; }
  .kishu-search__group{ flex-direction:row; align-items:flex-start; gap:12px; margin-top:14px; }
  .kishu-search__label{ flex:0 0 auto; min-width:60px; padding-top:8px; font-size:14px; }
  .kishu-search__opts{ flex:1 1 auto; gap:8px; }
  .kishu-radio span{ padding:8px 15px; font-size:14px; }
}

/* ===== 小型PC（1080〜1439） ===== */
@media (min-width:1080px){
  .kishu-search{ max-width:1000px; padding:36px 40px; border-radius:20px; }
  .kishu-search__title{ font-size:40px; }
  .kishu-search__bar{ gap:14px; margin-bottom:20px; }
  .kishu-search__kw{ font-size:18px; padding:18px 20px; border-radius:14px; }
  .kishu-search__btn{ font-size:18px; padding:18px 40px; border-radius:14px; }
  .kishu-search__group{ gap:14px; margin-top:15px; }
  .kishu-search__label{ min-width:64px; padding-top:9px; font-size:15px; }
  .kishu-search__opts{ gap:9px; }
  .kishu-radio span{ padding:9px 16px; font-size:15px; }
}

/* ===== MacBook 14"（≥1440）：確定済みの最適レイアウト ===== */
@media (min-width:1440px){
  .kishu-search{ max-width:1280px; padding:42px 46px; border-radius:22px; box-shadow:0 10px 32px rgba(20,30,40,.11); }
  .kishu-search__title{ font-size:46px; }
  .kishu-search__bar{ gap:14px; margin-bottom:22px; }
  .kishu-search__kw{ font-size:19px; padding:20px 22px; border-radius:15px; }
  .kishu-search__btn{ font-size:20px; padding:20px 46px; border-radius:15px; }
  .kishu-search__group{ gap:14px; margin-top:16px; }
  .kishu-search__label{ min-width:68px; padding-top:9px; font-size:15px; }
  .kishu-search__opts{ gap:9px; }
  .kishu-radio span{ padding:9px 18px; font-size:15px; }
}

/* ===== 大型（≥1800）：14"の最適レイアウトを継承（必要ならここで上書き） ===== */

/* =========================================================
   トップ用：機種カード一覧 [kishu_list] の見出し
   ========================================================= */
.kishu-archive .kishu-list__title{ font-size:20px; font-weight:800; margin:0 0 16px; color:var(--text); }

/* =========================================================
   トップ用：メーカー別ボタン [maker_buttons]
   ========================================================= */
.maker-buttons{
  --mb-accent:#15A35E; --mb-accent-dark:#0F8A4E; --mb-line:#E0E6EA;
  max-width:880px; margin:0 auto;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
}
.maker-buttons__title{ font-size:20px; font-weight:800; margin:0 0 16px; color:#1B2126; }
.maker-buttons__grid{ display:flex; flex-wrap:wrap; gap:10px; }
.maker-btn{
  display:inline-flex; align-items:center; font-size:14px; font-weight:800;
  color:var(--mb-accent-dark); background:#fff; border:1.5px solid var(--mb-line);
  border-radius:999px; padding:10px 20px; text-decoration:none;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.maker-btn:hover{ border-color:var(--mb-accent); background:#EAF6F0; transform:translateY(-1px); }

/* =========================================================
   トップページ：先頭フルワイド(ヒーロー)を上のバナーにぴったり寄せる
   ※ ホーム(.home)限定。他ページのレイアウトには影響しない。
   ========================================================= */
.mss-front .l-mainContent{ padding-top:0 !important; }
.mss-front .l-mainContent__inner{ padding-top:0 !important; }
/* ★本命：SWELL本体の「.l-mainContent__inner > .post_content { margin:4em 0 }」の上マージンを打ち消す */
.mss-front .l-mainContent__inner > .post_content{ margin-top:0 !important; }
.mss-front .post_content > *:first-child{ margin-top:0 !important; }
.mss-front .w-frontTop:empty{ display:none !important; margin:0 !important; }
/* トップだけ：SWELLのお知らせバー（ピンクの帯）を非表示 */
.mss-front .c-infoBar{ display:none !important; }

/* =========================================================
   フロント：検索ヒーロー（先頭フルワイド）を画面いっぱいに
   ・min-height = 画面高 − (ヘッダー+バナー分)。数値はブレイクポイント別に調整可。
   ・検索カードは縦中央に配置。
   ========================================================= */
.mss-front .post_content > .swell-block-fullWide:first-child{
  display:flex; align-items:flex-start; justify-content:center;
  box-sizing:border-box;
  /* スマホ(〜767)：ヘッダー+バナー ≒ 100px */
  min-height:calc(100vh - 100px);
  min-height:calc(100svh - 100px);
}
.mss-front .post_content > .swell-block-fullWide:first-child > .swell-block-fullWide__inner{ width:100%; }
@media (min-width:768px){  /* iPad/タブレット */
  .mss-front .post_content > .swell-block-fullWide:first-child{ min-height:calc(100vh - 120px); min-height:calc(100svh - 120px); }
}
@media (min-width:1080px){ /* PC〜14"手前 */
  .mss-front .post_content > .swell-block-fullWide:first-child{ min-height:calc(100vh - 140px); min-height:calc(100svh - 140px); }
}
@media (min-width:1440px){ /* MacBook 14" */
  .mss-front .post_content > .swell-block-fullWide:first-child{ min-height:calc(100vh - 150px); min-height:calc(100svh - 150px); }
}
@media (min-width:1800px){ /* 14"以上・大型 */
  .mss-front .post_content > .swell-block-fullWide:first-child{ min-height:calc(100vh - 160px); min-height:calc(100svh - 160px); }
}
/* トップ：ヒーロー背景（画像/動画）レイヤー（管理画面「トップ背景設定」で設定） */
.mss-front .post_content > .swell-block-fullWide:first-child{ position:relative; overflow:hidden; }
.mss-front .post_content > .swell-block-fullWide:first-child > .swell-block-fullWide__inner{ position:relative; z-index:1; }
/* 背景レイヤーはヒーローの高さ変化（トグル開閉）に追従させず、ビューポート基準で固定＝拡大縮小しない */
.mss-front .mss-hero-bg{ position:absolute; top:0; left:0; width:100%; height:100vh; height:100svh; z-index:0; pointer-events:none; }
.mss-front .mss-hero-bg img, .mss-front .mss-hero-bg video{ width:100%; height:100%; object-fit:cover; display:block; }
/* ヒーロー内の見出し（「中古パチスロ…」）は全幅で非表示（検索カードのコピーに集約） */
.mss-front .post_content > .swell-block-fullWide:first-child .wp-block-heading{ display:none; }

/* ファーストビュー下部：スクロール誘導の下矢印（ふわふわ／全BP共通） */
.mss-front .post_content > .swell-block-fullWide:first-child::after{
	content:""; position:absolute; left:50%; bottom:22px; margin-left:-10px;
	width:20px; height:20px;
	border-right:3px solid #fff; border-bottom:3px solid #fff;
	transform:translateY(0) rotate(45deg);
	animation:mss-scrollcue 1.6s ease-in-out infinite;
	/* 白矢印の縁に黒アウトライン（上下左右）＋うっすら影。背景が白でも黒でも視認できる */
	filter:drop-shadow(1.5px 0 0 #000) drop-shadow(-1.5px 0 0 #000) drop-shadow(0 1.5px 0 #000) drop-shadow(0 -1.5px 0 #000) drop-shadow(0 2px 4px rgba(0,0,0,.4));
	opacity:.95; z-index:3; pointer-events:none;
}
@keyframes mss-scrollcue{
	0%,100%{ transform:translateY(0) rotate(45deg); opacity:.8; }
	50%{ transform:translateY(9px) rotate(45deg); opacity:1; }
}
@media (prefers-reduced-motion:reduce){
	.mss-front .post_content > .swell-block-fullWide:first-child::after{ animation:none; }
}

/* スマホ（〜767）：全画面化せず、見出しを隠して検索カードをグローバルナビ直下に詰める */
@media (max-width:767.98px){
  /* スマホ：縦長フル画面ヒーロー（min-heightはベースの calc(100svh-100px) を使用）。
     検索カードはナビ直下（上寄せ）＋左右ガター、見出しは非表示。 */
  .mss-front .post_content > .swell-block-fullWide:first-child{ padding-top:14px; padding-bottom:26px; padding-left:16px; padding-right:16px; }
}
