@charset "utf-8";
/* =====================================================================
 * メインビジュアル（横組み）のスタイル  2026-10-07
 *
 * 濃いグレーを敷いて白文字を乗せる。
 *
 * 文字サイズは min() で指定する。clamp() は最小値に張り付いて見出しが
 * 47.5px しか出ない事故があったため使わない。変更したら必ずブラウザの
 * computed style で実測して確かめること。目視で判断しない。
 *
 * スマホはコピーを写真の下端に寄せている。上に置くと先生の顔に
 * 文字がかぶるため。グラデーションも下から立ち上げて顔を明るく残す。
 *
 * 予約ボタンはFVに置かない。PCは既存の「WEB予約はこちら」縦タブ、
 * スマホは既存の固定バー（お電話／WEB診療予約）があり重複するため。
 * ================================================================== */

.tj2-fvc,
.tj2-fvc * { box-sizing: border-box; }

.tj2-fvc {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;           /* 写真部分のクリックを塞がない */
}
.tj2-fvc a { pointer-events: auto; }

.tj2-fvc__scrim { position: absolute; inset: 0; }
.tj2-fvc__inner { position: absolute; z-index: 1; }

/* ---- 文字（既定＝グレーの上の白文字） ---- */
.tj2-fvc__en,
.tj2-fvc__h,
.tj2-fvc__lead,
.tj2-fvc__sub {
    color: #fff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .45);
}
.tj2-fvc__en {
    display: block;
    font-family: "Marcellus", "Times New Roman", serif;
    letter-spacing: .28em;
    color: rgba(255, 255, 255, .72);
    margin-bottom: 16px;
}
.tj2-fvc__h {
    margin: 0 0 .45em;
    font-family: "Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-weight: 600;
    letter-spacing: .06em;
}
.tj2-fvc__h em { font-style: normal; color: #c8d79a; }
.tj2-fvc__lead {
    margin: 0 0 1.2em;
    font-family: "Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: .08em;
}
.tj2-fvc__sub {
    margin: 0;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: .04em;
    color: #dbe7ea;
}

/* バッジは「ここを見てほしい」要素なので大きめに出す */
.tj2-fvc__badges {
    display: flex; flex-wrap: wrap; gap: 9px;
    margin: 26px 0 0; padding: 0; list-style: none;
}
.tj2-fvc__badges li {
    border-radius: 999px; padding: 8px 20px; font-weight: 700; white-space: nowrap;
    letter-spacing: .04em;
    background: rgba(255, 255, 255, .18);
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, .7);
    backdrop-filter: blur(2px);
}


/* スマホで写真の下に置くブロック */
.tj2-fvcsp { display: none; }
.tj2-fvcsp__badges {
    display: flex; flex-wrap: wrap; gap: 9px; justify-content: center;
    margin: 0; padding: 0; list-style: none;
}
.tj2-fvcsp__badges li {
    border-radius: 999px; padding: 9px 20px; font-weight: 700; white-space: nowrap;
    letter-spacing: .04em;
    background: #fff; color: #176d84; border: 1.5px solid rgba(34, 133, 159, .45);
}

/* ===================== PC ===================== */
@media screen and (min-width: 769px) {
    .tj2-fvcsp { display: none !important; }

    .tj2-fvc__scrim {
        background: linear-gradient(100deg,
            rgba(18, 42, 50, .82) 0%,
            rgba(18, 42, 50, .64) 30%,
            rgba(18, 42, 50, .24) 52%,
            rgba(18, 42, 50, 0) 70%);
    }
    .tj2-fvc__inner {
        top: 3vmax; bottom: 3vmax; left: 7vmax; right: auto;
        max-width: min(52vw, 760px);
        display: flex; flex-direction: column; justify-content: center;
    }

    /* 文字サイズ（実測で確定。目視で動かさないこと） */
    .tj2-fvc .tj2-fvc__h    { font-size: min(4.9vw, 74px); line-height: 1.3; }
    .tj2-fvc .tj2-fvc__lead { font-size: min(1.75vw, 26px); }
    .tj2-fvc .tj2-fvc__sub  { font-size: min(1.15vw, 17px); }
    .tj2-fvc .tj2-fvc__en   { font-size: min(.95vw, 14px); }
    .tj2-fvc .tj2-fvc__badges li { font-size: min(1.3vw, 19px); }

}

/* ===================== SP ===================== */
@media screen and (max-width: 768px) {
    /* 顔の下にコピーを置けるよう、写真を少し高くする
       （jiyugaoka.css の 62vh / max-height:560px!important を上書き） */
    body.home #mainimage .slick-slide .bgimg.tj2-mv-bg img {
        height: 68vh !important;
        max-height: 610px !important;
    }

    /* コピーは下端へ。上に置くと先生の顔にかぶる。 */
    .tj2-fvc__inner { top: auto; bottom: 20px; left: 22px; right: 22px; display: block; }
    .tj2-fvc__en   { display: none; }
    .tj2-fvc__sub,
    .tj2-fvc__badges { display: none; }

    .tj2-fvc .tj2-fvc__h    { font-size: min(9.6vw, 46px); line-height: 1.3; margin-bottom: .3em; }
    /* 「を。」だけ2行目に落ちるため1行に収まる寸法に詰める */
    .tj2-fvc .tj2-fvc__lead {
        font-size: min(4vw, 16px); letter-spacing: .02em;
        white-space: nowrap; margin-bottom: 0;
    }

    /* 下から立ち上げて、顔のあたりは明るいまま残す */
    .tj2-fvc__scrim {
        background: linear-gradient(180deg,
            rgba(18, 42, 50, .28) 0%,
            rgba(18, 42, 50, .04) 24%,
            rgba(18, 42, 50, .42) 58%,
            rgba(18, 42, 50, .88) 100%);
    }

    .tj2-fvcsp { display: block; background: #fff; padding: 18px 16px 20px; text-align: center; }
    .tj2-fvcsp__facts {
        margin: 0 0 14px; font-size: min(3.9vw, 16px); line-height: 1.9;
        letter-spacing: .03em; color: #46606b;
    }
    .tj2-fvcsp__badges li { font-size: min(4.3vw, 17px); }
}
