/* Phase 3.A: ヘッダー/フッター 自社誘導要素を非表示 */

/* ヘッダー: 自社予約CTA・自社SNS */
header li.h-cv,
header li.h-insta,
header li.h-line,
nav li.h-cv,
nav li.h-insta,
nav li.h-line {
    display: none !important;
}

/* ヘッダー: 「料金一覧」(自社4院料金へのリンク。/price/ は 301 で /menulist/ に飛ぶが
 * 当面は導線自体を消す。Phase 3.B 以降で全国料金一覧として再設計) */
header nav a[href$="/price/"],
header nav a[href$="/contact_menu/"] {
    display: none !important;
}
header nav a[href$="/price/"]:has(span),
header nav a[href$="/contact_menu/"]:has(span) {
    display: none !important;
}
/* :has() 非対応ブラウザ向けに li 包括も指定（同一URLを含む li 全体を消す） */
header nav li:has(a[href$="/price/"]),
header nav li:has(a[href$="/contact_menu/"]) {
    display: none !important;
}

/* フッター: 自社4院セクション、料金一覧、お問い合わせ、公式SNS */
footer ul li a[href$="/clinic/ginza/"],
footer ul li a[href$="/clinic/umeda/"],
footer ul li a[href$="/clinic/sannomiya/"],
footer ul li a[href$="/clinic/shinsaibashi/"],
footer ul li a[href$="/contact_menu/"] {
    display: none !important;
}

footer ul li:has(a[href$="/clinic/ginza/"]),
footer ul li:has(a[href$="/clinic/umeda/"]),
footer ul li:has(a[href$="/clinic/sannomiya/"]),
footer ul li:has(a[href$="/clinic/shinsaibashi/"]),
footer ul li:has(a[href$="/contact_menu/"]) {
    display: none !important;
}

/* フッター 公式LINE バナー（lin.ee は自社） */
footer a[href*="lin.ee/"] {
    display: none !important;
}
footer ul:has(a[href*="lin.ee/"]) {
    /* 単独LINEバナー1行のみが入った ul 自体を消す */
    display: none !important;
}

/* フッター: 「料金一覧」見出しは Phase 3.A スコープ外（後続フェーズ）。
 * /price/ への 301 が効くのでリンク自体は無害だが、表示は維持する。
 * → ここでは何もしない */

/* ヘッダーロゴが SVG の自社ロゴ画像なので可視のまま（brand.php で JS swap） */

/* ─────────────────────────────────────────────────────────────
 * フッター ≤768px 再設計 (テーマ純正 footer の responsive 崩れ対策)
 *
 * 問題: style2.css は ≤580px で .f-menu の各 ul を 50%幅の flex-wrap に
 *   するため、短い列(ロゴ/クリニック)が高い列(診療内容7項目)と隣り合い、
 *   左側に大きな空白の谷ができて崩れて見える。ポリシー行(ul5)も
 *   display:flex 7カラムのまま各リンクが1文字ずつ縦折り返ししていた。
 * 方針: swell_child は直接触らず、全ページロードの本 CSS で grid 化。
 *   左カラム=診療内容、右カラム=クリニック+料金 を縦積みして両列を均等に
 *   埋め、ロゴは中央バンド、ポリシーは中央寄せ縦積みに整える。
 * ───────────────────────────────────────────────────────────── */
@media screen and (max-width: 768px) {
    footer .f-menu {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "logo logo"
            "nav1 nav2"
            "nav1 nav3"
            "pol  pol"
            "cpy  cpy";
        align-items: start;
        gap: 6px 22px;
        width: 86% !important;
        max-width: 440px;
        margin: 0 auto;
        padding: 38px 0 8px !important;
        font-size: 13px;
    }
    footer .f-menu > ul { width: auto !important; padding: 0 !important; }

    /* ロゴ: 中央バンド + 区切り線 */
    footer .f-menu > ul:nth-of-type(1) {
        grid-area: logo;
        text-align: center;
        padding-bottom: 20px !important;
        margin-bottom: 14px;
        border-bottom: 1px solid rgba(0, 0, 0, .08);
    }
    footer .f-menu > ul:nth-of-type(1) img { width: 128px !important; }

    /* ナビ群: 左=診療内容 / 右上=クリニック / 右下=料金グループ */
    footer .f-menu > ul:nth-of-type(2) { grid-area: nav1; line-height: 2.1; }
    footer .f-menu > ul:nth-of-type(3) { grid-area: nav2; line-height: 2.1; }
    footer .f-menu > ul:nth-of-type(4) { grid-area: nav3; line-height: 2.1; margin-top: 14px; }
    footer .f-menu > ul h3 { font-weight: 700; margin-bottom: 4px; }

    /* ポリシー行 (style2.css ul:nth-of-type(5), 7項目):
     *   1-4 + 用語集(7) = 主要リンクを中黒区切りで横並び (flex order で用語集を前方へ)
     *   5,6 = 「他の…背景」2本を「コラム掲載の背景」ラベル付きの小さく薄い補足ブロックに分離 */
    footer .f-menu > ul:nth-of-type(5) {
        grid-area: pol;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: baseline;
        row-gap: 2px;
        column-gap: 0;
        padding: 16px 6px 4px !important;
        border-top: 1px solid rgba(0, 0, 0, .08);
        margin-top: 18px;
    }
    /* 全 li 共通: テーマの border-left / a{width:100%} を打ち消し内容幅で横並び */
    footer .f-menu > ul:nth-of-type(5) li {
        border-left: none !important;
        width: auto !important;
        padding: 0 !important;
        display: inline-block;
        flex: none;
        white-space: nowrap;
        line-height: 1.95;
        font-size: 12px;
    }
    footer .f-menu > ul:nth-of-type(5) li a {
        width: auto !important;
        display: inline !important;
        white-space: nowrap;
    }
    /* 用語集(7) を主要リンク群へ繰り上げ */
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(7) { order: 1; }
    /* 主要リンク 1-4 の後ろに中黒セパレータ (用語集の前まで) */
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(1)::after,
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(2)::after,
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(3)::after,
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(4)::after {
        content: "・";
        color: rgba(0, 0, 0, .3);
        margin: 0 2px;
    }
    /* 背景2本: 全幅・小さく薄い補足ブロック */
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(5),
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(6) {
        order: 2;
        width: 100% !important;
        display: block;
        white-space: normal;
        text-align: center;
        font-size: 11px;
        line-height: 1.65;
        margin-top: 2px;
    }
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(5) a,
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(6) a {
        color: #9a938e !important;
    }
    /* 「コラム掲載の背景」ラベル + 区切り線 を背景ブロックの前に挿入 */
    footer .f-menu > ul:nth-of-type(5) li:nth-of-type(5)::before {
        content: "コラム掲載の背景";
        display: block;
        width: 100%;
        margin: 14px auto 6px;
        padding-top: 12px;
        border-top: 1px dashed rgba(0, 0, 0, .14);
        color: #b0aaa6;
        font-size: 10.5px;
        letter-spacing: .14em;
    }

    /* コピーライト: 中央寄せ */
    footer .f-menu > ul:nth-of-type(7) { grid-area: cpy; text-align: center; margin-top: 6px; }
}

