@charset "UTF-8";

/* ========================================
   Reset
======================================== */
.p-section-front-page-content {
	--wp--custom--content-width: 100% !important;
	--wp--custom--content-wide-width: 100% !important;
	max-width: none;
}

.p-section-front-page-content > .c-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.c-section {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

:root :where(.is-layout-constrained) > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

:root {
	--entry-content-h3-border-bottom: none;
	--entry-content-h3-padding: 0;

	/* KYOTO K CLINIC palette */
	--color-base:       #F7F2EA;
	--color-base-light: #FBF8F2;
	--color-base-deep:  #EDE3D4;
	--color-text:       #4E463C;
	--color-text-light: #7B7064;
	--color-text-muted: #A89B8B;
	--color-gold:       #B99A62;
	--color-gold-light: #D4BE8A;
	--color-brown:      #8A6846;
	--color-border:     #D8C8B3;
	--shadow-soft:      0 18px 50px rgba(88, 68, 45, 0.08);

	/* 後方互換エイリアス */
	--bg-alabaster: var(--color-base-light);
	--stone:        var(--color-border);
	--text-dark:    var(--color-text-light);
	--navy-accent:  var(--color-brown);
	--gold-accent:  var(--color-gold);
}

header .c-row > .c-row__col.c-row__col--auto{
 display: none;
}

:where(.p-entry-content)>:where(:not(:first-child)) {
  margin-top: 0;
}

.c-entry__meta .svg-inline--fa,
.c-entry__meta svg[data-icon],
.c-entry__meta .fa,
.c-entry__meta .fas,
.c-entry__meta .far,
.c-entry__meta .fab,
.c-entry__meta .fa-solid,
.c-entry__meta .fa-regular,
.c-entry__meta .fa-brands,
.c-entry__meta [class^="fa-"],
.c-entry__meta [class*=" fa-"],
.c-entry__meta .avatar,
.c-entry__meta .c-meta__item--author {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

@media (max-width: 768px){
  .sp_ta_c{
    text-align: center !important;
  }
  .sp_ta_l{
    text-align: left !important;
  }
  .sp_db{
    display: block !important;
  }
}

/* ========================================
   トップ
======================================== */
        body {
            font-family:
                "Yu Mincho", "YuMincho",
                "Hiragino Mincho ProN", "Noto Serif JP",
                serif;
            background-color: var(--color-base);
            background-image:
                radial-gradient(circle at 20% 20%, rgba(255,255,255,0.45), transparent 30%),
                linear-gradient(180deg, #FBF8F2 0%, #F3EBDD 100%);
            color: var(--color-text);
            overflow-x: hidden;
            font-size: 15px;
            line-height: 2.0;
            letter-spacing: 0.08em;
        }

        /* Restore Tailwind Preflight-like defaults so typography stays consistent */
        h1, h2, h3, h4, h5, h6 {
            font-family:
                "Yu Mincho", "YuMincho",
                "Hiragino Mincho ProN", "Noto Serif JP",
                serif;
            font-size: inherit;
            font-weight: 400;
            margin: 0;
            letter-spacing: 0.14em;
        }

        p {
            margin: 0;
            font-family:
                "Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic",
                "Hiragino Kaku Gothic ProN", "Meiryo",
                "Helvetica Neue", Arial, sans-serif;
            letter-spacing: 0.06em;
            line-height: 2.0;
        }

        a {
            color: inherit;
            text-decoration: inherit;
        }

        button, input, select, textarea {
            font: inherit;
            color: inherit;
        }

        img, svg, video, canvas {
            display: block;
            max-width: 100%;
        }

        .serif {
            font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
        }

        .serif_jp {
            font-family:
                "Yu Mincho", "YuMincho",
                "Hiragino Mincho ProN", "Noto Serif JP",
                serif;
        }

        .hero {
            font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
        }

        .hero .serif {
            font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
        }

        .hero {
            position: relative;
            height: 100vh;
            overflow: hidden;
            width: 100%;
            background-color: #0f1f32;
            isolation: isolate;
        }

        .hero-ambient {
            position: absolute;
            inset: 0;
            background:
                radial-gradient(900px 500px at 75% 25%, rgba(255, 220, 160, 0.25), transparent 70%),
                linear-gradient(120deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.05) 45%, rgba(255, 255, 255, 0.08) 100%),
                url('/wp-content/uploads/2026/04/kv_bg.webp');
            background-position: center, center, center;
            background-size: cover, cover, cover;
            background-repeat: no-repeat;
            filter: brightness(0.88) contrast(1.05);
            animation: bgBright 7s ease-in-out forwards;
            z-index: 1;
        }

        .hero::before {
            content: "";
            position: absolute;
            inset: -40% -60%;
            background:
                linear-gradient(110deg,
                    rgba(255, 255, 255, 0) 38%,
                    rgba(255, 235, 190, 0.25) 46%,
                    rgba(255, 255, 255, 0.75) 50%,
                    rgba(255, 235, 190, 0.25) 54%,
                    rgba(255, 255, 255, 0) 62%
                );
            filter: blur(16px);
            opacity: 0;
            transform: translateX(-60%);
            mix-blend-mode: screen;
            animation: lightSweep 7s ease-in-out;
            pointer-events: none;
            z-index: 2;
        }

        .hero::after {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 75% 25%,
                    rgba(255, 245, 210, 0.9) 0%,
                    rgba(255, 230, 170, 0.55) 30%,
                    rgba(255, 255, 255, 0.25) 55%,
                    rgba(255, 255, 255, 0) 75%
                );
            opacity: 0;
            mix-blend-mode: screen;
            animation: ambientBright 7s ease-in-out;
            pointer-events: none;
            z-index: 2;
        }

        .hero-overlay {
            position: relative;
            z-index: 3;
            height: 100%;
            background: linear-gradient(to bottom, rgba(255, 255, 255, 0.18), rgba(14, 29, 46, 0.08));
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-copy-wrap {
            position: relative;
            display: inline-block;
            padding: 2.25rem 2.5rem;
        }

        .hero-copy-wrap::before {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: 9999px;
            background: radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.56));
            box-shadow: 0 12px 36px rgba(18, 30, 48, 0.1);
            z-index: -1;
        }

        .hero-copy-wrap .wp-block-image {
            position: relative;
            z-index: 1;
            display: inline-block;
            margin: 0;
            padding: 0;
        }

        .hero-copy-wrap .wp-block-image::before {
            content: "";
            position: absolute;
            inset: 5% -6%;
            border-radius: 9999px;
            background: rgba(255, 255, 255, 0.78);
            filter: blur(30px);
            z-index: -1;
            pointer-events: none;
        }

        .hero-copy-wrap .wp-block-image img {
            display: block;
            height: auto;
            filter: drop-shadow(0 8px 22px rgba(18, 30, 48, 0.1));
        }

        .parallax-strip {
            position: relative;
            height: 42vh;
            min-height: 280px;
            overflow: hidden;
            width: 100%;
        }

        .parallax-panorama {
            height: 50vh;
            min-height: 0;
        }

        .parallax-fixed-section {
            height: 50vh;
            background-image: url('/wp-content/uploads/2026/05/parallax-fixed.jpg');
            background-attachment: fixed;
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
        }

        .clinic-panorama {
            position: relative;
            height: 300vh;
            width: 100%;
            background: #0f1f32;
        }

        .clinic-panorama-sticky {
            position: sticky;
            top: 0;
            height: 100vh;
            overflow: hidden;
        }

        .clinic-panorama-bg {
            position: absolute;
            inset: 0;
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-attachment: fixed;
            filter: brightness(0.56) saturate(1.08);
            will-change: transform, filter;
            transform: translate3d(0, 0, 0) scale(1.08);
            z-index: 1;
        }

        .clinic-panorama-light {
            position: absolute;
            inset: -6% -10%;
            z-index: 2;
            pointer-events: none;
            mix-blend-mode: screen;
            background:
                linear-gradient(112deg, rgba(255, 255, 255, 0) 28%, rgba(255, 255, 255, 0.36) 47%, rgba(255, 255, 255, 0) 68%),
                radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0) 56%);
            opacity: 0.08;
            will-change: transform, opacity;
            transform: translate3d(-8%, 0, 0);
        }

        .clinic-panorama-content {
            position: relative;
            z-index: 3;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem 1.5rem;
        }

        .clinic-panorama-panel {
            position: absolute;
            width: min(980px, calc(100% - 3rem));
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid rgba(229, 225, 218, 0.9);
            backdrop-filter: blur(2px);
            box-shadow: 0 12px 40px rgba(18, 30, 48, 0.12);
            padding: 2rem;
            opacity: 0;
            transform: translateY(12px);
            transition: opacity 0.35s ease, transform 0.35s ease;
        }

        .clinic-panorama-panel.active {
            opacity: 1;
            transform: translateY(0);
        }

        .parallax-strip-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 130%;
            background-size: cover;
            background-position: center;
            will-change: transform;
        }

        .parallax-fixed-bg {
            height: 100%;
            background-attachment: fixed;
        }

        .parallax-strip-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.08));
            z-index: 2;
            will-change: transform;
        }

        .banner-slideshow {
            padding: 4rem 0rem 3rem 0rem;
        }

        .banner-viewport {
            width: min(948px, calc(100% - 2rem));
            margin: 0 auto;
            overflow: hidden;
        }

        .banner-track {
            display: flex;
            gap: 1.5rem;
            transition: transform 0.6s ease;
            will-change: transform;
        }

        .banner-item {
            display: block;
            flex: 0 0 300px;
            border: 1px solid var(--color-border);
            background: var(--color-base-light);
        }

        .banner-item img {
            width: 100%;
            height: auto;
            aspect-ratio: 3 / 2;
            object-fit: cover;
            display: block;
        }

        .banner-indicators {
            display: flex;
            justify-content: center;
            gap: 0.5rem;
            margin-top: 1rem;
        }

        .banner-indicator {
            width: 34px;
            height: 5px;
            border: 0;
            border-radius: 1px;
            background: #d3cec4;
            cursor: pointer;
            transition: background-color 0.25s ease, transform 0.25s ease;
        }

        .banner-indicator.is-active {
            background: #1A2E44;
            transform: scaleX(1.08);
        }

        .anchor-hover {
            transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
            will-change: transform;
        }

        .anchor-hover:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 28px rgba(20, 35, 55, 0.16);
            filter: brightness(1.03);
        }
        .about-doctors-bg {
            width: 100%;
            background-image: url('img/top_bg_2.jpg');
            background-repeat: no-repeat;
            background-size: 100% auto;
            background-position: top center;
        }

        .concept-section-bg {
            /* background-image: linear-gradient(rgba(242,241,237,0), rgba(242,241,237,0)), url('/wp-content/uploads/2026/02/AdobeStock_453421776-1.png');
            background-repeat: no-repeat, repeat;
            background-position: center, center;
            background-size: cover; */
        }

        .doctor-feature {
            position: relative;
            display: flex;
            align-items: center;
            gap: clamp(2rem, 4vw, 4.2rem);
            padding: 0 clamp(2rem, 4vw, 3.75rem) clamp(2rem, 4vw, 3.75rem);
            border: 1px solid var(--color-border);
            overflow: visible;
            background: rgba(251, 248, 242, 0.9);
            box-shadow: var(--shadow-soft);
            margin-top: 120px;
        }

        .doctor-feature ul {
            padding-inline-start: 1.3em !important;
        }
/* 
        .doctor-feature::before {
            content: "";
            position: absolute;
            left: clamp(1rem, 3vw, 2.2rem);
            top: clamp(1rem, 3vw, 2.2rem);
            width: clamp(120px, 18vw, 220px);
            height: 2px;
            background: #bca37f;
            opacity: 0.7;
        } */

        .doctor-content {
            position: relative;
            z-index: 2;
            flex: 1 1 52%;
            max-width: 640px;
            padding-top: clamp(1.5rem, 3vw, 2.5rem);
            padding-right: clamp(0rem, 2vw, 1.25rem);
        }

        .doctor-photo-stage {
            position: relative;
            z-index: 2;
            flex: 1 1 42%;
            align-self: flex-start;
            margin-top: 0;
            margin-bottom: 0;
            min-width: min(420px, 100%);
            transform: translate(14px, -80px);
        }

        .doctor-photo-stage::before {
            content: none;
        }

        .doctor-photo {
            width: 100%;
            height: clamp(420px, 56vw, 640px);
            object-fit: cover;
            object-position: center;
            border-radius: 220px 220px 12px 12px;
            border: 10px solid rgba(250, 249, 246, 0.96);
            box-shadow: 0 16px 30px rgba(26, 46, 68, 0.2), 0 34px 58px rgba(26, 46, 68, 0.24);
        }

        .doctor-photo-caption {
            position: absolute;
            left: 1rem;
            bottom: -1.45rem;
            margin: 0;
            padding: 0.4rem 0.95rem;
            font-size: 11px;
            letter-spacing: 0.24em;
            text-transform: uppercase;
            color: var(--color-text);
            background: rgba(251, 248, 242, 0.95);
            border: 1px solid var(--color-border);
        }

        .doctor-ornament {
            position: absolute;
            top: 50%;
            right: clamp(0.35rem, 1.8vw, 1rem);
            transform: translateY(-50%);
            writing-mode: vertical-rl;
            letter-spacing: 0.24em;
            text-transform: uppercase;
            font-size: 10px;
            color: rgba(78, 70, 60, 0.35);
            z-index: 3;
        }

        @media (max-width: 1024px) {
            .doctor-feature {
                flex-direction: column;
                gap: 0rem;
                padding: 1.8rem 1.5rem 2.5rem;
                margin-top: 0;
            }

            .doctor-feature::before {
                width: 120px;
            }

            .doctor-content {
                max-width: none;
                padding-right: 0;
                padding-top: 0rem;
            }

						.doctor-qualification{
							width: 100%;
						}

						.doctor-qualification .wp-block-buttons{
							justify-content: center;
						}

            /* 画像カラムを先頭に、doctor_en_name の余白を確保 */
            .doctor_img_column {
                order: -1;
                width: 100%;
                margin-bottom: 6rem;
            }

            .doctor-photo-stage {
                width: min(560px, 100%);
                min-width: 0;
                align-self: auto;
                margin-top: 0;
                transform: translate(0, 0);
                order: -1;
            }

            .doctor-photo-stage::before {
                inset: 18px -12px -12px 14px;
            }

            .doctor-photo {
                height: min(68vw, 520px);
                border-width: 8px;
            }

            .doctor-ornament {
                top: auto;
                right: auto;
                left: 1.5rem;
                bottom: 1rem;
                transform: none;
                writing-mode: horizontal-tb;
                letter-spacing: 0.2em;
            }
        }

        /* Minimum readable size baseline */
        .wp-text-xs,
        [class*="text-[9px]"],
        [class*="text-[10px]"],
        [class*="text-[11px]"],
        [class*="text-[12px]"],
        [class*="text-[13px]"] {
            font-size: 14px !important;
            line-height: 1.5;
        }

        .menu-pill{
            display: inline-flex;
            align-items: stretch;
            justify-content: center;
            min-height: 40px;
            padding: 0;
            font-size: 14px;
            line-height: 1.35;
            border-radius: 9999px;
            background: #fff;
            margin-right: 0 !important;
            margin-left: 0 !important;
        }

        .menu-pill > a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0.55rem 0.95rem;
            color: inherit;
            text-decoration: none;
            width: 100%;
        }

        .cta-photo {
            position: relative;
            background-image: url('/wp-content/uploads/2026/05/parallax-fixed.jpg');
            background-size: cover;
            background-position: center;
        }

        .cta-photo::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.72));
            pointer-events: none;
        }

        .cta-photo > * {
            position: relative;
            z-index: 1;
        }

        .cta-button-strong {
            background: var(--color-gold);
            color: #ffffff;
            border: 2px solid rgba(255, 255, 255, 0.7);
            box-shadow: var(--shadow-soft);
        }

        .cta-button-strong:hover {
            background: var(--color-brown);
            color: #ffffff;
            transform: translateY(-6px) scale(1.01);
        }

        .side-cta {
            position: fixed;
            right: 16px;
            top: 52.5%;
            transform: translateY(-50%);
            z-index: 60;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .side-cta-link {
            width: 48px;
            min-height: 118px;
            border: 2px solid var(--color-gold);
            background: #fff;
            color: var(--color-brown);
            display: flex;
            align-items: center;
            justify-content: center;
            writing-mode: vertical-rl;
            text-orientation: mixed;
            font-size: 13px;
            letter-spacing: 0.14em;
            backdrop-filter: blur(4px);
            box-shadow: var(--shadow-soft);
        }

        .side-cta-link:hover {
            background: var(--color-gold);
            color: #fff;
            border-color: rgba(255, 255, 255, 0.7);
        }

        .side-cta-sns {
            display: flex;
            flex-direction: column;
            gap: 8px;
            justify-content: center;
            padding-top: 4px;
        }

        .side-sns-link {
            width: 42px;
            height: 42px;
            border-radius: 9999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.04em;
            color: var(--color-brown);
            background: var(--color-base-light);
            border: 1px solid rgba(138, 104, 70, 0.2);
            box-shadow: var(--shadow-soft);
            text-decoration: none;
            transition: transform 0.25s ease, filter 0.25s ease;
        }

        .side-sns-icon {
            width: 20px;
            height: 20px;
            display: block;
            stroke: #fff;
            fill: none;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .side-sns-link:hover {
            transform: translateY(-2px);
            filter: brightness(1.05);
        }

        .side-sns-link.is-instagram {
            background: #1A2E44;
            color: #fff;
        }

        .side-sns-link.is-youtube {
            background: #1A2E44;
            color: #fff;
        }

        .side-sns-link.is-x {
            background: #1A2E44;
            color: #fff;
        }

        .side-sns-link.is-tiktok {
            background: #1A2E44;
            color: #fff;
        }

        @media (max-width: 1024px) {
            .side-cta {
                display: none;
            }
        }

        .banner-item.anchor-hover:hover img {
            transform: scale(1.04);
        }

        .banner-item img {
            transition: transform 0.45s ease;
        }

        @media (max-width: 1000px) {
            .banner-viewport {
                width: min(624px, calc(100% - 2rem));
            }
        }

        @media (max-width: 700px) {
            .banner-viewport {
                width: min(300px, calc(100% - 2rem));
            }
        }

        .chart-container {
            position: relative;
            width: 100%;
            max-width: 500px;
            height: 300px;
            margin: auto;
        }

        .reveal {
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.8s ease-out;
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes lightSweep {
            0% { opacity: 0; transform: translateX(-60%); }
            20% { opacity: 0.9; }
            50% { opacity: 1; transform: translateX(40%); }
            80% { opacity: 0.85; }
            100% { opacity: 0; transform: translateX(65%); }
        }

        @keyframes ambientBright {
            0% { opacity: 0; }
            30% { opacity: 0.8; }
            50% { opacity: 1; }
            70% { opacity: 0.85; }
            100% { opacity: 0; }
        }

        @keyframes bgBright {
            0% { filter: brightness(0.88) contrast(1.05); }
            100% { filter: brightness(1.1) contrast(1.05); }
        }

        @media (prefers-reduced-motion: reduce) {
            .hero-ambient,
            .hero::before,
            .hero::after {
                animation: none;
            }

            .hero-ambient {
                filter: brightness(1.2) contrast(1.05);
            }

            .hero::before,
            .hero::after {
                opacity: 1;
                transform: none;
            }
        }

        @media (max-width: 768px) {
            .hero-copy-wrap::before {
                background: radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.6));
            }

            .hero-copy-wrap .wp-block-image::before {
                inset: 10% -3%;
                background: rgba(255, 255, 255, 0.8);
                filter: blur(16px);
            }

            .hero-copy-wrap .wp-block-image img {
                width: min(82vw, 420px) !important;
                margin-left: auto;
                margin-right: auto;
                filter: drop-shadow(0 6px 18px rgba(18, 30, 48, 0.08));
            }
        }

/* TOPページ #trouble お悩みカード */
#trouble .wp-group {
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  cursor: pointer;
}
#trouble .wp-group:hover {
  box-shadow: 0 8px 22px rgba(23, 40, 60, 0.1);
  transform: translateY(-2px);
}
#trouble .wp-group p {
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--color-text-light);
  line-height: 1.5;
  text-align: center;
}

/* Utility classes migrated from Tailwind usage in index.html */
*,
*::before,
*::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; scroll-behavior: smooth; }

