/* ============================================================
   parts.css — 固定ページ用 部品ライブラリ（.post_content スコープ）
   ------------------------------------------------------------
   方針: 専用テンプレ(.shinobu-front/.shinobu-access)に閉じていた"いい部品"を
         固定ページ(.post_content)でも使える形へ引っ越したもの。
   - トークン(--blue 等)は header.php の :root を参照（同一<head>内なので解決可）。
   - スコープは .post_content に限定し、SWELL本文の他要素へ波及させない。
   - 既存のインライン部品(sh-cta/steps/note/price/cards/supervise)は header.php 側に残置。
     ここには「新規に引っ越した部品」だけを追記していく（段階移行）。
   台帳 → knowledge/component-library.md
   ============================================================ */

/* 全幅部品の内側を1180pxへ再constrain（alignfullグループの中で使う） */
.post_content .sh-wrap{max-width:var(--pcw);margin:0 auto;padding:0 28px}

/* ===== P1 ページヒーロー（全下層ページ共通の頭） ===== */
.post_content .sh-hero{position:relative;overflow:hidden;padding:54px 0 30px;background:var(--cream)}
.post_content .sh-hero::before,
.post_content .sh-hero::after{content:"";position:absolute;border-radius:50%;z-index:0}
.post_content .sh-hero::before{width:260px;height:260px;top:30px;right:-70px;background:#eef3f9}
.post_content .sh-hero::after{width:170px;height:170px;top:96px;left:-90px;background:#f1f4f8}
.post_content .sh-hero>*{position:relative;z-index:1}
.post_content .sh-hero>.wp-block-group__inner-container{max-width:var(--pcw)!important;width:auto!important}
.post_content .sh-hero .sh-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:3px;color:var(--blue);text-transform:uppercase;margin:0 0 14px}
.post_content .sh-hero h1,.post_content .sh-hero .wp-block-heading{font-family:var(--mincho);font-weight:600;font-size:40px;line-height:1.4;color:var(--ink);margin:0;padding:0;border:0}
.post_content .sh-hero h1::after,.post_content .sh-hero h1::before{display:none}
.post_content .sh-hero .sh-lead{font-size:18px;color:var(--body);max-width:560px;margin:18px 0 0;line-height:1.9}
.post_content .sh-hero .sh-breadcrumb{font-size:13px;color:#9a8f78;margin:20px 0 0}
.post_content .sh-hero .sh-breadcrumb a{color:#9a8f78;text-decoration:none}
.post_content .sh-hero .sh-breadcrumb a:hover{color:var(--blue)}

/* internal (page-id-13) hero: full-width photo band on top (400px) + text below on cream, immersive to screen top, no overlay, decorative circles hidden */
body.page-id-13{padding-top:0!important}
body.page-id-13 .post_content{margin-top:0}
body.page-id-13 .post_content .sh-hero{background:var(--cream);padding-top:434px;padding-bottom:40px}
body.page-id-13 .post_content .sh-hero::before{display:none}
body.page-id-13 .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;background:url(/wp-content/uploads/2026/07/2b698c37-1f6b-4c18-9e6f-880aa14a7a02.png) center/cover;z-index:0}
@media(max-width:768px){body.page-id-13 .post_content .sh-hero{padding-top:242px;padding-bottom:24px}body.page-id-13 .post_content .sh-hero::after{height:210px}}

/* ===== P8 アクセス情報（地図＋情報dl） ===== */
.post_content .sh-access{display:block;margin:1.8em 0}
.post_content .sh-access .map{position:relative;border-radius:24px;overflow:hidden;min-height:480px;box-shadow:var(--card-shadow);background:#eef0f2}
.post_content .sh-access .map iframe{width:100%;height:100%;min-height:480px;border:0;display:block}
.post_content .sh-access .map-open{position:absolute;right:18px;bottom:18px;background:#fff;color:var(--ink);border-radius:999px;padding:10px 20px;font-size:13px;text-decoration:none;box-shadow:0 8px 24px -10px rgba(22,51,92,.55)}
.post_content .sh-access .map-open:hover{color:var(--blue)}
.post_content .sh-access .info{display:grid;grid-template-columns:1.3fr 1.4fr 1.15fr;gap:28px 32px;background:#fff;border-radius:24px;padding:32px 40px;border:1px solid #eae4d6;margin-top:20px}
.post_content .sh-access .info dl{margin:0}
.post_content .sh-access dt{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--blue);margin:0}
.post_content .sh-access dd{font-size:17px;color:var(--ink);margin:7px 0 0;line-height:1.8}
.post_content .sh-access .tel{font-family:var(--mincho);font-weight:600;font-size:27px;color:var(--ink)}
.post_content .sh-access .tel a{color:var(--ink);text-decoration:none}

/* ===== P7 診療時間テーブル（全院共通の値＝1か所更新したい部品） ===== */
.post_content .sh-hours{margin:1.8em 0}
.post_content .sh-hours table{width:100%;border-collapse:collapse;font-size:16px;background:#fff;border-radius:24px;overflow:hidden;border:1px solid #eae4d6}
.post_content .sh-hours th,.post_content .sh-hours td{padding:18px 8px;text-align:center;border-bottom:1px solid #eef0f2}
.post_content .sh-hours thead th{background:#eaf2fb;font-family:var(--gothic);font-weight:500;color:var(--ink);border-bottom:2px solid var(--blue)}
.post_content .sh-hours thead th.cl{color:#c0563f}
.post_content .sh-hours tbody th{font-family:var(--gothic);color:var(--ink);font-weight:500;text-align:left;padding-left:26px}
.post_content .sh-hours .o{color:var(--blue);font-weight:700;font-size:17px}
.post_content .sh-hours .x{color:#c7ccd1}
.post_content .sh-hours tbody tr:last-child th,.post_content .sh-hours tbody tr:last-child td{border-bottom:0}
.post_content .sh-hours .note{font-size:13px;color:#8a8f96;margin-top:14px}
.post_content .sh-hours .note p{margin:0 0 4px}

/* 汎用：英字ラベル／セクション見出し（部品内で使う） */
.post_content .sh-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:3px;color:var(--blue);text-transform:uppercase;display:block;margin:0 0 10px}
.post_content .sh-sec-h{font-family:var(--mincho);font-weight:600;font-size:26px;line-height:1.5;color:var(--ink);margin:0;padding:0;border:0}
.post_content .sh-sec-h::after,.post_content .sh-sec-h::before{display:none}

/* ===== P6 動画カード（駅出口からの道案内） ===== */
.post_content .sh-movie-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:2em 0 0}
.post_content .sh-movie-head .lead{max-width:360px;font-size:16px;color:#6b7078;line-height:1.85;margin:0;padding-bottom:6px}
.post_content .sh-movies{display:flex;flex-direction:column;gap:24px;margin:1.4em 0}
.post_content .sh-movie{background:#fff;border-radius:30px;padding:26px;box-shadow:var(--card-shadow)}
.post_content .sh-movie .thumb{width:100%;height:auto;aspect-ratio:16/9;border-radius:18px;position:relative;overflow:hidden;background:#000;margin-bottom:24px}
.post_content .sh-movie .thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.post_content .sh-movie .play{position:absolute;inset:0;margin:auto;width:50px;height:50px;border-radius:50%;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 8px 20px -8px rgba(22,51,92,.5)}
.post_content .sh-movie .m-label{position:absolute;left:12px;bottom:10px;background:rgba(31,39,51,.6);color:#fff;font-size:9px;padding:3px 8px;border-radius:6px;letter-spacing:.04em}
.post_content .sh-movie h3{font-family:var(--mincho);font-weight:600;font-size:20px;color:var(--ink);margin:0 0 12px;padding:0;border:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.post_content .sh-movie h3::after,.post_content .sh-movie h3::before{display:none}
.post_content .sh-movie .mtag{background:var(--blue);color:#fff;font-family:var(--gothic);font-weight:500;font-size:12px;padding:4px 13px;border-radius:999px}
.post_content .sh-movie p{font-size:16px;color:#6b7078;line-height:1.85;margin:0 0 16px}
.post_content .sh-movie .chips{display:flex;flex-wrap:wrap;gap:10px}
.post_content .sh-movie .chip{background:var(--cream);border:1px solid #eee7da;border-radius:999px;padding:8px 16px;font-size:14px;color:#4a5763}

/* ===== P4 アイコン情報カード（3列） ===== */
.post_content .sh-infocards{display:grid;grid-template-columns:1fr;gap:26px;margin:2.4em 0} /* 3枚は2列にすると2+1で崩れるので1件ずつの横並びにする */
.post_content .sh-infocard{display:grid;grid-template-columns:50px 1fr;column-gap:22px;row-gap:6px;align-items:start}
.post_content .sh-infocard .icon{grid-row:1 / span 2}
.post_content .sh-infocard h3{margin:0 0 4px}
.post_content .sh-infocard{background:transparent;border:0;padding:0}
.post_content .sh-infocard .icon{width:50px;height:50px;border-radius:14px;background:#eaf2f9;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px;font-family:var(--mincho)}
.post_content .sh-infocard h3{font-family:var(--gothic);font-weight:700;font-size:18px;color:var(--ink);margin:0 0 10px;padding:0;border:0}
.post_content .sh-infocard h3::after,.post_content .sh-infocard h3::before{display:none}
.post_content .sh-infocard p{font-size:16px;color:#6b7078;line-height:1.85;margin:0}

/* ===== responsive ===== */
@media(max-width:920px){
  .post_content .sh-hero h1,.post_content .sh-hero .wp-block-heading{font-size:30px}
  .l-mainContent__inner .post_content{padding-left:28px;padding-right:28px}
  .post_content .sh-access .info{grid-template-columns:1fr;gap:22px;padding:26px 24px}
  .post_content .sh-access .map,.post_content .sh-access .map iframe{min-height:300px}
  .post_content .sh-movie-head{flex-direction:column;align-items:flex-start;gap:8px}
  .post_content .sh-movie{padding:20px}
  .post_content .sh-movie .thumb{margin-bottom:18px}
  .post_content .sh-infocards{grid-template-columns:1fr}
}

/* ヒーロー部品を使うページはSWELL標準タイトルを隠す（二重表示回避・量産でも自動適用） */
body:has(.post_content .sh-hero) .c-pageTitle{display:none}

/* サイドバー無し1カラムでの横伸び防止：全幅以外の直下部品をコンテンツ幅(1180)に収め中央寄せ */
.l-mainContent__inner .post_content > *:not(.alignfull){max-width:var(--pcw);margin-left:auto;margin-right:auto}

/* ヒーローページは1カラム既定幅(900)では狭いのでコンテンツ幅を1180へ広げる（中央寄せ維持） */
body:has(.post_content .sh-hero) .l-mainContent.l-article{max-width:var(--pcw)}

/* ===== P3 リンクカード（有効リンクへ誘導する2列カード） ===== */
.post_content .sh-linkcards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:1.8em 0}
.post_content .sh-linkcard{display:block;background:#fff;border-radius:24px;padding:26px 30px;box-shadow:var(--card-shadow);text-decoration:none;transition:transform .2s,box-shadow .2s}
.post_content .sh-linkcard:hover{transform:translateY(-4px);box-shadow:0 34px 60px -32px rgba(22,51,92,.5)}
.post_content .sh-linkcard .head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.post_content .sh-linkcard h3{font-family:var(--mincho);font-weight:600;font-size:19px;color:var(--ink);margin:0;padding:0;border:0;line-height:1.4}
.post_content .sh-linkcard h3::after,.post_content .sh-linkcard h3::before{display:none}
.post_content .sh-linkcard p{font-size:16px;color:#6b7078;margin:10px 0 0;line-height:1.8}
.post_content .sh-linkcard .arrow{width:40px;height:40px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h13'/%3E%3Cpath d='M11 5l7 7-7 7'/%3E%3C/svg%3E") center/20px no-repeat;color:transparent;font-size:0;flex:none;transition:.2s}
.post_content .sh-linkcard:hover .arrow{background-color:var(--blue-d);transform:translateX(3px)}
@media(max-width:920px){.post_content .sh-linkcards{grid-template-columns:1fr}}
/* ===== 疾患CPT(single-disease)を固定ページと同じ"独自ヒーロー"運用に揃える ===== */
body.single-disease .c-postTitle{display:none}
body.single-disease .c-shareBtns{display:none}

body.single-disease .p-articleMetas{display:none}

/* SWELL自動目次(.p-toc)は疾患ページでは出さない：対象がh3設定で型の見出し(h2主体)を拾えず空箱になる＋全記事同型で冗長。廃止。 */
body.single-disease .p-toc{display:none}

/* ===== お知らせ/コラム投稿(single-post)の体裁を整える（SWELL投稿パーツの抑制） ===== */
body.single-post .c-shareBtns{display:none}
body.single-post .p-postAuthor{display:none}
body.single-post .p-relatedPosts{display:none}

body.single-post .l-articleBottom{display:none}

body.single-post .p-articleFoot{display:none}

body.single-post .l-mainContent__inner{max-width:760px;margin-left:auto;margin-right:auto}

/* ===== 投稿(single-post)に独自ヒーロー帯を出す（SWELL標準の頭は隠す） ===== */
body.single-post .c-postTitle,
body.single-post .p-articleMetas,
body.single-post .p-articleThumb{display:none}
.post_content .sh-posthero__meta{font-size:13px;color:#9a8f78;font-family:var(--mono);letter-spacing:1px;margin:16px 0 0}
.post_content .sh-posthero.has-img{background:linear-gradient(rgba(251,250,246,.84),rgba(251,250,246,.9)),var(--ph-img);background-size:cover;background-position:center}
.post_content .sh-posthero>.sh-wrap{max-width:760px}
/* 短い記事でもフッターと詰まらないよう本文エリアに最小高さ */
body.single-post .l-mainContent{min-height:60vh}

body.single-post .l-mainContent.l-article{margin-left:auto;margin-right:auto}

/* 疾患ページ(CPT single-disease)を中央寄せ。sidebar-on名目のため本文が左に寄る。single-postと同様に対処 */
body.single-disease .l-mainContent.l-article{margin-left:auto;margin-right:auto}

/* sh-heroページ共通の中央寄せ（REST作成の固定ページ等はsidebar-on名目で左に寄るため、sh-hero本文を持つページを一律中央化） */
body:has(.post_content .sh-hero) .l-mainContent.l-article{margin-left:auto;margin-right:auto}

/* ===== 静的リスト（旧 .sh-card/.sh-cards の受け皿＝「該当チェック」「モノの列挙」共通の中立部品）
   狙い: カードの見た目を廃し「押せない・読む情報」と一目で分かる形に。押せるカード(.sh-linkcard等)の質感は使わない。
   sh-note(塗り囲み)との差別化: 地色なし／行を細罫線で区切る／左印は見出し高さの短い3px（sh-noteは全高4px＋淡青地）。 */
.post_content .sh-list{margin:2.1em 0}
.post_content .sh-list .li{position:relative;padding:13px 6px 13px 24px}
.post_content .sh-list .li::before{content:"";position:absolute;left:3px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--blue)}
.post_content .sh-list h3{font-family:var(--gothic);font-weight:700;font-size:18px;color:var(--ink);margin:0 0 3px;padding:0;border:0;line-height:1.55}
.post_content .sh-list h3::after,.post_content .sh-list h3::before{display:none}
.post_content .sh-list p{font-size:16px;color:#6b7078;margin:0;line-height:1.8}
.post_content .sh-list .li.only h3{margin:0}

/* urology(12) & checkup(42) hero photo band (mirror internal id13). Added 2026-07-04 */
body.page-id-12,body.page-id-42{padding-top:0!important}
body.page-id-12 .post_content,body.page-id-42 .post_content{margin-top:0}
body.page-id-12 .post_content .sh-hero,body.page-id-42 .post_content .sh-hero{background:var(--cream);padding-top:434px;padding-bottom:40px}
body.page-id-12 .post_content .sh-hero::before,body.page-id-42 .post_content .sh-hero::before{display:none}
body.page-id-12 .post_content .sh-hero::after,body.page-id-42 .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;z-index:0;background-size:cover;background-position:center}
body.page-id-12 .post_content .sh-hero::after{background-image:url("/wp-content/uploads/2026/07/ヒーロー_泌尿器科.png")}
body.page-id-42 .post_content .sh-hero::after{background-image:url("/wp-content/uploads/2026/07/ヒーロー_検診.png")}
@media (max-width:768px){
body.page-id-12 .post_content .sh-hero,body.page-id-42 .post_content .sh-hero{padding-top:242px;padding-bottom:24px}
body.page-id-12 .post_content .sh-hero::after,body.page-id-42 .post_content .sh-hero::after{height:210px}
}
/* top page department row icons. Added 2026-07-04 */
.shinobu-front .row .thumb-urology{background:#eef2f6 url("/wp-content/uploads/2026/07/アイコン_泌尿器科.png") center/cover}
.shinobu-front .row .thumb-cardiology{background:#eef2f6 url("/wp-content/uploads/2026/07/アイコン_循環器.png") center/cover}
.shinobu-front .row .thumb-checkup{background:#eef2f6 url("/wp-content/uploads/2026/07/アイコン_検診.png") center/cover}

/* cardiology(196) hero photo band (mirror internal id13). Added 2026-07-04 */
body.page-id-196{padding-top:0!important}
body.page-id-196 .post_content{margin-top:0}
body.page-id-196 .post_content .sh-hero{background:var(--cream);padding-top:434px;padding-bottom:40px}
body.page-id-196 .post_content .sh-hero::before{display:none}
body.page-id-196 .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;z-index:0;background-size:cover;background-position:center;background-image:url("/wp-content/uploads/2026/07/ヒーロー_循環器.png")}
@media (max-width:768px){
body.page-id-196 .post_content .sh-hero{padding-top:242px;padding-bottom:24px}
body.page-id-196 .post_content .sh-hero::after{height:210px}
}


/* doctor profile (de-carded, body-left / photo-right). used on clinic 医師紹介 */
.post_content .sh-people{margin:2.2em 0}
.post_content .sh-person{display:grid;grid-template-columns:1fr 180px;gap:38px;align-items:start;padding:26px 0 30px;border-bottom:1px solid #e7e2d6}
.post_content .sh-person:first-child{padding-top:2px}
.post_content .sh-person:last-child{border-bottom:0;padding-bottom:2px}
.post_content .sh-person .role{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--blue);display:block;margin:0 0 5px}
.post_content .sh-person h3{font-family:var(--mincho);font-weight:600;font-size:22px;color:var(--ink);margin:0 0 4px;padding:0;border:0;line-height:1.4}
.post_content .sh-person h3::after,.post_content .sh-person h3::before{display:none}
.post_content .sh-person .kana{font-size:12.5px;color:#9a8f78;margin:0 0 16px}
.post_content .sh-person dl{margin:0;display:grid;grid-template-columns:5.5em 1fr;row-gap:9px;column-gap:16px}
.post_content .sh-person dt{font-family:var(--gothic);font-weight:700;font-size:13px;color:var(--ink)}
.post_content .sh-person dd{margin:0;font-size:16px;color:#6b7078;line-height:1.7}
.post_content .sh-person .photo{grid-column:2;width:180px;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#eef3f9,#e7edf3);border:1px solid #e4ebf2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#9db2c6}
.post_content .sh-person .photo svg{width:44px;height:44px;opacity:.6}
.post_content .sh-person .photo span{font-family:var(--mono);font-size:10px;letter-spacing:.14em}
@media(max-width:600px){
  .post_content .sh-person{grid-template-columns:1fr;gap:16px}
  .post_content .sh-person .photo{grid-column:1;order:-1;width:150px;justify-self:start}
  .post_content .sh-person dl{grid-template-columns:1fr;row-gap:2px}
  .post_content .sh-person dt{margin-top:8px}
}

/* Type B: a.sh-card nav links -> clickable (shadow + hover-lift + blue circle bold-arrow). div.sh-card stays flat */
.post_content a.sh-card{position:relative;box-shadow:var(--card-shadow);border-color:transparent;padding-right:64px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.post_content a.sh-card:hover{transform:translateY(-4px);box-shadow:0 30px 52px -30px rgba(22,51,92,.5)}
.post_content a.sh-card::after{content:"";position:absolute;top:0;bottom:0;right:16px;margin:auto 0;width:38px;height:38px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h13'/%3E%3Cpath d='M11 5l7 7-7 7'/%3E%3C/svg%3E") center/19px no-repeat;transition:.2s}
.post_content a.sh-card:hover::after{background-color:var(--blue-d);transform:translateX(3px)}

/* ===== 医療機器グリッド（画像＋名称＋説明）=====
   写真付きだが「押せない・読む情報」。押せるカード(.sh-linkcard)の質感（影・ホバー浮き・矢印）は使わずフラットに保つ。3列→2列→1列。 */
.post_content .sh-devices{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 34px;margin:2.4em 0} /* 3列だと1枚あたり245px・最大10行で窮屈だったため2列に。14枚なので2列で割り切れる */
.post_content .sh-device{background:transparent;border:0;padding:0}
.post_content .sh-device .ph{aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:#eef1f4;margin-bottom:15px}
.post_content .sh-device .ph img{width:100%;height:100%;object-fit:cover;display:block}
.post_content .sh-device h3{font-family:var(--gothic);font-weight:700;font-size:15.5px;color:var(--ink);margin:0 0 9px;padding:0;border:0;line-height:1.5}
.post_content .sh-device h3::after,.post_content .sh-device h3::before{display:none}
.post_content .sh-device p{font-size:16px;color:#6b7078;line-height:1.85;margin:0}
@media(max-width:920px){.post_content .sh-devices{grid-template-columns:1fr 1fr;gap:28px 18px}}
@media(max-width:600px){.post_content .sh-devices{grid-template-columns:1fr}}

/* 疾患ページ 公開日・最終更新日（本文末尾・監修ボックス直上の鮮度表示） */
.post_content .sh-dates{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:0 0 30px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:#9a8f78}
.post_content .sh-dates__label{margin-right:7px;opacity:.7}
@media(max-width:600px){.post_content .sh-dates{gap:14px;margin-bottom:24px}}


/* Disease pages: reuse the department hero photo band. dept-{slug} body class comes from functions.php (body_class filter). Same band as the department pages (internal=page-id-13, urology=page-id-12). Added 2026-07-06. New dept: add one ::after line each. */
body.single-disease.dept-urology,
body.single-disease.dept-internal{padding-top:0!important}
body.single-disease.dept-urology .post_content,
body.single-disease.dept-internal .post_content{margin-top:0}
body.single-disease.dept-urology .post_content .sh-hero,
body.single-disease.dept-internal .post_content .sh-hero{background:var(--cream);padding-top:434px;padding-bottom:40px}
body.single-disease.dept-urology .post_content .sh-hero::before,
body.single-disease.dept-internal .post_content .sh-hero::before{display:none}
body.single-disease.dept-urology .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;background:url("/wp-content/uploads/2026/07/ヒーロー_泌尿器科.png") center/cover;z-index:0}
body.single-disease.dept-internal .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;background:url("/wp-content/uploads/2026/07/2b698c37-1f6b-4c18-9e6f-880aa14a7a02.png") center/cover;z-index:0}
@media(max-width:768px){
  body.single-disease.dept-urology .post_content .sh-hero,
  body.single-disease.dept-internal .post_content .sh-hero{padding-top:242px;padding-bottom:24px}
  body.single-disease.dept-urology .post_content .sh-hero::after,
  body.single-disease.dept-internal .post_content .sh-hero::after{height:210px}
}

/* 初めての方へ(page-id-60) ヒーロー: 外観写真の全幅バンド(内科と同じ没入型)。装飾円は非表示。差し替えは url() のメディアURL1行 */
body.page-id-60{padding-top:0!important}
body.page-id-60 .post_content{margin-top:0}
body.page-id-60 .post_content .sh-hero{background:var(--cream);padding-top:434px;padding-bottom:40px}
body.page-id-60 .post_content .sh-hero::before{display:none}
body.page-id-60 .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;background:url("/wp-content/uploads/2026/07/受付待合_13-scaled.jpg") center/cover;z-index:0}
@media(max-width:768px){
  body.page-id-60 .post_content .sh-hero{padding-top:242px;padding-bottom:24px}
  body.page-id-60 .post_content .sh-hero::after{height:210px}
}

/* アクセス(page-id-15) ヒーロー: 外観写真の全幅バンド(内科と同じ没入型)。装飾円は非表示。差し替えは url() のメディアURL1行 */
body.page-id-15{padding-top:0!important}
body.page-id-15 .post_content{margin-top:0}
body.page-id-15 .post_content .sh-hero{background:var(--cream);padding-top:434px;padding-bottom:40px}
body.page-id-15 .post_content .sh-hero::before{display:none}
body.page-id-15 .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;background:url("/wp-content/uploads/2026/07/外観08_web-scaled.jpg") center/cover;z-index:0}
@media(max-width:768px){
  body.page-id-15 .post_content .sh-hero{padding-top:242px;padding-bottom:24px}
  body.page-id-15 .post_content .sh-hero::after{height:210px}
}

/* AGA・薄毛(page-id-25) ヒーロー: 全幅写真バンド(内科と同じ没入型)。装飾円は非表示。差し替えは url() のメディアURL1行 */
body.page-id-25{padding-top:0!important}
body.page-id-25 .post_content{margin-top:0}
body.page-id-25 .post_content .sh-hero{background:var(--cream);padding-top:434px;padding-bottom:40px}
body.page-id-25 .post_content .sh-hero::before{display:none}
body.page-id-25 .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;background:url("/wp-content/uploads/2026/07/ヒーロー_AGA.png") center/cover;z-index:0}
@media(max-width:768px){
  body.page-id-25 .post_content .sh-hero{padding-top:242px;padding-bottom:24px}
  body.page-id-25 .post_content .sh-hero::after{height:210px}
}

/* ED治療(page-id-28) ヒーロー: 全幅写真バンド(内科と同じ没入型)。装飾円は非表示。差し替えは url() のメディアURL1行 */
body.page-id-28{padding-top:0!important}
body.page-id-28 .post_content{margin-top:0}
body.page-id-28 .post_content .sh-hero{background:var(--cream);padding-top:434px;padding-bottom:40px}
body.page-id-28 .post_content .sh-hero::before{display:none}
body.page-id-28 .post_content .sh-hero::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:400px;border-radius:0;background:url("/wp-content/uploads/2026/07/ヒーロー_ED.png") center/cover;z-index:0}
@media(max-width:768px){
  body.page-id-28 .post_content .sh-hero{padding-top:242px;padding-bottom:24px}
  body.page-id-28 .post_content .sh-hero::after{height:210px}
}
/* ===== 疾患ページ 記事下ブロック(監修ボックス／関連記事)の体裁 — 2026-08-18 追加 ===== */
/* 監修は本文の補足。SWELL既定(u-fz-m/u-fz-s)はvw連動で画面が広いほど育ち本文16pxを超えるため、固定pxで一段落とす */
body.single-disease .l-articleBottom__section.-author .p-authorBox__name{font-size:15px!important}
body.single-disease .l-articleBottom__section.-author .p-authorBox__position{font-size:12px!important}
body.single-disease .l-articleBottom__section.-author .p-authorBox__desc{font-size:13.5px;line-height:1.9}
/* スマホで記事下だけ全幅ベタ付き(本文は左右28px)になり窮屈に見えるため、左右に余白を入れる */
@media(max-width:768px){
body.single-disease .l-articleBottom__section.-author,
body.single-disease .l-articleBottom__section.-related{padding-left:22px;padding-right:22px}
}
/* アイキャッチ代替を入れたので、疾患ページ本体では独自ヒーローを使いSWELLのアイキャッチ帯は出さない */
body.single-disease .p-articleThumb{display:none}
/* 疾患ページ: 自動の関連記事は出さない(本文末の「関連リンク」が正)。見出しだけの空セクションを畳む — 2026-08-18 */
body.single-disease .l-articleBottom__section.-related{display:none}
/* ===== 下層も「メニューエリア → 写真 → テキスト」に揃える — 2026-08-18 =====
   トップと同じ考え方。写真帯をヘッダー(108px)の下から始め、左右に余白を取って角丸にする。
   対象＝上部に写真帯を持つページ(診療科4枚・アクセス・AGA・ED・id60・疾患CPT)。
   :is() で詳細度が .single-disease.dept-internal 相当まで上がるので、個別ルールより後勝ちする。 */
:root{--sh-headerh:108px}
body:is(.page-id-13,.page-id-12,.page-id-42,.page-id-196,.page-id-60,.page-id-15,.page-id-25,.page-id-28,.single-disease.dept-internal,.single-disease.dept-urology) .post_content .sh-hero{padding-top:calc(434px + var(--sh-headerh))}
body:is(.page-id-13,.page-id-12,.page-id-42,.page-id-196,.page-id-60,.page-id-15,.page-id-25,.page-id-28,.single-disease.dept-internal,.single-disease.dept-urology) .post_content .sh-hero::after{top:var(--sh-headerh);left:40px;right:40px;border-radius:24px}
@media(max-width:768px){
  body:is(.page-id-13,.page-id-12,.page-id-42,.page-id-196,.page-id-60,.page-id-15,.page-id-25,.page-id-28,.single-disease.dept-internal,.single-disease.dept-urology) .post_content .sh-hero{padding-top:calc(242px + var(--sh-headerh))}
}
/* スマホはトップと同じく左を画面端まで抜き、右だけ16px空けて右角を丸める */
@media(max-width:600px){
  body:is(.page-id-13,.page-id-12,.page-id-42,.page-id-196,.page-id-60,.page-id-15,.page-id-25,.page-id-28,.single-disease.dept-internal,.single-disease.dept-urology) .post_content .sh-hero::after{left:0;right:16px;border-radius:0 18px 18px 0}
}
/* 電話番号は1行に必要な幅174pxに対し列が167pxで折り返していた。列幅を調整のうえ折り返しも禁止 */
.post_content .sh-access .info dl:last-child dd{white-space:nowrap}
/* CTAボタンは3つの幅がばらついて見えるので、狭い画面では幅を揃えて縦に並べる — 2026-08-18
   680pxまでを対象にしたのは、601〜665pxで3つが1行に収まらず2+1に折り返していたため（必要474px/内寸433〜472px）。
   広い画面で間延びしないよう max-width で頭打ちにして中央寄せする。 */
@media(max-width:680px){
  .post_content .sh-cta .wp-block-buttons{flex-direction:column;align-items:center;gap:12px}
  .post_content .sh-cta .wp-block-button{width:100%;max-width:340px}
  .post_content .sh-cta .wp-block-button__link{display:block;width:100%;text-align:center}
  .shinobu-front .cta-block .cta-btns{flex-direction:column;align-items:center;gap:12px}
  .shinobu-front .cta-block .cta-btns .btn{width:100%;max-width:340px;justify-content:center}
}
/* ------------------------------------------------------------------
   料金表: スマホで「料金」列が画面外に出て読めない問題への対応
   幅600px以下では表を縦積みにし、thead のラベルを data-label で各セルに添える。
   data-label は functions.php の sh_price_table_labels() が付与する。
   表そのもののマークアップは変えないので、料金の書き換えは今までどおり表を直すだけでよい。
   2026-08-24 追加
------------------------------------------------------------------ */
.post_content .sh-price{overflow-x:auto;-webkit-overflow-scrolling:touch}

@media (max-width:600px){
  .post_content .sh-price{overflow-x:visible}
  .post_content .sh-price table{display:block;width:auto;border:0;background:none;border-radius:0}
  .post_content .sh-price thead{display:none}
  .post_content .sh-price tbody{display:block}
  .post_content .sh-price tbody tr{
    display:block;background:#fff;border:1px solid #eae4d6;border-radius:14px;
    padding:12px 14px;margin:0 0 10px;
  }
  .post_content .sh-price tbody tr:last-child{margin-bottom:0}
  .post_content .sh-price tbody th,
  .post_content .sh-price tbody td{
    display:flex;gap:12px;align-items:baseline;justify-content:space-between;
    width:auto;border:0;padding:3px 0;text-align:right;font-size:14px;
  }
  .post_content .sh-price tbody th::before,
  .post_content .sh-price tbody td::before{
    content:attr(data-label);
    flex:0 0 auto;font-family:var(--gothic);font-size:12px;font-weight:400;
    color:#9a8f78;text-align:left;
  }
  /* 1列目は品目名。ラベルを出さず、そのカードの見出しとして扱う */
  .post_content .sh-price tbody tr > *:first-child{
    display:block;text-align:left;font-weight:700;font-size:15px;
    padding:0 0 8px;margin-bottom:6px;border-bottom:1px dashed #eef0f2;
  }
  .post_content .sh-price tbody tr > *:first-child::before{content:none}
  /* 最終列はほぼ料金なので強調する */
  .post_content .sh-price tbody tr > *:last-child{font-weight:700}
  .post_content .sh-price tbody tr > *:last-child::before{font-weight:400}
}

/* 診療時間表: スマホで時刻が数字の途中で折り返す (「午前 8:／15 – 11:00」) 2026-08-24 追加 */
@media (max-width:600px){
  .post_content .sh-hours tbody th{
    white-space:nowrap;word-break:keep-all;padding-left:14px;padding-right:6px;
  }
  .post_content .sh-hours th,
  .post_content .sh-hours td{padding-left:4px;padding-right:4px}
}
/* ------------------------------------------------------------------
   トップ「診療科目」: スマホで本文の幅が104pxしか残らず6文字前後で折り返す問題。
   原因は gap 32px ×2 と 矢印50px が横幅を食っていること。写真を64pxに縮め、
   矢印を右下へ逃がして本文に幅を渡す。行全体が押せるので矢印は小さくてよい。
   2026-08-24 追加
------------------------------------------------------------------ */
@media (max-width:600px){
  .shinobu-front .dept-list .row{
    position:relative;gap:14px;padding:18px 14px 30px;
  }
  .shinobu-front .dept-list .row .photo,
  .shinobu-front .dept-list .row .thumb{
    width:64px;height:64px;flex:0 0 64px;
  }
  .shinobu-front .dept-list .row h3{font-size:18px;line-height:1.4}
  .shinobu-front .dept-list .row p{font-size:14px;line-height:1.75}
  .shinobu-front .dept-list .row .arrow{
    position:absolute;right:12px;bottom:12px;
    width:30px;height:30px;flex:0 0 30px;
  }
}
