/*
 * Shared HANDA / Otemachi treatment-page design system.
 * Canonical source: sites/shared/treatment-system/.
 * Theme copies are generated; do not edit them directly.
 *
 * WordPress owns all wording, facts, images, fees, risks, and section order.
 * This file is the only visual owner for legacy and managed treatment pages.
 */

body.hamille-internal-page-frame--service.hamille-treatment-detail {
  --treatment-font-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;
  --treatment-font-display: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --treatment-theme-navy: #061549;
  --treatment-theme-blue: #0078d4;
  --treatment-theme-ink: #15345f;
  --treatment-heading: var(--treatment-theme-ink);
  --treatment-copy: #37434f;
  --treatment-supporting: #52626e;
  --treatment-muted: #667783;
  --treatment-link: #176f9d;
  --treatment-accent: #237fab;
  --treatment-accent-deep: #145d7f;
  --treatment-rule: #91afbf;
  --treatment-rule-soft: #d4dfe4;
  --treatment-canvas: #fff;
  --treatment-surface: #fff;
  --treatment-surface-quiet: #fff;
  --treatment-heading-surface: #edf7ff;
  --treatment-info-surface: #f5faff;
  --treatment-note: var(--treatment-info-surface);
  --treatment-warm: #fff;
  --treatment-heading-wash: var(--treatment-theme-blue);
  --treatment-heading-wash-deep: var(--treatment-theme-navy);
  --treatment-paper-texture: none;
  --treatment-silk:
    linear-gradient(
      112deg,
      transparent 0%,
      rgba(255, 255, 255, .04) 27%,
      rgba(255, 255, 255, .2) 43%,
      rgba(255, 255, 255, .05) 56%,
      transparent 72%
    ),
    linear-gradient(
      102deg,
      var(--treatment-theme-navy) 0%,
      #0a3775 42%,
      var(--treatment-theme-blue) 100%
    );
  --treatment-silk-soft:
    linear-gradient(
      112deg,
      transparent 0%,
      rgba(255, 255, 255, .35) 30%,
      rgba(255, 255, 255, .72) 45%,
      rgba(255, 255, 255, .2) 58%,
      transparent 74%
    ),
    linear-gradient(
      102deg,
      #edf7ff 0%,
      #d9edfc 48%,
      #f7fbff 100%
    );
  --treatment-dot-field:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Crect width='2.1' height='2.1' fill='%23fff' fill-opacity='.64'/%3E%3C/svg%3E")
    0 0 / 6px 6px repeat;
  --treatment-dot-field-ink:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Crect width='2.1' height='2.1' fill='%230078d4' fill-opacity='.34'/%3E%3C/svg%3E")
    0 0 / 6px 6px repeat;
  --treatment-dot-wave-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 960 240' preserveAspectRatio='none'%3E%3Cpath d='M-90 174 C86 10 272 16 452 112 S774 252 1050 66' fill='none' stroke='%23000' stroke-width='64' stroke-linecap='round' opacity='.92'/%3E%3Cpath d='M-82 208 C106 64 288 64 468 146 S784 272 1040 102' fill='none' stroke='%23000' stroke-width='34' stroke-linecap='round' opacity='.76'/%3E%3Cpath d='M-76 132 C94 -12 280 -4 458 80 S768 214 1044 30' fill='none' stroke='%23000' stroke-width='20' stroke-linecap='round' opacity='.58'/%3E%3Cpath d='M-62 228 C118 104 304 106 486 174 S800 278 1034 132' fill='none' stroke='%23000' stroke-width='11' stroke-linecap='round' opacity='.38'/%3E%3Cpath d='M-56 96 C106 -28 292 -24 470 46 S770 172 1032 4' fill='none' stroke='%23000' stroke-width='7' stroke-linecap='round' opacity='.26'/%3E%3C/svg%3E");
  --treatment-section-space: 72px;
  --treatment-page-gutter: 40px;
  --treatment-title-width: 960px;
  --treatment-reading-width: 880px;
  --treatment-media-width: 960px;
  --treatment-chapter-size: 30px;
  --treatment-chapter-weight: 600;
  --treatment-subheading-size: 22px;
  --treatment-subheading-weight: 500;
  --treatment-subheading-color: var(--treatment-link);
  --treatment-body-size: 16px;
  --treatment-body-weight: 500;
  --treatment-body-leading: 2;
  --treatment-body-tracking: .04em;
  --treatment-heading-tracking: .035em;
  --treatment-content-width: calc(
    var(--treatment-title-width) + (var(--treatment-page-gutter) * 2)
  );
  --treatment-motion-ease: cubic-bezier(.22, 1, .36, 1);
  --treatment-art-word: "DENTAL CARE";
  --treatment-font-en: "Jost", "Avenir Next", "Helvetica Neue", "Segoe UI", sans-serif;
  --treatment-hairline: #e2eaf2;
  --treatment-tint: #f4f8fc;
  --treatment-wave-foot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 86' preserveAspectRatio='none'%3E%3Cpath d='M0 48C180 16 360 74 560 46 740 22 920 66 1120 42 1180 36 1240 40 1280 44V86H0Z' fill='%23eef4fb'/%3E%3Cpath d='M0 64C200 38 400 84 620 58 820 36 1000 76 1180 54 1220 50 1260 52 1280 56V86H0Z' fill='%23dce9f7' fill-opacity='.85'/%3E%3C/svg%3E");
  --treatment-wave-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 16'%3E%3Cpath d='M0 8C15 2 30 14 45 8S75 2 90 8s30 6 45 0 30-6 45 0' fill='none' stroke='%23b9cde2' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  --treatment-mesh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 100'%3E%3Cg fill-opacity='.15'%3E%3Crect x='180' y='2' width='12' height='12' fill='%230078d4'/%3E%3Crect x='180' y='22' width='12' height='12' fill='%23061549'/%3E%3Crect x='180' y='42' width='12' height='12' fill='%230078d4'/%3E%3Crect x='180' y='62' width='12' height='12' fill='%23061549'/%3E%3Crect x='180' y='82' width='12' height='12' fill='%230078d4'/%3E%3Crect x='160' y='2' width='11' height='11' fill='%23061549'/%3E%3Crect x='160' y='22' width='11' height='11' fill='%230078d4'/%3E%3Crect x='160' y='62' width='11' height='11' fill='%23061549'/%3E%3Crect x='160' y='82' width='11' height='11' fill='%230078d4'/%3E%3Crect x='140' y='2' width='10' height='10' fill='%230078d4'/%3E%3Crect x='140' y='42' width='10' height='10' fill='%23061549'/%3E%3Crect x='140' y='62' width='10' height='10' fill='%230078d4'/%3E%3Crect x='120' y='22' width='9' height='9' fill='%23061549'/%3E%3Crect x='120' y='82' width='9' height='9' fill='%230078d4'/%3E%3Crect x='100' y='2' width='8' height='8' fill='%230078d4'/%3E%3Crect x='100' y='62' width='8' height='8' fill='%23061549'/%3E%3Crect x='80' y='42' width='7' height='7' fill='%230078d4'/%3E%3Crect x='60' y='22' width='5' height='5' fill='%23061549'/%3E%3Crect x='40' y='72' width='4' height='4' fill='%230078d4'/%3E%3C/g%3E%3C/svg%3E");
  --treatment-ramp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 126 14'%3E%3Cg fill='%230078d4' fill-opacity='.9'%3E%3Crect x='0' y='1' width='12' height='12'/%3E%3Crect x='12.5' y='1.8' width='10.5' height='10.5'/%3E%3Crect x='25' y='2.5' width='9' height='9'/%3E%3Crect x='37.5' y='3.2' width='7.5' height='7.5'/%3E%3Crect x='50' y='3.9' width='6.1' height='6.1'/%3E%3Crect x='62.5' y='4.6' width='4.7' height='4.7'/%3E%3Crect x='75' y='5.3' width='3.4' height='3.4'/%3E%3Crect x='87.5' y='5.9' width='2.1' height='2.1'/%3E%3Crect x='100' y='6.2' width='1.6' height='1.6'/%3E%3Crect x='112.5' y='6.2' width='1.6' height='1.6'/%3E%3C/g%3E%3C/svg%3E");
}