.wp-antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.wp-fixed { position: fixed; }
.wp-relative { position: relative; }
.wp-block { display: block; }
.wp-hidden { display: none; }
.wp-inline-block { display: inline-block; }
.wp-flex { display: flex; }
.wp-inline-flex { display: inline-flex; }
.wp-grid { display: grid; }
.wp-grid.is-layout-constrained {
  display: grid !important;
  align-items: start;
}
.wp-grid.is-layout-constrained > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.wp-w-full { width: 100%; }
.wp-h-full { height: 100%; }
.wp-h-auto { height: auto; }
.wp-h-20 { height: 5rem; }
.wp-h-360px { height: 360px; }
.wp-h-380px { height: 380px; }
.wp-h-600px { height: 600px; }
.wp-max-w-4xl { max-width: 56rem; }
.wp-max-w-6xl { max-width: 72rem; }
.wp-max-w-7xl { max-width: 80rem; }
.wp-max-w-1320px { max-width: 1320px; }
.wp-mx-auto { margin-left: auto; margin-right: auto; }
.wp-mt-2 { margin-top: 0.5rem; }
.wp-mt-3 { margin-top: 0.75rem; }
.wp-mt-8 { margin-top: 2rem; }
.wp-mb-1 { margin-bottom: 0.25rem; }
.wp-mb-2 { margin-bottom: 0.5rem; }
.wp-mb-3 { margin-bottom: 0.75rem; }
.wp-mb-4 { margin-bottom: 1rem; }
.wp-mb-5 { margin-bottom: 1.25rem; }
.wp-mb-6 { margin-bottom: 1.5rem; }
.wp-mb-8 { margin-bottom: 2rem; }
.wp-mb-10 { margin-bottom: 2.5rem; }
.wp-mb-12 { margin-bottom: 3rem; }
.wp-mb-14 { margin-bottom: 3.5rem; }
.wp-mb-16 { margin-bottom: 4rem; }
.wp-px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.wp-px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.wp-py-0-5 { padding-top: 0.125rem; padding-bottom: 0.125rem; }
.wp-py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.wp-py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.wp-py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.wp-py-28 { padding-top: 7rem; padding-bottom: 7rem; }
.wp-py-32 { padding-top: 8rem; padding-bottom: 8rem; }
.wp-pt-4 { padding-top: 1rem; }
.wp-pb-4 { padding-bottom: 1rem; }
.wp-pb-6 { padding-bottom: 1.5rem; }
.wp-p-3 { padding: 0.75rem; }
.wp-p-5 { padding: 1.25rem; }
.wp-p-6 { padding: 1.5rem; }
.wp-p-8 { padding: 2rem; }
.wp-p-12 { padding: 3rem; }
.wp-z-50 { z-index: 50; }
.wp-flex-col { flex-direction: column; }
.wp-flex-wrap { flex-wrap: wrap; }
.wp-items-center { align-items: center; }
.wp-items-start { align-items: flex-start; }
.wp-items-stretch { align-items: stretch; }
.wp-justify-center { justify-content: center; }
.wp-justify-between { justify-content: space-between; }
.wp-flex-1 { flex: 1 1 0%; }
.wp-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.wp-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wp-gap-2 { gap: 0.5rem; }
.wp-gap-4 { gap: 1rem; }
.wp-gap-6 { gap: 1.5rem; }
.wp-gap-8 { gap: 2rem; }
.wp-gap-16 { gap: 4rem; }
.wp-gap-20 { gap: 5rem; }
.wp-space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.wp-space-y-10 > :not([hidden]) ~ :not([hidden]) { margin-top: 2.5rem; }
.wp-space-x-4 > :not([hidden]) ~ :not([hidden]) { margin-left: 1rem; }
.wp-space-x-8 > :not([hidden]) ~ :not([hidden]) { margin-left: 2rem; }
.wp-overflow-hidden { overflow: hidden; }
.wp-border { border-width: 1px; border-style: solid; }
.wp-border-t { border-top-width: 1px; border-top-style: solid; }
.wp-border-b { border-bottom-width: 1px; border-bottom-style: solid; }
.wp-rounded-full { border-radius: 9999px; }
.wp-border-E5E1DA { border-color: #E5E1DA; }
.wp-border-1A2E44 { border-color: #1A2E44; }
.wp-border-gray-100 { border-color: #f3f4f6; }
.wp-border-gray-300 { border-color: #d1d5db; }
.wp-bg-white { background-color: #fff; }
.wp-bg-white-80 { background-color: rgba(255, 255, 255, 0.8); }
.wp-bg-FFFFFF { background-color: #FFFFFF; }
.wp-bg-F2F1ED { background-color: #F2F1ED; }
.wp-bg-F8F6F1 { background-color: #F8F6F1; }
.wp-bg-FAF9F6 { background-color: #FAF9F6; }
.wp-bg-1A2E44 { background-color: #1A2E44; }
.wp-bg-BCA37F { background-color: #BCA37F; }
.wp-bg-E5E1DA-20 { background-color: rgba(229, 225, 218, 0.2); }
.wp-text-left { text-align: left; }
.wp-text-center { text-align: center; }
.wp-text-xs { font-size: 0.8125rem; line-height: 1.15rem; }
.wp-text-sm { font-size: 0.9375rem; line-height: 1.55rem; }
.wp-text-2xl { font-size: 1.5rem; line-height: 2rem; }
.wp-text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.wp-text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.wp-text-5xl { font-size: 3rem; line-height: 1; }
.wp-text-9px { font-size: 10px; }
.wp-text-10px { font-size: 11px; }
.wp-text-11px { font-size: 12px; }
.wp-font-light { font-weight: 400; }
.wp-font-medium { font-weight: 500 !important; }
.wp-uppercase { text-transform: uppercase; }
.wp-italic { font-style: italic; }
.wp-leading-tight { line-height: 1.25; }
.wp-leading-relaxed { line-height: 1.625; }
.wp-leading-loose { line-height: 2; }
.wp-leading-7 { line-height: 1.75rem; }
.wp-tracking-wide { letter-spacing: 0.025em; }
.wp-tracking-wider { letter-spacing: 0.05em; }
.wp-tracking-widest { letter-spacing: 0.1em; }
.wp-tracking-0-12em { letter-spacing: 0.12em; }
.wp-tracking-0-2em { letter-spacing: 0.2em; }
.wp-tracking-0-25em { letter-spacing: 0.25em; }
.wp-tracking-0-3em { letter-spacing: 0.3em; }
.wp-tracking-0-35em { letter-spacing: 0.35em; }
.wp-tracking-0-4em { letter-spacing: 0.4em; }
.wp-text-white { color: #fff; }
.wp-text-1A2E44 { color: #1A2E44; }
.wp-text-1f2937 { color: #1f2937; }
.wp-text-7d7d7d { color: #5f6873; }
.wp-text-BCA37F { color: #BCA37F; }
.wp-text-gray-400 { color: #7c8796; }
.wp-text-gray-500 { color: #586575; }
.wp-text-gray-600 { color: #374151; }
.wp-shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
.wp-shadow-0_12px_28px_rgba1830480-10 { box-shadow: 0 12px 28px rgba(18, 30, 48, 0.10); }
.shadow-sm { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.08); }
.wp-cursor-pointer { cursor: pointer; }
.wp-transition { transition: all 0.2s ease; }
.wp-transition-all { transition: all 0.3s ease; }
.wp-duration-300 { transition-duration: 300ms; }
.wp-duration-500 { transition-duration: 500ms; }
.wp-opacity-0 { opacity: 0; }
.wp-opacity-70 { opacity: 0.7; }
.wp-opacity-90 { opacity: 0.9; }
.wp-translate-y-4 { transform: translateY(1rem); }
.wp-grayscale-0-1 { filter: grayscale(0.1); }
.wp-grayscale-0-2 { filter: grayscale(0.2); }
.wp-object-cover { object-fit: cover; }
.wp-object-contain img { object-fit: contain; }
.wp-w-1-3 { width: 33.333333%; }
.wp-w-2-3 { width: 66.666667%; }
.wp-aspect-4-3 { aspect-ratio: 4 / 3; }
.wp-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.wp-group:hover .wp-group-hover-scale-105 { transform: scale(1.05); }
.wp-group:hover .wp-group-hover-text-gray-500 { color: #6b7280; }
.wp-hover-text-1A2E44:hover { color: #1A2E44; }
.wp-hover-text-white:hover { color: #fff; }
.wp-hover-bg-1A2E44:hover { background-color: #1A2E44; }
.wp-hover-bg-opacity-90:hover { background-color: rgba(26, 46, 68, 0.9); }
.wp-backdrop-blur-md { backdrop-filter: blur(12px); }
.wp-animate-fadeUp_1s_ease_forwards { animation: fadeUp 1s ease forwards; }
.wp-animate-fadeUp_1s_ease_0-3s_forwards { animation: fadeUp 1s ease 0.3s forwards; }
.wp-delay-200 { transition-delay: 200ms; }

@media (min-width: 640px) {
    .wp-sm-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .wp-p-6 { padding: 1.25rem; }
  .wp-p-8 { padding: 1.5rem; }
  .wp-text-3xl { font-size: 1.6rem; line-height: 2rem; }
}

@media (min-width: 768px) {
    .wp-md-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wp-md-text-8xl { font-size: 6rem; line-height: 1; }
    .wp-md-text-left { text-align: left; }
    .wp-md-flex-row { flex-direction: row; }
    .wp-md-h-520px { height: 520px; }
    .wp-md-h-560px { height: 560px; }
}

@media (min-width: 1024px) {
    .wp-lg-flex { display: flex; }
    .wp-lg-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wp-lg-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .wp-lg-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .wp-lg-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .wp-lg-col-span-6 { grid-column: span 6 / span 6; }
    .wp-lg-gap-10 { gap: 2.5rem; }
    .wp-lg-p-10 { padding: 2.5rem; }
    .wp-lg-p-12 { padding: 3rem; }
    .wp-lg-mb-24 { margin-bottom: 6rem; }
    .wp-lg-mt-0 { margin-top: 0; }
    .wp-lg-h-full { height: 100%; }
    .wp-lg-min-h-520px { min-height: 520px; }
}

@media (min-width: 1280px) {
    .wp-xl-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .wp-xl-p-16 { padding: 4rem; }
}

/* ========================================
   追加
======================================== */
[id] {
  scroll-margin-top: 100px;
}

/*　ヘッダー */
#header,
.l-header,
.l-header--1row {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  max-width: none !important;
}

.l-header__content,
.l-1row-header__content,
.l-1row-header {
  width: 100% !important;
  max-width: none !important;
}

header .c-container {
  max-width: 1380px !important;
  min-height: 100px !important;
  margin: 0 auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  display: flex !important;
  align-items: center !important;
}

header .c-row{
	display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 2rem;
  width: 100%;
}

.l-1row-header__content{
	padding: 0;
}

.header_logo,
.c-site-branding__title {
  width: 225px;
  margin: 0;
  line-height: 1;
}

.c-site-branding__title::after {
  content: "KYOTO 御池御幸町 K CLINIC\A美容皮膚科・美容外科・美容内科";
  white-space: pre;
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1.7;
  color: rgba(78, 70, 60, 0.55);
  text-align: center;
  margin-top: 6px;
}

.header_logo img,
.custom-logo-link,
.custom-logo {
  display: block;
}

.custom-logo-link {
  width: 225px;
}

.custom-logo {
  width: 100%;
  height: auto;
}

.p-global-nav .c-navbar {
  display: flex;
  align-items: center;
  gap: 0.95rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-global-nav .c-navbar__item,
.p-global-nav .menu-item {
  margin: 0;
}

#header nav,
.p-global-nav .c-navbar__item > a {
  color: #17283c;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.16em;
  font-family: "Yu Mincho", "YuMincho","Hiragino Mincho ProN", "Noto Serif JP",serif;
  text-transform: uppercase;
}

#header nav {
  transform: translateX(-15px);
}

.p-global-nav .c-navbar__item > a {
  display: inline-flex;
  align-items: center;
  min-height: 100px;
  padding: 0;
  transition: color 0.25s ease;
}

#header nav a,
.p-global-nav .c-navbar__item > a span {
  color: inherit;
}

#header nav a:hover,
.p-global-nav .c-navbar__item > a:hover,
.p-global-nav .c-navbar__item[data-active-menu="true"] > a {
  color: var(--color-gold);
}

#header > div > a:last-child,
#header > div > div:last-child .anchor-hover,
.c-header-content .anchor-hover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.75rem 1.5rem;
  background: var(--color-gold);
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.16em;
  font-family: "Yu Mincho", "YuMincho","Hiragino Mincho ProN", "Noto Serif JP",serif;
  text-transform: uppercase;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

#header > div > a:last-child:hover,
#header > div > div:last-child .anchor-hover:hover,
.c-header-content .anchor-hover:hover {
  background: var(--color-brown);
  color: #fff;
  transform: translateY(-1px);
}

@media (min-width: 1131px) and (max-width: 1380px) {
  header .c-row {
    gap: 0.75rem;
  }

  .header_logo,
  .c-site-branding__title,
  .custom-logo-link {
    width: 170px;
  }

  .p-global-nav .c-navbar {
    gap: 0.65rem;
  }

  #header nav,
  .p-global-nav .c-navbar__item > a {
    font-size: 13px;
    letter-spacing: 0.08em;
  }

  #header nav {
    transform: translateX(0);
  }

  .c-header-content .anchor-hover {
    padding: 0.55rem 1rem;
    font-size: 11px;
  }

  .c-site-branding__title::after {
    font-size: 10px;
    letter-spacing: 0.1em;
  }
}

/* Snow Monkey のハンバーガー切替を1130pxまで拡張 */
@media (min-width: 1025px) and (max-width: 1131px) {
  /* PCナビを非表示 */
  .p-global-nav {
    display: none !important;
  }
  /* ヘッダー内の予約ボタンを非表示 */
  .c-header-content .anchor-hover {
    display: none !important;
  }
  /* u-invisible-lg-up 親コンテナを強制表示（Snow Monkey プリコンパイル CSS の上書き） */
  .u-invisible-lg-up,
  header .u-invisible-lg-up,
  .l-1row-header .u-invisible-lg-up {
    display: flex !important;
    visibility: visible !important;
    align-items: center !important;
    align-self: center !important;
  }
  /* ハンバーガーボタン本体を表示 */
  html body .c-hamburger-btn,
  html body header .c-hamburger-btn,
  html body .l-header .c-hamburger-btn {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 10003 !important;
  }
}

@media (max-width: 1130px){
	.p-header-content--sm,
	.p-header-content .c-container,
	.l-header__content{
		padding: 0;
	}
	.hero{
		height: calc(100vh - 100px);
	}

  header .c-row{
    gap: 1rem;
  }

  .c-hamburger-btn {
    position: relative;
    z-index: 10003 !important;
    color: #17283c;
    font-family: "Yu Mincho", "YuMincho","Hiragino Mincho ProN", "Noto Serif JP",serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.16em;
    pointer-events: auto;
  }

  body:has(.c-hamburger-btn[aria-expanded="true"]) #header,
  body:has(.c-hamburger-btn[aria-expanded="true"]) .l-header {
    position: fixed !important;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    z-index: 10001 !important;
    background: var(--color-base-light) !important;
    box-shadow: none !important;
    pointer-events: auto;
  }

  body:has(.c-hamburger-btn[aria-expanded="true"]) {
    overflow: hidden;
  }

  body:has(.c-hamburger-btn[aria-expanded="true"]) .l-1row-header__branding,
  body:has(.c-hamburger-btn[aria-expanded="true"]) .c-site-branding,
  body:has(.c-hamburger-btn[aria-expanded="true"]) .header_logo {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body:has(.c-hamburger-btn[aria-expanded="true"]) #header .c-row__col:not(:has(.c-hamburger-btn)),
  body:has(.c-hamburger-btn[aria-expanded="true"]) .l-header .c-row__col:not(:has(.c-hamburger-btn)) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body:has(.c-hamburger-btn[aria-expanded="true"]) .c-hamburger-btn {
    pointer-events: auto;
  }
}

@media (max-width: 1025px){
  .u-invisible-md-down {
    display: none !important;
    visibility: hidden !important;
  }
  .u-invisible-lg-up{
    display: block !important;
  }
  .l-1row-header__branding, .l-1row-header__content {
    padding-bottom: 0;
    padding-top: 0;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  header .c-container{
    padding-top: 10px;
    padding-bottom: 10px;
  }
}


@media (max-width: 768px){
  .header_logo,
  .c-site-branding__title,
  .custom-logo-link{
    width: 150px;
  }

 .c-site-branding__title::after {
    font-size: 10px;
    letter-spacing: 0em;
    margin-top: 8px;
  }
}


/* ヘッダーメニュー */
@media (min-width: 1131px) {
    /* 1. 全幅展開の設定（維持） */
    .p-global-nav .c-navbar > .menu-item-has-children {
        position: static !important;
    }

    .p-global-nav .c-navbar > .menu-item-has-children > .c-navbar__submenu {
        display: grid !important;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        justify-content: center;
        margin-right: auto !important;
        margin-left: auto !important;
        gap: 16px 32px;
        position: absolute;
        top: 100% !important;
        left: 0;
        right: 0;
        width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        background: var(--color-base-light);
        padding: 24px 40px !important;
        padding-right: 80px !important;
        box-shadow: 0 15px 40px rgba(88, 68, 45, 0.08);
        transform: translateX(0) !important; 
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        border: none !important;
        box-sizing: border-box;
    }
    .p-global-nav .c-navbar > .menu-item-has-children > .c-navbar__submenu {
        pointer-events: none !important;
    }

    .p-global-nav .c-navbar > .menu-item-has-children:hover > .c-navbar__submenu {
        pointer-events: auto !important;
    }

    .p-global-nav .c-navbar__item[aria-haspopup=true]:before {
        --_transition-delay: 0s !important;
        transition-delay: 0s !important;
    }

    .p-global-nav .c-navbar__item[aria-haspopup=true]:hover:before {
        opacity: 1;
        visibility: visible;
    }

    .p-global-nav .c-navbar__subitem > .c-navbar__submenu .c-navbar__subitem a {
        position: relative !important;
        display: block !important;
        padding: 8px 0 8px 0 !important;
        transition: all 0.3s ease !important;
        text-decoration: none !important;
        text-transform: none !important;
    }

    .p-global-nav .c-navbar__subitem > .c-navbar__submenu .c-navbar__subitem a:hover {
        padding-left: 15px !important;
    }

    .p-global-nav .c-navbar__subitem > .c-navbar__submenu .c-navbar__subitem a::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 0;
        height: 1px;
        background-color: #0f172a;
        opacity: 0;
        transition: all 0.3s ease;
        pointer-events: none;
    }

    .p-global-nav .c-navbar__subitem > .c-navbar__submenu .c-navbar__subitem a:hover::before {
        opacity: 1;
        width: 10px;
    }


    .p-global-nav .c-navbar > .menu-item-has-children:hover > .c-navbar__submenu {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .p-global-nav .c-navbar__submenu > .c-navbar__subitem {
        list-style: none;
    }

    .p-global-nav .c-navbar__submenu > .c-navbar__subitem > a[href="#"] {
        font-size: 15px;
        letter-spacing: 0.05em;
        color: #6f563b !important;
        border-bottom: 1px solid #d9d4cb !important;
        margin-bottom: 6px;
        padding: 0;
        padding-bottom: 5px;
        display: block;
        pointer-events: none;
        cursor: default;
    }

    .p-global-nav .c-navbar__subitem > .c-navbar__submenu {
        position: static !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 0 !important;
        box-shadow: none !important;
        width: 100% !important;
        background: transparent !important;
    }

    /* 美容皮膚科（1番目）のみ内部2列で表示 */
    .p-global-nav .c-navbar__subitem:first-child > .c-navbar__submenu {
        column-count: 2;
        column-gap: 0.5rem;
    }

    .p-global-nav .c-navbar__subitem > .c-navbar__submenu .c-navbar__subitem a {
        padding: 4px 0 !important;
        font-size: 13px;
        color: #333 !important;
        transition: 0.2s;
    }

    .p-global-nav .c-navbar__subitem > .c-navbar__submenu .c-navbar__subitem a:hover {
        color: var(--color-gold) !important;
        padding-left: 5px;
    }

    .p-global-nav .c-navbar__item[aria-haspopup=true]:before {
        left: calc(10% - 18px) !important;
    }

    .header_reserve_btn_sp{
      display: none;
    }
}

/* ハンバーガーメニュー */
@media (max-width: 1025px){

}
  

@media (max-width: 1130px) {
    .header_reserve_btn_sp{
      border-bottom: none !important;
    }
  
    .header_reserve_btn_sp a{
      background: var(--color-gold);
      color: #fff !important;
      text-transform: uppercase;
      align-items: center;
      justify-content: center;
      padding: 0 !important;
    }
    .c-drawer-close-zone {
        z-index: 9998 !important;
        pointer-events: none !important;
    }

    .c-drawer,
    #drawer-nav {
        position: fixed !important;
        inset: 0 !important;
        z-index: 9999 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: rgba(250, 249, 246, 0.98);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: none;
        transition: opacity 0.42s ease, visibility 0s linear 0.42s;
    }

    .c-drawer[aria-hidden="false"],
    .c-drawer[data-submenu-visibility="visible"],
    .c-drawer.is-active,
    .c-drawer.is-open,
    .c-drawer[aria-modal="true"],
    .c-drawer[aria-expanded="true"],
    #drawer-nav[aria-hidden="false"],
    #drawer-nav.is-active,
    #drawer-nav.is-open,
    #drawer-nav[aria-modal="true"],
    body:has(.c-hamburger-btn[aria-expanded="true"]) .c-drawer,
    body:has(.c-hamburger-btn[aria-expanded="true"]) #drawer-nav {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: opacity 0.42s ease, visibility 0s linear 0s;
    }

    .c-drawer__inner {
        position: relative;
        z-index: 10000;
        width: 100vw;
        max-width: none;
        min-height: 100vh;
        min-height: 100dvh;
        height: 100vh;
        height: 100dvh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: var(--color-base-light);
        color: var(--color-text);
        padding: clamp(8rem, 15vw, 17rem) clamp(1.35rem, 6vw, 2.4rem) 3rem;
        opacity: 0;
        transform: translateY(10px);
        transition: opacity 0.42s ease, transform 0.42s ease;
        pointer-events: auto;
    }

    .c-drawer[aria-hidden="false"] .c-drawer__inner,
    .c-drawer.is-active .c-drawer__inner,
    .c-drawer.is-open .c-drawer__inner,
    .c-drawer[aria-expanded="true"] .c-drawer__inner,
    #drawer-nav[aria-hidden="false"] .c-drawer__inner,
    #drawer-nav.is-active .c-drawer__inner,
    #drawer-nav.is-open .c-drawer__inner,
    body:has(.c-hamburger-btn[aria-expanded="true"]) .c-drawer__inner {
        opacity: 1;
        transform: translateY(0);
    }

    .c-drawer__menu {
        position: relative;
        z-index: 10001;
        margin: 0;
        padding: 0;
        list-style: none;
        pointer-events: auto;
    }

    .c-drawer__menu + .c-drawer__menu {
        margin-top: 1.8rem;
    }

    .c-drawer__item:has(.p-search-form) {
        border-bottom: none;
    }

    .c-drawer__item,
    .c-drawer__subitem {
        position: relative;
        margin: 0;
        list-style: none;
        pointer-events: auto;
    }

    .c-drawer__item {
        border-bottom: 1px solid var(--color-border);
    }

    .c-drawer__item > a {
        display: flex;
        align-items: center;
        min-height: 40px;
        padding: 0rem 3.2rem 0rem 0;
        color: #17283c;
        font-family: "Yu Mincho", "YuMincho","Hiragino Mincho ProN", "Noto Serif JP",serif;
        font-size: 1.08rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0.14em;
        text-decoration: none;
        transition: color 0.25s ease, padding-left 0.25s ease;
        pointer-events: auto;
    }

    .c-drawer__item > .c-drawer__submenu > .c-drawer__subitem > a{
        pointer-events: none;
    }

    .c-drawer__item > a:hover {
        color: var(--color-gold);
        padding-left: 0.35rem;
    }

     .menu-item .c-drawer__toggle {
        position: absolute;
        top: 0.7rem;
        right: 0;
        width: 2.2rem;
        height: 2.2rem;
        border: 1px solid var(--color-border);
        border-radius: 50%;
        background: var(--color-base-light);
        color: var(--color-text);
        box-shadow: none;
        transition: border-color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
    }

    .c-drawer__toggle .c-ic-angle-right {
        display: none;
    }

    .c-drawer__toggle::before,
    .c-drawer__toggle::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0.8rem;
        height: 1px;
        background: #917756;
        transform: translate(-50%, -50%);
        transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .c-drawer__toggle::after {
        transform: translate(-50%, -50%) rotate(90deg);
    }

    .c-drawer__toggle[aria-expanded="true"] {
        border-color: #917756;
        background: #1A2E44;
        transform: rotate(180deg);
        top: 0.5rem;
    }

    .c-drawer__toggle[aria-expanded="true"]::before,
    .c-drawer__toggle[aria-expanded="true"]::after {
        background: #fff;
    }

    .c-drawer__toggle[aria-expanded="true"]::after {
        opacity: 0;
        transform: translate(-50%, -50%) rotate(0deg);
    }

    .c-drawer__submenu {
        max-height: 0;
        margin: 0;
        padding: 0;
        background: transparent;
        list-style: none;
        opacity: 0;
        overflow: hidden;
        transition: max-height 0.38s ease, opacity 0.28s ease, padding 0.28s ease, margin 0.28s ease;
    }

    .c-drawer__submenu[aria-hidden="false"] {
        max-height: 1600px;
        margin: 0;
        padding: 0.35rem 0 0.85rem;
        opacity: 1;
    }

    .c-drawer__item > .c-drawer__submenu {
        border-top: 1px solid #efe9df;
        padding: 0;
    }

    .c-drawer__item > .c-drawer__submenu > .c-drawer__subitem {
        margin-top: 0.5rem;
        padding: 0.95rem 1rem;
        background: var(--color-base-light);
        border: 1px solid var(--color-border);
        transform: translateY(6px);
        transition: border-color 0.25s ease, transform 0.3s ease, opacity 0.3s ease;
    }

    .c-drawer__submenu[aria-hidden="false"] > .c-drawer__subitem {
        transform: translateY(0);
    }

    .c-drawer__item > .c-drawer__submenu > .c-drawer__subitem > a {
        display: block;
        padding: 0 3rem 0.7rem 0;
        border-bottom: 1px solid #d9d4cb;
        color: #6f563b;
        font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0.08em;
        text-decoration: none;
        transition: color 0.25s ease, border-color 0.25s ease;
    }

    .c-drawer__subitem > .c-drawer__toggle {
        top: 0.72rem;
        right: 0.8rem;
        width: 2.2rem;
        height: 2.2rem;
    }

    .c-drawer__subitem > .c-drawer__submenu {
        margin: 0;
        padding: 0;
    }

    .c-drawer__subitem > .c-drawer__submenu[aria-hidden="false"] {
        margin: 0;
    }

    .c-drawer__subitem > .c-drawer__submenu .c-drawer__subitem {
        border-bottom: 1px solid #f0ebe4;
        padding: 0;
    }

    .c-drawer__subitem > .c-drawer__submenu .c-drawer__subitem:last-child {
        border-bottom: 0;
    }

    .c-drawer__subitem > .c-drawer__submenu .c-drawer__subitem > a {
        position: relative;
        display: block;
        padding: 0.75rem 0 0.75rem 1.05rem;
        color: #333;
        font-size: 0.94rem;
        line-height: 1.65;
        letter-spacing: 0.05em;
        text-decoration: none;
        transition: color 0.25s ease, padding-left 0.25s ease;
    }

    .c-drawer__subitem > .c-drawer__submenu .c-drawer__subitem > a::before {
        content: "";
        position: absolute;
        top: 1.55rem;
        left: 0;
        width: 0.48rem;
        height: 1px;
        background: #917756;
    }

    .c-drawer__subitem > .c-drawer__submenu .c-drawer__subitem > a:hover {
        color: var(--color-gold);
        padding-left: 1.35rem;
    }

    /* .c-drawer__subitem > .c-drawer__submenu .current-menu-item > a {
        color: #917756;
    } */

    .c-drawer__menu .p-search-form {
        margin: 0;
    }

    .c-drawer__menu .c-input-group {
        display: flex;
        gap: 0.5rem;
    }

    .c-drawer__menu input[type="search"] {
        width: 100%;
        min-height: 44px;
        padding: 0.75rem 0.9rem;
        border: 1px solid var(--color-border);
        border-radius: 0;
        background: var(--color-base-light);
        color: var(--color-text);
        font-size: 0.95rem;
    }

    .c-drawer__menu .c-input-group__btn {
        min-width: 74px;
        border: 1px solid #1A2E44;
        border-radius: 0;
        background: #1A2E44;
        color: #fff;
        font-size: 0.85rem;
        letter-spacing: 0.08em;
    }
}


/*　フッター */
.footer_logo{
  width: 200px;
}

.footer_logo_text{
  text-align: center;
}

@media (max-width: 768px){
  .footer_logo{
    width: 180px;
    display: table;
    margin: 0 auto;
  }
}

/* ボタン */
:root :where(.wp-element-button, .wp-block-button__link) {
  border-radius: 0;
  padding: 24px 64px;
}

.wp-block-button .wp-block-button__link,
.wp-block-button .wp-element-button {
  font-family: "Yu Mincho", "YuMincho","Hiragino Mincho ProN", "Noto Serif JP",serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  min-height: 52px;
  padding: 0.4rem 2.4rem;
  border: 1px solid var(--color-gold);
  border-radius: 0;
  background: transparent;
  color: var(--color-brown);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
  text-decoration: none;
  box-shadow: var(--shadow-soft);
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-element-button:hover,
.wp-block-button .wp-block-button__link:focus-visible,
.wp-block-button .wp-element-button:focus-visible {
  border-color: #17283c;
  background: #17283c;
  color: #fff;
  box-shadow: 8px 10px 20px rgba(23, 40, 60, 0.16);
  transform: translateY(-2px);
  outline: none;
}

.btn_anchor.wp-block-buttons {
  width: 100%;
}

.btn_anchor .wp-block-button {
  width: 100%;
}

.btn_anchor .wp-block-button__link,
a.btn_anchor,
p.btn_anchor a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  padding: 0.9rem 3.8rem 0.9rem 2rem;
  border: 1px solid var(--color-gold);
  border-radius: 0;
  background: var(--color-base-light);
  color: var(--color-brown);
  font-family: "Yu Mincho", "YuMincho","Hiragino Mincho ProN", "Noto Serif JP",serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
  text-decoration: none;
  box-shadow: var(--shadow-soft);
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.btn_anchor .wp-block-button__link::before,
a.btn_anchor::before,
p.btn_anchor a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.35rem;
  width: 1.35rem;
  height: 1.35rem;
  border: 1px solid #d6c7b5;
  border-radius: 9999px;
  transform: translateY(-50%);
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.btn_anchor .wp-block-button__link::after,
a.btn_anchor::after,
p.btn_anchor a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.77rem;
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1px solid #917756;
  border-bottom: 1px solid #917756;
  transform: translateY(-64%) rotate(45deg);
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.btn_anchor .wp-block-button__link:hover,
a.btn_anchor:hover,
p.btn_anchor a:hover {
  border-color: #17283c;
  background: #17283c;
  color: #fff;
  box-shadow: 8px 10px 20px rgba(23, 40, 60, 0.16);
  transform: translateY(-2px);
}

.btn_anchor .wp-block-button__link:hover::before,
a.btn_anchor:hover::before,
p.btn_anchor a:hover::before {
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.08);
}

.btn_anchor .wp-block-button__link:hover::after,
a.btn_anchor:hover::after,
p.btn_anchor a:hover::after {
  border-color: #fff;
  transform: translateY(-44%) rotate(45deg);
}

@media (max-width: 768px) {
  .btn_anchor .wp-block-button__link,
  a.btn_anchor,
  p.btn_anchor a {
    min-height: 52px;
    padding: 0.85rem 3.4rem 0.85rem 1.4rem;
    font-size: 0.9rem;
  }
}

/* KV動画 */
/* PC */
.kv_movie {
  aspect-ratio: 16 / 7.5;
}

@media (max-width: 1130px){
  .kv_movie {
  aspect-ratio: 16 / 9.5;
}
}

/* タブレット */
@media (max-width: 1024px) {
  .kv_movie {
    aspect-ratio: 4 / 2.8;
  }
}

/* スマホ */
@media (max-width: 768px) {
  .kv_movie {
    aspect-ratio: 4 / 6;
  }
}

/* 動画はコンテナを埋める */
.kv_movie video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/*　KV下スライド */
#banner-track .anchor-hover:hover{
	box-shadow: none;
}


/*　コンセプト */
.concept-image img{
	border-radius: 320px 320px 0 0;
}

#concept .wp-shadow-2xl{
	box-shadow: none;
}

#concept .wp-shadow-2xl img{
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

#concept .concept_text {
    padding: 9.5rem 2.5rem 2rem !important;
}

#concept .concept_text h2 {
    color: #42403C !important;
}

#concept .concept_text p {
    line-height: 2.2;
}

#concept .wp-block-cover__background {
    background: radial-gradient(
        ellipse 72% 90% at 26% 35%,
        rgba(208, 187, 157, 0.88) 0%,
        rgba(208, 187, 157, 0.62) 32%,
        rgba(208, 187, 157, 0.25) 56%,
        rgba(208, 187, 157, 0)    76%
    ) !important;
    opacity: 1 !important;
}

@media (max-width: 768px) {
    #concept .wp-block-cover__background {
        background: rgba(220, 198, 168, 0.75) !important;
        opacity: 1 !important;
    }
    #concept .concept_text {
        padding: 3rem 0.85rem !important;
    }
}

/*　メニュー */
#menu p {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

#menu article {
	display: flex;
	flex-direction: column;
}

#menu .view_more_btn {
	margin-top: auto;
	padding-top: 1.25rem;
}

#menu .wp-grid.is-layout-constrained {
  align-items: stretch;
}

.view_more_btn a {
	font-family: "Cormorant Garamond", serif;
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	color: var(--color-gold);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	text-transform: uppercase;
	text-decoration: none;
}

.view_more_btn a::after {
	content: "";
	display: inline-block;
	width: 1.5rem;
	height: 0.5px;
	background: var(--color-gold);
	transition: width 0.25s;
}

.view_more_btn a:hover::after {
	width: 2.2rem;
}

#menu {
	background-image:
		url('/wp-content/uploads/2026/05/sejutsu_bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

#menu article > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

#menu .top_menu_title {
	display: grid;
	grid-template-columns: 52px 1fr;
	column-gap: 0.75rem;
	align-items: center;
	justify-items: start;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100%;
}

#menu .top_menu_title > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100%;
	text-align: left !important;
}

@media (max-width: 768px) {
	#menu .top_menu_title {
		justify-items: start !important;
	}
	#menu .top_menu_title p,
	#menu .top_menu_title h3 {
		text-align: left !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

#menu .top_menu_title::before {
	grid-row: span 2;
	align-self: center;
	content: "";
	width: 52px;
	height: 52px;
}

#menu article:nth-child(1) .top_menu_title::before {
	background: url('/wp-content/uploads/2026/05/sejutsu_illust_01.png') center / contain no-repeat;
}

#menu article:nth-child(2) .top_menu_title::before {
	background: url('/wp-content/uploads/2026/05/sejutsu_illust_02.png') center / contain no-repeat;
}

#menu article:nth-child(3) .top_menu_title::before {
	background: url('/wp-content/uploads/2026/05/sejutsu_illust_03.png') center / contain no-repeat;
}

/*　医院紹介 */

.doctor_img_column {
	position: relative;
}

.doctor_en_name {
	position: absolute;
	bottom: -5rem;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	margin: 0 !important;
	z-index: 5;
	pointer-events: none;
}

.doctor_en_name img {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 1024px) {
	.doctor_en_name {
		position: static;
		transform: none;
		width: 60%;
		margin: 0 auto !important;
    margin-top: -20px;
	}
}

@media (max-width: 768px) {
	.doctor_img_column {
		margin-bottom: 0;
	}
  .doctor_en_name {
		width: 100%;
	}
}

.doctor-photo-stage img {
	width: 100%;
	height: clamp(420px, 56vw, 640px);
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	border: 10px solid rgba(250, 249, 246, 0.96);
	box-shadow: 0 16px 30px rgba(26, 46, 68, 0.2), 0 34px 58px rgba(26, 46, 68, 0.24);
}
@media (max-width: 1024px){
	.doctor-photo-stage img {
		height: min(98vw, 750px);
		border-width: 8px;
	}
}

.about-doctors-bg {
	background-image: none;
}

.doctor-qualification h3{
	border-bottom: 1px solid rgba(145, 119, 86, 0.22);

}


/* 各院情報 */
.clinic_list h3{
	border-bottom: 1px solid rgba(145, 119, 86, 0.22);
}

.clinic_list_place,
.clinic_list_tel,
.clinic_list_time {
  position: relative;
  padding-left: 1.6em;
}

.clinic_list_place::before,
.clinic_list_tel::before,
.clinic_list_time::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.15em;
  color: #917756;
  font-size: 0.95em;
}

.clinic_list_place::before {
  content: "\f3c5";
}

.clinic_list_tel::before {
  content: "\f095";
}

.clinic_list_time::before {
  content: "\f017";
}

.clinic_list .wp-block-columns {
  display: flex !important;
  align-items: stretch !important;
}

.clinic_list .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-self: stretch !important;
}

.clinic_list .wp-block-column > * {
  width: 100%;
}

.clinic_list .wp-block-column .wp-block-buttons {
  margin-top: auto !important;
  padding-top: 1.5rem;
}


/*　コラム・ニュース */
.wp-block-query .wp-block-post{
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 30px;
}

.column_news figure {
	overflow: hidden;
}

.column_news figure img {
	display: block;
	transition: transform 0.5s ease;
}

.column_news figure a:hover img {
	transform: scale(1.05);
}

.column_news h4:hover a{
	color: #6b7280;
}

.column_news h4 a{
	transition: all 0.5s ease;
}

.taxonomy-category a{
	font-size: 10px;
	color: #917756;
	letter-spacing: 0.1em;
	padding-top: 0.125rem;
	padding-bottom: 0.125rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
  border-radius: 30px;
  background-color: #fff;
  border: 1px solid #917756;
}

.price_text,
.price_list > p,
.price_list > .wp-block-group {
  position: relative;
  margin: 2rem 0 0 !important;
  padding: 2.1rem 1.5rem 1.4rem !important;
  border: 1px solid rgba(145, 119, 86, 0.28);
  background: #fff;
  color: #17283c;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.93rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
}

.price_text > p,
.price_text > .wp-block-group:not(:last-child) {
  margin-bottom: 15px;
}

.price_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(max(260px, calc(33.33% - 0.8rem)), 1fr));
  gap: 1rem 1.2rem;
  width: 100%;
  margin-top: 40px;
}

/* 1アイテムのみのとき中央の列に配置 */
.price_list:has(> :only-child) {
  grid-template-columns: 1fr 4fr 1fr;
}
.price_list:has(> :only-child) > :only-child {
  grid-column: 2;
}
@media (max-width: 768px) {
  .price_list:has(> :only-child) {
    grid-template-columns: 1fr;
  }
  .price_list:has(> :only-child) > :only-child {
    grid-column: 1;
  }
}

.price_list > p,
.price_list > .wp-block-group {
  height: 100%;
  margin: 0 !important;
  padding: 1.25rem 1.25rem 1.15rem !important;
  border: 1px solid rgba(145, 119, 86, 0.28);
  background: #fff;
  font-size: 16px !important;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.price_text::before,
.price_list > p::before {
  content: "PRICE";
  position: absolute;
  top: 2px;
  left: 0.7rem;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.8rem;
  padding: 0.24rem 0.78rem;
  border-radius: 9999px;
  background: #17283c;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0.18em;
}

.price_list > p::before,
.price_list > .wp-block-group::before {
  content: none;
}

.price_text h3,
.price_list h3 {
  display: block;
  width: 100%;
  margin: 0 0 0.35rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid rgba(145, 119, 86, 0.22);
  color: #17283c;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.price_text > .wp-block-group p,
.price_list > .wp-block-group p {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}

.price_text br,
.price_list > p br {
  display: block;
  content: "";
  margin-top: 1rem;
}

@media (max-width: 1024px){
	.column_news .wp-block-group > .wp-block-columns{
		gap: 6em;
	}
	.column_news .wp-block-columns.are-vertically-aligned-center{
		gap: 12px;
	}
}

#contact-area{
  max-width: 100%;
}

#contact-area a{
	width: 100%;
}

@media (max-width: 1024px){
  #contact-area.wp-py-32 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

@media (max-width: 768px) {
  .price_text,
  .price_list > p,
  .price_list > .wp-block-group {
    margin-top: 1.7rem !important;
    padding: 1.8rem 1rem 1.15rem !important;
    font-size: 0.86rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
  }

  .price_text::before,
  .price_list > p::before {
    left: 0.85rem;
    min-height: 1.65rem;
    padding: 0.2rem 0.62rem;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
  }

  .price_text h3,
  .price_list h3 {
    margin-bottom: 0.3rem;
    padding-bottom: 0.24rem;
    font-size: 1rem;
    line-height: 1.5;
  }

  .price_text > .wp-block-group p,
  .price_list > .wp-block-group p {
    font-size: 1rem;
  }

  .price_text br,
  .price_list > p br {
    margin-top: 0.85rem;
  }

  .price_list {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .price_list > p,
  .price_list > .wp-block-group {
    margin: 0 !important;
    padding: 1rem 0.95rem 0.95rem !important;
    font-size: 0.86rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
  }
}

/*　フッター */
.l-footer--footer-1 .l-footer-widget-area{
	padding: 0;
}

.l-footer-widget-area .c-fluid-container{
	width: 100%;
  max-width: none;
	padding: 0;
  margin-left: 0;
  margin-right: 0;
}

.c-row .l-footer-widget-area__item{
  margin-bottom: 0;
}

.l-footer-widget-area .c-row > .l-footer-widget-area__item:has(#block-14) {
  padding-left: 0;
  padding-right: 0;
}

.l-footer-widget-area #block-14,
.l-footer-widget-area #contact-area {
  width: 100%;
  max-width: none;
}

.l-footer-widget-area #contact-area {
  width: 100%;
  max-width: none !important;
  margin-left: 0;
  margin-right: 0;
}

@media (min-width: 769px) {
  .l-footer-widget-area #block-14 {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .l-footer-widget-area #contact-area {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
  }

  .l-footer-widget-area .l-footer-widget-area__item:has(#block-14) {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

.c-row .l-footer-widget-area__item h3{
  font-size: 2.25rem !important;
  line-height: 2.5rem !important;
  font-weight: 400;
}

.c-row .l-footer-widget-area__item h3::before,
.c-row .l-footer-widget-area__item h3::after{
  content: none;
}

.l-footer-widget-area .c-row {
  margin: 0;
}

.l-footer-widget-area .c-row.c-row--margin,
.l-footer-widget-area .c-row.c-row--lg-margin-l {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.l-footer-widget-area .widget_nav_menu {
  margin: 0;
  background: #F2F1ED;
  color: #17283c;
}

.l-footer-widget-area .widget_nav_menu .menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.9rem 2.2rem;
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.l-footer-widget-area .widget_nav_menu .menu-item {
  margin: 0;
  padding: 0;
}

.l-footer-widget-area .widget_nav_menu .menu-item a {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  color: #1A2E44;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.85rem;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-decoration: none;
  transition: color 0.25s ease;
}

.l-footer-widget-area .widget_nav_menu .menu-item a:hover {
  color: #917756;
}

.l-footer-widget-area #nav_menu-3 {
  padding: 2.7rem 1.5rem 1.4rem;
  border-top: 1px solid #e5e1da;
}

.l-footer-widget-area #nav_menu-3,
.l-footer-widget-area #nav_menu-4,
.l-footer-widget-area #nav_menu-5,
.l-footer-widget-area #nav_menu-7,
.l-footer-widget-area #nav_menu-8,
.l-footer-widget-area #nav_menu-9 {
  padding: 0 1.5rem 1.45rem;
}

.l-footer-widget-area #nav_menu-3,
.l-footer-widget-area #nav_menu-4 {
  padding-top: 1.5rem;
  border-top: 1px solid #e5e1da;
}

