/* =========================================================
   Bihada 美容皮膚科 — ポータル型デザイン（薄ピンク・親しみやすい / 角丸控えめ）
   参考: ホットペッパー/SACHICO/湘南。情報密度と料金・診療時間・CVの明快さを重視。
   ========================================================= */
:root{
  --bg:#f9f4f6; --card:#fff; --ink:#3a3238; --body:#544b51; --sub:#9a9096; --line:#efe4ea;
  --pink:#eb98b2; --pink-d:#d3648b; --pink-dd:#bf5178; --pink-soft:#fdeef4;
  /* CTA（押したくなるビビッドなローズ→コーラル）。文字は白 */
  --cta:linear-gradient(135deg,#ff7a9c 0%,#ff3d6e 100%);
  --cta-h:linear-gradient(135deg,#ff6a90 0%,#f5285d 100%);
  --cta-sh:rgba(255,61,110,.34); --cta-sh-h:rgba(255,61,110,.46);
  --gold:#c39a52;
  --ok:#3aa587; --okbg:#e9f6f1;
  --sat:#3a78c9; --sun:#d6595b;
  --shadow:0 1px 6px rgba(90,50,65,.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:16px;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),#f4b3c8);
  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-nav{display:none}}

/* ---------- パンくず ---------- */
.bh-bc{font-size:12px;color:var(--sub);padding:12px 0}
.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:22px 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:#fbf8f9;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:#f6f0f3;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:#fbf8f9;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 #f4eef1;border-right:1px solid #f4eef1;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:#fbf8f9;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,#f7eef2,#f1e6ec)}
.bh-map-ph:hover{background:linear-gradient(135deg,#f2e2e9,#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:#fbf8f9;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:#fbf8f9;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 #f4eef1;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(255,251,253,.80),rgba(253,238,244,.88)),url(assets/img/cl1.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:#fbf7f9;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%,#ffdCeb 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(45,22,34,.12),rgba(45,22,34,.62)),url(assets/img/cl2.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(45,22,34,.18),rgba(45,22,34,.64)),url(assets/img/cl3.jpg) center/cover}
.bh-feat .sc.b{background:linear-gradient(rgba(45,22,34,.18),rgba(45,22,34,.64)),url(assets/img/cl1.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,#f4a0be,#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:#fbf8f9;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%,#f6d6e2 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:#cabfc5;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:#cabfc5;font-size:13px}
.bh-footer nav a:hover{color:#fff}
.bh-footer .disc{font-size:11px;color:#9b8f96;line-height:1.8;border-top:1px solid #574a51;padding-top:14px}
.bh-footer .cp{font-size:11px;color:#9b8f96;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:#cabfc5;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 #f0d3de;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 #f0d3de;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:#fcf7f9;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,#ff7a9c,#ff3d6e);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,#ff7a9c,#ff3d6e);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:#fff5f8}
@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:#faf6f7;border:1px solid #f0e6ea;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}}