/* ── リニューアル告知バー (全ページ最上部) ── */
.tdc-renewal-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1001;
    background: linear-gradient(135deg, #a8847f 0%, #cfa472 100%);
    color: #fff;
    box-shadow: 0 2px 8px -4px rgba(0, 0, 0, .3);
}
.tdc-renewal-bar[hidden] { display: none; }
.tdc-renewal-bar__inner {
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 40px 8px 16px;
    position: relative;
}
.tdc-renewal-bar__text { margin: 0; font-size: 12.5px; text-align: center; line-height: 1.5; }
.tdc-renewal-bar__text strong { font-weight: 700; }
.tdc-renewal-bar__link { color: #fff !important; text-decoration: underline !important; font-weight: 700; white-space: nowrap; }
.tdc-renewal-bar__close {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    background: none; border: 0; color: rgba(255, 255, 255, .9);
    cursor: pointer; font-size: 14px; line-height: 1; padding: 4px;
}
@media (max-width: 600px) {
    .tdc-renewal-bar__text { font-size: 11px; }
}

/* ── /about/ リニューアル告知セクション ──
 * swell .post_content の text-align:center / h2 色 / section padding 干渉を
 * 高詳細度＋!important で打ち消し、左寄せの上品な編集トーンに統一する。 */
.post_content .tdc-about__renewal {
    text-align: left !important;
    margin: 4px 0 44px !important;
    padding: 28px 32px 24px !important;
    background: linear-gradient(135deg, #fdf7f5 0%, #faf1ea 100%) !important;
    border: 1px solid #eaddd6 !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 34px -22px rgba(168, 132, 127, .4) !important;
}
.tdc-about__renewal-label {
    display: inline-block; margin: 0 0 16px; padding: 5px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #a8847f, #cfa472); color: #fff;
    font-size: 10.5px; font-weight: 700; letter-spacing: .16em; line-height: 1.6;
}
.post_content .tdc-about__renewal-title {
    text-align: left !important;
    margin: 0 0 18px !important; padding: 0 !important;
    background: none !important; border: 0 !important; height: auto !important;
    font-family: var(--tdc-serif, "Noto Serif JP", serif) !important;
    font-size: 22px !important; font-weight: 600 !important;
    line-height: 1.62 !important; letter-spacing: .02em !important; color: #2f2a27 !important;
}
.post_content .tdc-about__renewal p {
    text-align: left !important;
    margin: 0 0 13px !important;
    font-size: 14.5px !important; line-height: 2.05 !important; font-weight: 400 !important; color: #5a514c !important;
}
.tdc-about__renewal p strong { color: #a8847f !important; font-weight: 700 !important; }
.tdc-about__renewal-sign { text-align: right !important; margin: 8px 0 0 !important; color: #a89f99 !important; font-size: 13px !important; }

/* swell 静的な施術ページ(Group C: プラセンタ等)の自社予約/料金 CTA ブロックを
 * 非表示にして中立メディア化する。これらは has_db_page=0 でまだ DB 化されておらず
 * 旧 swell テンプレで描画されるため、本文コンテンツは残しつつ自社誘導 CTA だけ除去。
 * (本格的な新テンプレ統一はコンテンツ投入後に実施) */
.double_sec_btn_content:has(a[href*="/contact_menu/"]),
.double_sec_btn_content:has(a[href*="/price/"]) {
    display: none !important;
}

/* legacy notice 共通スタイル */
.tdc-legacy-notice {
    padding: 12px 16px;
    margin: 0 auto 24px;
    max-width: 1080px;
    background: #f5f5f0;
    border-left: 3px solid #d4af37;
    color: #555;
}
.tdc-legacy-notice,
.tdc-legacy-notice p,
.tdc-legacy-notice small {
    /* swell_child 側の nowrap 継承で SP で文末が画面外に切れるため明示 */
    white-space: normal;
}
.tdc-legacy-notice small {
    font-size: 0.85em;
    line-height: 1.6;
}

/* ── お問い合わせページ (page-contact_menu) を中立メディア仕様に ── */
.tdc-contact .inner { max-width: 720px; }
.tdc-contact__lead {
    font-size: 15px;
    line-height: 1.9;
    color: var(--tdc-ink, #4a423d);
    margin: 28px 0 14px;
}
.tdc-contact__note {
    font-size: 13px;
    line-height: 1.8;
    color: var(--tdc-sub, #7a7068);
    background: #fafaf5;
    border: 1px solid #ece6e0;
    border-radius: 10px;
    padding: 14px 16px;
    margin: 0 0 30px;
}
.tdc-contact iframe { max-width: 100%; display: block; margin: 0 auto; }

/* ── 旧クリニック組織/採用ページ → 運営・監修体制案内 (tdc-orgnotice) ── */
.tdc-orgnotice .post_content,
.tdc-orgnotice.post_content { background: var(--tdc-bg, #fafaf5); }
.tdc-orgnotice__inner {
    max-width: 760px;
    margin: 0 auto;
    padding: 8px 20px 64px;
    text-align: left;
}
.tdc-orgnotice__head {
    text-align: center;
    margin: 24px 0 28px;
}
.tdc-orgnotice__eyebrow {
    display: block;
    font-family: Georgia, serif;
    font-size: 11px;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--tdc-pink, #c9a8a4);
    margin-bottom: 10px;
}
.tdc-orgnotice__title {
    font-family: var(--tdc-serif, "Noto Serif JP", serif);
    font-size: 26px;
    font-weight: 700;
    color: var(--tdc-ink, #2d2520);
    margin: 0;
    line-height: 1.4;
}
.tdc-orgnotice__body > p {
    font-size: 15px;
    line-height: 2;
    color: var(--tdc-ink, #4a423d);
    margin: 0 0 16px;
}
.tdc-orgnotice__body > p strong { color: var(--tdc-rose, #a8847f); }
.tdc-orgnotice__links {
    list-style: none;
    margin: 30px 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.tdc-orgnotice__links a {
    position: relative;
    display: block;
    background: #fff;
    border: 1px solid var(--tdc-line, #ece6e0);
    border-radius: 14px;
    padding: 18px 46px 18px 22px;
    text-decoration: none !important;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.tdc-orgnotice__links a:hover {
    border-color: var(--tdc-pink, #c9a8a4);
    box-shadow: 0 8px 22px -10px rgba(168,132,127,.35);
    transform: translateY(-1px);
}
.tdc-orgnotice__link-ttl {
    display: block;
    font-size: 15.5px;
    font-weight: 700;
    color: var(--tdc-ink, #2d2520);
    margin-bottom: 3px;
}
.tdc-orgnotice__link-sub {
    display: block;
    font-size: 12.5px;
    color: var(--tdc-sub, #7a7068);
    line-height: 1.6;
}
.tdc-orgnotice__chev {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: var(--tdc-rose, #a8847f);
    line-height: 1;
}
@media (max-width: 600px) {
    .tdc-orgnotice__inner { padding: 4px 16px 48px; }
    .tdc-orgnotice__title { font-size: 22px; }
    .tdc-orgnotice__body > p { font-size: 14px; line-height: 1.95; }
}

/* orgnotice パンくずの番号付きリスト化を抑止し横並びに */
.tdc-orgnotice .tdc-breadcrumb ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: var(--tdc-sub, #7a7068);
}
.tdc-orgnotice .tdc-breadcrumb li { display: inline-flex; align-items: center; }
.tdc-orgnotice .tdc-breadcrumb li:not(:last-child)::after { content: '›'; margin-left: 6px; color: #c9beb6; }
.tdc-orgnotice .tdc-breadcrumb a { color: var(--tdc-rose, #a8847f); text-decoration: none !important; }

/* ── 症例アーカイブの文脈バナー (page-case) ── */
.tdc-archive-banner {
    max-width: 1000px;
    margin: 0 auto 28px;
    padding: 0 20px;
}
.tdc-archive-banner__inner {
    background: linear-gradient(135deg, #fdf4f1 0%, #fbf3ec 100%);
    border: 1px solid #efe1d9;
    border-radius: 14px;
    padding: 20px 24px;
}
.tdc-archive-banner__tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    color: #fff;
    background: var(--tdc-rose, #a8847f);
    border-radius: 999px;
    padding: 4px 14px;
    margin-bottom: 10px;
}
.tdc-archive-banner__text {
    font-size: 13.5px;
    line-height: 1.9;
    color: var(--tdc-ink, #4a423d);
    margin: 0;
}
.tdc-archive-banner__text strong { color: var(--tdc-rose, #a8847f); }
@media (max-width: 600px) {
    .tdc-archive-banner__text br.pc { display: none; }
    .tdc-archive-banner__inner { padding: 16px 18px; }
}

/* ── 前身クリニック一覧 (page-clinic, orgnotice 拡張) ── */
.tdc-orgnotice__closed {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #b5651d;
    background: #f6ece2;
    border: 1px solid #e6d3c1;
    border-radius: 5px;
    padding: 1px 8px;
    margin-left: 9px;
    vertical-align: middle;
}
.tdc-orgnotice__more { margin-top: 28px; text-align: center; }
.tdc-orgnotice__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 26px;
    border-radius: 999px;
    background: var(--tdc-rose, #a8847f);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: opacity .2s;
}
.tdc-orgnotice__cta:hover { opacity: .88; }
.tdc-orgnotice__cta span { font-size: 17px; line-height: 1; }

/* ════════════════════════════════════════════════════
 * 監修者・編集部（E-E-A-T）共通デザイン
 * ════════════════════════════════════════════════════ */

/* ── 共通: チーム見出し ── */
.tdc-team-head { text-align: center; margin: 26px 0 32px; }
.tdc-team-head__en {
    display: block; font-family: Georgia, serif; font-size: 11px;
    letter-spacing: .32em; text-transform: uppercase;
    color: var(--tdc-pink, #c9a8a4); margin-bottom: 10px;
}
.tdc-team-head__title {
    font-family: var(--tdc-serif, "Noto Serif JP", serif);
    font-size: 28px; font-weight: 700; color: var(--tdc-ink, #2d2520);
    margin: 0 0 14px; line-height: 1.4;
}
.tdc-team-head__lead {
    max-width: 640px; margin: 0 auto; font-size: 14.5px; line-height: 1.95;
    color: var(--tdc-sub, #7a7068);
}

/* ── 監修者ページ ── */
.tdc-supervisors__inner, .tdc-editorial__inner {
    max-width: 940px; margin: 0 auto; padding: 8px 20px 64px; text-align: left;
}
.tdc-supervisors__header { text-align: center; margin: 24px 0 34px; }
.tdc-supervisors__header h1 {
    font-family: var(--tdc-serif, "Noto Serif JP", serif);
    font-size: 28px; font-weight: 700; color: var(--tdc-ink, #2d2520); margin: 0 0 12px;
}
.tdc-supervisors__lead { font-size: 14.5px; color: var(--tdc-sub, #7a7068); margin: 0; }
.tdc-supervisors__list { display: grid; gap: 20px; }

/* ── 監修者カード（横型エディトリアル） ── */
.tdc-sv-card {
    display: grid; grid-template-columns: 200px 1fr; gap: 26px;
    background: #fff; border: 1px solid var(--tdc-line, #ece6e0);
    border-radius: 18px; padding: 26px; align-items: start;
    box-shadow: 0 10px 30px -16px rgba(168,132,127,.18);
    text-align: left; /* swell_child style2.css の section{text-align:center} 対策。SPは既存ルールでcenter */
}
.tdc-sv-card__media { position: relative; }
.tdc-sv-card__photo {
    display: block; width: 200px; height: 240px; object-fit: cover;
    border-radius: 14px; background: #f4ece8;
}
.tdc-sv-card__photo--ph {
    display: flex; align-items: center; justify-content: center;
    font-family: var(--tdc-serif, serif); font-size: 64px; color: #d8c4bd;
}
.tdc-sv-card__role {
    display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .04em;
    color: var(--tdc-rose, #a8847f); background: #fbf2ee;
    border-radius: 6px; padding: 3px 11px; margin: 0 0 10px;
}
.post_content h3.tdc-sv-card__name,
h3.tdc-sv-card__name {
    padding-left: 0; /* swell h3 グローバル padding の打ち消し */
    font-family: var(--tdc-serif, "Noto Serif JP", serif);
    font-size: 23px; font-weight: 700; color: var(--tdc-ink, #2d2520);
    margin: 0 0 8px; line-height: 1.3;
}
.tdc-sv-card__suffix { font-size: 15px; margin-left: 4px; font-weight: 600; }
.tdc-sv-card__kana { display: block; font-size: 12px; color: var(--tdc-sub, #9a8f86); font-weight: 400; letter-spacing: .08em; margin-top: 3px; }
.tdc-sv-card__clinic { font-size: 13px; color: var(--tdc-sub, #7a7068); margin: 0 0 12px; }
.tdc-sv-card__specs { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; padding: 0; }
.tdc-sv-card__specs li {
    font-size: 11.5px; color: var(--tdc-rose, #a8847f);
    border: 1px solid #e7d3cd; border-radius: 999px; padding: 3px 12px; background: #fffaf8;
}
.tdc-sv-card__career { font-size: 13.5px; line-height: 1.9; color: var(--tdc-ink, #4a423d); margin: 0 0 14px; }
.tdc-sv-card__quals {
    display: flex; gap: 12px; align-items: baseline;
    border-top: 1px dashed #ece0d9; padding-top: 12px;
}
.tdc-sv-card__quals-label { flex: 0 0 auto; font-size: 11px; font-weight: 700; color: var(--tdc-sub, #9a8f86); letter-spacing: .06em; }
.tdc-sv-card__quals ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.tdc-sv-card__quals li { position: relative; font-size: 12.5px; color: var(--tdc-ink, #4a423d); padding-left: 14px; }
.tdc-sv-card__quals li::before { content: '✓'; position: absolute; left: 0; color: var(--tdc-terra, #d4a574); font-size: 11px; }
.tdc-supervisors__back, .tdc-team-back { margin-top: 34px; }
.tdc-supervisors__back a, .tdc-team-back a { color: var(--tdc-rose, #a8847f); text-decoration: none !important; font-size: 13.5px; }

/* ── 編集部ページ ── */
.tdc-ed-list {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 4px;
}
.tdc-ed-card {
    background: #fff; border: 1px solid var(--tdc-line, #ece6e0);
    border-radius: 18px; overflow: hidden;
    box-shadow: 0 10px 30px -16px rgba(168,132,127,.16);
    display: flex; flex-direction: column;
}
.tdc-ed-card__media { position: relative; aspect-ratio: 1 / 1; overflow: hidden; }
.tdc-ed-card__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.tdc-ed-card__role-en {
    position: absolute; left: 12px; bottom: 12px;
    font-family: Georgia, serif; font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
    color: #fff; background: rgba(45,37,32,.42); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
    border-radius: 999px; padding: 4px 12px;
}
.tdc-ed-card__body { padding: 18px 18px 20px; }
.tdc-ed-card__role {
    display: inline-block; font-size: 11.5px; font-weight: 700; color: var(--tdc-rose, #a8847f);
    background: #fbf2ee; border-radius: 6px; padding: 3px 10px; margin: 0 0 9px;
}
.tdc-ed-card__name {
    font-family: var(--tdc-serif, "Noto Serif JP", serif);
    font-size: 18px; font-weight: 700; color: var(--tdc-ink, #2d2520); margin: 0 0 10px;
}
.tdc-ed-card__kana { display: block; font-size: 11px; color: var(--tdc-sub, #9a8f86); font-weight: 400; letter-spacing: .08em; margin-top: 3px; }
.tdc-ed-card__bio { font-size: 12.5px; line-height: 1.85; color: var(--tdc-ink, #4a423d); margin: 0 0 12px; }
.tdc-ed-card__tags { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.tdc-ed-card__tags li { font-size: 10.5px; color: var(--tdc-sub, #7a7068); background: #f6efe9; border-radius: 5px; padding: 2px 9px; }

/* ── 編集部ページ内の監修体制クロス導線 ── */
.tdc-team-cross { margin-top: 48px; padding: 36px 24px; background: linear-gradient(180deg,#fdf6f3 0%, #fafaf5 100%); border-radius: 20px; text-align: center; }
.tdc-team-cross__title { font-family: var(--tdc-serif, serif); font-size: 21px; font-weight: 700; color: var(--tdc-ink,#2d2520); margin: 6px 0 8px; }
.tdc-team-cross__lead { font-size: 13.5px; color: var(--tdc-sub,#7a7068); margin: 0 0 22px; }
.tdc-team-cross__avatars { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 26px; margin: 0 0 22px; padding: 0; }
.tdc-team-cross__avatars li { width: 132px; }
.tdc-team-cross__avatars img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 6px 16px -6px rgba(168,132,127,.4); }
.tdc-team-cross__nm { display: block; font-size: 13px; font-weight: 700; color: var(--tdc-ink,#2d2520); margin-top: 10px; }
.tdc-team-cross__tt { display: block; font-size: 11px; color: var(--tdc-sub,#7a7068); margin-top: 2px; }
.tdc-team-cross__more a { color: var(--tdc-rose,#a8847f); text-decoration: none !important; font-size: 13.5px; font-weight: 600; }
.tdc-team-cross__more span { margin-left: 4px; }

/* ── TOP: E-E-A-T ストリップ ── */
.tdc-eeat-section {
    background: radial-gradient(120% 100% at 50% 0%, #fdf4f1 0%, rgba(253,244,241,0) 72%), var(--tdc-bg, #fafaf5);
    padding: 54px 0 58px;
}
.tdc-eeat-section .tdc-section__inner { max-width: 1000px; }
.tdc-eeat__lead { max-width: 660px; margin: 2px auto 0; text-align: center; font-size: 14.5px; line-height: 1.95; color: var(--tdc-ink,#4a423d); }
.tdc-eeat__lead strong { color: var(--tdc-rose,#a8847f); font-weight: 700; }
.tdc-eeat__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 34px; }
.tdc-eeat__col { background: #fff; border: 1px solid var(--tdc-line,#ece6e0); border-radius: 18px; padding: 26px 24px 24px; text-align: center; box-shadow: 0 8px 26px -16px rgba(168,132,127,.16); }
.tdc-eeat__col-head { margin-bottom: 20px; }
.tdc-eeat__col-en { display: block; font-family: Georgia, serif; font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--tdc-pink,#c9a8a4); margin-bottom: 5px; }
.tdc-eeat__col-ttl { font-family: var(--tdc-serif, serif); font-size: 18px; font-weight: 700; color: var(--tdc-ink,#2d2520); margin: 0; }
.tdc-eeat__people { list-style: none; display: flex; justify-content: center; gap: 18px; margin: 0 0 20px; padding: 0; }
.tdc-eeat__person { width: 96px; }
.tdc-eeat__avatar { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 6px 16px -6px rgba(168,132,127,.42); }
.tdc-eeat__nm { display: block; font-size: 12.5px; font-weight: 700; color: var(--tdc-ink,#2d2520); margin-top: 10px; line-height: 1.3; }
.tdc-eeat__rl { display: block; font-size: 10.5px; color: var(--tdc-sub,#7a7068); margin-top: 2px; }
.tdc-eeat__link {
    display: inline-flex; align-items: center; gap: 5px; padding: 9px 22px;
    border: 1px solid var(--tdc-rose,#a8847f); border-radius: 999px;
    color: var(--tdc-rose,#a8847f); font-size: 13px; font-weight: 600; text-decoration: none !important;
    transition: background .2s, color .2s;
}
.tdc-eeat__link span { font-size: 16px; line-height: 1; }
.tdc-eeat__link:hover { background: var(--tdc-rose,#a8847f); color: #fff; }

/* ── レスポンシブ ── */
@media (max-width: 860px) {
    .tdc-ed-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
    .tdc-sv-card { grid-template-columns: 1fr; gap: 18px; padding: 20px; text-align: center; }
    .tdc-sv-card__media { display: flex; justify-content: center; }
    .tdc-sv-card__photo { width: 160px; height: 188px; }
    .tdc-sv-card__specs { justify-content: center; }
    .tdc-sv-card__quals { flex-direction: column; gap: 6px; text-align: center; }
    .tdc-sv-card__quals ul { justify-content: center; }
    .tdc-ed-list { grid-template-columns: 1fr; max-width: 360px; margin-left: auto; margin-right: auto; }
    .tdc-eeat__grid { grid-template-columns: 1fr; }
    .tdc-eeat__people { gap: 12px; }
    .tdc-eeat__person { width: 84px; }
    .tdc-eeat__avatar { width: 76px; height: 76px; }
    .tdc-team-head__title, .tdc-supervisors__header h1 { font-size: 23px; }
    .tdc-pc-br { display: none; }
}

/* ════════════════════════════════════════════════════
 * TOP: 編集・監修体制レール（全件・横スクロール）
 * ════════════════════════════════════════════════════ */
.tdc-teamrail-section {
    background: radial-gradient(120% 100% at 50% 0%, #fdf4f1 0%, rgba(253,244,241,0) 72%), var(--tdc-bg, #fafaf5);
    padding: 50px 0 54px;
}
.tdc-teamrail-section .tdc-section__inner { max-width: 1040px; }
.tdc-teamrail__lead {
    max-width: 700px; margin: 2px auto 0; text-align: center;
    font-size: 14.5px; line-height: 1.95; color: var(--tdc-ink, #4a423d);
}
.tdc-teamrail__lead strong { color: var(--tdc-rose, #a8847f); font-weight: 700; }
.tdc-teamrail { margin-top: 30px; }
.tdc-teamrail + .tdc-teamrail { margin-top: 26px; }
.tdc-teamrail__head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 12px; padding: 0 4px 12px; border-bottom: 1px solid var(--tdc-line, #ece6e0); margin-bottom: 14px;
}
.tdc-teamrail__ttl {
    display: flex; align-items: center; gap: 8px; margin: 0;
    font-family: var(--tdc-serif, "Noto Serif JP", serif);
    font-size: 16px; font-weight: 700; color: var(--tdc-ink, #2d2520);
}
.tdc-teamrail__dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.tdc-teamrail__dot--sv { background: var(--tdc-rose, #a8847f); }
.tdc-teamrail__dot--au { background: var(--tdc-terra, #d4a574); }
.tdc-teamrail__count { font-family: Georgia, serif; font-size: 12px; color: var(--tdc-sub, #9a8f86); margin-left: 4px; font-weight: 400; }
.tdc-teamrail__all { flex: 0 0 auto; color: var(--tdc-rose, #a8847f); text-decoration: none !important; font-size: 13px; font-weight: 600; }
.tdc-teamrail__all span { margin-left: 3px; font-size: 15px; }
.tdc-teamrail__track {
    list-style: none; margin: 0; padding: 4px 2px 12px;
    display: flex; gap: 13px; overflow-x: auto;
    /* カード数が少なく1行に収まる時は中央寄せ（溢れたら safe が左起点スクロールに戻す） */
    justify-content: safe center;
    scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
    scrollbar-width: thin; scrollbar-color: #ddccc4 transparent;
}
.tdc-teamrail__track::-webkit-scrollbar { height: 7px; }
.tdc-teamrail__track::-webkit-scrollbar-thumb { background: #e2d2ca; border-radius: 99px; }
.tdc-teamrail__track::-webkit-scrollbar-track { background: transparent; }
.tdc-teamrail__card { flex: 0 0 auto; width: 152px; scroll-snap-align: start; display: flex; }
.tdc-teamrail__card > a {
    display: flex; flex-direction: column; align-items: center; width: 100%;
    background: #fff; border: 1px solid var(--tdc-line, #ece6e0);
    border-radius: 16px; padding: 18px 14px 16px; text-align: center;
    text-decoration: none !important; transition: transform .2s, box-shadow .2s, border-color .2s;
}
/* 監修/著者で専門タグの行数が異なってもカード下端を揃える: タグを最下部にピン留めし白box高を統一 */
.tdc-teamrail__spec { margin-top: auto; }
.tdc-teamrail__nm, .tdc-teamrail__tt { width: 100%; }
.tdc-teamrail__card > a:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -14px rgba(168,132,127,.4); border-color: #e7d3cd; }
.tdc-teamrail__avatar-wrap { position: relative; display: inline-block; margin-bottom: 12px; }
.tdc-teamrail__avatar {
    width: 92px; height: 92px; border-radius: 50%; object-fit: cover;
    border: 3px solid #fff; box-shadow: 0 6px 16px -6px rgba(168,132,127,.42);
}
.tdc-teamrail__badge {
    position: absolute; bottom: -2px; left: 50%; transform: translateX(-50%);
    font-size: 10px; font-weight: 700; letter-spacing: .04em; color: #fff;
    padding: 2px 10px; border-radius: 999px; white-space: nowrap;
}
.tdc-teamrail__badge--sv { background: var(--tdc-rose, #a8847f); }
.tdc-teamrail__badge--au { background: var(--tdc-terra, #d4a574); }
.tdc-teamrail__nm { display: block; font-size: 13.5px; font-weight: 700; color: var(--tdc-ink, #2d2520); line-height: 1.35; }
.tdc-teamrail__tt { display: block; font-size: 11px; color: var(--tdc-sub, #7a7068); margin-top: 4px; line-height: 1.4; }
.tdc-teamrail__spec { display: inline-block; font-size: 10px; color: var(--tdc-rose, #a8847f); background: #fbf2ee; border-radius: 5px; padding: 2px 8px; margin-top: 8px; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 600px) {
    .tdc-teamrail-section { padding: 40px 0 44px; }
    .tdc-teamrail__lead { font-size: 13.5px; text-align: left; }
    .tdc-teamrail__card { width: 138px; }
    .tdc-teamrail__avatar { width: 82px; height: 82px; }
}

/* swell .post_content h3::before(装飾バー display:block;width:100%) が flex 見出しを
   潰して縦書き化するため、チーム系の見出しでは擬似要素を無効化＋nowrap で復旧 */
.tdc-teamrail__ttl { flex: 0 0 auto; white-space: nowrap; }
.tdc-teamrail__ttl::before, .tdc-teamrail__ttl::after,
.tdc-team-cross__title::before, .tdc-team-cross__title::after,
.tdc-team-head__title::before, .tdc-team-head__title::after { content: none !important; display: none !important; }

/* ════════════════════════════════════════════════════
 * 記事冒頭バイライン（執筆 + 監修 / mybest型 E-E-A-T）
 * ════════════════════════════════════════════════════ */
.post_content .tdc-abyline, .tdc-abyline {
    border: 1px solid var(--tdc-line, #ece6e0);
    border-radius: 14px;
    padding: 16px 20px;
    margin: 6px 0 30px;
    background: linear-gradient(135deg, #fdf8f5 0%, #fcfaf6 100%);
    text-align: left;
}
.tdc-abyline__people { display: flex; flex-wrap: wrap; gap: 14px 26px; }
.tdc-abyline__person { display: flex; align-items: center; gap: 11px; flex: 1 1 230px; min-width: 0; position: relative; }
.tdc-abyline__person--sv::before {
    content: ''; position: absolute; left: -13px; top: 6px; bottom: 6px; width: 1px; background: #ece0d9;
}
.tdc-abyline__label {
    flex: 0 0 auto; font-size: 11px; font-weight: 700; letter-spacing: .06em; color: #fff;
    padding: 3px 9px; border-radius: 6px;
}
.tdc-abyline__label--au { background: var(--tdc-terra, #d4a574); }
.tdc-abyline__label--sv { background: var(--tdc-rose, #a8847f); }
.tdc-abyline__avatar {
    flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; object-fit: cover;
    border: 2px solid #fff; box-shadow: 0 3px 9px -3px rgba(168,132,127,.5);
}
.tdc-abyline__info { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.post_content .tdc-abyline__nm, .tdc-abyline__nm {
    width: auto !important; display: inline; font-size: 14px; font-weight: 700;
    color: var(--tdc-ink, #2d2520); text-decoration: none !important;
}
.post_content .tdc-abyline__nm:hover { text-decoration: underline !important; }
.tdc-abyline__rl { font-size: 11.5px; color: var(--tdc-sub, #7a7068); margin-top: 2px; }
.tdc-abyline__foot {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px;
    margin-top: 14px; padding-top: 12px; border-top: 1px dashed #ece0d9;
}
.tdc-abyline__trust { font-size: 11.5px; color: var(--tdc-sub, #7a7068); }
.tdc-abyline__trust::before { content: '✓ '; color: var(--tdc-terra, #d4a574); font-weight: 700; }
.tdc-abyline__date { font-size: 11px; color: var(--tdc-sub, #9a8f86); }
@media (max-width: 600px) {
    .tdc-abyline__person { flex: 1 1 100%; }
    .tdc-abyline__person--sv::before { display: none; }
    .tdc-abyline__person--sv { border-top: 1px dashed #ece0d9; padding-top: 12px; }
}

/* ── /about/ 編集・監修体制 チームショーケース（写真活用） ── */
.tdc-about__teamgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.tdc-about__teamcol {
    background: #fff; border: 1px solid var(--tdc-line, #ece6e0); border-radius: 16px;
    padding: 24px 20px 22px; text-align: center;
    box-shadow: 0 8px 24px -16px rgba(168,132,127,.16);
}
.tdc-about__teamcol-head { margin-bottom: 18px; }
.tdc-about__teamcol-en {
    display: block; font-family: Georgia, serif; font-size: 10px; letter-spacing: .26em;
    text-transform: uppercase; color: var(--tdc-pink, #c9a8a4); margin-bottom: 5px;
}
.tdc-about__teamcol-ttl {
    display: block; font-family: var(--tdc-serif, "Noto Serif JP", serif);
    font-size: 17px; font-weight: 700; color: var(--tdc-ink, #2d2520);
}
.tdc-about__teamcol-ttl small { font-family: Georgia, serif; font-size: 12px; color: var(--tdc-sub, #9a8f86); font-weight: 400; margin-left: 6px; }
.tdc-about__people { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin: 0 0 18px; padding: 0; }
.tdc-about__people li { width: 92px; text-align: center; }
.tdc-about__people img {
    width: 78px; height: 78px; border-radius: 50%; object-fit: cover;
    border: 3px solid #fff; box-shadow: 0 6px 16px -6px rgba(168,132,127,.42);
}
.tdc-about__p-nm { display: block; font-size: 12.5px; font-weight: 700; color: var(--tdc-ink, #2d2520); margin-top: 9px; line-height: 1.35; }
.tdc-about__p-tt { display: block; font-size: 10.5px; color: var(--tdc-sub, #7a7068); margin-top: 2px; line-height: 1.4; }
.post_content .tdc-about__team-link, .tdc-about__team-link {
    display: inline-flex; width: auto !important; align-items: center; gap: 5px;
    padding: 9px 22px; border: 1px solid var(--tdc-rose, #a8847f); border-radius: 999px;
    color: var(--tdc-rose, #a8847f) !important; font-size: 13px; font-weight: 600;
    text-decoration: none !important; transition: background .2s, color .2s;
}
.tdc-about__team-link span { font-size: 16px; line-height: 1; }
.post_content .tdc-about__team-link:hover { background: var(--tdc-rose, #a8847f); color: #fff !important; }
@media (max-width: 680px) {
    .tdc-about__teamgrid { grid-template-columns: 1fr; }
}

/* 掲載準備中カードの代替CTA */
.tdc-e-card__cta { margin: 16px 0 0; }
.post_content .tdc-e-card__cta a, .tdc-e-card__cta a {
    display: inline-flex; width: auto !important; align-items: center; gap: 5px;
    padding: 10px 24px; border-radius: 999px; background: var(--tdc-rose, #a8847f);
    color: #fff !important; font-size: 13.5px; font-weight: 600; text-decoration: none !important;
    transition: opacity .2s;
}
.tdc-e-card__cta a:hover { opacity: .88; }
.tdc-e-card__cta a span { font-size: 16px; line-height: 1; }

/* ════════════════════════════════════════════════════
 * 監修医師 個別プロフィールページ (single-supervisor)
 * ════════════════════════════════════════════════════ */
.tdc-sv-single__inner { max-width: 840px; margin: 0 auto; padding: 8px 20px 64px; text-align: left; }

/* ヒーロー */
.tdc-sv-single__hero {
    display: grid; grid-template-columns: 210px 1fr; gap: 32px; align-items: center;
    margin: 22px 0 8px; padding: 32px;
    background: linear-gradient(135deg, #fdf5f1 0%, #fbf3ec 100%);
    border: 1px solid var(--tdc-line, #ece6e0); border-radius: 20px;
}
.tdc-sv-single__photo img { display: block; width: 210px; height: 250px; object-fit: cover; border-radius: 16px; box-shadow: 0 12px 30px -14px rgba(168,132,127,.45); }
.tdc-sv-single__photo-ph { display:flex; width:210px; height:250px; align-items:center; justify-content:center; border-radius:16px; background:#f1e4de; font-family:var(--tdc-serif,serif); font-size:84px; color:#d8c4bd; }
.tdc-sv-single__role { display: inline-block; font-size: 12.5px; font-weight: 700; color: #fff; background: var(--tdc-rose, #a8847f); border-radius: 7px; padding: 4px 13px; margin-bottom: 12px; }
.tdc-sv-single__name { font-family: var(--tdc-serif, "Noto Serif JP", serif); font-size: 30px; font-weight: 700; color: var(--tdc-ink, #2d2520); margin: 0; line-height: 1.25; }
.tdc-sv-single__suffix { font-size: 18px; font-weight: 600; margin-left: 6px; }
.tdc-sv-single__kana { display: block; font-size: 12.5px; letter-spacing: .1em; color: var(--tdc-sub, #9a8f86); margin-top: 6px; }
.tdc-sv-single__clinic { display: block; font-size: 13.5px; color: var(--tdc-sub, #7a7068); margin-top: 8px; }
.tdc-sv-single__specs { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 0; padding: 0; }
.tdc-sv-single__specs li { font-size: 11.5px; color: var(--tdc-rose, #a8847f); border: 1px solid #e7d3cd; border-radius: 999px; padding: 3px 12px; background: #fffaf8; }

/* セクション + 見出し（swell の post_content h2 バンドを打ち消す） */
/* swell_child のグローバル section{text-align:center} に巻き込まれないよう明示 */
.tdc-sv-single__sec { margin-top: 38px; text-align: left; }
.post_content .tdc-sv-single__h2, .tdc-sv-single__h2 {
    position: relative; background: none !important; border: 0 !important; padding: 0 0 14px !important; margin: 0 0 18px !important;
    font-family: var(--tdc-serif, "Noto Serif JP", serif); font-size: 20px; font-weight: 700;
    color: var(--tdc-ink, #2d2520) !important; text-align: left; line-height: 1.4;
    border-bottom: 1px solid var(--tdc-line, #ece6e0) !important;
}
.post_content .tdc-sv-single__h2::before, .post_content .tdc-sv-single__h2::after { content: none !important; display: none !important; }
.tdc-sv-single__h2-en { display: block; font-family: Georgia, serif; font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--tdc-pink, #c9a8a4); margin-bottom: 6px; font-weight: 400; }

.tdc-sv-single__quote {
    margin: 0; padding: 20px 24px; background: #fdf8f5; border-left: 3px solid var(--tdc-rose, #a8847f);
    border-radius: 0 12px 12px 0; font-size: 14.5px; line-height: 2; color: var(--tdc-ink, #4a423d);
}
.tdc-sv-single__career { font-size: 14.5px; line-height: 2; color: var(--tdc-ink, #4a423d); margin: 0; }
.tdc-sv-single__profile-link { margin: 16px 0 0; }
.post_content .tdc-sv-single__profile-link a, .tdc-sv-single__profile-link a {
    display: inline-flex; align-items: center; gap: 6px; width: auto !important;
    font-size: 13.5px; font-weight: 600; color: var(--tdc-rose, #a8847f);
    background: #fff; border: 1px solid var(--tdc-line, #ece6e0); border-radius: 999px; padding: 9px 18px;
    text-decoration: none !important; transition: border-color .2s, box-shadow .2s;
}
.tdc-sv-single__profile-link a:hover { border-color: var(--tdc-pink, #c9a8a4); box-shadow: 0 8px 20px -10px rgba(168,132,127,.35); }
.tdc-sv-single__ext { font-size: 12px; color: var(--tdc-terra, #d4a574); }
.tdc-sv-single__quals { list-style: none; margin: 0; padding: 0; }
.tdc-sv-single__quals li { position: relative; padding-left: 24px; margin-bottom: 9px; font-size: 14px; color: var(--tdc-ink, #4a423d); }
.tdc-sv-single__quals li::before { content: '✓'; position: absolute; left: 0; top: 1px; color: var(--tdc-terra, #d4a574); font-weight: 700; }
.tdc-sv-single__tr-lead { font-size: 13.5px; color: var(--tdc-sub, #7a7068); margin: 0 0 14px; }
.tdc-sv-single__treatments { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.post_content .tdc-sv-single__treatments a, .tdc-sv-single__treatments a {
    display: flex; width: auto !important; align-items: center; justify-content: space-between;
    background: #fff; border: 1px solid var(--tdc-line, #ece6e0); border-radius: 12px; padding: 14px 16px;
    text-decoration: none !important; transition: border-color .2s, box-shadow .2s, transform .2s;
}
.tdc-sv-single__treatments a:hover { border-color: var(--tdc-pink, #c9a8a4); box-shadow: 0 8px 20px -10px rgba(168,132,127,.35); transform: translateY(-1px); }
.tdc-sv-single__tr-name { font-size: 14px; font-weight: 600; color: var(--tdc-ink, #2d2520); }
.tdc-sv-single__tr-chev { color: var(--tdc-rose, #a8847f); font-size: 18px; }
.tdc-sv-single__back { margin-top: 40px; }
.post_content .tdc-sv-single__back a, .tdc-sv-single__back a { color: var(--tdc-rose, #a8847f); text-decoration: none !important; font-size: 13.5px; }

@media (max-width: 680px) {
    .tdc-sv-single__hero { grid-template-columns: 1fr; gap: 20px; padding: 26px 22px; text-align: center; justify-items: center; }
    .tdc-sv-single__photo img, .tdc-sv-single__photo-ph { width: 168px; height: 200px; }
    .tdc-sv-single__specs { justify-content: center; }
    .tdc-sv-single__name { font-size: 25px; }
    .tdc-sv-single__treatments { grid-template-columns: 1fr; }
}

/* ══ クリニック詳細/地域ページ 細部仕上げ (2026-06-22) ══ */
/* SWELL .post_content ul li{list-style:circle} がTDCコンポーネント内リストに漏れて「・」が出る問題を全面打ち消し（::before の ✓ / › 等は維持される） */
.tdc-clinic-detail li, .tdc-region-page li, .tdc-treatment-top li, .tdc-front-page li,
.tdc-menulist-top li, .tdc-sv-card li, .tdc-supervisor-box li, .tdc-pager li {
  list-style: none !important;
}
.tdc-clinic-detail li::marker, .tdc-region-page li::marker, .tdc-treatment-top li::marker,
.tdc-front-page li::marker, .tdc-menulist-top li::marker, .tdc-sv-card li::marker,
.tdc-supervisor-box li::marker, .tdc-pager li::marker { content: "" !important; }

/* ページネーション: SWELLの page-numbers クラスを使わない独自実装。
   折返しても親が伸び（はみ出し無し）、SWELLの濃紺hoverも無関係。 */
.tdc-pager { position: static !important; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px; margin: 30px 0 8px; }
/* style2.css の グローバル `a{width:100%;display:inline-block}` を打ち消す（全幅化→縦積み防止） */
.tdc-pg__item {
  display: inline-flex !important; width: auto !important; flex: 0 0 auto; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 13px; border-radius: 10px;
  font-family: Georgia, "Noto Sans JP", sans-serif; font-size: 14px; font-weight: 600;
  text-decoration: none !important; color: var(--tdc-rose, #a8847f);
  background: #fff; border: 1px solid var(--tdc-line, #ece6e0);
  transition: background .2s, border-color .2s, box-shadow .2s, color .2s;
}
a.tdc-pg__item:hover { border-color: var(--tdc-pink, #c9a8a4); background: var(--tdc-pink-bg, #fdf6f4); color: var(--tdc-rose, #a8847f); }
.tdc-pg__item.is-current { color: #fff; background: linear-gradient(135deg, var(--tdc-rose, #a8847f), var(--tdc-terra, #d4a574)); border-color: transparent; box-shadow: 0 6px 14px -6px rgba(168,132,127,.5); }
.tdc-pg__nav { font-weight: 700; }
.tdc-pg__dots { display: inline-flex; align-items: flex-end; justify-content: center; min-width: 20px; height: 40px; padding-bottom: 9px; color: var(--tdc-sub, #9a8f86); }

/* 市区町村別セクション: 見出しはSWELL h2装飾を打ち消し、リンクは .tdc-area-table を流用 */
.tdc-child-regions { max-width: 1040px; margin: 36px auto 28px; padding: 0 4px; }
.post_content .tdc-child-regions h2.tdc-child-regions__h, .tdc-child-regions__h {
  font-size: 18px !important; font-weight: 700; color: var(--tdc-ink, #2d2520);
  margin: 0 0 16px !important; padding: 1px 0 1px 13px !important;
  border: none !important; background: none !important; position: relative; line-height: 1.45;
}
.tdc-child-regions__h::before { content: ""; position: absolute; left: 0; top: .18em; bottom: .18em; width: 4px; border-radius: 2px; background: linear-gradient(var(--tdc-rose, #a8847f), var(--tdc-terra, #d4a574)); }
/* .tdc-area-table の <a> が SWELL で block 化されない保険 + .post_content の ul/a 余白干渉を打ち消し
   treatment-top の area-table と同一の余白設計に統一する (specificity 0,2,0 で SWELL 0,1,1 を上回る) */
.tdc-child-regions .tdc-area-table__prefs { padding: 14px 16px; gap: 8px; margin: 0; }
.tdc-child-regions .tdc-area-table__pref {
  display: inline-flex !important; width: auto !important; flex: 0 0 auto;
  margin: 0; padding: 7px 14px; background: #fff; border-radius: 999px;
}
@media (max-width: 600px) {
  .tdc-child-regions .tdc-area-table__prefs { padding: 13px 13px 14px; }
  .tdc-child-regions .tdc-area-table__pref { padding: 7px 13px; }
}

/* ── 動的執筆者ボックス（render_block で差し替え） 2026-08-04 ── */
.tdc-authorbox .author-profile-left img { border-radius: 50%; object-fit: cover; aspect-ratio: 1 / 1; }
.tdc-authorbox__more { margin: 12px 0 0; font-size: 13px; }
.post_content .tdc-authorbox__more a, .tdc-authorbox__more a {
    color: var(--tdc-rose, #a8847f); text-decoration: none !important; width: auto !important; display: inline;
}