.l-footer-widget-area #nav_menu-9 {
  padding-bottom: 2.7rem;
}

.l-footer-widget-area #nav_menu-3 .c-widget__title,
.l-footer-widget-area #nav_menu-4 .c-widget__title,
.l-footer-widget-area #nav_menu-5 .c-widget__title,
.l-footer-widget-area #nav_menu-7 .c-widget__title,
.l-footer-widget-area #nav_menu-8 .c-widget__title,
.l-footer-widget-area #nav_menu-9 .c-widget__title {
  width: min(100%, 1280px);
  margin: 0 auto 0.3rem;
  padding: 0 0 0.45rem !important;
  border: 0 !important;
  border-bottom: 1px solid #d9d4cb !important;
  background: transparent !important;
  color: #6f563b;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.9rem !important;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: left;
}

.l-footer-widget-area #nav_menu-3 .c-widget__title::before,
.l-footer-widget-area #nav_menu-3 .c-widget__title::after,
.l-footer-widget-area #nav_menu-4 .c-widget__title::before,
.l-footer-widget-area #nav_menu-4 .c-widget__title::after,
.l-footer-widget-area #nav_menu-5 .c-widget__title::before,
.l-footer-widget-area #nav_menu-5 .c-widget__title::after,
.l-footer-widget-area #nav_menu-7 .c-widget__title::before,
.l-footer-widget-area #nav_menu-7 .c-widget__title::after,
.l-footer-widget-area #nav_menu-8 .c-widget__title::before,
.l-footer-widget-area #nav_menu-8 .c-widget__title::after,
.l-footer-widget-area #nav_menu-9 .c-widget__title::before,
.l-footer-widget-area #nav_menu-9 .c-widget__title::after {
  content: none !important;
}

