/* =========================================================
   AGAクリニックナビ — ポータル型デザイン（ネイビー×ブルー・信頼感 / 角丸控えめ）
   参考: ホットペッパー/SACHICO/湘南。情報密度と料金・診療時間・CVの明快さを重視。
   ========================================================= */
:root{
  --bg:#f4f6f9; --card:#fff; --ink:#2e3440; --body:#4b545f; --sub:#8b939e; --line:#e2e8ef;
  --pink:#4e8fd1; --pink-d:#2f6cb0; --pink-dd:#245a96; --pink-soft:#eaf2fb;
  /* CTA（押したくなるビビッドなローズ→コーラル）。文字は白 */
  --cta:linear-gradient(135deg,#ff9a3d 0%,#ff6a00 100%);
  --cta-h:linear-gradient(135deg,#ff8a2a 0%,#f25f00 100%);
  --cta-sh:rgba(255,106,0,.34); --cta-sh-h:rgba(255,106,0,.46);
  --gold:#c39a52;
  --ok:#3aa587; --okbg:#e9f6f1;
  --sat:#3a78c9; --sun:#d6595b;
  --shadow:0 1px 6px rgba(40,60,90,.06);
  --r:5px;     /* 標準の角丸（控えめ） */
  --r-sm:3px;  /* 小要素 */
}
*{box-sizing:border-box}
body.bh-portal{margin:0;background:var(--bg);color:var(--body);
  font-family:"Noto Sans JP",-apple-system,system-ui,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
.bh-portal a{color:var(--ink);text-decoration:none}
.bh-wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.bh-main{max-width:1080px;margin:0 auto;padding:0 15px;display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:900px){.bh-main{grid-template-columns:1fr 300px}}
/* グリッド子が内部の広いテーブルで押し広げられ横はみ出しするのを防ぐ */
.bh-content,.bh-side{min-width:0}
html.bh-fix,body.bh-portal{max-width:100%;overflow-x:hidden}

/* ---------- ヘッダー ---------- */
.bh-header{background:var(--card);border-bottom:3px solid var(--pink);position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}
.bh-header .in{max-width:1080px;margin:0 auto;padding:0 16px;height:62px;display:flex;align-items:center;gap:18px}
.bh-logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:19px;color:var(--ink);letter-spacing:.02em}
.bh-logo .m{width:32px;height:32px;border-radius:var(--r);background:linear-gradient(135deg,var(--pink),#7fb1e3);
  color:#fff;display:grid;place-items:center;font-size:16px;font-weight:900}
.bh-logo small{display:block;font-size:10px;color:var(--sub);font-weight:500;letter-spacing:.06em}
.bh-logo-img{height:42px;width:auto;display:block}
.bh-nav{margin-left:auto;display:flex;gap:20px}
.bh-nav a{font-size:13.5px;font-weight:600;color:var(--body)}
.bh-nav a:hover{color:var(--pink-d)}
@media(max-width:680px){
  .bh-header .in{flex-wrap:wrap;height:auto;padding-top:8px;padding-bottom:8px;row-gap:2px}
  .bh-nav{margin-left:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:14px;scrollbar-width:none}
  .bh-nav::-webkit-scrollbar{display:none}
  .bh-nav a{white-space:nowrap;font-size:12.5px}
}

/* ---------- パンくず ---------- */
.bh-bc{font-size:12px;color:var(--sub)}
.bh-bc a{color:var(--sub)}.bh-bc span{margin:0 6px;opacity:.6}

/* ---------- ページ見出し ---------- */
.bh-pagehead{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:5px 24px;box-shadow:var(--shadow)}
.bh-pagehead h1{font-size:clamp(20px,3.6vw,27px);font-weight:800;line-height:1.45;margin:0 0 8px;color:var(--ink)}
.bh-pagehead .lead{font-size:14px;color:var(--sub);margin:0}
.bh-stat{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.bh-stat div{font-size:12px;color:var(--sub)}
.bh-stat b{display:block;font-size:20px;font-weight:800;color:var(--pink-d)}

/* ---------- セクション見出し ---------- */
.bh-h2{font-size:19px;font-weight:800;color:var(--ink);margin:30px 0 14px;padding-left:11px;border-left:5px solid var(--pink)}
.bh-h3{font-size:16px;font-weight:800;color:var(--ink);margin:28px 0 10px;padding:9px 14px;border-left:4px solid var(--pink);
  background:linear-gradient(90deg,var(--pink-soft),rgba(253,238,244,0));border-radius:0 var(--r-sm) var(--r-sm) 0}
.bh-tx{font-size:14px;line-height:2;margin:8px 0 6px;color:var(--body)}
.bh-tx b{color:var(--pink-d);font-weight:800}
/* 料金相場・選び方の本文ブロックに余白と区切り */
.bh-content h2.bh-h2 + p.bh-tx{margin-top:4px}

/* ---------- 比較表 ---------- */
.bh-cmp-hint{font-size:11px;color:var(--pink-d);text-align:right;margin:0 0 6px;font-weight:600}
@media(min-width:820px){.bh-cmp-hint{display:none}}
.bh-cmp{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.bh-cmp .scr{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bh-cmp th,.bh-cmp td{min-width:120px}
.bh-cmp thead th:first-child,.bh-cmp tbody th{min-width:96px}
.bh-cmp table{border-collapse:collapse;width:100%;min-width:520px;font-size:13px}
.bh-cmp th,.bh-cmp td{padding:11px 10px;text-align:center;border-bottom:1px solid var(--line)}
.bh-cmp thead th{background:var(--pink-soft);color:var(--pink-d);font-weight:700;font-size:12.5px}
.bh-cmp tbody th{text-align:left;background:#f8fafc;font-weight:700;color:var(--sub);white-space:nowrap}
.bh-cmp .rk{display:inline-block;background:var(--pink-d);color:#fff;font-size:11px;font-weight:800;border-radius:var(--r-sm);padding:1px 6px;margin-right:4px}
.bh-y{color:var(--ok);font-weight:800}.bh-n{color:#cdbfc6}.bh-mid{color:#e0a03a;font-weight:800}
.bh-cmp-legend{font-size:11px;color:var(--sub);line-height:1.7;margin:8px 2px 0}

/* 404ページ */
.bh-404{background:linear-gradient(180deg,var(--pink-soft),#fff);border-bottom:1px solid var(--line);padding:56px 16px 48px;text-align:center}
.bh-404 .in{max-width:640px}
.bh-404 .code{font-size:86px;font-weight:900;line-height:1;color:var(--pink-d);letter-spacing:3px;text-shadow:0 3px 0 rgba(211,100,139,.12)}
.bh-404 h1{font-size:22px;font-weight:800;color:var(--ink);margin:14px 0 10px;line-height:1.5}
.bh-404 .lead{font-size:14px;color:var(--sub);line-height:1.9;margin:0 auto 24px}
.bh-404 .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.bh-404 .acts .bh-btn.ghost{flex:0 0 auto}
@media(max-width:520px){.bh-404 .code{font-size:66px}.bh-404 .acts .bh-hero-cta,.bh-404 .acts .bh-btn{width:100%;text-align:center}}
.bh-price{color:var(--pink-d);font-weight:800}

/* ---------- クリニックカード ---------- */
.bh-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}
.bh-card.top{border:2px solid var(--pink)}
.bh-card-photo{margin:-20px -20px 14px;overflow:hidden;border-radius:var(--r) var(--r) 0 0}
.bh-card-photo img{width:100%;height:190px;object-fit:cover;display:block}
.bh-card .rowtop{display:flex;align-items:flex-start;gap:12px}
.bh-rank{flex:0 0 auto;width:30px;height:30px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-weight:800;
  display:grid;place-items:center;font-size:15px}
.bh-card.top .bh-rank{background:var(--pink-d)}
.bh-name{font-size:19px;font-weight:800;color:var(--ink);line-height:1.4;margin:0}
.bh-name a{color:var(--ink)}
.bh-name a:hover{color:var(--pink-d)}
.bh-pr-badge{margin-left:auto;background:var(--pink);color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:var(--r-sm);white-space:nowrap}
.bh-catch{background:var(--pink-soft);color:var(--pink-d);font-weight:700;font-size:14px;border-radius:var(--r-sm);padding:10px 14px;margin:12px 0}
.bh-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.bh-tag{background:#f0f4f8;color:var(--body);font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:var(--r-sm);border:1px solid var(--line)}
.bh-tag.ok{background:var(--okbg);color:var(--ok);border-color:#c8ecdf}

/* 対応施術 〇× 表 */
.bh-offer{margin:12px 0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.bh-offer .ot{background:#f8fafc;font-size:12px;font-weight:700;color:var(--sub);padding:7px 12px;border-bottom:1px solid var(--line)}
.bh-offer .og{display:grid;grid-template-columns:repeat(2,1fr)}
@media(min-width:520px){.bh-offer .og{grid-template-columns:repeat(3,1fr)}}
.bh-offer .oi{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #eef2f6;border-right:1px solid #eef2f6;font-size:13px}
.bh-offer .ol{color:var(--body)}
.bh-offer .oi b{font-weight:800}
.bh-offer .oi b.y{color:var(--ok)}
.bh-offer .oi b.n{color:#d3c7ce}

/* 大手チェーン集約カードの支院一覧 */
details.bh-branches{margin:12px 0;background:#f8fafc;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
details.bh-branches>summary{padding:12px 14px;font-weight:700;font-size:13px;color:var(--pink-d);cursor:pointer;list-style:none}
details.bh-branches>summary::-webkit-details-marker{display:none}
details.bh-branches>summary::after{content:"　▼ 開く";font-size:11px;color:var(--sub);font-weight:500}
details.bh-branches[open]>summary::after{content:"　▲ 閉じる"}
.bh-branch-list{padding:0 14px 12px}
.bh-branch{border-top:1px solid var(--line);padding:10px 0}
.bh-branch:first-of-type{border-top:0}
.bh-branch.more{color:var(--sub);font-size:12px}
.bh-branch .bn{font-weight:700;font-size:13.5px;color:var(--ink)}
.bh-branch .ba{font-size:12px;color:var(--sub);margin-top:2px}

/* クリック展開マップ */
.bh-map{margin:12px 0}
.bh-map-ph{height:110px;border:1px solid var(--line);border-radius:var(--r);display:grid;place-items:center;cursor:pointer;
  color:var(--pink-d);font-weight:700;font-size:14px;background:linear-gradient(135deg,#eef3f8,#e6edf4)}
.bh-map-ph:hover{background:linear-gradient(135deg,#dfe9f3,#ebdce4)}
.bh-map-ph.loaded{height:auto;background:none;border:0;cursor:default}
.bh-map iframe{border-radius:var(--r)}
/* 比較表の公式サイトリンク */
.bh-cmp-link{display:inline-block;background:var(--pink-d);color:#fff;font-weight:700;font-size:11px;padding:5px 10px;border-radius:var(--r-sm);white-space:nowrap}
.bh-cmp-link:hover{background:var(--pink-dd);color:#fff}
/* 比較表：ロゴ画像・おすすめポイント・予約ボタン（SACHICO風） */
.bh-cmp thead th{vertical-align:top;padding:12px 8px}
.bh-cmp th .cimg{display:block;margin-bottom:6px}
.bh-cmp th .cimg img{width:100%;max-width:150px;height:66px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff}
.bh-cmp th .cnm{display:block;font-size:13px;font-weight:800;color:var(--ink);line-height:1.35}
.bh-cmp td.cpts{text-align:left;padding:10px 12px}
.bh-cmp td.cpts ul{margin:0;padding:0;list-style:none}
.bh-cmp td.cpts li{font-size:12px;color:var(--body);padding:2px 0 2px 14px;position:relative;line-height:1.55}
.bh-cmp td.cpts li::before{content:"●";position:absolute;left:0;color:var(--pink);font-size:8px;top:6px}
.bh-cmp-btn{display:inline-block;background:var(--cta);color:#fff;font-weight:800;font-size:12px;padding:9px 12px;border-radius:var(--r-sm);line-height:1.35;box-shadow:0 2px 7px var(--cta-sh)}
.bh-cmp-btn:hover{background:var(--cta-h);color:#fff;box-shadow:0 4px 10px var(--cta-sh-h)}

.bh-line{display:flex;gap:8px;font-size:13px;margin:8px 0;color:var(--body)}
.bh-line .ic{flex:0 0 auto}
.bh-line b{color:var(--ink);font-weight:700;flex:0 0 60px}

/* 診療時間グリッド */
.bh-hours{margin:12px 0;overflow-x:auto}
.bh-hours .lbl{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:6px}
.bh-hours table,.bh-hours .hour_table{border-collapse:collapse;width:100%;min-width:460px;font-size:12px;text-align:center}
.bh-hours th,.bh-hours td{border:1px solid var(--line);padding:6px 4px;white-space:nowrap}
.bh-hours thead th,.bh-hours .hour_table thead td{background:#f8fafc;font-weight:700;color:var(--sub)}
.bh-hours .hour_sat,.bh-hours th.sat{color:var(--sat)}
.bh-hours .hour_sun,.bh-hours .hour_hol,.bh-hours th.sun{color:var(--sun)}
.bh-hours td{color:var(--pink-d);font-weight:700}

/* 施術メニュー・料金 */
.bh-menu{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:12px 0}
.bh-menu .mt{background:#f8fafc;font-size:12px;font-weight:700;color:var(--sub);padding:8px 12px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between}
.bh-mrow{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid #eef2f6;font-size:13.5px}
.bh-mrow:last-child{border-bottom:0}
.bh-mrow .pr{color:var(--pink-d);font-weight:800}
.bh-mrow .pr small{color:var(--sub);font-weight:500;font-size:11px}

/* CTA */
.bh-cta{display:flex;gap:10px;margin-top:14px}
.bh-btn{flex:1;text-align:center;background:var(--cta);color:#fff;font-weight:800;padding:13px;border-radius:var(--r);font-size:15px;
  box-shadow:0 4px 12px var(--cta-sh)}
.bh-btn:hover{background:var(--cta-h);color:#fff;box-shadow:0 6px 16px var(--cta-sh-h)}
.bh-btn.ghost{flex:0 0 auto;background:#fff;color:var(--body);border:1px solid var(--line);font-weight:700;padding:13px 18px;box-shadow:none}
/* CTAの文字は白に固定（.bh-portal a の色指定に詳細度で勝たせる）。白背景のゴーストは黒を維持 */
.bh-portal a.bh-btn,.bh-portal a.bh-cmp-btn,.bh-portal a.bh-hero-cta{color:#fff}
.bh-portal a.bh-btn.ghost{color:var(--body)}

/* ページネーション */
.bh-pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:22px 0}
.bh-pager a,.bh-pager span{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:13px;font-weight:600;color:var(--body)}
.bh-pager .current{background:var(--pink-d);color:#fff;border-color:var(--pink-d)}

/* エリアリンク */
.bh-pills{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.bh-pill{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 13px;font-size:13px;color:var(--body)}
.bh-pill:hover{border-color:var(--pink);color:var(--pink-d)}

/* ---------- SEOコンテンツ（料金相場・FAQ） ---------- */
.bh-guide{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:12px 0;box-shadow:var(--shadow)}
.bh-guide table{border-collapse:collapse;width:100%;font-size:13px}
.bh-guide th,.bh-guide td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.bh-guide thead th{background:var(--pink-soft);color:var(--pink-d);font-weight:700;white-space:nowrap}
.bh-guide tbody th{font-weight:700;color:var(--ink);white-space:nowrap}
.bh-guide .p{color:var(--pink-d);font-weight:800;white-space:nowrap}
.bh-point-list{margin:12px 0;padding:0;list-style:none}
.bh-point-list li{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--pink);border-radius:var(--r-sm);padding:12px 16px;margin-bottom:8px}
.bh-point-list li b{color:var(--ink);display:block;font-size:14.5px;margin-bottom:2px}
.bh-point-list li span{font-size:13px;color:var(--body)}
.bh-faq{margin:12px 0}
.bh-faq .q{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 16px;font-weight:700;color:var(--ink);font-size:14px;margin-top:8px;position:relative;padding-left:42px}
.bh-faq .q::before{content:"Q";position:absolute;left:14px;top:11px;background:var(--pink-d);color:#fff;width:20px;height:20px;border-radius:var(--r-sm);display:grid;place-items:center;font-size:12px;font-weight:800}
.bh-faq .a{padding:12px 16px 4px 42px;font-size:13.5px;color:var(--body);position:relative}
.bh-faq .a::before{content:"A";position:absolute;left:14px;top:12px;color:var(--pink-d);font-weight:800;font-size:14px}

/* ---------- サイドバー ---------- */
.bh-side .box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}
.bh-side .box h3{font-size:14px;font-weight:800;color:var(--ink);margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--pink-soft)}
.bh-side .box a{display:block;font-size:13px;padding:6px 0;color:var(--body);border-bottom:1px dotted var(--line)}
.bh-side .box a:last-child{border-bottom:0}
.bh-side .box a:hover{color:var(--pink-d)}

/* ---------- TOP: ヒーロー ---------- */
.bh-hero{background:linear-gradient(rgba(248,251,255,.82),rgba(234,242,251,.90)),url(assets/img/aga3.jpg) center/cover;border-bottom:1px solid var(--line)}
.bh-hero .in{max-width:1080px;margin:0 auto;padding:44px 16px 40px;text-align:center}
.bh-hero .eyebrow{display:inline-block;background:#fff;border:1px solid var(--pink);color:var(--pink-d);font-size:12px;font-weight:800;padding:5px 14px;border-radius:var(--r-sm);margin:0 0 14px}
.bh-hero h1{font-size:clamp(24px,5vw,36px);font-weight:900;color:var(--ink);line-height:1.4;margin:0 0 12px}
.bh-hero .sub{font-size:14.5px;color:var(--sub);max-width:620px;margin:0 auto 22px}
.bh-hero-cta{display:inline-block;background:var(--cta);color:#fff;font-weight:800;font-size:16px;padding:14px 34px;border-radius:var(--r);box-shadow:0 6px 18px var(--cta-sh)}
.bh-hero-cta:hover{background:var(--cta-h);color:#fff;box-shadow:0 8px 22px var(--cta-sh-h)}

/* ---------- TOP: 施術カード ---------- */
.bh-tcards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}
@media(min-width:700px){.bh-tcards{grid-template-columns:repeat(3,1fr)}}
.bh-tcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 16px;text-align:center;box-shadow:var(--shadow);transition:.15s}
.bh-tcard:hover{border-color:var(--pink);transform:translateY(-2px)}
.bh-tcard .ic{font-size:28px;display:block;margin-bottom:6px}
.bh-tcard .nm{display:block;font-weight:800;color:var(--ink);font-size:15px}
.bh-tcard .ds{display:block;font-size:11.5px;color:var(--sub);margin-top:3px}

/* ---------- TOP: 地方別エリア ---------- */
.bh-regions{display:grid;grid-template-columns:1fr;gap:14px;margin:14px 0}
@media(min-width:700px){.bh-regions{grid-template-columns:1fr 1fr}}
.bh-region{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.bh-region h3{font-size:14px;font-weight:800;color:var(--ink);margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--pink-soft)}
.bh-preflist{display:flex;flex-wrap:wrap;gap:8px}
.bh-preflist a{font-size:13px;color:var(--body);background:#f7f9fb;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 11px}
.bh-preflist a:hover{border-color:var(--pink);color:var(--pink-d)}
.bh-preflist a span{color:var(--sub);font-size:11px}

/* ---------- TOP(B+Cミックス): ヒーロー強調 ---------- */
.bh-hero h1 em{font-style:normal;color:var(--pink-d);background:linear-gradient(transparent 62%,#d6e7f8 62%)}
/* 悩み訴求 */
.bh-worry{background:var(--pink-soft);padding:34px 0;margin-top:0}
.bh-cx-h{text-align:center;font-size:22px;font-weight:900;color:var(--ink);margin:0 0 6px}
.bh-cx-s{text-align:center;color:var(--sub);font-size:13px;margin:0 0 20px}
.bh-worry-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.bh-worry-grid{grid-template-columns:1fr 1fr}}
.bh-worry-grid .item{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow)}
.bh-worry-grid .item .e{font-size:28px}
.bh-worry-grid .item b{color:var(--ink);font-size:15px;display:block}
.bh-worry-grid .item span{font-size:12.5px;color:var(--sub)}
/* マガジン特集 */
.bh-sh{display:flex;align-items:baseline;gap:10px;margin:32px 0 14px}
.bh-sh .en{font-size:12px;letter-spacing:.22em;color:var(--pink-d);font-weight:700;text-transform:uppercase}
.bh-sh .en::before{content:"";display:inline-block;width:20px;height:2px;background:var(--pink-d);margin-right:8px;vertical-align:middle}
.bh-sh h2{font-size:20px;font-weight:900;color:var(--ink)}
.bh-feat{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:800px){.bh-feat{grid-template-columns:1.5fr 1fr}}
.bh-feat .big,.bh-feat .sc{border-radius:var(--r);overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:24px;min-height:180px;position:relative}
.bh-feat .big{background:linear-gradient(rgba(16,32,54,.12),rgba(16,32,54,.66)),url(assets/img/aga1.jpg) center/cover;min-height:230px}
.bh-feat .side{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.bh-feat .sc.a{background:linear-gradient(rgba(16,32,54,.18),rgba(16,32,54,.68)),url(assets/img/aga2.jpg) center/cover}
.bh-feat .sc.b{background:linear-gradient(rgba(16,32,54,.18),rgba(16,32,54,.68)),url(assets/img/aga3.jpg) center/cover}
.bh-feat .k{font-size:11px;letter-spacing:.15em;opacity:.9}
.bh-feat .big h3{font-size:24px;font-weight:900;margin:4px 0 0}
.bh-feat .sc h3{font-size:16px;font-weight:800;margin:4px 0 0}
.bh-feat .big p{font-size:12.5px;opacity:.95;margin-top:6px}
.bh-feat .ov{position:relative;z-index:1}
/* エリアカラータイル */
.bh-atiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}
@media(min-width:760px){.bh-atiles{grid-template-columns:repeat(4,1fr)}}
.bh-atiles a{position:relative;border-radius:var(--r);overflow:hidden;min-height:96px;display:flex;align-items:flex-end;color:#fff;padding:12px;font-weight:900;font-size:16px}
.bh-atiles a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(70,35,50,.5))}
.bh-atiles a .n{position:relative;z-index:1}.bh-atiles a small{position:relative;z-index:1;display:block;font-size:11px;font-weight:500;opacity:.95}
.bh-atiles a:nth-child(4n+1){background:linear-gradient(135deg,#6ea6de,#e07a9c)}
.bh-atiles a:nth-child(4n+2){background:linear-gradient(135deg,#b0a4ef,#8f7ce0)}
.bh-atiles a:nth-child(4n+3){background:linear-gradient(135deg,#f6b98f,#ef9166)}
.bh-atiles a:nth-child(4n){background:linear-gradient(135deg,#86d3bd,#54b89f)}
/* 注目クリニック */
.bh-rank-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;align-items:center;gap:12px;margin-bottom:8px;box-shadow:var(--shadow)}
.bh-rank-card .no{width:30px;height:30px;border-radius:var(--r-sm);background:var(--pink-d);color:#fff;font-weight:900;display:grid;place-items:center;flex:0 0 auto}
.bh-rank-card .b{flex:1;min-width:0}.bh-rank-card .nm{font-weight:800;color:var(--ink);font-size:15px}
.bh-rank-card .meta{font-size:12px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bh-rank-card .cta{background:var(--pink-d);color:#fff;font-weight:700;font-size:12px;padding:8px 14px;border-radius:var(--r-sm);flex:0 0 auto}

/* ---------- 固定ページ / お問い合わせ ---------- */
.bh-page{padding:16px 0 40px;max-width:760px}
.bh-page-title{font-size:24px;font-weight:800;color:var(--ink);margin:8px 0 16px}
.bh-page-body{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);font-size:14px;line-height:1.9}
.bh-cf-row{margin:0 0 16px}
.bh-cf-row label{display:block;font-weight:700;color:var(--ink);font-size:13.5px;margin-bottom:6px}
.bh-page-body input[type=text],.bh-page-body input[type=email],.bh-page-body select,.bh-page-body textarea{
  width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 12px;font-size:14px;background:#f8fafc;color:var(--ink);font-family:inherit}
.bh-page-body textarea{min-height:140px;resize:vertical}
.bh-page-body .wpcf7-submit{background:var(--pink-d);color:#fff;font-weight:800;border:0;border-radius:var(--r);padding:13px 44px;font-size:15px;cursor:pointer;box-shadow:0 3px 8px rgba(211,100,139,.25);margin-top:6px}
.bh-page-body .wpcf7-submit:hover{background:var(--pink-dd)}
.bh-page-body .wpcf7-not-valid-tip{color:var(--sun);font-size:12px}
.bh-page-body .wpcf7-response-output{border-radius:var(--r-sm);font-size:13px;margin:14px 0 0}
.bh-page-note{font-size:12px;color:var(--sub);margin-top:16px;line-height:1.9}

/* ---------- 施術ガイド（記事型） ---------- */
.bh-article{max-width:840px;margin:0 auto;padding:0 16px}
.bh-article .bh-cat{display:inline-block;font-size:11px;letter-spacing:.1em;color:#fff;background:var(--pink-d);padding:4px 12px;border-radius:var(--r-sm);margin-top:16px}
.bh-title{font-size:clamp(22px,4.2vw,30px);font-weight:900;line-height:1.55;color:var(--ink);margin:14px 0 12px}
.bh-byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--sub);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}
.bh-byline .who{display:flex;align-items:center;gap:8px}
.bh-byline .sv{color:var(--pink-d);font-weight:700}
.bh-avatar{width:30px;height:30px;border-radius:50%;background:var(--pink-soft);display:grid;place-items:center;color:var(--pink-d);font-size:13px}
.bh-lead{font-size:15px;line-height:2;margin:20px 0;color:var(--body)}
.bh-lead .mk{background:linear-gradient(transparent 60%,#cfe0f2 60%);font-weight:700}
.bh-toc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin:22px 0}
.bh-toc .th{font-weight:800;font-size:14px;color:var(--ink);margin-bottom:10px}
.bh-toc ol{margin:0;padding-left:20px}
.bh-toc li{padding:5px 0;border-bottom:1px dotted var(--line);font-size:13.5px}
.bh-toc li:last-child{border-bottom:0}
.bh-toc a{color:var(--body)}
.bh-h2 .en{display:block;font-size:11px;letter-spacing:.2em;color:var(--pink-d);text-transform:uppercase;font-weight:700;margin-bottom:2px}

/* ---------- フッター ---------- */
.bh-footer{background:#40353b;color:#b9c2cc;margin-top:40px;padding:32px 16px 24px}
.bh-footer .in{max-width:1080px;margin:0 auto}
.bh-footer .flogo{font-size:18px;font-weight:800;color:#fff;margin-bottom:12px}
.bh-footer nav{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}
.bh-footer nav a{color:#b9c2cc;font-size:13px}
.bh-footer nav a:hover{color:#fff}
.bh-footer .disc{font-size:11px;color:#8b939e;line-height:1.8;border-top:1px solid #574a51;padding-top:14px}
.bh-footer .cp{font-size:11px;color:#8b939e;margin-top:12px;text-align:center}

/* お悩みタイル→施術ページのリンク化 */
.bh-worry-grid a.item{text-decoration:none;transition:transform .15s,box-shadow .15s}
.bh-worry-grid a.item:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(200,90,130,.18)}
/* 施術メニュータイル（.bh-atiles のグラデを流用・高さのみ調整） */
.bh-ttiles a{min-height:74px;font-size:15px}
/* フッターの施術リンク行 */
.bh-footer .fmenu-sub{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:-2px 0 16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.bh-footer .fmenu-sub .fmt{color:#efd8e2;font-size:12px;font-weight:700}
.bh-footer .fmenu-sub a{color:#b9c2cc;font-size:12.5px}
.bh-footer .fmenu-sub a:hover{color:#fff}

/* 施術ページの個別カード：この施術の料金を上部で強調 */
.bh-focus{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:var(--pink-soft);border:1px solid #c8dcf0;border-radius:var(--r);padding:9px 13px;margin:2px 0 4px}
.bh-focus .fl{font-size:13px;font-weight:700;color:var(--ink)}
.bh-focus .fp{font-size:20px;font-weight:900;color:var(--pink-d);line-height:1;white-space:nowrap}
.bh-focus .fp small{font-size:11px;font-weight:600;color:var(--sub)}
.bh-focus .fp .ask{font-size:13px;font-weight:700;color:var(--sub)}
/* 美容皮膚科→シミ取りへの文脈リンク（バナー） */
.bh-cross{display:flex;align-items:center;gap:12px;margin:14px 0 4px;padding:13px 16px;border:1px solid #c8dcf0;border-radius:var(--r);background:linear-gradient(135deg,#fff,var(--pink-soft));box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.bh-cross:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(200,90,130,.16)}
.bh-cross .ic{font-size:24px;flex:0 0 auto}
.bh-cross .tx{display:flex;flex-direction:column;gap:2px}
.bh-cross .tx b{color:var(--ink);font-size:14.5px;font-weight:800}
.bh-cross .tx small{color:var(--pink-d);font-size:12px;font-weight:600}
/* シミ取り 200字クリニック説明文 */
.bh-shimi-desc{font-size:12.5px;line-height:1.85;color:var(--body);margin:8px 0 2px;background:#f7f9fc;border-left:3px solid var(--pink);border-radius:0 var(--r) var(--r) 0;padding:9px 12px}
/* カードのバッジ（1万円以下・取り放題・駅近・人気） */
.bh-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.bh-chip{font-size:11px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff9a3d,#ff6a00);padding:3px 9px;border-radius:999px;line-height:1.4}
.bh-chip:nth-child(2){background:linear-gradient(135deg,#8f7ce0,#6f5bd0)}
.bh-chip:nth-child(3){background:linear-gradient(135deg,#54b89f,#3aa587)}
/* シミ取りメニューの「対応」表記 */
.bh-menu .bh-mrow .pr.on{color:var(--ok);font-weight:800;font-size:13px}
/* TOP シミ取り特集バナー */
.bh-shimi-feat{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:6px 0 18px;padding:20px 22px;border-radius:var(--r);color:#fff;background:linear-gradient(120deg,#ff9a3d,#ff6a00);box-shadow:0 6px 18px var(--cta-sh);position:relative;overflow:hidden}
.bh-shimi-feat .k{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1px;background:rgba(255,255,255,.25);padding:2px 9px;border-radius:999px;margin-bottom:7px}
.bh-shimi-feat h2{font-size:20px;font-weight:900;margin:0 0 5px;color:#fff}
.bh-shimi-feat p{font-size:13px;line-height:1.7;margin:0;color:#fff;opacity:.95;max-width:620px}
.bh-shimi-feat .cta{flex:0 0 auto;background:#fff;color:var(--pink-dd);font-weight:800;font-size:14px;padding:12px 20px;border-radius:var(--r);white-space:nowrap}
.bh-shimi-feat:hover .cta{background:#f2f7fd}
@media(max-width:640px){.bh-shimi-feat .cta{width:100%;text-align:center}}

/* 免責・個人差の注釈 */
.bh-note{font-size:12px;line-height:1.7;color:var(--sub);background:#f6f8fa;border:1px solid #e8eef4;border-left:3px solid var(--pink-d);border-radius:var(--r);padding:9px 13px;margin:10px 0}

/* ボタンのキラッと（shine）演出：細い光帯を周期的に走らせる。ホバーで加速 */
.bh-btn,.bh-cmp-btn,.bh-hero-cta{position:relative;overflow:hidden}
.bh-btn>*,.bh-cmp-btn>*,.bh-hero-cta>*{position:relative;z-index:1}
.bh-btn::after,.bh-cmp-btn::after,.bh-hero-cta::after{content:"";position:absolute;top:-60%;left:-60%;width:38%;height:220%;pointer-events:none;z-index:2;transform:skewX(-22deg);background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.12) 42%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.12) 58%,transparent 100%);animation:bh-shine 4.2s ease-in-out infinite}
.bh-btn:hover::after,.bh-cmp-btn:hover::after,.bh-hero-cta:hover::after{animation-duration:1.1s}
@keyframes bh-shine{0%{left:-60%}17%{left:135%}100%{left:135%}}
@media (prefers-reduced-motion: reduce){.bh-btn::after,.bh-cmp-btn::after,.bh-hero-cta::after{animation:none;display:none}}


/* ---------- AGA追加スタイル ---------- */
.bh-logo-txt{font-weight:900;font-size:20px;color:var(--ink);letter-spacing:.02em}
.bh-logo-txt em{font-style:normal;color:var(--pink-d)}
.bh-price-note{margin:8px 0 0;font-size:12px;color:var(--sub);line-height:1.6}
.bh-price-note.ok{color:var(--ok);font-weight:600}
.bh-faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin:0 0 10px;box-shadow:var(--shadow)}
.bh-faq summary{padding:13px 16px;font-weight:700;color:var(--ink);cursor:pointer;font-size:14.5px}
.bh-faq p{margin:0;padding:0 16px 14px;font-size:13.5px;color:var(--body)}

/* ---------- リッチ比較表 ---------- */
.bh-cmp.rich table th{vertical-align:middle}
.bh-cmp.rich thead th{min-width:150px;padding:12px 10px}
.bh-cmp.rich .cnm{display:block;font-size:13px;font-weight:800;line-height:1.4}
.bh-onl-badge{display:inline-block;background:var(--pink-soft);color:var(--pink-d);font-size:10px;font-weight:700;
  padding:2px 8px;border-radius:20px;margin-bottom:4px;letter-spacing:.03em}
.bh-featcell{text-align:left !important;font-size:11.5px;padding:10px 10px}
.bh-featcell ul{margin:0;padding:0;list-style:none}
.bh-featcell li{position:relative;padding-left:14px;margin:3px 0;line-height:1.45;color:var(--body);white-space:nowrap}
.bh-featcell li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:900}
.bh-plancell b{font-size:16px;color:var(--pink-dd);font-weight:900}
.bh-plancell small{font-size:10.5px;color:var(--sub)}
.bh-cmp.rich tbody th small{display:block;font-weight:500;font-size:10px;color:var(--sub)}
.bh-ctacell{padding:12px 8px !important}
.bh-cta-copy{display:block;color:#e05252;font-size:11px;font-weight:800;margin-bottom:5px;white-space:nowrap}
.bh-cmp-btn.big{display:block;padding:10px 12px;font-size:13px;background:var(--cta);box-shadow:0 2px 8px var(--cta-sh)}
.bh-cmp-btn.big:hover{background:var(--cta-h)}

/* ---------- 治療薬ガイド・選び方カード ---------- */
.bh-drug{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 16px;margin:0 0 10px;box-shadow:var(--shadow)}
.bh-drug .dh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:5px}
.bh-drug .dh b{font-size:14.5px;color:var(--ink)}
.bh-drug .role{font-size:11px;font-weight:700;color:var(--pink-d);background:var(--pink-soft);padding:2px 9px;border-radius:20px}
.bh-drug .pr{margin-left:auto;font-size:12px;font-weight:800;color:var(--pink-dd)}
.bh-drug p{margin:0;font-size:13px;color:var(--body);line-height:1.75}

/* ---------- リッチ比較表: 行ラベル列を左固定(モバイル横スクロール対応) ---------- */
.bh-cmp.rich thead th:first-child,
.bh-cmp.rich tbody th{position:sticky;left:0;z-index:2}
.bh-cmp.rich thead th:first-child{background:var(--pink-soft)}
.bh-cmp.rich tbody th{background:#f8fafc;box-shadow:3px 0 6px -2px rgba(40,60,90,.12)}
.bh-cmp.rich thead th:first-child{box-shadow:3px 0 6px -2px rgba(40,60,90,.12)}
@media(max-width:680px){
  .bh-cmp.rich thead th{min-width:132px;padding:10px 8px}
  .bh-cmp.rich th,.bh-cmp.rich td{min-width:112px}
  .bh-cmp.rich thead th:first-child,.bh-cmp.rich tbody th{min-width:84px;max-width:96px;white-space:normal;font-size:11.5px}
  .bh-featcell li{white-space:normal}
  .bh-plancell b{font-size:15px}
}
/* アンカー遷移時に固定ヘッダーで見出しが隠れないように */
.bh-h2,.bh-h3{scroll-margin-top:76px}

/* エリアピルの小見出し */
.bh-pillhead{margin:14px 0 6px;font-size:12.5px;font-weight:800;color:var(--sub)}
.bh-pillhead + .bh-pills{margin-top:0}

/* ---------- オンライン診療カセット(PR) ---------- */
.bh-cassette-wrap{margin:18px 0}
.bh-cassette-head{margin:0 0 8px;font-size:13.5px;font-weight:800;color:var(--ink)}
.bh-cassette-head .pr{margin-left:8px;background:#eef2f6;color:var(--sub);font-size:10px;font-weight:700;padding:2px 7px;border-radius:3px;vertical-align:middle}
.bh-cassette{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.bh-cassette{grid-template-columns:1fr 1fr}}
.bh-cassette .cst{background:linear-gradient(180deg,#f2f7fd,#fff 45%);border:2px solid var(--pink);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.bh-cassette .nm{font-size:16px;font-weight:900;color:var(--ink);margin:6px 0 4px}
.bh-cassette .ld{margin:0 0 8px;font-size:12.5px;color:var(--body);line-height:1.6}
.bh-cassette ul{margin:0 0 10px;padding:0;list-style:none}
.bh-cassette li{position:relative;padding-left:16px;font-size:12.5px;font-weight:600;color:var(--body);margin:3px 0}
.bh-cassette li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:900}
.bh-cassette .bh-cta-copy{text-align:center}
.bh-cassette .bh-cmp-btn.big{text-align:center;margin-top:2px}
.bh-cassette .bh-onl-badge{align-self:flex-start}

/* ===== 比較表: ロゴ画像・セル内訴求 ===== */
.bh-cmp.rich thead .bh-tbl-logo{display:block;width:112px;margin:0 auto 6px}
.bh-cmp.rich thead .bh-tbl-logo img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--line)}
.bh-sale{display:block;color:#e0304a;font-size:11px;font-weight:800;margin-top:3px;white-space:nowrap}

/* ===== オンラインカセット: バナー画像+強訴求 ===== */
.bh-cassette-head{font-size:15px}
.bh-cassette .cst{padding:0;overflow:hidden}
.bh-cassette .cimg{display:block;line-height:0}
.bh-cassette .cimg img{display:block;width:100%;height:auto}
.bh-cassette .cbody{padding:12px 16px 16px;display:flex;flex-direction:column;flex:1}
.bh-cassette .cbody .bh-onl-badge{align-self:flex-start}
.bh-cassette .cbody .bh-cta-copy{font-size:13px;margin-top:auto}

/* ===== 導入文の続きを読む（CV対策で初期折りたたみ） ===== */
.bh-more-chk{display:none}
.bh-intro .bh-more-rest{display:none}
.bh-intro .bh-more-chk:checked ~ .bh-tx .bh-more-rest{display:inline}
.bh-more-btn{display:inline-block;color:var(--pink-d);font-size:12.5px;font-weight:700;cursor:pointer;margin:2px 0 10px;text-decoration:underline}
.bh-more-btn .cl{display:none}
.bh-intro .bh-more-chk:checked ~ .bh-more-btn .op{display:none}
.bh-intro .bh-more-chk:checked ~ .bh-more-btn .cl{display:inline}

/* ===== フッター主要エリアリンク ===== */
.bh-footer .farea{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin:0 0 14px}
.bh-footer .farea a{color:#c9d4e2;font-size:12px;text-decoration:none}
.bh-footer .farea a:hover{color:#fff;text-decoration:underline}

/* 取扱情報が未公表の院: 「−」だらけの表を出さず注記に */
.bh-offer.none .nd{margin:0;padding:11px 14px;font-size:12.5px;line-height:1.8;color:var(--sub)}

/* ===== フッター 掲載基準・運営情報(E-E-A-T) ===== */
.bh-footer .fpolicy{max-width:820px;margin:0 auto 18px;text-align:left;border-top:1px solid rgba(255,255,255,.14);padding-top:16px}
.bh-footer .fpolicy h2{font-size:13px;font-weight:800;color:#e6edf5;margin:0 0 10px;text-align:center;letter-spacing:.04em}
.bh-footer .fpolicy dl{margin:0;display:grid;gap:8px}
.bh-footer .fpolicy dt{font-size:11.5px;font-weight:700;color:#c9d4e2}
.bh-footer .fpolicy dd{margin:0 0 4px;font-size:11.5px;line-height:1.85;color:#9fb0c4}
.bh-footer .fpolicy dd a{color:#c9d4e2;text-decoration:underline}

/* ===== 固定ページ／投稿の本文装飾 ===== */
.bh-page-meta{font-size:12px;color:var(--sub);margin:0 0 14px}
.bh-page-body > *:first-child{margin-top:0}
.bh-page-body > *:last-child{margin-bottom:0}
.bh-page-body h2{font-size:17px;font-weight:800;color:var(--ink);margin:30px 0 12px;padding-left:11px;border-left:5px solid var(--pink);line-height:1.5}
.bh-page-body h3{font-size:15px;font-weight:800;color:var(--ink);margin:24px 0 10px;padding:8px 13px;border-left:4px solid var(--pink);
  background:linear-gradient(90deg,var(--pink-soft),rgba(234,242,251,0));border-radius:0 var(--r-sm) var(--r-sm) 0}
.bh-page-body h4{font-size:14px;font-weight:800;color:var(--ink);margin:20px 0 8px}
.bh-page-body p{margin:0 0 15px}
.bh-page-body a{color:var(--pink-d);text-decoration:underline}
.bh-page-body a:hover{color:var(--pink-dd)}
.bh-page-body strong{color:var(--ink);font-weight:800}
.bh-page-body ul,.bh-page-body ol{margin:0 0 16px;padding-left:1.3em}
.bh-page-body li{margin:7px 0}
.bh-page-body ul{list-style:none;padding-left:0}
.bh-page-body ul li{position:relative;padding-left:19px}
.bh-page-body ul li::before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--pink)}
.bh-page-body ol li{padding-left:3px}
.bh-page-body blockquote{margin:0 0 16px;padding:12px 16px;background:#f8fafc;border-left:4px solid var(--line);color:var(--sub);font-size:13.5px}
.bh-page-body table{width:100%;border-collapse:collapse;font-size:13.5px;margin:0 0 16px}
.bh-page-body th,.bh-page-body td{border:1px solid var(--line);padding:9px 11px;text-align:left}
.bh-page-body th{background:#f8fafc;font-weight:700;color:var(--sub);white-space:nowrap}
.bh-page-body img{max-width:100%;height:auto;border-radius:var(--r-sm)}
.bh-page-body hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.bh-page-nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0}
@media(max-width:600px){
  .bh-page{padding:8px 0 32px}
  .bh-page-title{font-size:20px}
  .bh-page-body{padding:18px 16px;font-size:13.5px}
}

/* ===== JS遷移リンク（aタグ非使用）: 見た目はリンク/ボタンのまま ===== */
.bh-jl{cursor:pointer}
.bh-name .bh-jl{color:var(--ink);font-weight:800}
.bh-name .bh-jl:hover{color:var(--pink-d);text-decoration:underline}
.bh-branch .bn .bh-jl:hover{color:var(--pink-d);text-decoration:underline}
.bh-side-link{display:inline-block;color:var(--pink-d);font-weight:700}
.bh-side-link:hover{text-decoration:underline}
.bh-cassette .cimg{display:block;line-height:0;cursor:pointer}

/* ===== モバイル追従CTA（大きめ・訴求強化） ===== */
.bh-sticky{display:none}
@media(max-width:900px){
  .bh-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:linear-gradient(180deg,#fff7ef,#ffffff 34%);border-top:3px solid #ff6a00;
    box-shadow:0 -6px 22px rgba(20,40,70,.20);padding:0 10px 9px;
    transform:translateY(130%);transition:transform .3s cubic-bezier(.22,1,.36,1);
    padding-bottom:calc(9px + env(safe-area-inset-bottom))}
  .bh-sticky.on{transform:translateY(0)}

  /* 上段の帯: クーポン訴求 */
  .bh-sticky .head{margin:0 -10px 8px;padding:5px 12px;background:linear-gradient(90deg,#ff6a00,#ff9a3d);
    color:#fff;font-size:12px;font-weight:800;line-height:1.5;letter-spacing:.01em;
    display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden}
  .bh-sticky .head .fire{font-size:13px;line-height:1}
  .bh-sticky .head b{background:#fff;color:#e0530a;border-radius:3px;padding:1px 7px;
    font-size:12px;font-weight:900;letter-spacing:.03em;margin:0 2px}
  .bh-sticky .head .pr-note{margin-left:auto;background:rgba(255,255,255,.26);color:#fff;
    font-size:10px;font-weight:700;padding:1px 7px;border-radius:3px;flex:0 0 auto}

  .bh-sticky .in{display:flex;align-items:center;gap:11px;max-width:600px;margin:0 auto}
  .bh-sticky .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .bh-sticky .ttl{font-size:12px;font-weight:800;color:var(--ink);line-height:1.35;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bh-sticky .ttl em{font-style:normal;font-weight:700;color:var(--sub);font-size:11px;margin-left:5px}
  .bh-sticky .pr{display:flex;align-items:baseline;gap:7px;line-height:1.1;white-space:nowrap}
  .bh-sticky .pr s{font-size:12px;color:var(--sub);font-weight:600}
  .bh-sticky .pr .now{color:#e0304a;font-weight:900;letter-spacing:-.02em}
  .bh-sticky .pr .now b{font-size:30px;font-weight:900;line-height:1}
  .bh-sticky .pr .now small{font-size:13px;font-weight:800;margin-left:1px}
  .bh-sticky .sub{font-size:10px;color:var(--sub);font-weight:600;line-height:1.4;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .bh-sticky .btn{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
    background:var(--cta);color:#fff;border-radius:8px;padding:12px 16px;min-width:142px;
    box-shadow:0 4px 14px var(--cta-sh);cursor:pointer;text-align:center;
    animation:bhPulse 2.2s ease-in-out infinite}
  .bh-sticky .btn:active{transform:translateY(1px);box-shadow:0 2px 7px var(--cta-sh)}
  .bh-sticky .btn .l1{font-size:15px;font-weight:900;line-height:1.25;letter-spacing:.01em}
  .bh-sticky .btn .l2{font-size:10px;font-weight:700;opacity:.96;line-height:1.35;margin-top:1px}

  @keyframes bhPulse{0%,100%{box-shadow:0 4px 14px var(--cta-sh)}50%{box-shadow:0 4px 22px var(--cta-sh-h)}}
  @media(prefers-reduced-motion:reduce){.bh-sticky .btn{animation:none}}
  .bh-footer{padding-bottom:116px}
}
@media(max-width:380px){
  .bh-sticky .head{font-size:11px}
  .bh-sticky .btn{min-width:120px;padding:11px 12px}
  .bh-sticky .btn .l1{font-size:13.5px}
  .bh-sticky .pr .now b{font-size:26px}
  .bh-sticky .pr s{font-size:11px}
}
}

/* ===== 比較表: クリニック列の幅を完全に揃える ===== */
.bh-cmp.rich thead th:not(:first-child),
.bh-cmp.rich tbody td{width:158px;min-width:158px;max-width:158px}
.bh-cmp.rich thead .bh-tbl-logo{width:100%;max-width:120px}
.bh-cmp.rich .cnm{white-space:normal;word-break:auto-phrase;overflow-wrap:anywhere}
@media(max-width:820px){
  .bh-cmp.rich thead th:not(:first-child),
  .bh-cmp.rich tbody td{width:134px;min-width:134px;max-width:134px}
  .bh-cmp.rich thead .bh-tbl-logo{max-width:104px}
}

/* 比較表: 固定幅セル内で文字がはみ出さないように */
.bh-cmp.rich .bh-featcell li{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.bh-cmp.rich .bh-sale,
.bh-cmp.rich .bh-cta-copy{white-space:normal;overflow-wrap:anywhere;line-height:1.45}
.bh-cmp.rich td,.bh-cmp.rich th{overflow-wrap:anywhere}
.bh-cmp.rich .bh-plancell b{white-space:nowrap}
.bh-cmp.rich .bh-cmp-btn{white-space:nowrap;padding-left:8px;padding-right:8px}

/* H1直上のPR表記 */
.bh-pr-lbl{display:inline-block;font-size:12px;font-weight:700;color:var(--sub);
  background:#eef2f6;border-radius:3px;padding:1px 7px;line-height:1.7;margin:0 0 7px;letter-spacing:.04em}
