@font-face {
  font-family: 'Branch Noto Sans';
  src: url('../assets/lower/NotoSansCJKjp-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Branch Noto Serif';
  src: url('../assets/lower/NotoSerifJP-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
/* Lower-page template. PC/SP are selected by WordPress UA detection. */
.branch-inner {
  --main-color: #55b53c;
  --sub-color: #ae986c;
  --third-color: #cbb993;
  --link-color: #608e42;
  --ink: #2e2e2e;
  --green: #55b53c;
  --gold: #ae986c;
  --serif: 'Branch Noto Serif', serif;
  --content-serif: 'YuMincho', 'Yu Mincho', 'Hiragino Mincho ProN', 'Branch Noto Serif', serif;
  --sans: 'Branch Noto Sans', sans-serif;
  color: var(--ink);
  font-feature-settings: 'palt';
  -webkit-font-smoothing: antialiased;
}
/* Use the Humanity base fonts consistently within lower-page main content. */
.branch-pc.branch-inner {
  --content-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica', 'Arial', 'Yu Gothic Medium', '游ゴシック Medium', 'YuGothic', '游ゴシック体', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Sans', 'Meiryo', sans-serif;
}
.branch-sp.branch-inner {
  --content-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Sans', sans-serif;
}
.branch-inner :is(.right-contents, .sp-contents) {
  --sans: var(--content-font);
  --serif: var(--content-font);
  --content-serif: var(--content-font);
  font-family: var(--content-font);
  font-weight: 400;
}
.branch-inner :is(.right-contents, .sp-contents) :is(.gothic, .mincho, .jost, input, textarea, select, button) {
  font-family: var(--content-font);
}
.branch-inner img { image-rendering: auto; }
.branch-inner a { transition: opacity .2s; }
.branch-inner :is(.pc-contents, .sp-contents) { overflow-wrap: anywhere; }
.branch-inner :is(h1,h2,h3,h4) { font-weight: 400; }
.branch-chrome {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
  container-type: inline-size;
  font-family: var(--serif);
  color: var(--ink);
  line-height: normal;
  font-feature-settings: 'palt';
}
.branch-chrome *, .branch-chrome *::before, .branch-chrome *::after { box-sizing: border-box; }
:where(.branch-chrome) :where(h1,h2,h3,h4,p,ul) { margin: 0; }
.branch-chrome :is(h1,h2,h3,strong) { font-weight: 400; }
:where(.branch-chrome) ul { padding: 0; list-style: none; }
.branch-chrome a { color: inherit; text-decoration: none; }
.branch-chrome img { display: block; max-width: 100%; }
.branch-chrome button { font: inherit; cursor: pointer; }
.branch-chrome [hidden] { display: none !important; }
.branch-chrome .site-footer { display: block; margin: 0; color: var(--ink); background-color: transparent; }
.branch-pc .branch-footer-chrome { max-width: none; }
.branch-chrome .menu-header { display: block; width: auto; margin: 0; background: transparent; }

/* Full-width page KV; pages without a matching image retain the title fallback. */
.branch-masthead { max-width: none; padding-top: 550px; background: linear-gradient(90deg,#fff 28%,#ffffff00 57%),#e9e9e9; }
.branch-masthead.has-kv { padding-top: 0; background: #fff; }
.branch-chrome .branch-kv { display: block; width: 100%; max-width: none; height: auto; }
.branch-masthead.has-kv .branch-page-heading { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; border: 0; }
.branch-chrome .branch-header { position: absolute; inset: 0 0 auto; display: block; width: 100%; height: 550px; margin: 0; padding: 0; color: inherit; background: transparent; }
.branch-pc .branch-masthead.has-kv .branch-header { height: 39.285714cqw; }
.branch-description { position: absolute; top: 15px; left: 29px; font: 14px/1.5 var(--sans); }
.branch-brand { display: flex; align-items: center; gap: 11px; }
.branch-header .branch-brand { position: absolute; top: 128px; left: 79px; }
.branch-brand-symbol { width: 75px; height: 75px; object-fit: contain; }
.branch-brand-wordmark { width: 235px; height: auto; }
.branch-quick-contact { position: fixed; z-index: 30; top: 57px; right: 0; width: 81px; }
.branch-quick-contact a { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 142px; position: relative; color: #fff; background: #b7a580; font: 18px/1.25 var(--sans); letter-spacing: .1em; }
.branch-quick-contact a + a { background: #a6a79d; }
.branch-quick-contact img { width: 38px; height: 36px; object-fit: contain; margin-bottom: 14px; }
.branch-quick-contact a + a img { width: 29px; height: 29px; }
.branch-quick-contact a::after, .branch-counseling-phone::after, .branch-counseling-booking::after { content: ''; position: absolute; right: 5px; bottom: 5px; width: 10px; height: 10px; background: #fff; clip-path: polygon(100% 0,100% 100%,0 100%); }
.branch-page-heading { position: absolute; left: 37px; top: 435px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 20px; max-width: 88%; border-bottom: 1px solid #aaa; padding: 0 9px 8px; }
.branch-page-heading h1 { font: 30px/1.35 var(--serif); letter-spacing: .1em; }
.branch-page-kicker { color: #ccc; font: 24px/1.35 Georgia,serif; letter-spacing: .06em; }
.branch-navigation { display: grid; grid-template-columns: .9fr 1.05fr 1fr .83fr 1.15fr 1.07fr; padding: 28px max(50px,calc((100% - 1200px)/2)) 0; background: #fff; height: 90px; }
.branch-navigation a { display: grid; place-items: center; height: 35px; border-left: 1px solid #666; font-size: 14px; letter-spacing: .15em; white-space: nowrap; }
.branch-navigation a:last-child { border-right: 1px solid #666; }
.branch-inner .pc-contents { width: 1200px; margin: 40px auto 110px; min-height: 300px; }

/* Grouped desktop sidebar; the same links form the mobile footer menu. */
.sidemenu h2 { position: relative; margin: -5px 0 43px; text-align: center; font: 30px/35px 'Times New Roman',serif; letter-spacing: .2em; }
.sidemenu h2::after { content: ''; position: absolute; top: 40px; left: 50%; width: 1px; height: 71px; background: #666; z-index: 1; }
.sidemenu .branch-menu-groups { border: 1px solid #777; padding: 62px 24px 52px; }
.branch-menu-group + .branch-menu-group { margin-top: 32px; }
.branch-menu-group h3 { margin: 0; padding: 5px 10px; background: #eeeae2; font: 16px/23px var(--sans); }
.sidemenu .branch-menu-group h3::before { content: '■'; }
.branch-menu-group ul { margin: 0; padding: 0; list-style: none; }
.branch-menu-group a { display: block; padding: 13px 10px; border-bottom: 1px dashed #555; font: 16px/23px var(--sans); }
.branch-menu-group a[aria-current] { color: #56893d; }
.branch-side-banners { display: grid; gap: 26px; margin-top: 38px; }
.branch-side-banners > a { position: relative; display: block; height: 195px; box-sizing: border-box; overflow: hidden; }
.branch-banner-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.branch-service-banner { border: 1px solid #ab9c77; }
.branch-banner-mark { position: absolute; top: 32px; left: 0; width: 159px; opacity: .37; }
.branch-service-banner::after { content: ''; position: absolute; inset: auto 0 0; height: 102px; background: linear-gradient(10deg,#b5a78477 50%,transparent 50%); }
.branch-service-banner p { position: absolute; z-index: 1; left: 12px; bottom: 10px; font-family: var(--serif); letter-spacing: .07em; }
.branch-service-banner :is(small,span,strong) { display: table; width: max-content; max-width: 100%; background: #ffffffe8; font-weight: 400; }
.branch-service-banner small { padding: 2px 9px; font-size: 16px; background: var(--gold); color: #fff; }
.branch-service-banner span { padding: 0 8px; font-size: 16px; }
.branch-service-banner strong { padding: 0 5px; font-size: 21px; }
.branch-price-banner { border: 5px solid #cfc6af; }
.branch-price-banner p { position: absolute; left: 6px; top: 7px; width: 131px; height: 131px; border-radius: 50%; background: #fff; display: flex; flex-direction: row-reverse; justify-content: center; align-items: center; gap: 5px; font-family: var(--serif); }
.branch-price-banner small { writing-mode: vertical-rl; background: var(--gold); color: #fff; font-size: 14px; padding: 5px 2px; }
.branch-price-banner p span { writing-mode: vertical-rl; font-size: 18px; line-height: 1.2; letter-spacing: .1em; }
.branch-banner-foreground { position: absolute; inset: 0; width: 100%; height: 100%; }
.branch-consultation-banner { border: 5px solid #7ba230; background: repeating-linear-gradient(135deg,#f3f3ed 0 1px,#fff 1px 4px); font-family: var(--serif); }
.branch-banner-doctor { position: absolute; top: 0; right: 0; width: 107px; height: 184px; }
.branch-consultation-banner p { position: relative; margin: 16px 0 0 10px; width: 190px; text-align: center; font-size: 15px; color: #7fa242; }
.branch-consultation-banner strong { display: block; margin-top: 6px; font-size: 40px; line-height: 1.2; font-weight: 400; letter-spacing: .08em; border-bottom: 1px solid #a4b284; }
.branch-consultation-banner ul { position: relative; margin: 10px 0 0; padding: 0 8px; list-style: none; background: #ffffffad; font-size: 13px; line-height: 1.9; letter-spacing: -.02em; }
.branch-consultation-banner li::before { content: '✓'; border: 1px solid #999; color: #b55d45; margin-right: 4px; font: 13px/1 sans-serif; }

/* Existing ACF heading classes retain their semantic HTML. */
.branch-inner .page-catch { margin: 0 10px 80px 0; padding: 50px 36px; color: #505050; border: 1px solid #d0e0c8; font: 18px/1.8 var(--content-serif); letter-spacing: .1em; }
.branch-inner .page-catch::after { inset: 10px auto auto 10px; border-color: #a6c995; z-index: 0; }
.branch-inner :is(.ttl-low,.ttl-low2,.ttl-low3,.ttl-low4,.ttl-low5) { --heading-color: var(--main-color); box-sizing: border-box; font: 18px/1.3333 var(--content-serif); letter-spacing: .1em; font-weight: 400; }
.branch-inner :is(.ttl-low1-2,.ttl-low2-2,.ttl-low3-2,.ttl-low4-2,.ttl-low5-2) { --heading-color: var(--sub-color); }
.branch-inner :is(.ttl-low1-3,.ttl-low2-3,.ttl-low3-3,.ttl-low4-3,.ttl-low5-3) { --heading-color: var(--third-color); }
.branch-inner .ttl-low { position: relative; padding: 10px 35px 12px 50px; color: #fff; background: linear-gradient(#686b4612 1px,transparent 1px),linear-gradient(90deg,#686b4612 1px,transparent 1px),var(--heading-color); background-size: 10px 10px; }
.branch-inner .ttl-low::before { content: ''; position: absolute; top: 10px; bottom: 0; left: 18px; width: 8px; background: #fff; }
.branch-inner .ttl-low2 { position: relative; padding: 10px 35px 12px 50px; border: 0; border-bottom: 1px solid; color: var(--heading-color); }
.branch-inner .ttl-low2::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 16px; background: linear-gradient(90deg,currentColor 0 10px,transparent 10px 13px,currentColor 13px 16px); }
.branch-inner .ttl-low3 { padding: 12px 50px; color: var(--heading-color); text-align: left; border-block: 1px dotted; }
.branch-inner .ttl-low4 { gap: 0 10px; color: var(--ink); font-size: 17px; }
.branch-inner .ttl-low4 > span { margin: 0; }
.branch-inner .ttl-low4 > span:first-child { margin: 0; padding: 5px 12px; background: var(--heading-color); color: #fff; }
.branch-inner .ttl-low4 > span:nth-child(n+2) { padding: 5px 0; flex: 1; }
.branch-inner .ttl-low5 { background: var(--heading-color); color: #fff; border-radius: 100px; padding: 11px 48px; }
.branch-inner .colunm { --column-bg: #fbf3f0; --column-border: #ecdad5; --column-band: #f3d0c5; padding: 30px; background: var(--column-bg); border: 1px solid var(--column-border); }
.branch-inner :is(.colunm + .colunm,.colunm--blue) { --column-bg: #eff7f9; --column-border: #bed8de; --column-band: #d1e6e9; }
.branch-inner .colunm .ttl-btn { position: relative; margin: 0 0 20px; padding: 12px 30px 12px 95px; background: var(--column-band); color: var(--ink); border-radius: 0; font: 18px/1.3 var(--content-serif); letter-spacing: .1em; text-align: center; }
.branch-inner .colunm .ttl-btn:last-child { margin-bottom: 0; }
.branch-inner .colunm .ttl-btn .colum { top: -9px; left: -13px; padding: 5px 20px; font: 14px/1.3 var(--sans); color: var(--column-border); border: 1px solid var(--column-border); border-radius: 0; transform: rotate(-18deg); background: #fff; }

/* Consultation contact panel: photo, logo, text and links are separate parts. */
.branch-inner .counseling { margin-top: 54px; margin-bottom: 0; }
.branch-inner .counseling > h2 { margin-bottom: 12px; }
.branch-inner .counseling > p { font: 14px/1.5 var(--sans); }
.branch-counseling-card { position: relative; background: #ecf8e3; min-height: 463px; margin-top: 18px; overflow: hidden; }
.branch-counseling-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.branch-counseling-details { position: relative; width: 386px; box-sizing: border-box; margin: 18px 0 15px 16px; padding: 19px 21px 22px; background: #ffffffe0; font-family: var(--sans); }
.branch-counseling-details .branch-brand { gap: 16px; padding-bottom: 12px; margin-right: 26px; border-bottom: 1px solid #999; }
.branch-counseling-details .branch-brand-symbol { width: 64px; height: 64px; }
.branch-counseling-details .branch-brand-wordmark { width: 238px; }
.branch-counseling-details .branch-counseling-label { font-size: 17px; line-height: 25px; text-align: center; margin-top: 10px; }
.branch-counseling-phone,.branch-counseling-booking { position: relative; display: flex; justify-content: center; align-items: center; gap: 20px; min-height: 62px; box-sizing: border-box; padding: 8px; background: #a6a79d; color: #fff !important; }
.branch-counseling-phone { font-size: 30px; letter-spacing: .05em; }
.branch-counseling-booking { margin-top: 13px; font: 24px/1.3 var(--serif); background: #b7a580; }
.branch-counseling-phone::before,.branch-counseling-booking::before { content: ''; width: 24px; height: 28px; background: url('../assets/design/assets/parts/icon-phone@2x.webp') center/contain no-repeat; }
.branch-counseling-booking::before { width: 30px; background-image: url('../assets/design/assets/parts/icon-consultation@2x.webp'); }
.branch-counseling-details address { font: normal 17px/1.3 var(--sans); }
.branch-counseling-details address p { position: relative; padding-left: 37px; margin-top: 12px; }
.branch-counseling-details address p::before { content: ''; position: absolute; left: 4px; top: 7px; width: 21px; height: 31px; background: radial-gradient(circle at 50% 28%,transparent 0 4px,#333 5px); clip-path: polygon(50% 100%,6% 40%,0 25%,7% 10%,25% 0,75% 0,93% 10%,100% 25%,94% 40%); }
.branch-counseling-details address p:last-child::before { clip-path: none; background-color: transparent; background-size: contain; background-repeat: no-repeat; background-position: center; background-image: url('../assets/design/assets/parts/icon-train@2x.webp'); }
.branch-page-top { position: absolute; z-index: 2; top: -86px; right: 0; width: 45px; height: 188px; display: flex; align-items: center; gap: 12px; padding: 15px 9px; writing-mode: vertical-rl; font: 16px/1.2 var(--serif); background: var(--gold); color: #fff !important; }
.branch-page-top span { writing-mode: horizontal-tb; font-size: 40px; font-weight: 200; }

/* Mobile dimensions follow the 750px PSD and scale down to actual devices. */
.branch-sp.branch-inner { max-width: 750px; min-width: 0; margin-inline: auto; font-family: var(--sans); }
.branch-sp .branch-chrome { max-width: 750px; }
.branch-sp .branch-masthead { padding-top: 68%; background: #e9e9e9; }
.branch-sp .branch-masthead.has-kv { padding-top: 21.33333cqw; background: #fff; }
.branch-sp .branch-chrome .branch-header { height: 21.33333cqw; background: #fff; }
.branch-sp .branch-description { top: 0; left: 0; width: 100%; height: 5.33333cqw; display: flex; align-items: center; padding: 0 4.26667cqw; background: #8fc31f; color: #fff; font-size: 2.53333cqw; letter-spacing: -.01em; white-space: nowrap; }
.branch-sp .branch-header .branch-brand { top: 7.2cqw; left: 4.4cqw; gap: 1.73333cqw; }
.branch-sp .branch-brand-symbol { width: 12cqw; height: 12cqw; }
.branch-sp .branch-brand-wordmark { width: 37.46667cqw; }
.branch-sp .branch-header .menu-toggle { top: 5.2cqw; height: 16.13333cqw; padding-top: 3.73333cqw; }
.branch-sp .branch-header .menu-toggle span { flex-shrink: 0; background: #55b53c; }
.branch-sp .branch-page-heading { width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; border: 0; }
.branch-sp .sp-contents { padding: min(9.2vw,69px) min(3.2vw,24px) 0; }
.branch-sp.branch-inner .page-catch { margin: 0 0 min(5.06667vw,38px); padding: min(6.93333vw,52px) min(5.86667vw,44px); font-size: min(4vw,30px); line-height: 1.6; letter-spacing: .06em; border: 3px double #d0e0c8; }
.branch-sp.branch-inner .page-catch::after { display: none; }
.branch-sp.branch-inner :is(.ttl-low,.ttl-low2,.ttl-low3,.ttl-low4,.ttl-low5) { font-family: var(--sans); font-size: min(4vw,30px); line-height: 1.26667; letter-spacing: .06em; }
.branch-sp.branch-inner .ttl-low { padding: min(3.06667vw,23px) min(7.33333vw,55px); background-size: min(1.33333vw,10px) min(1.33333vw,10px); }
.branch-sp.branch-inner .ttl-low::before { top: min(1.6vw,12px); left: min(1.73333vw,13px); width: min(1.73333vw,13px); }
.branch-sp.branch-inner .ttl-low2 { padding: min(.93333vw,7px) min(5.73333vw,43px) min(.93333vw,7px) min(7.46667vw,56px); }
.branch-sp.branch-inner .ttl-low2::before { width: min(1.73333vw,13px); background: currentColor; }
.branch-sp.branch-inner .ttl-low3 { padding: min(2.13333vw,16px) min(7.46667vw,56px) min(2.13333vw,16px) min(11.06667vw,83px); }
.branch-sp.branch-inner .ttl-low5 { padding: min(1.33333vw,10px) min(6.4vw,48px); }
.branch-sp.branch-inner .ttl-low4 { gap: 0 min(1.6vw,12px); }
.branch-sp.branch-inner .ttl-low4 > span:first-child { padding: min(1.06667vw,8px) min(2.53333vw,19px); }
.branch-sp.branch-inner .ttl-low4 > span:nth-child(n+2) { padding-block: min(1.06667vw,8px); }
.branch-sp.branch-inner .colunm { padding: min(3.33333vw,25px); font: min(3.46667vw,26px)/1.36218 var(--sans); letter-spacing: .12em; }
.branch-sp.branch-inner .colunm .ttl-btn { font-family: var(--sans); font-size: min(4vw,30px); line-height: 1.26667; padding: min(1.33333vw,10px) min(2.66667vw,20px) min(1.33333vw,10px) min(20.93333vw,157px); margin-bottom: min(3.73333vw,28px); letter-spacing: .06em; }
.branch-sp.branch-inner .colunm .ttl-btn .colum { font-size: min(3.2vw,24px); padding: min(.66667vw,5px) min(3.2vw,24px); left: 0; top: min(-.53333vw,-4px); }
.branch-sp.branch-inner .counseling { margin-top: min(6vw,45px); }
.branch-sp.branch-inner .counseling > h2 { margin-bottom: min(3.06667vw,23px); }
.branch-sp.branch-inner .counseling > p { margin: 0 min(2vw,15px); font: min(3.73333vw,28px)/1.3 var(--sans); }
.branch-sp .branch-lower-navigation { padding-top: 7.73333cqw; }
.branch-tile-nav { margin: 0 3.2cqw 9.86667cqw; }
.branch-tile-nav ul { display: grid; grid-template-columns: repeat(3,1fr); grid-auto-rows: 21.73333cqw; }
.branch-tile-nav li { display: grid; place-items: center; position: relative; background: #f7f5f0; color: var(--gold); }
.branch-tile-nav li:nth-child(odd) { background: var(--gold); color: #fff; }
.branch-tile-nav a { display: flex; width: 100%; height: 100%; flex-direction: column; justify-content: center; align-items: center; font-size: 2.8cqw; line-height: 4cqw; }
.branch-tile-nav a span { width: 25.73333cqw; margin-bottom: .53333cqw; border-bottom: 1px solid #bdb7a977; text-align: center; font: 4.44444cqw/5.33333cqw 'Times New Roman',serif; }
.branch-tile-nav li:nth-child(odd) a span { border-color: #ffffffaa; }
.branch-tile-nav a::after,.branch-treatment-menu a::after { content: ''; position: absolute; bottom: .93333cqw; right: .93333cqw; width: 2cqw; height: 2cqw; background: currentColor; opacity: .6; clip-path: polygon(100% 0,100% 100%,0 100%); }
.branch-tile-nav li:last-child::before { content: ''; width: 26.66667cqw; height: 9.2cqw; background: var(--gold); opacity: .3; mask: url('../assets/design/assets/logos/cases-mark@2x.png') center/contain no-repeat; }
.branch-treatment-menu { position: relative; isolation: isolate; padding: 8.8cqw 3.86667cqw 7.6cqw; background: #f4f9ed; }
.branch-treatment-menu::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url('../assets/lower/menu-background@2x.webp') center/cover; opacity: .15; }
.branch-treatment-menu h2 { width: 27cqw; margin: 0 auto 3.33333cqw; text-align: center; font: 6.66667cqw/7.46667cqw 'Times New Roman',serif; letter-spacing: .08em; }
.branch-treatment-menu h2 small { display: block; border-top: 1px solid #aaa; margin-top: 1.06667cqw; padding-top: 1.6cqw; font: 2.93333cqw/4cqw var(--serif); letter-spacing: .1em; }
.branch-treatment-menu .branch-menu-group { display: grid; grid-template-columns: 1fr 2fr; gap: 1.33333cqw; margin: 0; }
.branch-treatment-menu .branch-menu-group + .branch-menu-group { margin-top: 2.13333cqw; }
.branch-treatment-menu .branch-menu-group h3 { display: grid; place-items: center; align-self: start; height: 13.86667cqw; padding: 0 2cqw; background: #c4db92a6; font: 3.2cqw/1.3 var(--sans); text-align: center; }
.branch-treatment-menu .branch-menu-group ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.33333cqw; }
.branch-treatment-menu .branch-menu-group a { display: flex; justify-content: center; align-items: center; position: relative; height: 13.86667cqw; border: 1px solid #afc579; background: #fffffff2; font: 3.2cqw/1.3 var(--sans); padding: 1cqw; text-align: center; }
.branch-treatment-menu a::after { background: #a9c862; opacity: 1; }
.branch-sp .branch-chrome .site-footer { margin-top: 7.6cqw; margin-bottom: 18.93333cqw; }
.branch-sp .branch-chrome .contact-bar { height: 18.93333cqw; background: #55b53c; grid-template-columns: 1fr 1.25fr 1fr; }
.branch-sp .branch-chrome .contact-bar a { font-size: 3.46667cqw; }
.branch-sp .branch-chrome .contact-bar img { object-fit: contain; }
@media (hover: hover) { .branch-inner a:hover,.branch-inner button:hover { opacity: .75; } }
@media (prefers-reduced-motion: reduce) { .branch-inner a { transition: none; } }

.branch-quick-contact a + a img { filter: brightness(0) invert(1); }
.branch-counseling-phone::before { filter: brightness(0) invert(1); }
.branch-inner .ttl-low5 { text-align: left; }
.branch-inner .ttl-low5-3 { text-align: center; }
.branch-pc.branch-inner .ttl-low { padding-top: 9px; padding-bottom: 9px; }
.branch-pc.branch-inner .ttl-low2 { padding-top: 8px; padding-bottom: 9px; }
.branch-pc.branch-inner .ttl-low4 { line-height: 21px; }
.branch-pc.branch-inner .ttl-low5 { padding-block: 10px; }
.branch-sp.branch-inner .ttl-low5 { text-align: center; }
.branch-sp .branch-chrome .contact-bar { height: calc(18.93333cqw + env(safe-area-inset-bottom)); }
.branch-inner :is(.page-catch,.ttl-low,.ttl-low2,.ttl-low3,.ttl-low4,.ttl-low5,.colunm,.colunm .ttl-btn) { font-feature-settings: 'palt'; }
.branch-chrome .footer-booking { color: #fff; }
.branch-pc .branch-chrome .site-footer { height: 72.71429cqw; }
.branch-pc .branch-chrome .footer-copyright { bottom: .71429cqw; }
.branch-sp .branch-chrome .site-footer { height: 168cqw; margin-bottom: calc(18.93333cqw + env(safe-area-inset-bottom)); }

/* Telephone and web consultation links use the clinic's existing palette. */
.branch-inner :is(#contact, #link01, #mail-consultation) { scroll-margin-top: 24px; }
.branch-consultation-links p { margin: 0 0 20px; font-size: 110%; line-height: 1.7; }
.branch-consultation-links p:last-child { margin-bottom: 0; }
.branch-consultation-links .p-link { display: inline-block; }
.branch-inner #appointment-form-container {
  --main-color: #55b53c;
  --main-color-hover: #78c364;
  --sub-color: #ae986c;
  --background-color-light: #f5f8f1;
  --font-family: var(--content-font);
}
/* The embedded widget also has fixed blue accents outside its color variables. */
.branch-inner #appointment-form-container [class*="_loader_"],
.branch-inner #appointment-form-container [class*="_todayIndicator_"] { background: var(--main-color); }
.branch-inner #appointment-form-container [class*="_available_"],
.branch-inner #appointment-form-container [class*="_radioLabel_"][class*="_selected_"] { background-color: #55b53c0a; }
.branch-inner #appointment-form-container [class*="_available_"]:hover { background-color: #55b53c1a; }
.branch-inner #appointment-form-container [class*="_timeSelectRadioLabel_"]:has(input:checked) { border-color: var(--main-color); background-color: #55b53c0a; }