.l-footer-widget-area #nav_menu-3 .menu,
.l-footer-widget-area #nav_menu-4 .menu,
.l-footer-widget-area #nav_menu-5 .menu,
.l-footer-widget-area #nav_menu-7 .menu,
.l-footer-widget-area #nav_menu-8 .menu,
.l-footer-widget-area #nav_menu-9 .menu {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.l-footer-widget-area #nav_menu-3 .menu-item a,
.l-footer-widget-area #nav_menu-4 .menu-item a,
.l-footer-widget-area #nav_menu-5 .menu-item a,
.l-footer-widget-area #nav_menu-7 .menu-item a,
.l-footer-widget-area #nav_menu-8 .menu-item a,
.l-footer-widget-area #nav_menu-9 .menu-item a {
  position: relative;
  width: 100%;
  min-height: 2.05rem;
  padding: 0.35rem 0 0.35rem 1.05rem;
  border-bottom: 1px solid rgba(217, 212, 203, 0.72);
  font-size: 14px;
  letter-spacing: 0.08em;
  transition: color 0.25s ease, padding-left 0.25s ease;
}

.l-footer-widget-area #nav_menu-3 .menu-item a::before,
.l-footer-widget-area #nav_menu-4 .menu-item a::before,
.l-footer-widget-area #nav_menu-5 .menu-item a::before,
.l-footer-widget-area #nav_menu-7 .menu-item a::before,
.l-footer-widget-area #nav_menu-8 .menu-item a::before,
.l-footer-widget-area #nav_menu-9 .menu-item a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.38rem;
  height: 1px;
  background: #917756;
  transform: translateY(-50%);
  opacity: 0.72;
  transition: width 0.25s ease, opacity 0.25s ease;
}

.l-footer-widget-area #nav_menu-3 .menu-item a:hover,
.l-footer-widget-area #nav_menu-4 .menu-item a:hover,
.l-footer-widget-area #nav_menu-5 .menu-item a:hover,
.l-footer-widget-area #nav_menu-7 .menu-item a:hover,
.l-footer-widget-area #nav_menu-8 .menu-item a:hover,
.l-footer-widget-area #nav_menu-9 .menu-item a:hover {
  padding-left: 1.25rem;
  color: #917756;
}

.l-footer-widget-area #nav_menu-3 .menu-item a:hover::before,
.l-footer-widget-area #nav_menu-4 .menu-item a:hover::before,
.l-footer-widget-area #nav_menu-5 .menu-item a:hover::before,
.l-footer-widget-area #nav_menu-7 .menu-item a:hover::before,
.l-footer-widget-area #nav_menu-8 .menu-item a:hover::before,
.l-footer-widget-area #nav_menu-9 .menu-item a:hover::before {
  width: 0.62rem;
  opacity: 1;
}

.l-footer-widget-area .wp-bg-F2F1ED.wp-border-t {
  border-top-color: #e5e1da;
}

.l-footer-widget-area .wp-text-gray-400 {
  color: #5a6673;
}

.l-footer-widget-area .wp-text-gray-500 {
  color: #465567;
}

@media (min-width: 769px) {
  .l-footer-widget-area .c-row {
    display: grid;
    grid-template-columns: minmax(1.5rem, 1fr) repeat(6, minmax(0, 213px)) minmax(1.5rem, 1fr);
    background: #F2F1ED;
  }

  .l-footer-widget-area__item:has(#block-14),
  .l-footer-widget-area__item:has(#block-8) {
    grid-column: 1 / -1;
  }

  .l-footer-widget-area__item:has(#block-14) {
    margin-bottom: 2rem;
  }

  .l-footer-widget-area__item:has(#nav_menu-3),
  .l-footer-widget-area__item:has(#nav_menu-4),
  .l-footer-widget-area__item:has(#nav_menu-5),
  .l-footer-widget-area__item:has(#nav_menu-7),
  .l-footer-widget-area__item:has(#nav_menu-8),
  .l-footer-widget-area__item:has(#nav_menu-9) {
    min-width: 0;
    padding-right: 0;
    padding-left: 0;
    background: #F2F1ED;
  }

  .l-footer-widget-area__item:has(#nav_menu-3) {
    grid-column: 2;
  }

  .l-footer-widget-area__item:has(#nav_menu-4) {
    grid-column: 3;
  }

  .l-footer-widget-area__item:has(#nav_menu-5) {
    grid-column: 4;
  }

  .l-footer-widget-area__item:has(#nav_menu-7) {
    grid-column: 5;
  }

  .l-footer-widget-area__item:has(#nav_menu-8) {
    grid-column: 6;
  }

  .l-footer-widget-area__item:has(#nav_menu-9) {
    grid-column: 7;
  }

  .l-footer-widget-area #nav_menu-3,
  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9 {
    height: 100%;
    padding-right: clamp(1.25rem, 3vw, 3rem);
    padding-left: clamp(1.25rem, 3vw, 3rem);
  }

  .l-footer-widget-area #nav_menu-3,
  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9 {
    padding-top: 1.5rem;
    border-top: 1px solid #e5e1da;
  }

  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9 {
    border-left: 1px solid #e5e1da;
  }

  .l-footer-widget-area #nav_menu-3 .c-widget__title,
  .l-footer-widget-area #nav_menu-4 .c-widget__title,
  .l-footer-widget-area #nav_menu-5 .c-widget__title,
  .l-footer-widget-area #nav_menu-7 .c-widget__title,
  .l-footer-widget-area #nav_menu-8 .c-widget__title,
  .l-footer-widget-area #nav_menu-9 .c-widget__title,
  .l-footer-widget-area #nav_menu-3 .menu,
  .l-footer-widget-area #nav_menu-4 .menu,
  .l-footer-widget-area #nav_menu-5 .menu,
  .l-footer-widget-area #nav_menu-7 .menu,
  .l-footer-widget-area #nav_menu-8 .menu,
  .l-footer-widget-area #nav_menu-9 .menu {
    width: 100%;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  .l-footer-widget-area .c-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .l-footer-widget-area__item:has(#block-14),
  .l-footer-widget-area__item:has(#block-8) {
    grid-column: 1 / -1;
  }

  .l-footer-widget-area__item:has(#block-14) {
    margin-bottom: 3rem;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }

  .l-footer-widget-area__item:has(#nav_menu-3),
  .l-footer-widget-area__item:has(#nav_menu-4),
  .l-footer-widget-area__item:has(#nav_menu-5),
  .l-footer-widget-area__item:has(#nav_menu-7),
  .l-footer-widget-area__item:has(#nav_menu-8),
  .l-footer-widget-area__item:has(#nav_menu-9) {
    grid-column: auto;
  }

  .l-footer-widget-area #nav_menu-3,
  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .l-footer-widget-area #nav_menu-7 {
    border-left: 0;
  }
}

@media (max-width: 768px) {
  .l-footer-widget-area .c-row {
    display: block;
  }

  .l-footer-widget-area .c-row > .l-footer-widget-area__item {
    padding-left: 0;
    padding-right: 0;
  }

  .l-footer-widget-area #nav_menu-3 {
    padding: 2.2rem 1.25rem 1.2rem;
  }

  .l-footer-widget-area #nav_menu-3 .menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .l-footer-widget-area #nav_menu-3 .menu-item a {
    width: 100%;
    min-height: 2.5rem;
    justify-content: flex-start;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(217, 212, 203, 0.72);
    font-size: 0.82rem;
    letter-spacing: 0.08em;
  }

  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9 {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }

  .l-footer-widget-area #nav_menu-4 {
    padding-top: 1.3rem;
  }

  .l-footer-widget-area #nav_menu-9 {
    padding-bottom: 2.2rem;
  }

  .l-footer-widget-area .widget_nav_menu .menu {
    gap: 0.65rem 1.3rem;
  }

  .l-footer-widget-area .widget_nav_menu .menu-item a {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
  }

  .l-footer-widget-area #nav_menu-4 .c-widget__title,
  .l-footer-widget-area #nav_menu-5 .c-widget__title,
  .l-footer-widget-area #nav_menu-7 .c-widget__title,
  .l-footer-widget-area #nav_menu-8 .c-widget__title,
  .l-footer-widget-area #nav_menu-9 .c-widget__title {
    margin-bottom: 0.3rem;
    font-size: 0.85rem !important;
  }

  .l-footer-widget-area #nav_menu-4 .menu-item a,
  .l-footer-widget-area #nav_menu-5 .menu-item a,
  .l-footer-widget-area #nav_menu-7 .menu-item a,
  .l-footer-widget-area #nav_menu-8 .menu-item a,
  .l-footer-widget-area #nav_menu-9 .menu-item a {
    min-height: 2rem;
    padding-top: 0.34rem;
    padding-bottom: 0.34rem;
  }
}

/* フッター メインナビ */
.l-footer-widget-area #nav_menu-3 {
  background: #f2f1ed;
}

.l-footer-widget-area #menu-footer_menu_1,
.l-footer-widget-area #nav_menu-3 > .menu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.l-footer-widget-area #menu-footer_menu_1 > .menu-item,
.l-footer-widget-area #nav_menu-3 > .menu > .menu-item {
  margin: 0;
  padding: 0;
  border: 0;
}

.l-footer-widget-area #menu-footer_menu_1 > .menu-item > a,
.l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 2.05rem;
  width: 100%;
  padding: 0.35rem 0 0.35rem 1.05rem;
  border-bottom: 1px solid rgba(217, 212, 203, 0.72);
  color: #3f5062;
  background: transparent;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: left;
  text-decoration: none;
  transition: color 0.25s ease, padding-left 0.25s ease;
}

.l-footer-widget-area #menu-footer_menu_1 > .menu-item > a::after,
.l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a::after {
  content: none;
}

.l-footer-widget-area #menu-footer_menu_1 > .menu-item > a:hover,
.l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a:hover {
  padding-left: 1.25rem;
  color: #917756;
  background: transparent;
}

@media (max-width: 768px) {
  .l-footer-widget-area #nav_menu-3 {
    padding: 2rem 1.25rem;
    box-shadow: none !important;
    margin-bottom: 40px;
  }

  .l-footer-widget-area #menu-footer_menu_1,
  .l-footer-widget-area #nav_menu-3 > .menu {
    flex-direction: column;
  }

  .l-footer-widget-area #menu-footer_menu_1 > .menu-item > a,
  .l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a {
    min-height: 2rem;
    padding: 0.34rem 0 0.34rem 1.05rem;
    border-bottom: 1px solid rgba(145, 119, 86, 0.18);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
  }

  .l-footer-widget-area #menu-footer_menu_1 > .menu-item:last-child > a,
  .l-footer-widget-area #nav_menu-3 > .menu > .menu-item:last-child > a {
    border-bottom: 0;
  }

  .l-footer-widget-area #menu-footer_menu_1 > .menu-item > a::after,
  .l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a::after {
    content: none;
  }
}