body.hamille-treatment-slug--cavity { --treatment-art-word: "CAVITY CARE"; }
body.hamille-treatment-slug--ceramic-crowns { --treatment-art-word: "CERAMIC"; }
body.hamille-treatment-slug--cosmetic-dentistry { --treatment-art-word: "AESTHETICS"; }
body.hamille-treatment-slug--dentures { --treatment-art-word: "DENTURES"; }
body.hamille-treatment-slug--gum-peeling { --treatment-art-word: "GUM CARE"; }
body.hamille-treatment-slug--house-call { --treatment-art-word: "HOME VISIT"; }
body.hamille-treatment-slug--implant { --treatment-art-word: "IMPLANT"; }
body.hamille-treatment-slug--invisalign { --treatment-art-word: "INVISALIGN"; }
body.hamille-treatment-slug--mouth-ulcer { --treatment-art-word: "ORAL CARE"; }
body.hamille-treatment-slug--mucocele { --treatment-art-word: "MUCOCELE"; }
body.hamille-treatment-slug--oral-surgery { --treatment-art-word: "ORAL SURGERY"; }
body.hamille-treatment-slug--orthodontics { --treatment-art-word: "ORTHODONTICS"; }
body.hamille-treatment-slug--partial-orthodontics { --treatment-art-word: "PARTIAL ORTHO"; }
body.hamille-treatment-slug--pediatric { --treatment-art-word: "PEDIATRIC"; }
body.hamille-treatment-slug--pediatric-orthodontics { --treatment-art-word: "KIDS ORTHO"; }
body.hamille-treatment-slug--periodontal { --treatment-art-word: "PERIODONTAL"; }
body.hamille-treatment-slug--preventive { --treatment-art-word: "PREVENTIVE"; }
body.hamille-treatment-slug--root-canal { --treatment-art-word: "ROOT CANAL"; }
body.hamille-treatment-slug--saisei { --treatment-art-word: "REGENERATIVE"; }
body.hamille-treatment-slug--specialneeds { --treatment-art-word: "SPECIAL CARE"; }
body.hamille-treatment-slug--whitening { --treatment-art-word: "WHITENING"; }
body.hamille-treatment-slug--wisdom-tooth { --treatment-art-word: "WISDOM TOOTH"; }

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main, article),
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content {
  color: var(--treatment-copy);
  background-color: var(--treatment-canvas) !important;
  background-image: none !important;
  font-family: var(--treatment-font-sans);
  font-feature-settings: "palt" 1;
  font-kerning: normal;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) {
  box-sizing: border-box;
  width: min(var(--treatment-content-width), 100%) !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content {
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) > .page_img {
  margin: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area {
  box-sizing: border-box;
  position: relative;
  width: min(
    var(--treatment-title-width),
    calc(100% - (var(--treatment-page-gutter) * 2))
  );
  margin: 62px auto 0 !important;
  padding: 46px 34px 104px !important;
  overflow: hidden;
  border: 0 !important;
}

/* The white hero owns a wave foot; the identity color lives in type, not a flood fill. */
body.hamille-internal-page-frame--service.hamille-treatment-detail article .title_area {
  background-color: var(--treatment-canvas) !important;
  background-image: var(--treatment-wave-foot) !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: 100% 86px !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area::before {
  content: var(--treatment-art-word);
  position: absolute;
  z-index: 0;
  left: 22px;
  right: auto;
  bottom: 34px;
  display: block;
  max-width: calc(100% - 36px);
  overflow: hidden;
  color: rgba(6, 21, 73, .06);
  font-family: var(--treatment-font-en);
  font-size: 96px;
  font-weight: 200;
  line-height: .9;
  letter-spacing: .05em;
  text-align: left;
  white-space: nowrap;
  pointer-events: none;
  animation: hamille-treatment-art-word-enter 760ms var(--treatment-motion-ease) both;
}

/* The dissolve mesh lives in the hero background, densest at the free corner. */
body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 26px;
  top: 34px;
  display: block;
  width: min(320px, 38%);
  height: 160px;
  background: var(--treatment-mesh) right top / contain no-repeat;
  pointer-events: none;
  animation: hamille-treatment-art-word-enter 760ms var(--treatment-motion-ease) both;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area .title_area_midasi {
  position: relative;
  z-index: 1;
  width: min(24em, 100%) !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--treatment-theme-navy) !important;
  font-family: var(--treatment-font-display) !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: var(--treatment-heading-tracking) !important;
  text-align: left !important;
  word-break: keep-all;
  line-break: strict;
  text-wrap: balance;
  animation: hamille-treatment-title-enter 620ms var(--treatment-motion-ease) 70ms both;
}

/* ---- managed 治療ページ拡張スロット(2026-08-22 full-sync): fact/step配図・特徴・FAQ ---- */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__fact-figure {
  margin: 0 0 14px;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__fact-figure img {
  width: 100%;
  max-width: 240px;
  height: auto;
  border-radius: 3px;
  border: 1px solid #e3eaf2;
  background: #fff;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__step-figure {
  margin: 12px 0 0;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__step-figure img {
  width: 100%;
  max-width: 210px;
  height: auto;
  border-radius: 3px;
  border: 1px solid #e3eaf2;
  background: #fff;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__step-figure figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: #57606f;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__features {
  display: grid;
  gap: 36px;
  width: min(var(--treatment-reading-width), 100%);
  margin-right: auto;
  margin-left: auto;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__feature {
  min-width: 0;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__ministeps {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
@media (min-width: 700px) {
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__ministeps {
    grid-template-columns: repeat(3, minmax(0, 210px));
  }
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__ministeps figure {
  margin: 0;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__ministeps img {
  width: 100%;
  height: auto;
  border-radius: 3px;
  border: 1px solid #e3eaf2;
  background: #fff;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__ministeps figcaption {
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #57606f;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__ministeps figcaption span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #061549;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  flex: none;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__faq {
  margin: 0;
  width: min(var(--treatment-reading-width), 100%);
  margin-right: auto;
  margin-left: auto;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__faq-item {
  border-top: 1px solid #dfe3ea;
  padding: 18px 0;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__faq-item:last-child {
  border-bottom: 1px solid #dfe3ea;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__faq dt {
  margin: 0 0 8px;
  font-weight: 700;
  color: #15345f;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__faq dt::before {
  content: "Q. ";
  color: #0078d4;
}
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__faq dd {
  margin: 0;
  color: #57606f;
}

/* 院名は分割禁止: WebKit 26.5 の text-wrap:balance は keep-all 下でも
   スクリプト境界で院名を折り返した(matrix実害 2026-08-22)。page.php が院名を
   このクラスで包み、エンジン差に依存せず1行契約を保証する */
.title_area .title_area_midasi .hamille-h1-brand {
  white-space: nowrap;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area .title_area_midasi::after {
  content: none;
  display: none;
}

@keyframes hamille-treatment-title-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hamille-treatment-wave-enter {
  from {
    opacity: 0;
    transform: translateX(-18px);
  }

  to {
    opacity: .58;
    transform: translateX(0);
  }
}

@keyframes hamille-treatment-art-word-enter {
  from {
    opacity: 0;
    transform: translateX(20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/*
 * Legacy themes declare different Japanese font stacks. Treatment copy must
 * inherit one shared typeface contract without rewriting any WordPress text.
 */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  li,
  dt,
  dd,
  th,
  td,
  figcaption,
  label,
  button
),
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page :is(
  h2,
  h3,
  p,
  li,
  dt,
  dd,
  figcaption
) {
  font-family: var(--treatment-font-sans) !important;
}

/* All treatment sections share one snow-white canvas and one content axis. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > section {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: var(--treatment-section-space) 0 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  background-color: var(--treatment-surface) !important;
  background-image: none !important;
  color: var(--treatment-copy) !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > section:first-child {
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > section:last-of-type {
  padding-bottom: var(--treatment-section-space) !important;
}

/*
 * A repeated English signpost separates chapters so long articles breathe.
 * It is decoration rendered by CSS; no WordPress content is touched.
 */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > section + section::before,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__section + .hamille-treatment-page__section::before {
  content: "HAMILLE CLINICAL GUIDE";
  display: block;
  width: min(
    var(--treatment-reading-width),
    calc(100% - (var(--treatment-page-gutter) * 2))
  );
  margin: 0 auto 50px;
  color: #94a8bd;
  font-family: var(--treatment-font-en);
  font-size: 10px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .32em;
  text-align: center;
  background-image:
    linear-gradient(var(--treatment-hairline), var(--treatment-hairline)),
    linear-gradient(var(--treatment-hairline), var(--treatment-hairline));
  background-repeat: no-repeat;
  background-size: 30% 1px, 30% 1px;
  background-position: left center, right center;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__section + .hamille-treatment-page__section::before {
  width: 100%;
  margin-bottom: 40px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > .container,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > section > .container {
  box-sizing: border-box;
  width: min(var(--treatment-content-width), 100%) !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-left: var(--treatment-page-gutter) !important;
  padding-right: var(--treatment-page-gutter) !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > .container {
  padding-top: 34px !important;
  padding-bottom: 72px !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(
  .bg_blue,
  .bg_gray,
  .bg_gray_,
  .whites,
  .blue,
  .bgyellow,
  .bgwhite
) {
  background-color: transparent !important;
  background-image: none !important;
  color: inherit !important;
  text-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(.mt0, .m0, .mb0) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(.w75, p.w75) {
  width: min(var(--treatment-reading-width), 100%) !important;
  max-width: min(var(--treatment-reading-width), 100%) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(p, li, dd) {
  color: var(--treatment-copy) !important;
  font-size: var(--treatment-body-size) !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: var(--treatment-body-leading) !important;
  letter-spacing: var(--treatment-body-tracking) !important;
  text-wrap: pretty;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading {
  box-sizing: border-box;
  position: relative;
  display: block !important;
  width: min(var(--treatment-reading-width), 100%);
  margin: 0 auto 38px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden;
  background-color: transparent !important;
  background-image: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading::before {
  content: none;
  display: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading h2:not(.has-background):not([style*="background"]),
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan .scan_l > h2,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .day_title > h2,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .hamille-treatment-page__section,
  .hamille-treatment-page__local
) > h2 {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  position: relative;
  z-index: 1;
  isolation: isolate;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible;
  border: 0 !important;
  border-left: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--treatment-theme-navy) !important;
  font-family: var(--treatment-font-display) !important;
  font-size: var(--treatment-chapter-size) !important;
  font-weight: var(--treatment-chapter-weight) !important;
  line-height: 1.5 !important;
  letter-spacing: var(--treatment-heading-tracking) !important;
  text-align: left !important;
  text-shadow: none !important;
  overflow-wrap: anywhere;
  word-break: keep-all;
  line-break: strict;
  text-wrap: balance;
  counter-increment: treatment-chapter;
}

/* One continuous chapter count per article, shared by legacy and managed markup. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) {
  counter-reset: treatment-chapter;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading h2:not(.has-background):not([style*="background"])::before,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan .scan_l > h2::before,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .day_title > h2::before,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .hamille-treatment-page__section,
  .hamille-treatment-page__local
) > h2::before {
  content: counter(treatment-chapter, decimal-leading-zero);
  display: block;
  margin: 0 0 12px;
  color: var(--treatment-theme-blue);
  font-family: var(--treatment-font-en);
  font-size: 15px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .24em;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading h2:not(.has-background):not([style*="background"]) {
  margin-bottom: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(
  .scan .scan_l,
  .day_title
) > h2 {
  margin-bottom: 20px !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading h2:not(.has-background):not([style*="background"])::after,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan .scan_l > h2::after,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .day_title > h2::after,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .hamille-treatment-page__section,
  .hamille-treatment-page__local
) > h2::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  top: 50%;
  display: block;
  width: 240px;
  height: 46px;
  transform: translateY(-50%);
  background: var(--treatment-mesh) right center / contain no-repeat;
  opacity: .55;
  pointer-events: none;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(h3, h3[class]),
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .tlt_box > dl > dt,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__note > h2 {
  box-sizing: border-box;
  width: min(var(--treatment-reading-width), 100%) !important;
  max-width: 100% !important;
  min-width: 0;
  margin: 0 auto 20px !important;
  padding: 0 0 13px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: linear-gradient(
    90deg,
    var(--treatment-theme-blue) 0 48px,
    transparent 48px 100%
  ) !important;
  background-position: left bottom !important;
  background-repeat: no-repeat !important;
  background-size: 100% 1px !important;
  color: var(--treatment-subheading-color) !important;
  font-size: var(--treatment-subheading-size) !important;
  font-weight: var(--treatment-subheading-weight) !important;
  line-height: 1.6 !important;
  letter-spacing: var(--treatment-heading-tracking) !important;
  text-align: left !important;
  text-shadow: none !important;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/* Text and data frames use the same reading axis as surrounding copy. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(
  .day_title,
  .scan,
  .talk,
  .list_col_prt,
  .check_list,
  .list,
  .flex-center
),
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .riji > .inner {
  box-sizing: border-box;
  width: min(
    var(--treatment-reading-width),
    calc(100% - (var(--treatment-page-gutter) * 2))
  ) !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Legacy wrappers must not create a third title or body surface. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(
  .day_title,
  .example .txt
) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(
  .list_col_prt,
  .talk
) > ul {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/*
 * Existing explanatory media rows may use a restrained desktop split. The DOM
 * order stays text first, and narrow viewports return to that reading order.
 */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 28px !important;
  margin-top: 64px !important;
  margin-bottom: 64px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan :is(.scan_l, .scan_r) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan .scan_l p {
  margin: 0 !important;
  color: var(--treatment-copy) !important;
  font-size: var(--treatment-body-size) !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: var(--treatment-body-leading) !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan .scan_r img {
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  border-radius: 12px;
}

@media (min-width: 841px) {
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr) !important;
    align-items: center !important;
    column-gap: clamp(38px, 4.5vw, 58px) !important;
  }

  /* The visit-area map starts the second beat of the editorial Z rhythm. */
  body.hamille-treatment-slug--house-call.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan .scan_l {
    grid-column: 2;
    grid-row: 1;
  }

  body.hamille-treatment-slug--house-call.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan .scan_r {
    grid-column: 1;
    grid-row: 1;
  }
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .riji {
  padding-bottom: var(--treatment-section-space) !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .riji > .inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 30px !important;
  min-height: 0 !important;
  margin-bottom: 72px !important;
  padding: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .riji > .inner > .img {
  position: relative;
  width: min(520px, 100%) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  transform: none !important;
  aspect-ratio: 31 / 33;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .riji > .inner > .txt {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Image-led blocks may use the wider media axis without widening their captions. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(
  .riji_photo,
  .youtube
) {
  box-sizing: border-box;
  width: min(var(--treatment-media-width), 100%) !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content :is(
  .riji_photo,
  .wp-block-image,
  figure:not(.table_wrap):not(.wp-block-table)
) img {
  border: 1px solid rgba(21, 52, 95, .1);
  border-radius: 12px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content figcaption {
  width: min(68ch, 100%);
  margin: 12px auto 0 !important;
  color: var(--treatment-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

/* The service index keeps its image-overlay card treatment. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .service .treatment .tlt h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  text-shadow: none !important;
}

/* Standalone WordPress treatment images remain uncropped and undistorted. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > .img_t {
  box-sizing: border-box;
  width: min(var(--treatment-media-width), 100%) !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 32px 84px !important;
  overflow: visible !important;
  background: transparent !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > .img_t > .inner {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  overflow: visible !important;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > .img_t img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 620px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* Feature groups follow one continuous editorial reading order. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .nums_list,
  .nums_list_tlt_txt,
  .nums_list_tlt_img
) {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  width: min(var(--treatment-reading-width), 100%) !important;
  max-width: 100% !important;
  gap: 46px !important;
  margin: 36px auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .nums_list,
  .nums_list_tlt_txt,
  .nums_list_tlt_img
) > li {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 14px;
  border: 0 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .nums_list > li::before {
  content: none !important;
  display: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .nums_list,
  .nums_list_tlt_txt,
  .nums_list_tlt_img
) > li:first-child {
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .nums_list_tlt_txt > li::before,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .nums_list_tlt_img > li > h3::before {
  content: none !important;
  display: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .nums_list,
  .nums_list_tlt_txt,
  .nums_list_tlt_img
) > li > .txt {
  display: block;
  position: static;
  width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .nums_list,
  .nums_list_tlt_txt,
  .nums_list_tlt_img
) > li > .txt > p {
  position: static;
  width: 100%;
  height: auto !important;
  margin: 0 0 12px !important;
  color: var(--treatment-copy) !important;
  font-size: var(--treatment-body-size) !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: var(--treatment-body-leading) !important;
  letter-spacing: var(--treatment-body-tracking) !important;
  text-align: left !important;
  transform: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(.nums_list, .nums_list_tlt_img) > li > .img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(var(--treatment-media-width), 100%);
  max-height: 520px;
  height: auto;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(.nums_list, .nums_list_tlt_img) > li > .img img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  max-height: 520px !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Treatment flows are linear reading rows at every viewport size. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: min(var(--treatment-reading-width), 100%);
  max-width: 100%;
  margin: 36px auto 0;
  padding: 0 0 0 34px;
  gap: 36px;
  border: 0;
  border-left: 1px solid var(--treatment-hairline);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner:last-child:nth-child(odd) {
  box-sizing: border-box;
  display: grid;
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  gap: 12px;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner:first-child {
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner::before {
  content: "";
  position: absolute;
  left: -38px;
  top: 6px;
  display: block;
  width: 7px;
  height: 7px;
  background: var(--treatment-theme-blue);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner > div {
  box-sizing: border-box;
  display: block;
  position: static;
  width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner > div::before {
  content: none !important;
  display: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner > div > p {
  display: block !important;
  width: auto;
  margin: 0 0 6px !important;
  color: #7f95ad !important;
  font-family: var(--treatment-font-en) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
  letter-spacing: .18em !important;
  text-align: left !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner > p {
  width: 100%;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  color: var(--treatment-copy) !important;
  font-size: var(--treatment-body-size) !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: var(--treatment-body-leading) !important;
  letter-spacing: var(--treatment-body-tracking) !important;
  text-align: left !important;
  overflow: visible;
}

/* Staged explanations use the same neutral, top-to-bottom information row. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  width: min(var(--treatment-reading-width), 100%);
  max-width: 100%;
  margin: 0 auto 42px;
  padding: 0;
  gap: 20px;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--treatment-copy);
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner:has(> .type_tlt.txt),
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner:has(> .type_tlt.rows) {
  grid-template-columns: minmax(0, 1fr);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner:first-of-type {
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner > .type_tlt {
  box-sizing: border-box;
  display: block;
  position: static;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner > p {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  padding: 0;
  color: var(--treatment-copy) !important;
  font-size: var(--treatment-body-size) !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: var(--treatment-body-leading) !important;
  letter-spacing: var(--treatment-body-tracking) !important;
  text-align: left !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner + .fa-arrow-down {
  display: none !important;
  min-height: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 0 !important;
}

/* Fees and comparisons use open vertical rows rather than nested cards. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(var(--treatment-reading-width), 100%);
  max-width: 100%;
  margin: 36px auto 0;
  gap: 38px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list > .inner,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .list_col2 > .inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list > .inner:first-child,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .list_col2 > .inner:first-child {
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list .fee {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  margin: 0 0 10px;
  gap: 4px 8px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list .fee p {
  margin: 0 !important;
  color: var(--treatment-heading) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list .fee span {
  color: var(--treatment-supporting) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list > .inner > p,
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .list_col2 > .inner > p {
  margin: 0 !important;
  color: var(--treatment-copy) !important;
  font-size: var(--treatment-body-size) !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: var(--treatment-body-leading) !important;
  text-align: left !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .list_col2 {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(var(--treatment-reading-width), 100%) !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  gap: 38px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .txt_box {
  box-sizing: border-box;
  width: min(var(--treatment-reading-width), 100%);
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/*
 * Legacy risk / countermeasure groups are editorial records, not raised cards.
 * WordPress owns the cause and response copy; the shared system only defines
 * their hierarchy and spacing.
 */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box {
  box-sizing: border-box;
  width: min(var(--treatment-reading-width), 100%) !important;
  max-width: 100% !important;
  margin: 34px auto 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  background: transparent !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl {
  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding: 34px 0 36px !important;
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid var(--treatment-rule-soft) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl > dt {
  display: block;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl > dd {
  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--treatment-copy) !important;
  font-size: var(--treatment-body-size) !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: var(--treatment-body-leading) !important;
  text-align: left !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl > dd::first-line {
  color: var(--treatment-heading);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl > dd > strong:first-child {
  display: block;
  margin: 0 0 7px;
  color: var(--treatment-heading);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl > dd > strong:first-child + br {
  display: none;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box + h3:not(.has-background):not([style*="background"]) {
  margin-top: 64px !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .example {
  box-sizing: border-box;
  width: min(var(--treatment-reading-width), 100%);
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .example_wp {
  box-sizing: border-box;
  width: min(var(--treatment-reading-width), 100%) !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .example :is(img, .img) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(.tbl-wrap, figure.table_wrap) {
  box-sizing: border-box;
  width: min(
    var(--treatment-reading-width),
    calc(100% - (var(--treatment-page-gutter) * 2))
  ) !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-top: 0;
  background: transparent;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .tbl-wrap,
  figure.table_wrap,
  .wp-block-table
) > table {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) table :where(th, td) {
  border-color: var(--treatment-rule-soft);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) table th {
  background: var(--treatment-note);
  color: var(--treatment-heading);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) table tbody tr:nth-child(even) :where(th, td) {
  background-color: var(--treatment-surface-quiet);
}

/* FAQ rows remain readable records, not raised cards or decorative bubbles. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .faq {
  box-sizing: border-box;
  width: min(var(--treatment-reading-width), 100%);
  margin-right: auto;
  margin-left: auto;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .faq :is(dl, dt, dd) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .faq dl {
  padding: 0 0 38px !important;
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .faq dl:first-child {
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .faq dt {
  margin-bottom: 18px !important;
  padding: 15px 22px 16px !important;
  border-left: 0 !important;
  background-color: #dcedf5 !important;
  background-image: var(--treatment-silk-soft) !important;
  color: var(--treatment-heading) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .faq dd {
  padding: 0 22px !important;
  color: var(--treatment-copy) !important;
  font-size: 16px !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: 1.95 !important;
  letter-spacing: var(--treatment-body-tracking) !important;
}

/* Clinic context and related reading close the article as open editorial lists. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(
  .handa-service-local-links,
  .area-info-block,
  .handa-service-related-columns
) {
  box-sizing: border-box;
  width: min(
    var(--treatment-reading-width),
    calc(100% - (var(--treatment-page-gutter) * 2))
  ) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 42px 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: var(--treatment-surface) !important;
  color: var(--treatment-copy) !important;
  box-shadow: none !important;
  font-family: var(--treatment-font-sans) !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .handa-service-related-columns {
  background: var(--treatment-surface) !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .handa-service-related-columns > :is(p, h2) {
  width: min(var(--treatment-reading-width), 100%);
  margin-right: auto !important;
  margin-left: auto !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .handa-service-related-columns > ul {
  display: block !important;
  width: min(var(--treatment-reading-width), 100%);
  margin: 24px auto 0 !important;
  padding: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .handa-service-related-columns > ul > li {
  margin: 0 !important;
  padding: 22px 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .handa-service-related-columns > ul > li:first-child {
  border-top: 0 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail .handa-service-related-columns > ul > li > a {
  color: var(--treatment-heading) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  text-decoration: underline !important;
  text-decoration-color: var(--treatment-rule) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .24em !important;
}

/* Managed additions share the same editorial hierarchy as legacy pages. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page {
  box-sizing: border-box;
  width: min(
    var(--treatment-reading-width),
    calc(100% - (var(--treatment-page-gutter) * 2))
  );
  max-width: 100%;
  margin: 0 auto;
  padding: var(--treatment-section-space) 0;
  color: var(--treatment-copy);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__intro {
  display: grid;
  gap: 16px;
  margin: 0 0 56px;
  padding: 0;
  border-bottom: 0;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__context {
  margin: 0 !important;
  color: var(--treatment-heading) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  letter-spacing: var(--treatment-heading-tracking) !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__lead {
  max-width: 68ch;
  margin: 0 !important;
  color: var(--treatment-heading) !important;
  font-size: 21px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  letter-spacing: var(--treatment-heading-tracking) !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__figure {
  width: min(var(--treatment-reading-width), 100%);
  margin: 14px auto 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 560px;
  aspect-ratio: auto;
  object-fit: contain;
  border: 1px solid rgba(21, 52, 95, .1);
  border-radius: 12px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .hamille-treatment-page__section,
  .hamille-treatment-page__note,
  .hamille-treatment-page__local
) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0 0 56px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page :is(h2, h3) {
  text-shadow: none !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
  .hamille-treatment-page__section,
  .hamille-treatment-page__note,
  .hamille-treatment-page__local,
  .hamille-treatment-page__fact,
  .hamille-treatment-page__step
) > p {
  margin: 0 !important;
  color: var(--treatment-copy) !important;
  font-size: var(--treatment-body-size) !important;
  font-weight: var(--treatment-body-weight) !important;
  line-height: var(--treatment-body-leading) !important;
  letter-spacing: var(--treatment-body-tracking) !important;
  text-align: left !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(var(--treatment-reading-width), 100%);
  margin-right: auto;
  margin-left: auto;
  gap: 38px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__fact {
  min-width: 0;
  padding: 0;
  border-top: 0;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__fact:first-child {
  border-top: 0;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__flow {
  display: grid;
  gap: 34px;
  margin: 0;
  padding: 0 0 0 34px;
  list-style: none;
  counter-reset: treatment-step;
  border-left: 1px solid var(--treatment-hairline);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__step {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 7px;
  min-width: 0;
  position: relative;
  padding: 0;
  border-bottom: 0;
  counter-increment: treatment-step;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__step::before {
  grid-row: auto;
  content: "STEP " counter(treatment-step, decimal-leading-zero);
  padding-top: 0;
  color: #7f95ad;
  font-family: var(--treatment-font-en);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: .18em;
  text-align: left;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__step::after {
  content: "";
  position: absolute;
  left: -38px;
  top: 7px;
  display: block;
  width: 7px;
  height: 7px;
  background: var(--treatment-theme-blue);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__note {
  padding: 28px 30px 32px;
  border-top: 2px solid var(--treatment-theme-blue);
  border-bottom: 0;
  border-left: 0;
  border-radius: 0 0 10px 10px;
  background: var(--treatment-note);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__local {
  margin-bottom: 0;
  padding-top: 8px;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__access {
  margin-top: 16px !important;
  color: var(--treatment-heading) !important;
  font-weight: 600 !important;
}

/* Visible crawlable links connect each detail page to useful clinic routes. */
body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav {
  box-sizing: border-box;
  width: min(
    var(--treatment-reading-width),
    calc(100% - (var(--treatment-page-gutter) * 2))
  );
  max-width: 100%;
  margin: 0 auto var(--treatment-section-space);
  padding: 34px 36px 40px;
  border-top: 0;
  border-radius: 14px;
  background: var(--treatment-tint);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav::before {
  content: "";
  display: block;
  width: 180px;
  height: 16px;
  margin: 0 0 20px;
  background: var(--treatment-wave-line) 0 0 / 180px 16px no-repeat;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav > p {
  margin: 0 0 14px !important;
  color: var(--treatment-heading) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 12px 14px;
  list-style: none;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav li {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 26px;
  border: 1px solid #d5e2ef;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #fafcfe 100%);
  color: var(--treatment-theme-ink);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.4;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 1px 2px rgba(6, 21, 73, .08);
  transition:
    transform 150ms var(--treatment-motion-ease),
    box-shadow 150ms var(--treatment-motion-ease),
    border-color 150ms ease-out,
    color 150ms ease-out;
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav a:hover {
  border-color: #b9d2ea;
  color: #0a2a6e;
  box-shadow: 0 2px 4px rgba(6, 21, 73, .09), 0 8px 18px rgba(6, 21, 73, .07);
  transform: translateY(-1px);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav a:active {
  background: #eef4fa;
  box-shadow: inset 0 1px 2px rgba(6, 21, 73, .08);
  transform: scale(.97);
}

body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav a:focus-visible {
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 1px 2px rgba(6, 21, 73, .08), 0 0 0 2px #fff, 0 0 0 4px var(--treatment-theme-blue);
}

@media (prefers-reduced-motion: reduce) {
  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area::before,
  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area::after,
  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area .title_area_midasi {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav a,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav a:hover,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav a:active {
    transition: none !important;
    transform: none !important;
  }
}

@media (max-width: 840px) {
  body.hamille-internal-page-frame--service.hamille-treatment-detail {
    --treatment-section-space: 60px;
    --treatment-page-gutter: 28px;
    --treatment-chapter-size: 26px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area {
    margin: 48px auto 0 !important;
    padding: 34px 26px 86px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area .title_area_midasi {
    font-size: 32px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area::before {
    left: 14px;
    right: auto;
    bottom: 26px;
    max-width: calc(100% - 28px);
    font-size: 64px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading {
    width: calc(100% - 32px);
    margin-bottom: 30px !important;
    padding: 0 !important;
    gap: 18px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
    .nums_list,
    .nums_list_tlt_txt,
    .nums_list_tlt_img
  ) {
    width: min(var(--treatment-reading-width), 100%) !important;
    gap: 38px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
    .hamille-treatment-page__facts
  ) {
    gap: 30px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner:last-child:nth-child(odd),
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner:has(> .type_tlt.txt),
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner:has(> .type_tlt.rows) {
    gap: 14px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(
    .handa-service-local-links,
    .area-info-block,
    .handa-service-related-columns
  ) {
    padding: 36px 0 !important;
  }
}

@media (max-width: 639px) {
  body.hamille-internal-page-frame--service.hamille-treatment-detail {
    --treatment-section-space: 46px;
    --treatment-page-gutter: 20px;
    --treatment-chapter-size: 22px;
    --treatment-subheading-size: 18px;
    --treatment-body-size: 15px;
    --treatment-body-leading: 1.95;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area {
    margin: 34px auto 0 !important;
    padding: 24px 18px 60px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail article .title_area {
    background-size: 100% 52px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__flow,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 {
    padding-left: 22px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__step::after,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner::before {
    left: -26px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav {
    padding: 26px 20px 30px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav a {
    width: 100%;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area :is(h1, div).title_area_midasi {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    font-size: 20px !important;
    overflow-wrap: normal !important;
    word-break: keep-all;
    line-break: strict;
    text-wrap: balance;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area::before {
    left: 10px;
    right: auto;
    bottom: 16px;
    max-width: calc(100% - 20px);
    font-size: 40px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area::after {
    right: 10px;
    top: 14px;
    width: 150px;
    height: 84px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading h2:not(.has-background):not([style*="background"])::after,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .scan .scan_l > h2::after,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .day_title > h2::after,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
    .hamille-treatment-page__section,
    .hamille-treatment-page__local
  ) > h2::after {
    width: 150px;
    height: 30px;
    opacity: .4;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > .container,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > section > .container {
    padding-right: var(--treatment-page-gutter) !important;
    padding-left: var(--treatment-page-gutter) !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content .heading {
    width: calc(100% - 16px);
    margin-bottom: 26px !important;
    padding: 0 !important;
    gap: 14px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .service .treatment .tlt h3 {
    font-size: 14px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .entry-content > .img_t {
    padding-right: 20px !important;
    padding-bottom: 58px !important;
    padding-left: 20px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
    .nums_list,
    .nums_list_tlt_txt,
    .nums_list_tlt_img
  ) {
    gap: 34px !important;
    margin-top: 28px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
    .nums_list,
    .nums_list_tlt_txt,
    .nums_list_tlt_img
  ) > li {
    padding: 0 !important;
    gap: 13px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
    .nums_list,
    .nums_list_tlt_txt,
    .nums_list_tlt_img
  ) > li > .txt > p,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner > p,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner > p {
    font-size: 15px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 {
    margin-top: 28px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .flow_01 .inner:last-child:nth-child(odd) {
    padding: 0;
    gap: 12px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner {
    padding: 0;
    gap: 16px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner > .type_tlt {
    padding: 0;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .type_inner > p {
    padding: 0;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list {
    gap: 34px;
    margin-top: 28px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .fee_list > .inner,
  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .list_col2 > .inner {
    padding: 0 !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .list_col2 {
    gap: 34px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .txt_box {
    padding: 0;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box {
    margin-top: 28px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl {
    padding: 28px 0 30px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl > dt {
    margin-bottom: 18px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box > dl > dd {
    padding: 0 !important;
    font-size: 15px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .tlt_box + h3:not(.has-background):not([style*="background"]) {
    margin-top: 50px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(
    .handa-service-local-links,
    .area-info-block,
    .handa-service-related-columns
  ) {
    padding: 30px 0 !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .handa-service-related-columns > ul > li {
    padding: 18px 0 !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page {
    padding: var(--treatment-section-space) 0;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__intro {
    gap: 12px;
    margin-bottom: 42px;
    padding-bottom: 0;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__lead {
    font-size: 18px !important;
    line-height: 1.75 !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
    .hamille-treatment-page__section,
    .hamille-treatment-page__note,
    .hamille-treatment-page__local
  ) {
    margin-bottom: 42px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) :is(
    .hamille-treatment-page__section,
    .hamille-treatment-page__note,
    .hamille-treatment-page__local,
    .hamille-treatment-page__fact,
    .hamille-treatment-page__step
  ) > p {
    font-size: 15px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__step {
    padding: 0;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__note {
    padding: 22px 20px 24px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-page__figure {
    padding: 0;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav {
    padding-top: 28px;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail :is(#secondary, .main) .hamille-treatment-context-nav ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 430px) {
  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area {
    width: calc(100% - 28px);
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  body.hamille-internal-page-frame--service.hamille-treatment-detail .title_area :is(h1, div).title_area_midasi {
    font-size: 18px !important;
  }
}
