        .page-hero {
            background-image:
                linear-gradient(120deg, rgba(255,255,255,0.74) 0%, rgba(234,240,248,0.5) 50%, rgba(216,226,240,0.55) 100%),
                url('../../images/clinic-bg-staff.jpg');
        }
        /* Intro */
        .clinic-intro {
            padding: 100px 0;
            position: relative;
            overflow: hidden;
        }
        .clinic-intro-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }
        .clinic-intro-text h2 {
            font-size: 30px;
            color: var(--navy);
            line-height: 1.5;
            margin: 14px 0 24px;
        }
        .clinic-intro-text p {
            font-size: 16px;
            line-height: 2;
            color: #444;
            margin-bottom: 16px;
        }
        .clinic-intro-text p:last-child { margin-bottom: 0; }
        .clinic-intro-img {
            width: 100%;
            aspect-ratio: 4/3;
            border-radius: 30px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(5,5,72,0.1);
        }
        .clinic-intro-img img { width: 100%; height: 100%; object-fit: cover; }

        /* Features — alternating image/text */
        .features-list {
            padding: 110px 0 50px;
            position: relative;
            overflow: hidden;
            border-top: 1px solid rgba(5,5,72,0.08);
        }
        .features-list .section-head {
            text-align: center;
            margin-bottom: 60px;
        }
        .features-list .section-head h2 {
            font-size: 30px;
            color: var(--navy);
            margin: 8px 0 10px;
        }
        .features-list .section-head p {
            color: #555;
        }
        .feat-item {
            display: grid;
            grid-template-columns: 1.1fr 1fr;
            gap: 60px;
            align-items: center;
            padding: 60px 0;
        }
        .feat-item + .feat-item { border-top: 1px solid rgba(5,5,72,0.08); }
        /* reverse: 画像を右カラムに、コンテンツを左カラムに明示配置(order より確実) */
        .feat-item--reverse .feat-img { grid-column: 2; grid-row: 1; }
        .feat-item--reverse .feat-content { grid-column: 1; grid-row: 1; }
        .feat-img {
            width: 100%;
            aspect-ratio: 4/3;
            border-radius: 26px;
            overflow: hidden;
            margin: 0;
            box-shadow: 0 18px 40px rgba(5,5,72,0.1);
            position: relative;
        }
        .feat-img img {
            width: 100%; height: 100%;
            object-fit: cover;
            transition: transform 0.8s ease;
        }
        .feat-img:hover img { transform: scale(1.04); }
        .feat-content { padding: 10px 0; }
        .feat-head {
            display: flex;
            align-items: baseline;
            gap: 18px;
            margin-bottom: 20px;
            padding-bottom: 16px;
            border-bottom: 2px solid var(--gold);
        }
        .feat-num {
            font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
            font-size: 14px;
            font-weight: 700;
            color: var(--gold);
            letter-spacing: 0.18em;
            line-height: 1;
            white-space: nowrap;
        }
        .feat-head h3 {
            font-size: 24px;
            color: var(--navy);
            line-height: 1.5;
            margin: 0;
        }
        .feat-body p {
            font-size: 15px;
            line-height: 2;
            color: #444;
            margin-bottom: 18px;
        }
        .feat-body p:last-child { margin-bottom: 0; }

        /* Menu pricing */
        .menu {
            padding: 110px 0;
            position: relative;
            overflow: hidden;
            border-top: 1px solid rgba(5,5,72,0.08);
            background: linear-gradient(180deg, rgba(234,240,248,0.4) 0%, rgba(255,255,255,1) 100%);
        }
        .menu-intro {
            text-align: center;
            margin-bottom: 50px;
        }
        .menu-intro p {
            font-size: 15px;
            line-height: 2;
            color: #444;
            margin: 0;
        }
        .menu-wrap {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 50px;
            align-items: center;
        }
        .menu-img {
            margin: 0;
            width: 100%;
            aspect-ratio: 4/5;
            border-radius: 30px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(5,5,72,0.12);
        }
        .menu-img img { width: 100%; height: 100%; object-fit: cover; }
        .menu-table {
            background: var(--white);
            border-radius: 22px;
            box-shadow: 0 10px 30px rgba(5,5,72,0.06);
            padding: 16px 36px;
        }
        .menu-table .dt-note { font-size: 13px; color: #888; font-weight: 400; }
        .menu-table .dd-note { font-size: 13px; color: var(--navy); font-weight: 500; font-family: 'Noto Sans JP', sans-serif; }
        .menu-table dl {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 20px 24px;
            align-items: center;
            margin: 0;
        }
        .menu-table dt {
            font-size: 16px;
            color: var(--navy);
            font-weight: 500;
            padding: 18px 0;
            border-bottom: 1px dashed rgba(5,5,72,0.12);
        }
        .menu-table dd {
            font-size: 16px;
            color: var(--gold);
            font-weight: 700;
            font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
            padding: 18px 0;
            margin: 0;
            text-align: right;
            border-bottom: 1px dashed rgba(5,5,72,0.12);
        }
        .menu-table dl > dt:nth-last-of-type(1),
        .menu-table dl > dd:nth-last-of-type(1) {
            border-bottom: none;
        }
        .menu-notes {
            max-width: 720px;
            margin: 24px auto 0;
            font-size: 13px;
            color: #777;
            text-align: right;
            line-height: 1.9;
        }

        /* Access */
        .clinic-access {
            padding: 110px 0;
            position: relative;
            overflow: hidden;
            border-top: 1px solid rgba(5,5,72,0.08);
        }
        .access-wrap {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 50px;
            align-items: start;
            margin-top: 40px;
        }
        .access-table {
            width: 100%;
            border-collapse: collapse;
        }
        .access-table th,
        .access-table td {
            padding: 16px 8px;
            text-align: left;
            font-size: 15px;
            line-height: 1.85;
            border-bottom: 1px solid rgba(5,5,72,0.1);
            vertical-align: top;
        }
        .access-table th {
            width: 130px;
            color: var(--navy);
            font-weight: 700;
            white-space: nowrap;
        }
        .access-table td {
            color: #444;
        }
        .access-table a {
            color: var(--gold);
            text-decoration: none;
        }
        .clinic-map {
            width: 100%;
            aspect-ratio: 4/3;
            border-radius: 24px;
            background: #eef0f4;
            overflow: hidden;
        }
        .clinic-map iframe {
            width: 100%;
            height: 100%;
            border: 0;
        }

        /* Biz CTA */
        .biz-cta {
            padding: 110px 0;
            background: linear-gradient(135deg, var(--navy) 0%, var(--pink) 100%);
            color: var(--white);
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .biz-cta h2 { font-size: 32px; color: var(--white); margin-bottom: 20px; line-height: 1.5; }
        .biz-cta p { font-size: 15px; opacity: 0.9; margin-bottom: 36px; }
        .biz-cta .btn-group { display: inline-flex; gap: 16px; flex-wrap: wrap; justify-content: center; }

        @media (max-width: 1199px) {
            .biz-cta { padding: 80px 0; }
            .biz-cta h2 { font-size: 22px; }
            .clinic-intro { padding: 60px 0; }
            .clinic-intro-grid { grid-template-columns: 1fr; gap: 30px; }
            .clinic-intro-text h2 { font-size: 22px; }
            .features-list { padding: 70px 0 30px; }
            .features-list .section-head { margin-bottom: 30px; }
            .features-list .section-head h2 { font-size: 22px; }
            .feat-item { grid-template-columns: 1fr; gap: 26px; padding: 40px 0; }
            .feat-item--reverse .feat-img { order: 0; }
            .feat-item--reverse .feat-content { order: 0; }
            .feat-img { aspect-ratio: 16/10; }
            .feat-head { padding-bottom: 12px; margin-bottom: 14px; }
            .feat-content h3 { font-size: 19px !important; }
            .menu { padding: 70px 0; }
            .menu-intro { margin-bottom: 30px; }
            .menu-wrap { grid-template-columns: 1fr; gap: 30px; }
            .menu-img { aspect-ratio: 16/10; max-height: 360px; }
            .clinic-access { padding: 70px 0; }
            .access-wrap { grid-template-columns: 1fr; gap: 30px; }
        }
        @media (max-width: 640px) {
            .clinic-intro-text h2 { font-size: 19px; }
            .clinic-intro-text p { font-size: 14px; }
            .feat-body p { font-size: 14px; }
            .menu-table { padding: 8px 22px; }
            .menu-table dt,
            .menu-table dd { font-size: 14px; padding: 14px 0; }
            .menu-notes { font-size: 12px; text-align: left; }
            .access-table th { width: 90px; font-size: 13px; }
            .access-table td { font-size: 13px; }
        }