/* フッター サイトマップ配置調整 */
@media (min-width: 1181px) {
  .l-footer-widget-area .c-row {
    grid-template-columns:
      minmax(2rem, 1fr)
      minmax(340px, 440px)
      repeat(2, minmax(300px, 390px))
      minmax(2rem, 1fr);
    grid-auto-flow: row;
    align-items: stretch;
    gap: clamp(0.55rem, 1.2vw, 0.9rem);
  }

  .l-footer-widget-area__item:has(#block-14) {
    grid-column: 1 / -1;
    margin-right: 0;
    margin-left: 0;
  }

  .l-footer-widget-area__item:has(#nav_menu-3) {
    grid-column: 2;
    grid-row: span 3;
    align-self: start;
    z-index: 2;
  }

  .l-footer-widget-area__item:has(#nav_menu-4),
  .l-footer-widget-area__item:has(#nav_menu-7),
  .l-footer-widget-area__item:has(#nav_menu-9) {
    grid-column: 3;
    margin-left: clamp(1.1rem, 2vw, 1.8rem);
  }

  .l-footer-widget-area__item:has(#nav_menu-5),
  .l-footer-widget-area__item:has(#nav_menu-8) {
    grid-column: 4;
  }

  .l-footer-widget-area__item:has(#nav_menu-4),
  .l-footer-widget-area__item:has(#nav_menu-5),
  .l-footer-widget-area__item:has(#nav_menu-7),
  .l-footer-widget-area__item:has(#nav_menu-8),
  .l-footer-widget-area__item:has(#nav_menu-9) {
    min-width: 0;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  .l-footer-widget-area .c-row {
    grid-template-columns: minmax(280px, 360px) repeat(2, minmax(0, 1fr));
    gap: clamp(0.45rem, 1.2vw, 0.75rem);
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .l-footer-widget-area__item:has(#nav_menu-3) {
    grid-column: 1;
    grid-row: span 3;
    align-self: start;
  }

  .l-footer-widget-area__item:has(#nav_menu-4),
  .l-footer-widget-area__item:has(#nav_menu-7),
  .l-footer-widget-area__item:has(#nav_menu-9) {
    grid-column: 2;
    margin-left: 1rem;
  }

  .l-footer-widget-area__item:has(#nav_menu-5),
  .l-footer-widget-area__item:has(#nav_menu-8) {
    grid-column: 3;
  }

  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-8 {
    border-left: 1px solid #e5e1da;
  }

  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-9 {
    border-left: 0;
  }
}

@media (min-width: 769px) and (max-width: 920px) {
  .l-footer-widget-area .c-row {
    grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  }

  .l-footer-widget-area__item:has(#nav_menu-4),
  .l-footer-widget-area__item:has(#nav_menu-5),
  .l-footer-widget-area__item:has(#nav_menu-7),
  .l-footer-widget-area__item:has(#nav_menu-8),
  .l-footer-widget-area__item:has(#nav_menu-9) {
    grid-column: 2;
    margin-left: 1rem;
  }
}

.l-footer-widget-area #nav_menu-3 {
  position: relative;
  z-index: 2;
  height: auto;
  padding-top: clamp(1.8rem, 3vw, 2.45rem);
  padding-bottom: clamp(1.8rem, 3vw, 2.45rem);
  border-top: 4px solid #bca37f;
  background: rgba(250, 249, 246, 0.96);
  box-shadow: 0 10px 22px rgba(23, 40, 60, 0.07);
}

@media (min-width: 1181px) {
  .l-footer-widget-area #nav_menu-3 {
    transform: translateY(-80px);
  }
}

.l-footer-widget-area #nav_menu-3 .c-widget__title {
  margin-bottom: 1.25rem;
  padding-bottom: 0.85rem !important;
  border-bottom-color: rgba(145, 119, 86, 0.32) !important;
  color: #17283c;
  font-size: 1.08rem !important;
  letter-spacing: 0.16em;
}

.l-footer-widget-area #nav_menu-3 .menu-item a,
.l-footer-widget-area #menu-footer_menu_1 > .menu-item > a,
.l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a {
  min-height: 2.65rem;
  padding: 0.62rem 0;
  border-bottom: 0;
  color: #17283c;
  font-size: 0.92rem;
  letter-spacing: 0.12em;
}

.l-footer-widget-area #nav_menu-3 .menu,
.l-footer-widget-area #menu-footer_menu_1,
.l-footer-widget-area #nav_menu-3 > .menu {
  gap: 0.28rem;
}

.l-footer-widget-area #nav_menu-3 .menu-item a::before,
.l-footer-widget-area #menu-footer_menu_1 > .menu-item > a::before,
.l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a::before,
.l-footer-widget-area #nav_menu-3 .menu-item a::after,
.l-footer-widget-area #menu-footer_menu_1 > .menu-item > a::after,
.l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a::after {
  content: none !important;
}

.l-footer-widget-area #nav_menu-3 .menu-item a:hover,
.l-footer-widget-area #menu-footer_menu_1 > .menu-item > a:hover,
.l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a:hover {
  padding-left: 0;
  color: #917756;
}

.l-footer-widget-area #nav_menu-4,
.l-footer-widget-area #nav_menu-5,
.l-footer-widget-area #nav_menu-7,
.l-footer-widget-area #nav_menu-8,
.l-footer-widget-area #nav_menu-9 {
  padding-top: clamp(1.25rem, 2.1vw, 1.7rem);
  padding-bottom: clamp(1.25rem, 2.1vw, 1.7rem);
  border: 1px solid #e5e1da !important;
}

@media (min-width: 769px) {
  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9 {
    padding-top: clamp(1.25rem, 2.1vw, 1.7rem);
  }
}

.l-footer-widget-area #nav_menu-4 .c-widget__title,
.l-footer-widget-area #nav_menu-5 .c-widget__title,
.l-footer-widget-area #nav_menu-7 .c-widget__title,
.l-footer-widget-area #nav_menu-8 .c-widget__title,
.l-footer-widget-area #nav_menu-9 .c-widget__title {
  margin-bottom: 0.75rem;
  font-size: 18px !important;
}

.l-footer-widget-area #nav_menu-4 .menu-item a,
.l-footer-widget-area #nav_menu-5 .menu-item a,
.l-footer-widget-area #nav_menu-7 .menu-item a,
.l-footer-widget-area #nav_menu-8 .menu-item a,
.l-footer-widget-area #nav_menu-9 .menu-item a {
  min-height: 2.2rem;
  padding: 0.36rem 0 0.36rem 0.95rem;
  border-bottom: 1px solid #e5e1da;
  font-size: 14px;
}

.l-footer-widget-area #nav_menu-4 .menu,
.l-footer-widget-area #nav_menu-5 .menu,
.l-footer-widget-area #nav_menu-7 .menu,
.l-footer-widget-area #nav_menu-8 .menu,
.l-footer-widget-area #nav_menu-9 .menu {
  gap: 0.2rem;
  border-top: 0;
}

.l-footer-widget-area #nav_menu-4 .menu-item a::before,
.l-footer-widget-area #nav_menu-5 .menu-item a::before,
.l-footer-widget-area #nav_menu-7 .menu-item a::before,
.l-footer-widget-area #nav_menu-8 .menu-item a::before,
.l-footer-widget-area #nav_menu-9 .menu-item a::before {
  width: 0.32rem;
  opacity: 0.55;
}

.l-footer-widget-area .c-row > .l-footer-widget-area__item:last-child {
  margin-top: 60px;
}

@media (max-width: 768px) {
  .l-footer-widget-area .c-row {
    background: #F2F1ED;
  }
  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9 {
    border-bottom: 0 !important;
  }

  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9 {
    margin-top: 0.65rem;
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    background: #F2F1ED !important;
  }

  .l-footer-widget-area #nav_menu-4 {
    margin-top: 0.65rem;
  }

  .l-footer-widget-area #nav_menu-3 .menu-item a,
  .l-footer-widget-area #menu-footer_menu_1 > .menu-item > a,
  .l-footer-widget-area #nav_menu-3 > .menu > .menu-item > a {
    border-bottom: 1px solid rgba(145, 119, 86, 0.18);
  }

  .l-footer-widget-area #nav_menu-3 .menu-item:last-child a,
  .l-footer-widget-area #menu-footer_menu_1 > .menu-item:last-child > a,
  .l-footer-widget-area #nav_menu-3 > .menu > .menu-item:last-child > a {
    border-bottom: 0;
  }
}


/* ========================================
   下層共通
======================================== */
:where(.is-layout-constrained,.is-layout-flow)>:where(h2:not([class*=is-style-]),h2.is-style-default) {
  background-color: transparent !important;
  border-left: none !important;
  padding: 0 !important;
}

.page-template-one-column .c-entry__header{
  display: none;
}

.page-template-one-column .l-contents__inner {
  margin-bottom: 0;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.l-contents-bottom-widget-area{
  margin-top: 0;
}

.page-template-one-column .p-breadcrumbs-wrapper{
  display: none;
}

.wp-object-cover {
  object-fit: cover;
  overflow: hidden;
}

figure img{
  width: 100%;
}

.under_header{
  padding-top: 100px;
  padding-bottom: 80px;
  margin-bottom: 15px;
}

.under_header h1{
  color: #17283C;
}

.breadcrumbs{
  color: #917756;
  padding-left: 0;
}

.wp-block-group:has(> .breadcrumbs) {
  padding-left: var(--_container-margin-left);
  padding-right: var(--_container-margin-right);
  box-sizing: content-box;
}


.under_header_padding{
  padding-top: 100px;
}

@media (max-width: 1130px){
  .under_header_padding{
    padding-top: 0px;
  }
  .under_header{
    padding-top: 180px;
  }
}


/* ========================================
   施術ページ系　追加
======================================== */

:root {
    --gold-accent: #bca37f;
}

.section-title-label {
    font-size: 14px;
    letter-spacing: 0.35em;
    color: var(--gold-accent);
    text-transform: uppercase;
}

.treatment_sub_copy {
    display: inline-block;
    width: fit-content;
    margin: 0 0 1.5rem !important;
    padding: 0.35rem 0.85rem !important;
    border: 0 !important;
    border-radius: 2px;
    background: #1a2e44 !important;
    color: #fff;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    font-size: clamp(0.9rem, 1.35vw, 1.05rem);
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.1em;
}

.treatment_sub_copy::before,
.treatment_sub_copy::after {
    content: none !important;
}

.treatment_point {
    counter-reset: treatment-point;
    display: grid;
    gap: 0.65rem;
    width: min(100%, 680px);
    margin: 0 0 1.6rem !important;
    padding: 1.25rem 1.5rem !important;
    list-style: none;
    background: rgba(26, 46, 68, 0.94);
    color: #fff;
}

.treatment_point li {
    counter-increment: treatment-point;
    position: relative;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    color: #fff;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    font-size: clamp(0.88rem, 1.2vw, 0.98rem);
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 0.06em;
}

.treatment_point li::before {
    content: counter(treatment-point, decimal-leading-zero);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 9999px;
    color: #fff;
    font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", Georgia, "Times New Roman", serif;
    font-size: 0.78rem;
    line-height: 1;
    letter-spacing: 0.04em;
}

@media (max-width: 768px) {
    .treatment_sub_copy {
        margin-bottom: 1.25rem !important;
        padding: 0.32rem 0.75rem !important;
        font-size: 0.9rem;
        letter-spacing: 0.06em;
    }

    .treatment_point {
        gap: 0.6rem;
        margin-bottom: 1.4rem !important;
        padding: 1rem 0.9rem !important;
    }

    .treatment_point li {
        grid-template-columns: 1.8rem minmax(0, 1fr);
        gap: 0.65rem;
        font-size: 0.86rem;
        line-height: 1.6;
        letter-spacing: 0.04em;
    }

    .treatment_point li::before {
        width: 1.8rem;
        height: 1.8rem;
        font-size: 0.72rem;
    }
}

.info-panel {
    border: 1px solid var(--stone);
    background: #fff;
    padding: 2rem;
}
@media (max-width: 768px){
  .info-panel {
    padding: 1.4rem;
  }
}

.concern-list {
    display: grid;
    gap: 0.9rem;
    max-width: 960px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.concern-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border: 1px solid #d8d2c6;
    border-left: 4px solid var(--gold-accent);
    background: #fff;
    color: #1a2e44;
    font-weight: 500;
}

.concern-icon {
    flex: 0 0 auto;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9999px;
    background: #1a2e44;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    line-height: 1;
    margin-top: 0.1rem;
}

#flow article .wp-block-group{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#flow article .wp-block-group:first-of-type{
  min-width:55px;
}

.flow-section.wp-bg-F2F1ED {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.flow-section.wp-bg-F2F1ED > .wp-px-6 {
    padding-left: 0;
    padding-right: 0;
}

.flow-section.wp-bg-FAF9F6,
#faq.wp-bg-FAF9F6 {
    background-color: transparent;
}

#flow .flow-list > article:nth-child(even) > div:first-child {
    background: var(--gold-accent);
    color: #fff;
}

.faq-item {
    border: 1px solid var(--stone);
    background: #fff;
}

.faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 1rem 3rem 1rem 1.25rem;
    color: #1a2e44;
    position: relative;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    color: #1a2e44;
}

.faq-item[open] summary::after {
    content: "-";
}

.faq-content {
    padding: 0 1.25rem 1.25rem;
    color: #6b7280;
}

.wp-absolute { position: absolute; }
.wp-w-14 { width: 3.5rem; }
.wp-h-14 { height: 3.5rem; }
.wp-h-260px { height: 260px; }
.wp-h-320px { height: 320px; }
.wp-max-w-5xl { max-width: 64rem; }
.wp-mt-6 { margin-top: 1.5rem; }
.wp-px-4 { padding-left: 1rem; padding-right: 1rem; }
.wp-py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.wp-pt-32 { padding-top: 10rem; }
.wp-pb-20 { padding-bottom: 5rem; }
.wp-pl-4 { padding-left: 1rem; }
.wp-p-10 { padding: 2.5rem; }
.wp-gap-5 { gap: 1.25rem; }
.wp-gap-12 { gap: 3rem; }
.wp-space-y-2 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.5rem; }
.wp-space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }
.wp-space-y-8 > :not([hidden]) ~ :not([hidden]) { margin-top: 2rem; }
.wp-border-2 { border-width: 2px; border-style: solid; }
.wp-border-l-2 { border-left-width: 2px; border-left-style: solid; }
.wp-border-D8C0C0 { border-color: #D8C0C0; }
.wp-border-E7D9B8 { border-color: #E7D9B8; }
.wp-bg-FCF8EE { background-color: #FCF8EE; }
.wp-text-base { font-size: 1rem; line-height: 2rem; }
.wp-text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.wp-text-gray-700 { color: #374151; }
.wp-shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); }
.wp-left-1-2 { left: 50%; }
.wp--top-3 { top: -0.75rem; }
.wp--translate-x-1-2 { transform: translateX(-50%); }

@media (min-width: 768px) {
    .wp-md-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .wp-md-text-6xl { font-size: 3.75rem; line-height: 1; }
    .wp-md-h-460px { height: 460px; }
}

@media (max-width: 1024px){
  .wp-pt-32 { padding-top: 9rem; }
}

/* ========================================
   キャンペーンページ
======================================== */
.experience .wp-block-tiptip-hyperlink-group-block .wp-block-image {
  overflow: hidden;
}

.experience .wp-block-tiptip-hyperlink-group-block .wp-block-image img {
  transition: transform 0.45s ease, opacity 0.45s ease;
  transform-origin: center;
}

.experience .wp-block-tiptip-hyperlink-group-block:hover .wp-block-image img,
.experience .wp-block-tiptip-hyperlink-group-block:focus-visible .wp-block-image img {
  opacity: 0.82;
  transform: scale(1.04);
}


/* ========================================
   料金表
======================================== */
.price_table_typeA {
  display: block;
  width: min(100%, 1280px);
  margin: 0 auto 1.2rem;
  color: #17283c;
}

.price_table_typeA > h2.wp-block-heading,
.price_table_typeA > h3.wp-block-heading {
  display: block;
  width: 100%;
  margin: 0 0 0.8rem !important;
  padding: 0.75rem 1.25rem !important;
  border: 0 !important;
  background: #17283c !important;
  color: #fff !important;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: left;
}

.price_table_typeA > h2.wp-block-heading::before,
.price_table_typeA > h2.wp-block-heading::after,
.price_table_typeA > h3.wp-block-heading::before,
.price_table_typeA > h3.wp-block-heading::after {
  content: none !important;
}

.price_table_typeA > .wp-block-table {
  width: 100%;
  margin: 0 !important;
  border: 1px solid rgba(188, 163, 127, 0.3);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.price_table_typeA table {
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  background: #fff;
}

.price_table_typeA .wp-block-table thead {
  border-bottom: 0;
}

.wp-block-table thead th, .wp-block-table tfoot td {
  font-weight: 500 !important;
}

.price_table_typeA thead th {
  padding: 0.75rem 1rem;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  background: #E5E1DA !important;
  color: #17283c !important;
  font-family: "Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
  vertical-align: middle;
}

.price_table_typeA thead th:first-child {
  width: 300px;
  text-align: left;
}

.price_table_typeA thead th:last-child {
  border-right: 0;
}

.price_table_typeA thead th,
.price_table_typeA thead th *,
.price_table_typeA thead th span,
.price_table_typeA thead th mark,
.price_table_typeA thead th a {
  opacity: 1 !important;
}

.price_table_typeA thead th br + * {
  display: inline;
}

.price_table_typeA tbody,
.price_table_typeA tr {
  width: 100%;
}

.price_table_typeA .wp-block-table td {
  min-height: 48px;
  padding: 0.7rem 1.25rem;
  border: none;
  border-right: 1px solid rgba(188, 163, 127, 0.3);
  border-bottom: 1px solid rgba(213, 207, 198, 0.8);
  background: #fff;
  color: #17283c;
  font-size: 1.05rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

.price_table_typeA td:first-child {
  width: 300px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-weight: 500;
  text-align: left;
  line-height: 1.7;
  border-right: 1px solid rgba(188, 163, 127, 0.3);
}

.price_table_typeA tr:last-child td {
  border-bottom: 0;
}

.price_table_typeA td:last-child {
  border-right: 0;
}

.price_table_typeA td:not(:first-child) {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .price_table_typeA > h2.wp-block-heading,
  .price_table_typeA > h3.wp-block-heading {
    position: relative;
    margin-bottom: 1.7rem !important;
    padding: 0.6rem 1rem !important;
    font-size: 1.2rem;
  }

  .price_table_typeA > h2.wp-block-heading::before,
  .price_table_typeA > h3.wp-block-heading::before {
    content: "横スクロールできます" !important;
    position: absolute;
    right: 2.2rem;
    bottom: -1.35rem;
    color: #917756;
    font-family: "Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    font-size: 0.72rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.08em;
    white-space: nowrap;
    pointer-events: none;
  }

  .price_table_typeA > h2.wp-block-heading::after,
  .price_table_typeA > h3.wp-block-heading::after {
    content: "→" !important;
    position: absolute;
    right: 0.6rem;
    bottom: -1.55rem;
    color: #917756;
    font-family: "Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    font-size: 1rem;
    line-height: 1.4;
    pointer-events: none;
    animation: tableScrollHint 1.4s ease-in-out infinite;
  }

  .price_table_typeA > .wp-block-table {
    overflow-x: auto;
    margin-top: 0 !important;
  }

  .price_table_typeA table {
    min-width: 560px;
  }

  .price_table_typeA thead th,
  .price_table_typeA .wp-block-table td {
    padding: 0.7rem 0.8rem;
    font-size: 0.96rem;
  }

  .price_table_typeA thead th:first-child,
  .price_table_typeA td:first-child {
    width: 200px;
  }

  .price_table_typeA td:first-child {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
    font-size: 0.92rem;
  }

  .price_table_typeA td:not(:first-child) {
    font-size: 1rem;
    text-align: center;
  }
}

/* Flexible Table Block */
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
  padding: 0.7rem 1.25rem;
}

.wp-block-flexible-table-block-table th,
.wp-block-flexible-table-block-table td {
  color: #17283c;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.06rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

.wp-block-flexible-table-block-table thead th {
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-weight: 500;
  font-size: 1.22rem;
  border: 0 !important;
}

.wp-block-flexible-table-block-table thead th a,
.wp-block-flexible-table-block-table thead th mark {
  color: #fff !important;
  text-decoration: none;
}

.wp-block-flexible-table-block-table thead th a:empty {
  display: none;
}

.wp-block-flexible-table-block-table tbody tr:first-child td {
  font-family: "Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 1px solid #fff !important;
  border-right: 1px solid #fff !important;
}

.wp-block-flexible-table-block-table tbody tr:first-child td:first-child {
  border-left-color: transparent !important;
}

.wp-block-flexible-table-block-table tbody tr:first-child td:last-child {
  border-right-color: transparent !important;
}

.wp-block-flexible-table-block-table td[rowspan] {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-weight: 500;
}

.wp-block-flexible-table-block-table tbody td:not(:first-child):not([rowspan]) {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-size: 1.12rem;
  font-weight: 500;
}

.wp-block-flexible-table-block-table tbody tr:not(:first-child) td:nth-child(n+4) {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.first-time_price-table thead th {
  background: #5b8faa !important;
}

.first-examination_price-table thead th {
  background: #b88c80 !important;
}

@media (max-width: 768px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile {
    position: relative;
    padding-top: 1.8rem;
  }

  .wp-block-flexible-table-block-table.is-scroll-on-mobile::before {
    content: "横スクロールできます";
    position: absolute;
    top: 0;
    right: 2.2rem;
    color: #917756;
    font-size: 0.72rem;
    line-height: 1.4;
    letter-spacing: 0.08em;
    white-space: nowrap;
    pointer-events: none;
  }

  .wp-block-flexible-table-block-table.is-scroll-on-mobile::after {
    content: "→";
    position: absolute;
    top: -0.05rem;
    right: 0.6rem;
    color: #917756;
    font-size: 1rem;
    line-height: 1.4;
    pointer-events: none;
    animation: tableScrollHint 1.4s ease-in-out infinite;
  }

  .wp-block-flexible-table-block-table.is-scroll-on-mobile table {
    min-width: 680px;
  }

  .wp-block-flexible-table-block-table th,
  .wp-block-flexible-table-block-table td {
    font-size: 0.95rem;
  }

  .wp-block-flexible-table-block-table tbody tr:first-child td {
    font-size: 0.96rem !important;
  }

  .wp-block-flexible-table-block-table tbody td:not(:first-child):not([rowspan]) {
    font-size: 0.9rem;
  }

  .wp-block-flexible-table-block-table tbody tr:not(:first-child) td:nth-child(n+4) {
    font-size: 0.95rem;
  }
}

@keyframes tableScrollHint {
  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(5px);
  }
}

/* 料金表 価格種別 */
.price_type {
  gap: 10px;
  width: min(100%, 1280px);
  margin: 0 auto 1.2rem !important;
}

.price_type > .wp-block-column {
  min-width: 0;
}

.price_type .wp-block-group {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  min-height: 56px;
  border: 1px solid #d5b799;
  background: #fff;
}

.price_type h3.wp-block-heading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  margin: 0 !important;
  padding: 0.85rem 1rem !important;
  border: 0 !important;
  background: #b88c80 !important;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
  white-space: nowrap;
  text-align: center;
}

.price_type h3.wp-block-heading::before,
.price_type h3.wp-block-heading::after {
  content: none !important;
}

.price_type p {
  display: flex;
  align-items: center;
  margin: 0 !important;
  padding: 0.85rem 1rem !important;
  color: #4b5563;
  font-size: 0.9rem;
  line-height: 1.55;
  letter-spacing: 0.04em;
  background: #fff;
}

.price_type_first-examination h3.wp-block-heading {
  background: #5b8faa !important;
}

.price_type_first-examination .wp-block-group {
  border-color: #5b8faa;
}

@media (max-width: 768px) {
  .price_type {
    gap: 8px;
  }

  .price_type .wp-block-group {
    grid-template-columns: 1fr;
  }

  .price_type h3.wp-block-heading {
    min-width: 0;
    width: 100%;
    justify-content: flex-start;
    padding: 0.75rem 0.9rem !important;
  }

  .price_type p {
    padding: 0.75rem 0.9rem !important;
    font-size: 0.84rem;
  }
}


/* 料金表アンカーメニュー */
.p-price-anchor-nav {
    width: min(100%, 1280px);
    margin: 0 auto 80px;
}

.p-price-anchor-parents {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.p-price-anchor-parent-item {
    position: relative;
}

.p-price-anchor-parent-item::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 14px;
}

.p-price-anchor-parent-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    padding: 1rem 2.6rem 1rem 1.2rem;
    background: linear-gradient(135deg, #1a2e44, #243c57);
    border: 1px solid rgba(26, 46, 68, 0.82);
    text-align: center;
    text-decoration: none;
    color: #fffdf8;
    font-family: "Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.08em;
    box-shadow: 0 10px 24px rgba(23, 40, 60, 0.06);
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
    backdrop-filter: blur(6px);
}

.p-price-anchor-parent-link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 0.52rem;
    height: 0.52rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-60%) rotate(45deg);
    opacity: 0.72;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* 子メニュー（隠す） */
.p-price-anchor-children {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 36px rgba(23, 40, 60, 0.12);
    list-style: none;
    padding: 0.45rem 0;
    margin: 0;
    z-index: 100;
    border: 1px solid rgba(188, 163, 127, 0.18);
    border-radius: 14px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
}

.p-price-anchor-child-item a {
    position: relative;
    display: block;
    padding: 0.78rem 1rem 0.78rem 1.28rem;
    text-decoration: none;
    color: #4a5563;
    font-size: 0.9rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    border-bottom: 1px solid rgba(229, 225, 218, 0.92);
    transition: background-color 0.25s ease, color 0.25s ease, padding-left 0.25s ease;
}

.p-price-anchor-child-item a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.72rem;
    width: 0.34rem;
    height: 1px;
    background: rgba(145, 119, 86, 0.78);
    transform: translateY(-50%);
    opacity: 0.72;
    transition: width 0.25s ease, opacity 0.25s ease;
}

.p-price-anchor-child-item:last-child a {
    border-bottom: 0;
}

/* PC：ホバーで表示 */
@media (min-width: 769px) {
    .p-price-anchor-parent-item:hover .p-price-anchor-children {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .p-price-anchor-parent-item:focus-within .p-price-anchor-children {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .p-price-anchor-parent-item:hover .p-price-anchor-parent-link,
    .p-price-anchor-parent-item:focus-within .p-price-anchor-parent-link,
    .p-price-anchor-parent-link:hover {
        background: linear-gradient(135deg, #243c57, #2f4d6f);
        border-color: rgba(36, 60, 87, 0.9);
        color: #ffffff;
        box-shadow: 0 16px 30px rgba(23, 40, 60, 0.18);
        transform: translateY(-2px);
    }

    .p-price-anchor-parent-item:hover .p-price-anchor-parent-link::after,
    .p-price-anchor-parent-item:focus-within .p-price-anchor-parent-link::after,
    .p-price-anchor-parent-link:hover::after {
        opacity: 1;
        transform: translateY(-42%) rotate(45deg);
    }

    .p-price-anchor-child-item a {
        z-index: 1;
    }

    .p-price-anchor-child-item a:hover {
        background: rgba(188, 163, 127, 0.12);
        color: #17283c;
        padding-left: 1.5rem;
    }

    .p-price-anchor-child-item a:hover::before {
        width: 0.56rem;
        opacity: 1;
    }
}

/* スマホ：タップで表示 */
@media (max-width: 768px) {
    .p-price-anchor-parents {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .p-price-anchor-parent-item {
        width: 100%;
    }

    .p-price-anchor-parent-link {
        justify-content: flex-start;
        text-align: left;
    }

    .p-price-anchor-children {
        position: static;
        width: 100%;
        margin-top: 8px;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        max-height: 0;
        overflow: hidden;
        padding-top: 0;
        padding-bottom: 0;
        transition: max-height 0.35s ease, padding 0.35s ease;
    }

    .p-price-anchor-parent-item.is-open .p-price-anchor-parent-link {
        background: linear-gradient(135deg, #243c57, #2f4d6f);
        border-color: rgba(36, 60, 87, 0.9);
        color: #ffffff;
        box-shadow: 0 14px 28px rgba(23, 40, 60, 0.16);
    }

    .p-price-anchor-parent-item.is-open .p-price-anchor-parent-link::after {
        transform: translateY(-42%) rotate(225deg);
        opacity: 1;
    }

    .p-price-anchor-parent-item.is-open .p-price-anchor-children {
        max-height: 420px;
        padding-top: 0.45rem;
        padding-bottom: 0.45rem;
    }
}

.p-price-parent-title,
.price_table_typeA,
.price_table_typeA > h2.wp-block-heading,
.price_table_typeA > h3.wp-block-heading {
    scroll-margin-top: 110px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .p-price-anchor-parent-link,
    .p-price-anchor-parent-link::after,
    .p-price-anchor-children,
    .p-price-anchor-child-item a {
        transition: none;
    }
}


/* 料金表アコーディオン */
.p-price-no-accordion-title {
  font-size: 1.65rem;
}

.p-price-parent-title {
  width: min(100%, 1280px);
  margin: clamp(3.5rem, 6vw, 5.5rem) auto 1.8rem !important;
  padding: 0.9rem 1.25rem !important;
  border: 0;
  background: linear-gradient(135deg, #1a2e44, #243c57);
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: clamp(1.28rem, 2.2vw, 1.65rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
}

.p-price-parent-title::before {
  content: none;
}

.p-price-list-container > .p-price-parent-title:first-child {
  margin-top: 0 !important;
}

.wp-block-accordion {
  width: min(100%, 1280px);
  margin-left: auto;
  margin-right: auto;
}

.wp-block-accordion-heading {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.wp-block-accordion-heading::before,
.wp-block-accordion-heading::after {
  content: none !important;
}

.wp-block-accordion-heading__toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 64px;
  padding: 1rem 0.5rem;
  border: 0;
  border-bottom: 1px solid #17283c;
  background: transparent;
  color: #17283c;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.25s ease, color 0.25s ease, padding-left 0.25s ease;
}

.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus-visible {
  background: rgba(145, 119, 86, 0.08);
  color: #917756;
  padding-left: 10px;
  outline: none;
}

.wp-block-accordion-heading__toggle-title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: clamp(0.98rem, 1.45vw, 1.14rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title{
  text-decoration: none;
}

.wp-block-accordion-heading__toggle-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #d6c7b5;
  border-radius: 9999px;
  color: #917756;
  font-size: 1.25rem;
  line-height: 1;
  transition: transform 0.28s ease, border-color 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-heading__toggle:focus-visible .wp-block-accordion-heading__toggle-icon {
  border-color: #917756;
  background: #917756;
  color: #fff;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle {
  color: #917756;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
  transform: rotate(45deg);
  border-color: #917756;
}

.wp-block-accordion-item.is-open > .wp-block-accordion-panel {
  padding-top: 20px;
  padding-bottom: 1.8rem;
}

@media (max-width: 768px) {
  .p-price-parent-title {
    margin: 2.75rem auto 2rem !important;
    padding: 0.7rem 1rem !important;
    font-size: 1.2rem;
    letter-spacing: 0.08em;
  }

  .p-price-no-accordion-title {
    font-size: 1.28rem;
  }

  .wp-block-accordion-heading__toggle {
    min-height: 56px;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }

  .wp-block-accordion-heading__toggle-title {
    font-size: 0.92rem;
  }

  .wp-block-flexible-table-block-table thead th {
    font-size: 1rem;
  }
}

/* アコーディオンパネル動き調整 */
.wp-block-accordion-panel {
    display: block !important;
    overflow: hidden !important;
    max-height: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.9;
    letter-spacing: 0.06em;
    transition: max-height 0.4s ease-in-out, visibility 0s linear 0.4s;
    visibility: hidden;
}

.is-open > .wp-block-accordion-panel {
    max-height: 2000px;
    transition: max-height 0.3s ease-in-out, visibility 0s linear 0s;
    visibility: visible;
}

.wp-block-accordion-panel > * {
    transition: transform 0.4s ease-in-out, opacity 0.4s ease;
    transform: translateY(-15px);
    opacity: 0;
}

.is-open > .wp-block-accordion-panel > * {
    transform: translateY(0);
    opacity: 1;
}

.wp-block-flexible-table-block-table {
    position: relative;
    z-index: 5;
}

/* FAQ */
.faq-category {
  width: min(100%, 1040px);
  margin-left: auto;
  margin-right: auto;
}

.faq_title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0 0 1.2rem !important;
  padding: 0 0 0.9rem !important;
  border: 0 !important;
  border-bottom: 1px solid #17283c !important;
  background: transparent !important;
  color: #17283c;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.14em;
}

.faq_title::before {
  content: "";
  flex: 0 0 auto;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 9999px;
  background: #917756;
}

.faq-category .wp-block-accordion-heading__toggle {
  align-items: flex-start;
  padding-left: 0;
  border-bottom-color: transparent;
}

.faq-category .wp-block-accordion-heading__toggle:hover,
.faq-category .wp-block-accordion-heading__toggle:focus-visible {
  padding-left: 0.5rem;
}

.faq-category .wp-block-accordion-heading__toggle-title {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.85rem;
}

.faq-category .wp-block-accordion-heading__toggle-title::before,
.faq-category .wp-block-accordion-panel > p::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 9999px;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 1rem;
  letter-spacing: 0;
}

.faq-category .wp-block-accordion-heading__toggle-title::before {
  content: "Q";
  border: 1px solid #917756;
  color: #917756;
  background: #fff;
}

.faq-category .wp-block-accordion-panel {
  padding-left: 0;
  padding-right: 0;
}

.faq-category .wp-block-accordion-panel > p {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.85rem;
  margin: 0;
  color: #4b5563;
}

.faq-category .wp-block-accordion-panel > p::before {
  content: "A";
  color: #fff;
  background: #17283c;
}

@media (max-width: 768px) {
  #faq > div {
    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .faq_title {
    font-size: 1.2rem;
  }

  .faq-category .wp-block-accordion-heading__toggle-title,
  .faq-category .wp-block-accordion-panel > p {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.7rem;
  }

  .faq-category .wp-block-accordion-heading__toggle-title::before,
  .faq-category .wp-block-accordion-panel > p::before {
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
  }
}

/* ========================================
   ABOUT KYOTO K CLINIC
======================================== */
.about-clinic {
  background: #faf9f6;
  color: #17283c;
}

.about-hero,
.about-message,
.about-values,
.about-director,
.about-space {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.about-hero {
  padding-top: 4rem;
  padding-bottom: 5rem;
}

.about-hero__inner,
.about-message__inner,
.about-values__inner,
.about-director__inner,
.about-space__inner {
  width: min(1120px, 100%);
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.about-hero__inner > *,
.about-message__inner > *,
.about-values__inner > *,
.about-director__inner > *,
.about-space__inner > * {
  max-width: none !important;
}

.about-hero__inner {
  display: grid;
  gap: 1.3rem;
  margin-bottom: 2.5rem;
  text-align: center;
}

.about-hero h1 {
  margin: 0;
  color: #17283c;
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: clamp(2.2rem, 4.2vw, 4.2rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.12em;
}

.about-hero p:not(.section-title-label) {
  width: min(720px, 100%);
  margin: 0 auto;
  color: #4b5563;
  font-size: 0.98rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.about-hero__image {
  width: min(1120px, 100%);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #d6c7b5;
}

.about-hero__image img,
.about-message__image img,
.about-director__image img,
.about-space__image img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.about-hero__image img {
  aspect-ratio: 16 / 7;
}

.about-message {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #fff;
}

.about-message__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.about-message__text h2,
.about-values__head h2,
.about-space__body h2 {
  margin: 0 0 1.4rem;
  color: #17283c;
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 2.8vw, 2.7rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.12em;
}

.about-message__text p:not(.section-title-label),
.about-space__body p:not(.section-title-label) {
  margin: 0 0 1.15rem;
  color: #4b5563;
  font-size: 0.95rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.about-message__image {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d6c7b5;
}

.about-message__image img {
  aspect-ratio: 4 / 5;
}

.about-values {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.about-values__head {
  margin-bottom: 2.5rem;
  text-align: center;
}

.about-values__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
}

.about-values__grid article {
  min-width: 0;
  padding: 2rem 1.5rem;
  border: 1px solid #d6c7b5;
  background: rgba(255, 255, 255, 0.7);
}

.about-values__grid span {
  display: block;
  margin-bottom: 1.1rem;
  color: #917756;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 1.65rem;
  line-height: 1;
  letter-spacing: 0.08em;
}

.about-values__grid h3 {
  margin: 0 0 0.85rem;
  color: #17283c;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.1em;
}

.about-values__grid p {
  margin: 0;
  color: #6b7280;
  font-size: 0.9rem;
  line-height: 1.85;
  letter-spacing: 0.06em;
}

.about-director {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #fff;
}

.about-director__inner {
  display: grid;
  grid-template-columns: minmax(260px, 0.5fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem);
}

.about-director.is-layout-constrained > *,
.about-director__inner.is-layout-constrained > *,
.about-director__body.is-layout-constrained > *,
.about-director__heading.is-layout-constrained > *,
.about-director__profile.is-layout-constrained > *,
.about-director__profile-row.is-layout-constrained > *,
.about-director__greeting.is-layout-constrained > *,
:root :where(.about-director.is-layout-constrained) > *,
:root :where(.about-director__inner.is-layout-constrained) > *,
:root :where(.about-director__body.is-layout-constrained) > *,
:root :where(.about-director__heading.is-layout-constrained) > *,
:root :where(.about-director__profile.is-layout-constrained) > *,
:root :where(.about-director__profile-row.is-layout-constrained) > *,
:root :where(.about-director__greeting.is-layout-constrained) > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.about-director.is-layout-constrained > .about-director__inner,
:root :where(.about-director.is-layout-constrained) > .about-director__inner {
  margin-left: auto !important;
  margin-right: auto !important;
}

.about-director__image {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d6c7b5;
}

.about-director__image img {
  aspect-ratio: 4 / 5;
}

.about-director__heading h2 {
  margin: 0 0 1.2rem;
  color: #17283c;
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 2.8vw, 2.7rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.12em;
}

.about-director__name {
  margin: -0.35rem 0 1.8rem !important;
  color: #17283c !important;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important;
  line-height: 1.6 !important;
  letter-spacing: 0.12em !important;
}

.about-director__body p:not(.section-title-label):not(.about-director__name) {
  margin: 0 0 1.15rem;
  color: #4b5563;
  font-size: 0.95rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.about-director__greeting {
  margin-top: 2rem;
}

.about-director__greeting h3,
.about-director__profile-row h3 {
  margin: 0 0 0.75rem;
  color: #17283c;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.12em;
}

.about-director__greeting h3 {
  padding-bottom: 0.6rem;
  color: #917756;
}

.about-director__profile {
  display: grid;
  gap: 1.1rem;
}

.about-director__profile-row {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid #e5e1da;
}

.about-director__profile-row:last-child {
  border-bottom: 1px solid #e5e1da;
}

.about-director__profile-row h3 {
  margin: 0;
  color: #917756;
}

.about-director__profile-row p,
.about-director__profile-row ul {
  margin: 0;
  padding: 0;
  color: #4b5563;
  font-size: 0.92rem;
  line-height: 1.85;
  letter-spacing: 0.06em;
}

.about-director__profile-row ul {
  list-style: none;
}

.about-director__profile-row li::before {
  content: "・";
}

.about-space {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #faf9f6;
}

.about-space__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.62fr);
  grid-template-areas:
    "large body"
    "large small";
  gap: 1.5rem clamp(2rem, 4vw, 4rem);
  align-items: end;
}

.about-space__image {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d6c7b5;
}

.about-space__image--large {
  grid-area: large;
}

.about-space__image--large img {
  aspect-ratio: 4 / 5;
}

.about-space__body {
  grid-area: body;
  align-self: center;
}

.about-space__image--small {
  grid-area: small;
}

.about-space__image--small img {
  aspect-ratio: 4 / 3;
}

.about-gallery {
  padding-bottom: 5rem;
}

.about-gallery > * {
  width: min(1120px, 100%);
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.about-gallery .is-layout-flex {
  gap: 1rem;
}

@media (max-width: 900px) {
  .about-message__inner,
  .about-values__grid,
  .about-director__inner,
  .about-space__inner {
    grid-template-columns: 1fr;
  }

  .about-space__inner {
    grid-template-areas:
      "body"
      "large"
      "small";
  }
}

@media (max-width: 768px) {
  .about-hero,
  .about-message,
  .about-values,
  .about-director,
  .about-space {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .about-hero {
    padding-top: 2.5rem;
    padding-bottom: 3.5rem;
  }

  .about-hero h1 {
    font-size: 2.1rem;
  }

  .about-hero__image img {
    aspect-ratio: 16 / 10;
  }

  .about-message,
  .about-values,
  .about-director,
  .about-space {
    padding-top: 3.25rem;
    padding-bottom: 3.25rem;
  }

  .about-message__text h2,
  .about-values__head h2,
  .about-director__heading h2,
  .about-space__body h2 {
    font-size: 1.55rem;
  }

  .about-director__profile-row {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .about-director__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .about-director__body {
    display: contents;
  }

  .about-director__heading {
    order: 1;
    text-align: center;
  }

  .about-director__inner > .wp-block-group:first-child {
    order: 2;
  }

  .about-director__name {
    order: 3;
    margin: -0.2rem 0 0 !important;
    font-size: 1.35rem !important;
    text-align: center;
  }

  .about-director__profile {
    order: 4;
  }

  .about-director__greeting {
    order: 5;
    margin-top: 1.3rem;
  }

  .about-values__head {
    margin-bottom: 1.8rem;
  }

  .about-values__grid {
    gap: 1rem;
  }

  .about-values__grid article {
    padding: 1.5rem 1.2rem;
  }

  .about-gallery {
    padding-bottom: 3.25rem;
  }

  .about-gallery .is-layout-flex {
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .about-gallery .wp-block-image {
    width: 100%;
    max-width: none;
  }
}

/* ========================================
   はじめての患者さまへ
======================================== */
.beginner-hero {
  padding: 4rem 0rem 5rem;
  background: #faf9f6;
  color: #17283c;
}

.beginner-hero__inner {
  display: grid;
  gap: 2.5rem;
  width: min(1120px, 100%);
  margin: 0 auto;
}

.beginner-hero__media {
  overflow: hidden;
  border: 1px solid #d6c7b5;
  background: #fff;
}

.beginner-hero__media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 6;
  object-fit: cover;
}


.beginner-hero__content h2 {
  margin: 0 0 1.5rem;
  color: #17283c;
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.25vw, 2.2rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.12em;
}

.beginner-hero__content p:not(.section-title-label) {
  margin: 0 0 1.2rem;
  color: #4b5563;
  font-size: 0.98rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.beginner-intro {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
  background: #fff;
  color: #17283c;
}

.beginner-intro__inner {
  display: grid;
  grid-template-columns: minmax(220px, 0.5fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  width: min(1120px, calc(100% - 3rem));
  max-width: 1120px !important;
  margin: 0 auto;
}

.beginner-intro__inner.alignfull {
  width: min(1120px, calc(100% - 3rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.beginner-intro__inner > *,
.beginner-intro__list > * {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.beginner-intro__lead h2 {
  margin: 0;
  color: #17283c;
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.35vw, 2.1rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.12em;
}

.beginner-intro__list {
  display: grid;
  gap: 1rem;
  min-width: 0;
  margin-block-start: auto;
}

.beginner-intro__list.is-layout-constrained > *,
:root :where(.beginner-intro__list.is-layout-constrained) > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.beginner-intro__list article {
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr);
  column-gap: 1.3rem;
  row-gap: 0.2rem;
  align-items: start;
  padding: 1.35rem 0;
  border-bottom: 1px solid #d6c7b5;
  text-align: left;
}

.beginner-intro__list article > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  text-align: left !important;
}

.beginner-intro__list article:first-child {
  border-top: 1px solid #d6c7b5;
}

.beginner-intro__list span {
  grid-row: span 2;
  color: #917756;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: 0.08em;
}

.beginner-intro__list h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: #17283c;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.1em;
}

.beginner-intro__list p {
  margin: 0 !important;
  padding: 0 !important;
  color: #6b7280;
  font-size: 0.92rem;
  line-height: 1.65;
  letter-spacing: 0.06em;
}

@media (max-width: 768px) {
  .beginner-hero {
    padding: 6.5rem 1.25rem 4rem;
  }

  .beginner-intro__inner {
    grid-template-columns: 1fr;
  }

  .beginner-hero__media img {
    aspect-ratio: 16 / 10;
  }

  .beginner-hero__content h2 {
    font-size: 1.55rem;
  }

  .beginner-intro__list article {
    grid-template-columns: 3.2rem minmax(0, 1fr);
    column-gap: 1rem;
  }
}


/* ========================================
   お問い合わせ
======================================== */
.reserve{
  background-color: #F4F3EF;
}
.reserve_intro_title strong{
  border-bottom: dotted 2px var(--gold-accent);
}


/* 流れ */
.reservation-flow {
  color: #17283c;
}

.reservation-flow-inner {
  width: min(1120px, calc(100% - 3rem));
  margin: 0 auto;
}

.reservation-flow-title {
  margin: 0 0 2.5rem;
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
  color: #17283c;
}

.reservation-flow-list {
  position: relative;
  display: grid;
  gap: 2rem;
}

.reservation-flow-list::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1px;
  height: 1.6rem;
  background: #d6cec1;
  transform: translateX(-50%);
}

.reservation-flow-item {
  position: relative;
  padding: 1.5rem 3rem;
  border: 1px solid #cfc4b5;
  background: rgba(255, 255, 255, 0.44);
  width: 100%;
}

.reservation-flow-item .reservation-flow-heading span,
.reservation-flow-item .reservation-flow-heading h3,
.reservation-flow-item .reservation-flow-heading p {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.reservation-flow-item + .reservation-flow-item::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  width: 1px;
  height: 2rem;
  background: #d6cec1;
  transform: translateX(-50%);
}

.reservation-flow-list::before {
    content: none;
}

.reservation-flow-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  color: #917756;
  margin-bottom: 10px;
}

.reservation-flow-number {
  position: relative;
  display: inline-block;
  padding-bottom: 0.18em;
  border-bottom: 1px solid #917756;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: 1.95rem;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.reservation-flow-heading h3 {
  margin: 0;
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.12em;
  color: #917756;
  padding-right: 30px;
}

.reservation-flow-item p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #17283c;
}

.reservation-flow-notes_wrapper {
  margin-top: 3.6rem;
}

.reservation-flow-notes {
  padding: 2.1rem 3.6rem;
  border: 4px double #17283c;
  background: rgba(255, 255, 255, 0.12);
}

.reservation-flow-notes h3 {
  margin: 0 0 1rem;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #17283c;
  margin-right: 70px;
}

.reservation-flow-notes ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.reservation-flow-notes li {
  font-size: 0.95rem;
  line-height: 1.75;
  letter-spacing: 0.06em;
  color: #17283c;
}

.reservation-flow-notes li::before {
  content: "・";
}

@media (max-width: 1024px) {
  .reservation-flow-inner {
    width: 100%;
  }

  .reservation-flow-title {
    margin-bottom: 1.75rem;
    font-size: 1.6rem;
  }

  .reservation-flow-list {
    gap: 1.5rem;
    padding-left: var(--_container-margin-left);
    padding-right: var(--_container-margin-right);
  }

  .reservation-flow-list::before {
    height: 1.35rem;
  }

  .reservation-flow-item .reservation-flow-heading{
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    min-height: 0;
    padding: 1.35rem 1.25rem;
  }

  .reservation-flow-item {
    padding: 10px;
  }

  .reservation-flow-item + .reservation-flow-item::before {
    height: 1.5rem;
  }

  .reservation-flow-number {
    font-size: 1.45rem;
    padding-bottom: 0.18em;
  }

  .reservation-flow-heading h3 {
    font-size: 1.35rem;
    padding-right: 0;
  }

  .reservation-flow-item p {
    font-size: 0.9rem;
    line-height: 1.7;
    letter-spacing: 0.04em;
  }

  .reservation-flow-notes {
    margin-top: 2.8rem;
    padding: 1.5rem 1.25rem;
    border-width: 3px;
  }
  .reservation-flow-notes_wrapper{
    padding-left: var(--_container-margin-left) !important;
    padding-right: var(--_container-margin-right) !important;
  }
}


/* ========================================
   アーカイブページ
======================================== */
.archive .under_header,
.category .under_header {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
  padding-top: 100px;
  padding-bottom: 80px;
  padding-left: var(--_container-margin-left);
  padding-right: var(--_container-margin-right);
  margin-bottom: 15px;
}

.under_title{
  max-width: 1280px;
  margin: 0 auto;
}

.archive .breadcrumbs,
.category .breadcrumbs,
.archive .under_header_padding .c-container,
.category .under_header_padding .c-container {
  padding-left:0;
}
  

.archive .c-entry__title,
.category .c-entry__title,
.archive .p-breadcrumbs-wrapper,
.category .p-breadcrumbs-wrapper {
  display: none;
}

.p-term-description.p-entry-content{
  display: none;
}

.archive-category-description-wrapper .p-entry-content{
  text-align: center;
  font-size: 18px;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__figure .c-entry-summary__term,
.single-post .c-entry-summary__term{
  display: none;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries--simple .c-entries__item,
.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries--text .c-entries__item,
.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries--text2 .c-entries__item {
  border-bottom: transparent;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries--simple .c-entries__item>a {
  padding-bottom:0;
  padding-top: 0;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries--simple {
  border-top: transparent;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .p-archive {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 0 4rem;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .p-archive::before {
  content: "新着記事";
  display: block;
  margin: 0 0 1.25rem;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  color: #17283c;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries.c-entries--simple {
  display: grid;
  gap: 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.archive .c-entries__item {
  margin: 0;
  padding: 0;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries__item > a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary {
  position: relative;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: 136px;
  background: #fff;
  box-shadow: 8px 8px 18px rgba(23, 40, 60, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries__item > a:hover .c-entry-summary {
  transform: translateY(-2px);
  box-shadow: 10px 12px 22px rgba(23, 40, 60, 0.15);
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary::after {
  content: "";
  position: absolute;
  right: 1.6rem;
  top: 50%;
  width: 44px;
  height: 1px;
  background: #917756;
  transform: translateY(-50%);
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary::before {
  content: "";
  position: absolute;
  right: 1.6rem;
  top: 50%;
  width: 10px;
  height: 1px;
  border: 0;
  background: #917756;
  transform: translateY(-50%) rotate(24deg);
  transform-origin: right center;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__figure {
  position: relative;
  width: 220px;
  height: 136px;
  overflow: hidden !important;
  background: #e9e9e7;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__figure::before,
.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__figure::after {
  content: none !important;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.5s ease !important;
  will-change: transform;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries__item > a:hover .c-entry-summary__figure img,
.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary:hover .c-entry-summary__figure img {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1.06) !important;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__figure > .c-entry-summary__term {
  display: none;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__body {
  display: grid;
  align-content: center;
  min-width: 0;
  padding: 1.55rem 6.5rem 1.2rem 1.75rem;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__header {
  display: contents;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__title {
  order: 2;
  margin: 0.25rem 0 0;
  font-size: 1.12rem;
  font-weight: 500;
  line-height: 1.55;
  color: #17283c;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__meta {
  display: contents;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-meta {
  display: contents;
  margin: 0;
  padding: 0;
  list-style: none;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-meta__item {
  margin: 0;
  padding: 0;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-meta__item--published {
  order: 1;
  display: block;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 0.95rem;
  line-height: 1.4;
  color: #8795a5;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-meta__item--categories {
  order: 3;
  display: block;
  margin-top: 0.75rem;
}

.archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-meta__item--categories .c-entry-summary__term {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.8rem;
  min-height: 1.35rem;
  padding: 0.15rem 0.85rem;
  border: 1px solid #d6c7b5;
  border-radius: 9999px;
  background: #fff;
  font-size: 0.72rem;
  line-height: 1.2;
  color: #917756;
}

@media (max-width: 768px) {
  .archive .under_header{
    padding-top: 180px;
  }
  .archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .p-archive {
    padding-bottom: 3rem;
  }

  .archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entries.c-entries--simple {
    gap: 1.25rem;
  }

  .archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__figure {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__body {
    padding: 1.1rem 1.25rem 3rem;
  }

  .archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary__title {
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary::after {
    right: 1.25rem;
    bottom: 1.35rem;
    top: auto;
    width: 28px;
    transform: none;
  }

  .archive:not(.post-type-archive-case):not(.post-type-archive-staff):not(.post-type-archive-price) .c-entry-summary::before {
    right: 1.25rem;
    bottom: 1.35rem;
    top: auto;
    width: 8px;
    transform: rotate(24deg);
  }
}


/* ========================================
   アーカイブサイドバーカテゴリー
======================================== */
.archive .l-sidebar-widget-area .widget_block {
  margin: 0;
}

.archive .l-sidebar-widget-area .wp-block-heading {
  margin: 0 0 1.8rem;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.16em;
  text-align: center;
  color: #17283c;
}

.archive .l-sidebar-widget-area .wp-block-heading::before,
.archive .l-sidebar-widget-area .wp-block-heading::after {
  content: none !important;
}

.archive .l-sidebar-widget-area .wp-block-categories-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.archive .l-sidebar-widget-area .cat-item {
  width: min(100%, 260px);
  margin: 0;
  padding: 0;
}

.archive .l-sidebar-widget-area .cat-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.55rem 1.35rem;
  border: 1px solid #d8c8b6;
  border-radius: 9999px;
  background: #fff;
  color: #917756;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.12em;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", sans-serif;
}

.archive .l-sidebar-widget-area .cat-item a:hover,
.archive .l-sidebar-widget-area .cat-item.current-cat a {
  border-color: #917756;
  background: #917756;
  color: #fff;
}

@media (max-width: 1024px) {
  .archive .l-sidebar-widget-area {
    margin-top: 3rem;
  }
}


/* ========================================
   アーカイブ　ページネーション
======================================== */
.archive .c-pagination {
  margin: 1.8rem 0 0;
  padding: 0;
  text-align: center;
}

.archive .c-pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 0;
  padding: 0;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", Georgia, "Times New Roman", serif;
  color: #17283c;
  font-size: 16px;
}

.archive .c-pagination__item,
.archive .c-pagination__item-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
  min-height: auto;
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #7c8b9a;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: color 0.25s ease;
}

.archive .c-pagination__item.current {
  color: #17283c;
}

.archive .c-pagination__item-link:not(:has(svg)) {
  font-size: 0;
}

.archive .c-pagination__item.current::before {
  content: "0";
  font-size: 1.5rem;
}

.archive .c-pagination__item-link:not(:has(svg))::before {
  content: "0";
  font-size: 1.5rem;
}

.archive .c-pagination__item-link:not(:has(svg)) {
  font-size: 1.5rem;
}

.archive .c-pagination__item-link:has(svg) {
  align-items: center;
  gap: 0.35rem;
  margin-left: 0.45rem;
  font-size: 0;
  line-height: 1;
  color: #7c8b9a;
}

.archive .c-pagination__item-link:has(svg)::before {
  content: "Next";
  font-size: 1.05rem;
  letter-spacing: 0.08em;
}

.archive .c-pagination__item-link:has(svg)::after {
  content: ">";
  font-size: 1.05rem;
  letter-spacing: 0;
}

.archive .c-pagination__item-link:has(svg[data-icon="angle-left"]) {
  order: -1;
  margin-right: 0.45rem;
  margin-left: 0;
}

.archive .c-pagination__item-link:has(svg[data-icon="angle-left"])::before {
  content: "<";
  letter-spacing: 0;
  transform: translateY(-0.02em);
}

.archive .c-pagination__item-link:has(svg[data-icon="angle-left"])::after {
  content: "Prev";
  font-size: 1.05rem;
  letter-spacing: 0.08em;
}


/* ========================================
   施術一覧ページ
   ======================================== */

/* カテゴリナビ（ボタングリッド） */
.menu-cat-nav {
  padding: 3.5rem 0rem;
  background: #faf9f6;
  border-bottom: 1px solid #e5e1da;
}
.menu-cat-nav__inner {
  width: min(1120px, calc(100% - 3rem));
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
/* is-layout-constrained の子要素への max-width/margin 強制をリセット */
.menu-cat-nav__inner > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* p.btn_anchor の余白リセット */
.menu-cat-nav__inner > p.btn_anchor {
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 768px) {
  .menu-cat-nav__inner {
    width: 100%;
    grid-template-columns: 1fr;
  }
}

/* お悩みセクション */
.concern-section {
  padding: 6rem 1.5rem;
  background: #F2F1ED;
}
.concern-section__inner {
  width: min(1120px, calc(100% - 3rem));
  margin: 0 auto;
}
.concern-section__head {
  text-align: center;
  margin-bottom: 3rem;
}
.concern-section__head h2 {
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho",Georgia,serif;
  font-size: clamp(1.65rem, 2.8vw, 2.7rem);
  font-weight: 400;
  color: #17283c;
  letter-spacing: 0.12em;
  line-height: 1.45;
  margin: 0.6rem 0 0.55rem;
}
.concern-sub {
  color: #4b5563;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin: 0;
}
.concern-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
}
@media (max-width: 900px) { .concern-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 540px)  { .concern-grid { grid-template-columns: repeat(2,1fr); } }
.concern-card {
  display: block;
  padding: 0.75rem;
  background: #fff;
  border: 1px solid #e5e1da;
  text-decoration: none;
  color: #17283c;
  text-align: center;
  transition: box-shadow 0.25s, transform 0.25s;
}
.concern-card:hover {
  box-shadow: 0 8px 22px rgba(23,40,60,0.1);
  transform: translateY(-2px);
}
#concern .wp-block-tiptip-hyperlink-group-block,
#concern .wp-block-tiptip-hyperlink-group-block:hover,
#concern .wp-block-tiptip-hyperlink-group-block:focus {
  --color-bkg-hover: #fff !important;
  background-color: #fff !important;
}
.concern-card img {
  display: block;
  margin: 0 auto;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 9999px;
  background: #fff;
}
.concern-card__name {
  margin-top: 0.75rem;
  font-size: 12px;
  letter-spacing: 0.12em;
  color: #586575;
  line-height: 1.5;
}

/* カテゴリセクション共通 */
.menu-cat-section { padding: 6rem 0rem; }
#aesthetic-dermatology, #aesthetic-internal-medicine { background: #faf9f6; }
#surgery { background: #fff; }
.menu-cat-section__inner {
  width: min(1280px, calc(100% - 3rem));
  margin: 0 auto;
}
.menu-cat-section__head {
  display: flex !important;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #d6c7b5;
  text-align: left;
}
/* is-layout-constrained による子要素の margin:auto を解除 */
.menu-cat-section__head > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.menu-cat-section__title-wrap {
  display: grid !important;
  gap: 0.35rem;
  text-align: left;
}
.menu-cat-section__title-wrap > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.menu-cat-section__title {
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho",Georgia,serif;
  font-size: clamp(1.65rem, 2.8vw, 2.7rem);
  font-weight: 400;
  color: #17283c;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0;
}
.menu-cat-section__count {
  font-family: "Cormorant Garamond",serif;
  font-size: 0.85rem;
  color: #8795a5;
  letter-spacing: 0.08em;
  white-space: nowrap;
  padding-bottom: 0.4rem;
}

/* 施術カードグリッド */
.treatment-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.5rem;
}
@media (max-width: 900px) { .treatment-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px)  { .treatment-grid { grid-template-columns: 1fr; } }

/* 施術カード */
.treatment-card {
  background: #fff;
  border: 1px solid #e5e1da;
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.3s;
  display: flex !important;
  flex-direction: column;
}
.treatment-card:hover {
  box-shadow: 0 12px 28px rgba(23,40,60,0.1);
  transform: translateY(-3px);
}
/* is-layout-constrained の子要素への max-width/margin 強制をリセット */
.treatment-card > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.treatment-card__link {
  display: flex !important;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  flex: 1;
}
.treatment-card__img-wrap {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  position: relative;
  flex-shrink: 0;
}
/* img-wrap 内の is-layout-constrained 子要素リセット */
.treatment-card__img-wrap > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.treatment-card__img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.treatment-card:hover .treatment-card__img-wrap img { transform: scale(1.05); }
.treatment-card__img-placeholder {
  position: absolute !important;
  inset: 0;
  display: flex !important;
  align-items: flex-end;
  padding: 0.85rem 1rem;
}
/* WordPress が挿入する空の p タグを非表示 */
.treatment-card__img-placeholder > p:empty {
  display: none;
}
.treatment-card__img-placeholder span {
  font-family: "Cormorant Garamond",serif;
  font-size: 0.6rem;
  letter-spacing: 0.28em;
  color: rgba(23,40,60,0.28);
  text-transform: uppercase;
}
.treatment-card__body {
  padding: 1.25rem;
  display: flex !important;
  flex-direction: column;
  gap: 0.4rem;
  flex: 1;
  text-align: left;
}
/* body 内の is-layout-constrained 子要素リセット */
.treatment-card__body > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.treatment-card__cat {
  font-size: 0.68rem;
  letter-spacing: 0.25em;
  color: #bca37f;
  text-transform: uppercase;
}
.treatment-card__name {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho",serif;
  font-size: 1.1rem;
  font-weight: 500;
  color: #17283c;
  letter-spacing: 0.1em;
  line-height: 1.45;
  margin: 0;
}
.treatment-card__name-jp {
  font-family: "Cormorant Garamond",serif;
  font-size: 0.8rem;
  color: #917756;
  letter-spacing: 0.1em;
  font-style: italic;
  margin: 0;
}
.treatment-card__desc {
  font-size: 0.84rem;
  color: #4b5563;
  line-height: 1.85;
  letter-spacing: 0.04em;
  margin: 0.25rem 0 0;
  flex: 1;
}
.treatment-card__footer {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem;
  border-top: 1px solid #e5e1da;
}
/* footer 内の is-layout-constrained 子要素リセット */
.treatment-card__footer > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.treatment-card__price {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP",serif;
  font-size: 0.78rem;
  color: #917756;
  letter-spacing: 0.06em;
}
.treatment-card__more {
  font-family: "Cormorant Garamond",serif;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: #1a2e44;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-transform: uppercase;
}
.treatment-card__more::after {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 0.5px;
  background: #1a2e44;
  transition: width 0.25s;
}
.treatment-card:hover .treatment-card__more::after { width: 2.2rem; }
.treatment-card__badge {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.25rem 0.7rem;
  background: #1a2e44;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP",serif;
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  z-index: 1;
}

/* 画像プレースホルダー */
.placeholder-machine  { background: linear-gradient(150deg,#ece8e2 0%,#d5cfc8 50%,#c9c1b8 100%); }
.placeholder-injection { background: linear-gradient(150deg,#e3e8ee 0%,#c9d3dc 50%,#bbc4ce 100%); }
.placeholder-lift      { background: linear-gradient(150deg,#e9e4ed 0%,#d4cedd 50%,#c7c0cc 100%); }
.placeholder-skin      { background: linear-gradient(150deg,#e3ede7 0%,#c8d9cf 50%,#bacfc1 100%); }
.placeholder-surgery   { background: linear-gradient(150deg,#ede7e3 0%,#d9cfc8 50%,#cfc0b9 100%); }

/* CTAセクション */
.menu-cta {
  padding: 6rem 1.5rem;
  background: #1a2e44;
  text-align: center;
}
.menu-cta__inner {
  width: min(680px, 100%);
  margin: 0 auto;
}
.menu-cta__label {
  display: block;
  font-family: "Cormorant Garamond",serif;
  font-size: 0.72rem;
  letter-spacing: 0.35em;
  color: #bca37f;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}
.menu-cta__title {
  font-family: "Cormorant Garamond","Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP",Georgia,serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.15em;
  line-height: 1.4;
  margin: 0 0 1rem;
}
.menu-cta__desc {
  font-size: 0.92rem;
  color: rgba(255,255,255,0.65);
  line-height: 2;
  letter-spacing: 0.08em;
  margin: 0 0 2.5rem;
}
.menu-cta__btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.menu-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 52px;
  padding: 0.65rem 2.2rem;
  border: 1px solid rgba(255,255,255,0.45);
  background: transparent;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New",sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.15em;
  text-decoration: none;
  transition: background-color 0.25s, color 0.25s, transform 0.25s;
}
.menu-cta-btn.is-primary {
  background: #fff;
  color: #1a2e44;
  border-color: #fff;
  box-shadow: 6px 6px 18px rgba(0,0,0,0.22);
}
.menu-cta-btn:hover { background: rgba(255,255,255,0.1); transform: translateY(-2px); }
.menu-cta-btn.is-primary:hover { background: rgba(255,255,255,0.9); transform: translateY(-2px); }

@media (max-width: 768px) {
  .menu-hero { padding: 5rem 1.25rem 4rem; }
  .concern-section, .menu-cat-section, .menu-cta { padding: 4rem 0rem; }
  .menu-cat-section__inner { width: 100%; padding-left: var(--_container-margin-left); padding-right: var(--_container-margin-right); }
  .menu-cat-section__head { flex-direction: column; align-items: flex-start; }
  .menu-cta-btn { min-width: 180px; }
}

.archive .c-pagination__item-link svg {
  display: none;
}

.archive .c-pagination__item-link:hover {
  color: #17283c;
}

@media (max-width: 768px) {
  .archive .c-pagination {
    margin-top: 3rem;
  }

  .archive .c-pagination .nav-links {
    gap: 0.85rem;
  }

  .archive .c-pagination__item.current::before,
  .archive .c-pagination__item-link:not(:has(svg)),
  .archive .c-pagination__item-link:not(:has(svg))::before {
    font-size: 1.3rem;
  }
}



/* ========================================
   記事詳細ページ
======================================== */
.p-comments.c-entry-aside,
.p-trackbacks.c-entry-aside,
.c-meta__item.c-meta__item--author{
  display: none;
}

.single .l-contents__container>.p-breadcrumbs-wrapper{
  padding-top: 150px;
  color: #917756;
}

.single .c-entry__header,
.single-post .c-entry__header {
  padding: 0 0 1.8rem;
  border-bottom: 1px solid #e5e1da;
}

.single .c-entry__title,
.single-post .c-entry__title {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", serif;
  font-size: clamp(1.55rem, 2.45vw, 2.25rem);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.08em;
  color: #17283c;
  margin-bottom: 20px;
}

.single .c-entry__title::before,
.single .c-entry__title::after,
.single-post .c-entry__title::before,
.single-post .c-entry__title::after {
  content: none !important;
}

.single .c-entry__meta,
.single-post .c-entry__meta {
  max-width: 1280px;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  color: #8795a5;
}

.single .c-entry__meta .c-meta,
.single-post .c-entry__meta .c-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single .c-entry__meta .c-meta__item,
.single-post .c-entry__meta .c-meta__item {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  color: #8795a5;
  font-size: 0.95rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.single .c-entry__meta svg,
.single-post .c-entry__meta svg,
.single .c-entry__meta .avatar,
.single-post .c-entry__meta .avatar {
  display: none !important;
}

.single .c-entry__meta .c-meta__item--author,
.single-post .c-entry__meta .c-meta__item--author {
  display: none !important;
}

.single .c-entry__meta time,
.single-post .c-entry__meta time {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  color: #8795a5;
}

.single .c-entry__meta .c-meta__term,
.single-post .c-entry__meta .c-meta__term {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.single .c-entry__meta .c-meta__term a,
.single-post .c-entry__meta .c-meta__term a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.8rem;
  min-height: 1.35rem;
  padding: 0.15rem 0.85rem;
  border: 1px solid #d6c7b5;
  border-radius: 9999px;
  background: #fff;
  color: #917756;
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.single .c-entry__meta .c-meta__term a:hover,
.single-post .c-entry__meta .c-meta__term a:hover {
  border-color: #917756;
  background: #917756;
  color: #fff;
}

.single .c-entry__content,
.single-post .c-entry__content {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.single .c-entry__content h2,
.single .c-entry__content h3,
.single .c-entry__content h4,
.single .c-entry__content h5,
.single-post .c-entry__content h2,
.single-post .c-entry__content h3,
.single-post .c-entry__content h4,
.single-post .c-entry__content h5 {
  margin: 2.6rem 0 1.2rem;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #17283c;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.08em;
}

.single .c-entry__content h2::before,
.single .c-entry__content h2::after,
.single .c-entry__content h3::before,
.single .c-entry__content h3::after,
.single .c-entry__content h4::before,
.single .c-entry__content h4::after,
.single .c-entry__content h5::before,
.single .c-entry__content h5::after,
.single-post .c-entry__content h2::before,
.single-post .c-entry__content h2::after,
.single-post .c-entry__content h3::before,
.single-post .c-entry__content h3::after,
.single-post .c-entry__content h4::before,
.single-post .c-entry__content h4::after,
.single-post .c-entry__content h5::before,
.single-post .c-entry__content h5::after {
  content: none !important;
}

.single .c-entry__content h2,
.single-post .c-entry__content h2 {
  position: relative;
  margin-top: 3.2rem;
  padding-bottom: 0.75rem !important;
  font-size: clamp(1.35rem, 1.9vw, 1.7rem);
}

.single .c-entry__content h3,
.single-post .c-entry__content h3 {
  position: relative;
  padding-bottom: 0.55rem !important;
  border-bottom: 1px solid #917756 !important;
  font-size: clamp(1.18rem, 1.45vw, 1.38rem);
}

.single .c-entry__content h4,
.single-post .c-entry__content h4 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: clamp(1.12rem, 1.45vw, 1.35rem);
}

.single .c-entry__content h4::before,
.single-post .c-entry__content h4::before {
  content: "" !important;
  display: block;
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 1px;
  background: #917756;
}

.single .c-entry__content h5,
.single-post .c-entry__content h5 {
  color: #917756;
  font-size: 1rem;
  letter-spacing: 0.12em;
}

@media (max-width: 1024px){
  .single .l-contents__container>.p-breadcrumbs-wrapper:first-child{
    padding-top: 120px;
  }
}

@media (max-width: 768px) {
  .single .c-entry__header,
  .single-post .c-entry__header {
    margin-bottom: 2rem;
    padding-bottom: 1.4rem;
  }

  .single .c-entry__title,
  .single-post .c-entry__title {
    margin-bottom: 1rem;
    font-size: 1.45rem;
    line-height: 1.55;
    letter-spacing: 0.05em;
  }

  .single .c-entry__meta .c-meta,
  .single-post .c-entry__meta .c-meta {
    gap: 0.6rem 0.85rem;
  }

  .single .c-entry__content h2,
  .single .c-entry__content h3,
  .single .c-entry__content h4,
  .single .c-entry__content h5,
  .single-post .c-entry__content h2,
  .single-post .c-entry__content h3,
  .single-post .c-entry__content h4,
  .single-post .c-entry__content h5 {
    margin-top: 2.2rem;
    margin-bottom: 1rem;
  }

  .single .c-entry__content h2,
  .single-post .c-entry__content h2 {
    font-size: 1.3rem;
  }

  .single .c-entry__content h3,
  .single-post .c-entry__content h3 {
    font-size: 1.16rem;
  }

  .single .c-entry__content h4,
  .single-post .c-entry__content h4 {
    font-size: 1.1rem;
  }
}



/* ========================================
   記事詳細 アイキャッチ・関連記事
======================================== */
.single .c-eyecatch,
.single-post .c-eyecatch {
  display: block;
  max-width: 100%;
  margin: 2.4rem auto 0;
  text-align: center;
}

.single .c-eyecatch img,
.single-post .c-eyecatch img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.single .p-related-posts__title,
.single-post .p-related-posts__title,
.single .p-related-posts .c-entry-aside__title,
.single-post .p-related-posts .c-entry-aside__title {
  display: block !important;
  margin: 0 0 2rem;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.16em;
  text-align: center;
  color: #17283c;
}

.single .p-related-posts__title::before,
.single .p-related-posts__title::after,
.single .p-related-posts .c-entry-aside__title::before,
.single .p-related-posts .c-entry-aside__title::after,
.single-post .p-related-posts__title::before,
.single-post .p-related-posts__title::after,
.single-post .p-related-posts .c-entry-aside__title::before,
.single-post .p-related-posts .c-entry-aside__title::after {
  content: none !important;
}

.single .p-related-posts__title span,
.single-post .p-related-posts__title span,
.single .p-related-posts .c-entry-aside__title span,
.single-post .p-related-posts .c-entry-aside__title span {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.single .p-related-posts__title::after,
.single .p-related-posts .c-entry-aside__title::after,
.single-post .p-related-posts__title::after,
.single-post .p-related-posts .c-entry-aside__title::after {
  content: "" !important;
  display: block;
  flex: none;
  width: 100%;
  height: 1px;
  margin: 0.85rem auto 0;
  background: #e5e1da;
}

.p-related-posts .c-entry-summary__meta {
  justify-content: start;
  margin-top: 0px;
  color: #8795a5;
}

@media (max-width: 768px) {
  .single .c-eyecatch,
  .single-post .c-eyecatch {
    margin-top: 1.8rem;
  }

  .single .p-related-posts__title,
  .single-post .p-related-posts__title,
  .single .p-related-posts .c-entry-aside__title,
  .single-post .p-related-posts .c-entry-aside__title {
    margin-bottom: 1.5rem;
    font-size: 1.3rem;
  }
}




/* ========================================
   症例写真　アーカイブページ　検索フィルター
======================================== */
.vkfs .vkfs__label-name-inner {
    font-size: 14px !important;
    color: #17283C;
}

.vkfs select{
  background: none !important;
}

.vk-filter-search-filter-search.vkfs select.vkfs__input-form {
    border-bottom: 1px solid #917756 !important;
    border-radius: 0 !important;
    padding: 10px 30px 10px 0 !important;
    width: 100% !important;
    font-size: 16px !important;
    box-shadow: none !important;
}

.vkfs :is(input[type=text],input[type=number],select){
  background-color: #fff !important;
  padding: 8px 25px 7px 10px !important;
}

@media screen and (min-width: 960px) {
    .vkfs .vkfs__labels {
        display: flex !important;
        gap: 40px !important;
        align-items: flex-end !important;
    }
    .vkfs__outer-wrap {
        flex: 1 !important;
        margin-bottom: 0 !important;
    }
}

form.vkfs .vkfs_submit {
    display: none !important;
}

.vkfs__outer-wrap.vkfs__taxonomy {
    position: relative !important;
}
.vkfs__outer-wrap.vkfs__taxonomy::after {
    content: '+' !important;
    position: absolute !important;
    right: 8px !important;
    bottom: 1px !important;
    font-size: 18px !important;
    color: #917756 !important;
    pointer-events: none !important;
}

.post-type-archive-case .p-archive .c-entries--panel.c-entries {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}

.post-type-archive-case .p-archive .c-entries--panel .c-entries__item {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

.post-type-archive-case .p-archive .c-entries--panel .c-entries__item > a {
  display: block;
  height: 100%;
}

@media (max-width: 1024px) {
  .post-type-archive-case .p-archive .c-entries--panel.c-entries {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .post-type-archive-case .p-archive .c-entries--panel.c-entries {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}



/* ========================================
   症例写真　詳細ページ
======================================== */
.single-case .c-entry__header{
  display: none;
}

.p-case-detail {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
  gap: 40px;
  width: min(100%, 1180px);
  margin: 3rem auto 0;
  color: #17283c;
}

.p-case-detail__left, 
.p-case-detail__right {
  min-width: 0;
}

.p-case-detail__main-img {
  display: block;
  width: 100%;
  height: auto;
  background: #111;
}

.p-case-detail__title {
  margin: 0 0 2.3rem !important;
  padding: 0 0 0.45rem !important;
  border: 0 !important;
  background: transparent !important;
  color: #17283c;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: clamp(1.25rem, 1.7vw, 1.55rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.08em;
}

.p-case-detail__section {
  margin: 0 0 2rem;
}

.p-case-detail__sub-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 0.8rem !important;
  padding: 0 0 0.45rem !important;
  border: 0 !important;
  border-bottom: 1px solid #17283c !important;
  background: transparent !important;
  color: #17283c;
  font-family: "Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.p-case-detail__text {
  font-size: 0.92rem;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #17283c;
}

.p-case-detail__price-header {
  margin: 0;
}

.p-case-detail__price-header .p-case-detail__sub-title {
  margin-bottom: 0.8rem !important;
}

.p-case-detail__price-note {
  flex: 0 0 auto;
  color: #17283c;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.p-case-detail__staff-flex {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.8rem, 4vw, 3rem);
  margin-top: 2.8rem;
}

.p-case-detail__staff-item {
  min-width: 0;
}

.p-case-detail__staff-thumb {
  width: min(150px, 100%);
  margin: 0 0 0.8rem;
  background: #f2f1ed;
  overflow: hidden;
}

.p-case-detail__staff-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  height: auto;
  object-fit: cover;
}

.p-case-detail__staff-name {
  margin: 0;
  color: #17283c;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.p-case-detail__staff-kana{
  color: #6b7280;;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.p-case-detail__price-table{
  margin-top: 60px;
}

.p-case-detail__footer-note {
  margin: 2rem 0 0;
  color: #17283c;
  font-size: 0.72rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.p-case-detail__title::before,
.p-case-detail__title::after,
.p-case-detail__sub-title::before,
.p-case-detail__sub-title::after {
  content: none !important;
}


@media screen and (max-width: 767px) {
  .p-case-detail {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 2rem;
  }

  .p-case-detail__title {
    margin-bottom: 1.7rem !important;
    font-size: 1.25rem;
  }

  .p-case-detail__section {
    margin-bottom: 1.6rem;
  }

  .p-case-detail__sub-title {
    font-size: 0.9rem;
  }

  .p-case-detail__staff-flex {
    grid-template-columns: 1fr 1fr;
    gap: 1.4rem;
    margin-top: 2rem;
  }

  .p-case-detail__staff-thumb {
    width: 100%;
  }
}


.single-case .c-breadcrumbs__item:nth-last-child(2) {
    display: none;
}

/* 関連記事セクション */
.p-related-case {
    margin-top: 80px;
    padding-top: 40px;
    border-top: 1px solid #eee;
    color: #333;
}

.p-related-case__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.p-related-case__header .p-related-case__title{
  margin-top: 0 !important;
}

.p-related-case__title {
    font-size: 20px;
    margin: 0;
}

.p-related-case__more-btn {
    display: inline-block;
    padding: 8px 20px;
    border: 1px solid #333;
    font-size: 12px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s;
}

.p-related-case__more-btn:hover {
    background: #333;
    color: #fff;
}

.p-related-case__list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.p-related-case__item {
    flex: 1;
    min-width: 280px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s;
}

.p-related-case__item:hover {
    transform: translateY(-5px);
}

.p-related-case__link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.p-related-case__thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.p-related-case__body {
    padding: 20px;
}

.p-related-case__entry-title {
    margin: 0 0 15px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.6;
}

.p-related-case__staff {
    display: flex;
    align-items: center;
    gap: 10px;
}

.p-related-case__label {
    font-size: 10px;
    padding: 2px 10px;
    border-radius: 2px;
}

.p-related-case__label--doctor {
    background: #967a5b;
    color: #fff;
}

.p-related-case__label--nurse {
    border: 1px solid #967a5b;
    color: #967a5b;
}

.p-related-case__staff-name {
    font-size: 13px;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
    .p-related-case__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .p-related-case__item {
        flex: none;
        width: 100%;
    }
}


/* サイドCTA 被り防止（1025px〜1407px） */
@media (min-width: 1025px) and (max-width: 1407px) {
  /* CTAエリア（#contact-area）は除外 */
  section.wp-block-group:not([id="contact-area"]) > div.wp-mx-auto {
    max-width: calc(100vw - 185px) !important;
  }

  body:not(.home):not(.front-page) :where(.c-entry__content, .p-entry-content) > *:not(.alignfull):not(#contact-area),
  body:not(.home):not(.front-page) :where(.c-entry__content, .p-entry-content) .alignfull > *:not(.alignfull):not(#contact-area) {
    max-width: calc(100vw - 185px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-8 {
    padding-right: 64px !important;
  }

  .l-footer-widget-area .wp-py-16 > .wp-max-w-7xl {
    max-width: calc(100vw - 185px) !important;
  }
}

/* .wp-singular h2 見出しフォントサイズ縮小 */
.wp-singular h2.wp-text-5xl.wp-md-text-6xl {
    font-size: 1.8rem;
    line-height: 1.2;
}
@media (min-width: 768px) {
    .wp-singular h2.wp-text-5xl.wp-md-text-6xl {
        font-size: 2.2rem;
        line-height: 1.2;
    }
}

/* h2.wp-text-4xl 見出しフォントサイズ縮小 */
@media (max-width: 768px) {
    h2.wp-text-4xl {
        font-size: 1.65rem;
        line-height: 1.3;
    }
}

/* h3.wp-text-3xl 見出しフォントサイズ縮小 */
@media (max-width: 768px) {
    h3.wp-text-3xl {
        font-size: 1.35rem;
        line-height: 1.4;
    }
}

/* Treatment child pages */
body.parent-pageid-944 h4 {
    font-weight: 500;
}

/* ========================================
   トップへ戻るボタン
======================================== */

/* ウィジェットコンテナをレイアウトから除去 */
.l-footer-widget-area__item:has(#back-to-top),
.c-widget:has(#back-to-top) {
    display: contents !important;
}

#back-to-top {
    position: fixed !important;
    bottom: 2rem;
    right: 1rem;
    width: 48px;
    height: 48px;
    background: #fff !important;
    border: 1px solid #E5E1DA !important;
    color: #1A2E44 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease, background 0.2s ease, color 0.2s ease;
    z-index: 9999;
    border-radius: 0;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none;
}

#back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
}

#back-to-top:hover {
    background: #1A2E44 !important;
    color: #fff !important;
}

#back-to-top svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: block;
}

@media (max-width: 768px) {
    #back-to-top {
        bottom: 1.25rem;
        right: 1.25rem;
        width: 42px;
        height: 42px;
    }
}

/* ========================================
   フッター サイトマップ補正
======================================== */

.l-footer-widget-area #nav_menu-10 {
  padding-right: clamp(1.25rem, 3vw, 3rem);
  padding-left: clamp(1.25rem, 3vw, 3rem);
  padding-top: clamp(1.25rem, 2.1vw, 1.7rem);
  padding-bottom: clamp(1.25rem, 2.1vw, 1.7rem);
  border: 1px solid #e5e1da !important;
}

.l-footer-widget-area #nav_menu-10 .c-widget__title {
  width: 100%;
  margin: 0 auto 0.75rem;
  padding: 0 0 0.45rem !important;
  border: 0 !important;
  border-bottom: 1px solid #d9d4cb !important;
  background: transparent !important;
  color: #6f563b;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 18px !important;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: left;
}

.l-footer-widget-area #nav_menu-10 .c-widget__title::before,
.l-footer-widget-area #nav_menu-10 .c-widget__title::after {
  content: none !important;
}

.l-footer-widget-area #nav_menu-10 .menu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.2rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-footer-widget-area #nav_menu-10 .menu-item a {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 100%;
  min-height: 2.2rem;
  padding: 0.36rem 0 0.36rem 0.95rem;
  border-bottom: 1px solid #e5e1da;
  color: #1A2E44;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP","Zen Kaku Gothic New", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: color 0.25s ease, padding-left 0.25s ease;
}

.l-footer-widget-area #nav_menu-10 .menu-item a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.32rem;
  height: 1px;
  background: #917756;
  transform: translateY(-50%);
  opacity: 0.55;
  transition: width 0.25s ease, opacity 0.25s ease;
}

.l-footer-widget-area #nav_menu-10 .menu-item a:hover {
  padding-left: 1.25rem;
  color: #917756;
}

.l-footer-widget-area #nav_menu-10 .menu-item a:hover::before {
  width: 0.62rem;
  opacity: 1;
}

@media (min-width: 1181px) {
  .l-footer-widget-area .c-row {
    grid-template-columns:
      minmax(2rem, 1fr)
      minmax(340px, 440px)
      minmax(300px, 390px)
      minmax(300px, 390px)
      minmax(2rem, 1fr);
  }

  .l-footer-widget-area__item:has(#nav_menu-3) {
    grid-column: 2;
    grid-row: span 2;
  }

  .l-footer-widget-area__item:has(#nav_menu-4),
  .l-footer-widget-area__item:has(#nav_menu-8) {
    grid-column: 3;
    margin-left: clamp(1.1rem, 2vw, 1.8rem);
  }

  .l-footer-widget-area__item:has(#nav_menu-5),
  .l-footer-widget-area__item:has(#nav_menu-10) {
    grid-column: 4;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  .l-footer-widget-area .c-row {
    grid-template-columns: minmax(280px, 360px) repeat(2, minmax(0, 1fr));
  }

  .l-footer-widget-area #nav_menu-10 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .l-footer-widget-area__item:has(#nav_menu-3) {
    grid-column: 1;
    grid-row: span 2;
  }

  .l-footer-widget-area__item:has(#nav_menu-4),
  .l-footer-widget-area__item:has(#nav_menu-8) {
    grid-column: 2;
    margin-left: 1rem;
  }

  .l-footer-widget-area__item:has(#nav_menu-5),
  .l-footer-widget-area__item:has(#nav_menu-10) {
    grid-column: 3;
  }

  .l-footer-widget-area #nav_menu-10 {
    border-left: 1px solid #e5e1da;
  }
}

@media (min-width: 769px) and (max-width: 920px) {
  .l-footer-widget-area__item:has(#nav_menu-10) {
    grid-column: 2;
    margin-left: 1rem;
  }

  .l-footer-widget-area #nav_menu-10 {
    border-left: 0 !important;
  }
}

@media (max-width: 768px) {
  .l-footer-widget-area #nav_menu-10 {
    margin-top: 0.65rem;
    padding-right: 1.25rem;
    padding-left: 1.25rem;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    background: #F2F1ED !important;
  }

  .l-footer-widget-area #nav_menu-10 .c-widget__title {
    margin-bottom: 0.3rem;
    font-size: 0.85rem !important;
  }
}

/* nav_menu-10 の外側余白を既存メニューと揃える */
.l-footer-widget-area__item:has(#nav_menu-10) {
  min-width: 0;
  margin-top: 0 !important;
  padding-right: 0;
  padding-left: 0;
  background: #F2F1ED;
}

/* タブレット幅でもフッターサイトマップは1カラムにする */
@media (max-width: 1024px) {
  .l-footer-widget-area .c-row {
    display: block;
    background: #F2F1ED;
  }

  .l-footer-widget-area .c-row > .l-footer-widget-area__item {
    padding-left: 0;
    padding-right: 0;
  }

  .l-footer-widget-area #nav_menu-3,
  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9,
  .l-footer-widget-area #nav_menu-10 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }

  .l-footer-widget-area #nav_menu-4,
  .l-footer-widget-area #nav_menu-5,
  .l-footer-widget-area #nav_menu-7,
  .l-footer-widget-area #nav_menu-8,
  .l-footer-widget-area #nav_menu-9,
  .l-footer-widget-area #nav_menu-10 {
    margin-top: 0.65rem;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    background: #F2F1ED !important;
  }
}


/* Googleマップ 全面表示 */
.top_ggl_map > div {
  width: 100%;
  height: 100%;
}

.top_ggl_map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
