/* Approved homepage navigation, shared by the homepage and existing site pages. */
body.clinic-shared-shell,body:has(.clinic-shared-shell){padding-top:0;overflow-x:clip;overflow-y:visible}
html:has(.clinic-shared-shell){scroll-padding-top:160px}
.clinic-shared-shell{--red:#d71920;--ink:#34302e;--muted:#69615d;--line:#e5dad6}
.clinic-shared-shell :is(.v2-header,.v2-mobile-menu,.v2-footer){font-family:"Noto Sans JP",sans-serif;line-height:1.95}
.clinic-shared-shell :is(.v2-header,.v2-mobile-menu,.v2-footer) a{text-decoration:none}
.clinic-shared-shell .v2-wrap{width:min(1100px,calc(100% - 90px));margin-inline:auto}
.clinic-shared-shell .v2-footer-logo img{display:block;width:100%;height:auto}
.clinic-shared-shell .v2-footer-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:70px; }
.clinic-shared-shell .v2-footer-logo { display:block; width:230px; margin-bottom:23px; }
.clinic-shared-shell .v2-footer-grid > div > p { font-size:13px; margin-top:15px; color:var(--muted); }
.clinic-shared-shell .v2-footer nav { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.clinic-shared-shell .v2-footer nav h3 { font-size:15px; padding-bottom:10px; border-bottom:1px solid #dccbc1; margin-bottom:13px; }
.clinic-shared-shell .v2-footer nav a { font-size:12px; display:block; margin-top:10px; }
.clinic-shared-shell .v2-footer nav a:hover { color:var(--red); text-decoration:underline; }
.clinic-shared-shell .v2-header { position:sticky; top:0; z-index:100; background:var(--red); color:#fff; }
.clinic-shared-shell .v2-header .v2-wrap { width:min(1180px,calc(100% - 64px)); }
.clinic-shared-shell .v2-header-main { min-height:86px; display:flex; align-items:center; gap:30px; }
.clinic-shared-shell .v2-logo { display:flex; align-items:center; gap:20px; flex-shrink:0; }
.clinic-shared-shell .v2-logo img { width:238px; height:auto; filter:brightness(0) invert(1); }
.clinic-shared-shell .v2-logo > span { font-size:15px; line-height:1.6; border-left:1px solid #ffffff80; padding-left:20px; white-space:nowrap; }
.clinic-shared-shell .v2-header-info { margin-left:auto; text-align:right; line-height:1.8; white-space:nowrap; }
.clinic-shared-shell .v2-header-info strong { display:block; font-size:13px; font-weight:500; }
.clinic-shared-shell .v2-header-info > span { display:block; font-size:11px; margin-top:3px; }
.clinic-shared-shell .v6-header-tools { display:flex; align-items:center; gap:25px; margin-left:auto; }
.clinic-shared-shell .v6-header-tools > a,.clinic-shared-shell .v2-menu-button { min-height:64px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#fff; background:none; border:0; padding:5px 0; font-size:11px; line-height:1.5; white-space:nowrap; cursor:pointer; }
.clinic-shared-shell .v6-header-tools > .v6-header-access { flex:0 0 auto; flex-direction:row; width:auto; height:54px; min-height:54px; padding:0 20px; gap:0; border:0; border-radius:4px; background:#fff; color:var(--red); font-size:17px; font-weight:700; line-height:1.4; text-align:center; }
.clinic-shared-shell .v6-header-tools > .v2-header-cta { flex:0 0 auto; flex-direction:row; height:54px; min-height:54px; padding:0 20px; gap:0; border-radius:4px; background:#06c755; color:#fff; font-size:17px; font-weight:700; line-height:1.4; text-align:center; }
.clinic-shared-shell .v6-mobile-treatment { display:none; }
.clinic-shared-shell .v2-menu-button { display:none; min-width:47px; }
.clinic-shared-shell .v2-menu-lines { display:block; width:35px; height:23px; margin-block:4px 5px; position:relative; border-block:1px solid currentColor; }
.clinic-shared-shell .v2-desktop-nav{display:block;background:#fff;color:var(--ink);border-bottom:1px solid #e5dad6}
.clinic-shared-shell .v2-desktop-nav > div { display:flex; }
.clinic-shared-shell .v2-desktop-nav > div > :is(a,details) { flex:1 0 auto; }
.clinic-shared-shell .v2-desktop-nav > div > a,.clinic-shared-shell .v2-desktop-nav > div > details > summary { font-size:14px; padding-inline:6px; }
.clinic-shared-shell .v2-desktop-nav a { position:relative; min-height:54px; display:flex; align-items:center; justify-content:center; padding:10px 6px; font-size:15px; font-weight:500; white-space:nowrap; }
.clinic-shared-shell .v2-desktop-nav a:after { content:''; position:absolute; inset:auto 12px -1px; height:3px; background:var(--red); transform:scaleX(0); transition:transform .2s; }
.clinic-shared-shell .v2-desktop-nav a:hover,.clinic-shared-shell .v2-desktop-nav a:focus-visible { color:var(--red); }
.clinic-shared-shell .v2-desktop-nav a:hover:after,.clinic-shared-shell .v2-desktop-nav a:focus-visible:after { transform:scaleX(1); }
.clinic-shared-shell .v5-mobile-quicknav { display:none; }
.clinic-shared-shell .v2-header :is(a,button):focus-visible { outline-color:#fff; }
.clinic-shared-shell .v2-mobile-menu { position:fixed; top:140px; inset-inline:0; z-index:99; color:var(--ink); background:#fff; max-height:calc(100dvh - 230px); overflow:auto; padding:20px max(32px,calc((100% - 1100px)/2)) 25px; box-shadow:0 10px 20px #5321261a; border-bottom:3px solid var(--red); }
.clinic-shared-shell .v6-menu-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 30px; }
.clinic-shared-shell .v6-menu-links a { display:flex; justify-content:space-between; align-items:center; min-height:58px; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px; font-weight:500; }
.clinic-shared-shell .v6-menu-links a span { color:var(--red); margin-left:10px; }
.clinic-shared-shell .v6-nav-dropdown:not([open]) > .v6-nav-dropdown__links { display:none; }
.clinic-shared-shell .v2-desktop-nav :is(.v6-nav-dropdown,.clinic-blog-menu) { position:relative; }
.clinic-shared-shell .v2-desktop-nav :is(.v6-nav-dropdown,.clinic-blog-menu) > summary { display:flex; justify-content:center; align-items:center; gap:6px; min-height:54px; font-weight:500; line-height:1.5; cursor:pointer; list-style:none; white-space:nowrap; }
.clinic-shared-shell .v2-desktop-nav :is(.v6-nav-dropdown,.clinic-blog-menu) > summary::-webkit-details-marker,.clinic-shared-shell .v6-menu-links :is(.v6-nav-dropdown,.clinic-blog-menu) > summary::-webkit-details-marker { display:none; }
.clinic-shared-shell .v2-desktop-nav .v6-nav-dropdown > summary > span { font-size:10px; }
.clinic-shared-shell .v2-desktop-nav .clinic-blog-menu > summary::after { content:'▾'; font-size:10px; }
.clinic-shared-shell .v2-desktop-nav :is(.v6-nav-dropdown__links,.clinic-blog-menu__links) { position:absolute; z-index:110; top:100%; left:0; width:200px; padding:8px 16px; background:#fff; border-top:2px solid var(--red); box-shadow:0 8px 24px #53212629; }
.clinic-shared-shell .v2-desktop-nav .clinic-blog-menu__links { left:auto; right:0; }
.clinic-shared-shell .v2-desktop-nav :is(.v6-nav-dropdown__links,.clinic-blog-menu__links) > a { justify-content:flex-start; min-height:42px; padding:8px 0; border-bottom:1px solid var(--line); font-size:14px; white-space:normal; }
.clinic-shared-shell .v2-desktop-nav :is(.v6-nav-dropdown__links,.clinic-blog-menu__links) > a::after { content:none; }
.clinic-shared-shell .v6-menu-links { align-items:start; }
.clinic-shared-shell .v6-menu-links :is(.v6-nav-dropdown,.clinic-blog-menu) > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:58px; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px; font-weight:500; line-height:1.95; list-style:none; cursor:pointer; }
.clinic-shared-shell .v6-menu-links .v6-nav-dropdown > summary > span { color:var(--red); }
.clinic-shared-shell .v6-menu-links .clinic-blog-menu > summary::before { content:none; }
.clinic-shared-shell .v6-menu-links .clinic-blog-menu > summary::after { content:'▾'; color:var(--red); font-size:12px; }
.clinic-shared-shell .v6-menu-links :is(.v6-nav-dropdown__links,.clinic-blog-menu__links) { display:grid; padding:4px 0 8px 10px; }
.clinic-shared-shell .v6-menu-links :is(.v6-nav-dropdown__links,.clinic-blog-menu__links) a { min-height:42px; padding:8px 0; font-size:13px; color:var(--red); }
.clinic-shared-shell .v6-menu-booking { margin-top:22px; display:flex; justify-content:center; align-items:center; gap:25px; }
.clinic-shared-shell .v6-menu-booking p { font-size:12px; }
.clinic-shared-shell .v6-menu-booking > a { display:flex; align-items:center; gap:15px; padding:12px 23px; background:#06c755; color:#fff; border-radius:999px; font-size:15px; font-weight:700; }
.clinic-shared-shell .v6-menu-booking .v6-menu-line-logo { display:block; flex:0 0 30px; width:30px; height:30px; }
.clinic-shared-shell .v6-follow-nav { display:none; }
.clinic-shared-shell .v2-footer{background:#fff;padding:50px 0 32px}
.clinic-shared-shell .v14-footer-lead{font-size:15px!important;font-weight:700}
.clinic-shared-shell .v2-menu-label{line-height:1.5}
.navigation-review-notice{display:flex;justify-content:center;gap:16px;padding:8px 16px;background:#fff4e3;color:#62513d;font-size:12px}
.navigation-review-notice a{text-decoration:underline}
@media(max-width:1150px){.clinic-shared-shell .v2-header-info{display:none}}
@media(max-width:1000px){
.clinic-shared-shell .v2-header .v2-wrap { width:calc(100% - 32px); }
.clinic-shared-shell .v2-header-main { min-height:80px; gap:20px; }
.clinic-shared-shell .v2-logo img { width:220px; }
.clinic-shared-shell .v2-logo > span { font-size:13px; padding-left:15px; }
.clinic-shared-shell .v6-header-tools { gap:20px; }
.clinic-shared-shell .v2-desktop-nav > .v2-wrap { width:calc(100% - 16px); }
.clinic-shared-shell .v2-desktop-nav a { font-size:13px; padding-inline:5px; }
.clinic-shared-shell .v2-desktop-nav > div > a,.clinic-shared-shell .v2-desktop-nav > div > details > summary { font-size:13px; padding-inline:5px; }
.clinic-shared-shell .v2-mobile-menu { top:134px; }
}
@media(max-width:760px){
.clinic-shared-shell{--mobile-text-unit:clamp(.78px,calc((100vw - 48px)/342),1.12px)}
html:has(.clinic-shared-shell){scroll-padding-top:66px}
.clinic-shared-shell .v2-wrap{width:calc(100% - 48px)}
.clinic-shared-shell .v2-header .v2-wrap{width:calc(100% - 30px)}
.clinic-shared-shell .v2-header-main{gap:10px}
.clinic-shared-shell .v6-header-tools{gap:17px}
.clinic-shared-shell .v6-header-tools>:is(.v6-header-access,.v2-header-cta){display:none}
.clinic-shared-shell .v2-menu-button{display:flex;padding:0;gap:0}
.clinic-shared-shell .v2-desktop-nav{display:none}
.clinic-shared-shell .v5-mobile-quicknav { display:block; padding:6px 8px; background:#fff; color:var(--red); border-bottom:1px solid #e5dad6; }
.clinic-shared-shell .v5-mobile-quicknav a { min-height:43px; display:flex; align-items:center; justify-content:center; gap:10px; padding:8px 10px; border:2px solid var(--red); border-radius:3px; background:#fff; font-size:15px; font-weight:700; line-height:1.5; }
.clinic-shared-shell .v5-treatment-arrow { display:flex; align-items:center; justify-content:center; flex:0 0 20px; width:20px; height:20px; border:1px solid currentColor; border-radius:50%; }
.clinic-shared-shell .v5-treatment-arrow svg { display:block; width:12px; height:12px; flex:none; }
.clinic-shared-shell .v5-mobile-quicknav a:focus-visible { outline-color:var(--red); }
.clinic-shared-shell .v2-mobile-menu { top:121px; max-height:calc(100dvh - 200px); padding:12px 20px 22px; }
.clinic-shared-shell .v6-menu-links { grid-template-columns:1fr 1fr; gap:0 20px; }
.clinic-shared-shell .v6-menu-links a { font-size:14px; min-height:58px; }
.clinic-shared-shell .v6-menu-links :is(.v6-nav-dropdown,.clinic-blog-menu) > summary { font-size:14px; }
.clinic-shared-shell .v6-menu-booking { display:block; margin-top:20px; text-align:center; }
.clinic-shared-shell .v6-menu-booking > a { justify-content:center; margin-top:10px; }

.clinic-shared-shell .v2-footer{padding:40px 0 28px}
.clinic-shared-shell .v2-footer-grid{grid-template-columns:1fr;gap:35px}
.clinic-shared-shell .v2-footer nav{gap:20px}
.clinic-shared-shell .v2-footer-grid>div>.v14-footer-lead{font-size:clamp(11px,calc(14 * var(--mobile-text-unit)),16px)!important}
}

:is(.clinic-home-v4,.clinic-shared-shell) .v2-footer .v2-footer-grid > div > .v14-footer-lead,
:is(.clinic-home-v4,.clinic-shared-shell) .v2-footer nav h3 { color:var(--red); }
@media (min-width:761px) {
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-mobile-menu { display:none; }
}

@media (max-width:760px) {
  :is(.clinic-home-v4,.clinic-shared-shell) {
    --mobile-header-unit:clamp(.86px,calc(100vw / 390),1.05px);
    --mobile-header-growth:clamp(16px,6.666667vw,28px);
    --mobile-header-height:calc(50px + var(--mobile-header-growth) * var(--mobile-header-expansion,1));
    /* Keep the hero in place while the fixed header contracts above it. */
    padding-top:calc(50px + var(--mobile-header-growth));
  }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-header { position:fixed; inset:0 0 auto; width:100%; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-header-main { height:var(--mobile-header-height); min-height:0; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-logo { min-width:0; flex-shrink:1; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-logo img { width:calc((144 + 60 * var(--mobile-header-expansion,1)) * var(--mobile-header-unit)); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v6-header-tools { flex-shrink:0; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button {
    --menu-line-offset:calc((7 + 3 * var(--mobile-header-expansion,1)) * var(--mobile-header-unit));
    width:calc((44 + 14 * var(--mobile-header-expansion,1)) * var(--mobile-header-unit));
    min-width:44px; height:calc(44px + 14px * var(--mobile-header-expansion,1)); min-height:44px;
  }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button .v2-menu-lines {
    border:0; width:calc((27 + 8 * var(--mobile-header-expansion,1)) * var(--mobile-header-unit));
    height:calc((17 + 6 * var(--mobile-header-expansion,1)) * var(--mobile-header-unit)); margin-block:3px;
  }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button .v2-menu-lines::before,
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button .v2-menu-lines::after { content:none !important; display:none !important; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-lines > span {
    position:absolute; inset:calc(50% - .5px) 0 auto; height:1px; border-radius:2px; background:currentColor;
  }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-lines > span:first-child { transform:translateY(calc(-1 * var(--menu-line-offset))); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-lines > span:last-child { transform:translateY(var(--menu-line-offset)); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button[aria-expanded=true] .v2-menu-lines > span:first-child { transform:rotate(30deg); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button[aria-expanded=true] .v2-menu-lines > span:nth-child(2) { opacity:0; transform:scaleX(.4); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button[aria-expanded=true] .v2-menu-lines > span:last-child { transform:rotate(-30deg); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-label { display:grid; font-size:clamp(9px,calc((9 + 2.5 * var(--mobile-header-expansion,1)) * var(--mobile-header-unit)),12px); white-space:nowrap; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-label > span { grid-area:1/1; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-label > span:last-child { opacity:0; transform:translateY(4px); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button[aria-expanded=true] .v2-menu-label > span:first-child { opacity:0; transform:translateY(-4px); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-button[aria-expanded=true] .v2-menu-label > span:last-child { opacity:1; transform:translateY(0); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-mobile-menu {
    top:var(--mobile-header-height); max-height:calc(100dvh - var(--mobile-header-height) - var(--v16-follow-height,55px));
    overscroll-behavior:contain; transform:translateY(-100%); opacity:0; visibility:hidden; pointer-events:none;
  }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-mobile-menu.is-open { transform:translateY(0); opacity:1; visibility:visible; pointer-events:auto; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v6-menu-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 calc(20 * var(--mobile-text-unit)); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v6-menu-links :is(a,.v6-nav-dropdown > summary,.clinic-blog-menu > summary) { font-size:clamp(11px,calc(14 * var(--mobile-text-unit)),16px); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v6-menu-links :is(.v6-nav-dropdown__links,.clinic-blog-menu__links) a { font-size:clamp(11px,calc(13 * var(--mobile-text-unit)),15px); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v5-mobile-quicknav a { font-size:calc(15 * var(--mobile-text-unit)); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v6-menu-booking p { font-size:clamp(11px,calc(12 * var(--mobile-text-unit)),14px); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v6-menu-booking > a { font-size:clamp(12px,calc(15 * var(--mobile-text-unit)),17px); }

  :is(.clinic-home-v4,.clinic-shared-shell) .v2-footer-logo { width:clamp(175px,calc(210 * var(--mobile-text-unit)),235px); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-footer-grid > div > .v14-footer-lead { font-size:clamp(11px,calc(14 * var(--mobile-text-unit)),16px); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-footer-grid > div > p { font-size:clamp(11px,calc(12 * var(--mobile-text-unit)),14px); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-footer nav { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:calc(20 * var(--mobile-text-unit)); }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-footer nav h3 { font-size:clamp(12px,calc(14 * var(--mobile-text-unit)),16px); white-space:nowrap; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-footer nav a { font-size:clamp(11px,calc(12 * var(--mobile-text-unit)),14px); }
}
/* Only navigation animates; the rest of the static design study stays still. */
@media (max-width:760px) and (prefers-reduced-motion:no-preference) {
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-lines > span { transition:transform .3s cubic-bezier(.22,.68,0,1),opacity .2s ease !important; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-menu-label > span { transition:opacity .2s ease,transform .25s ease !important; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-mobile-menu { transition:transform .34s cubic-bezier(.22,.68,0,1),opacity .24s ease,visibility 0s .34s !important; }
  :is(.clinic-home-v4,.clinic-shared-shell) .v2-mobile-menu.is-open { transition:transform .34s cubic-bezier(.22,.68,0,1),opacity .24s ease,visibility 0s !important; }
}
