/* =========================================================
   ADC NEW / CONTENT PAGES
   =========================================================
   下層ページ共通・診療各ページ・ご案内ページのCSS。
   既存の表示順を保つため、旧 style.css のルールを順番のまま分離しています。
   ========================================================= */

/* v24 lower-page refinement */
.clinic-info-section{padding-bottom:38px}
.philosophy{padding-top:54px}
.philosophy .feature{gap:58px}
.philosophy .section-title{margin-bottom:22px}
.philosophy p{margin:0 0 13px;color:#44534e}
.philosophy .feature-photo{min-height:350px}
@media(max-width:900px){.clinic-info-section{padding-bottom:30px}.philosophy{padding-top:44px}.philosophy .feature{gap:34px}}
@media(max-width:600px){.clinic-info-section{padding-bottom:24px!important}.philosophy{padding-top:36px!important}.philosophy .feature{gap:24px}.philosophy .section-title{margin-bottom:18px}.philosophy .feature-photo{min-height:235px}}


/* v25 Philosophy image */
.philosophy .feature-photo--smiles {
  min-height: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  padding: 0;
  background: #edf5f0;
  border-radius: 26px;
  box-shadow: 0 16px 38px rgba(28, 72, 51, .10);
}
.philosophy .feature-photo--smiles img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 900px) {
  .philosophy .feature-photo--smiles { aspect-ratio: 16 / 10; border-radius: 22px; }
}
@media (max-width: 600px) {
  .philosophy .feature-photo--smiles { min-height: 0; aspect-ratio: 4 / 3; border-radius: 18px; }
}


/* =========================================
   v26 Treatment & Care
========================================= */
.services-section {
  background: #f3f8f5;
}
.services-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 42px;
}
.services-intro .section-title {
  margin-bottom: 0;
}
.services-intro > p {
  max-width: 570px;
  margin: 0 0 5px;
  color: #53615c;
  font-size: 15px;
  line-height: 1.9;
}
.treatment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.treatment-card {
  position: relative;
  display: flex;
  min-height: 292px;
  flex-direction: column;
  padding: 30px 28px 25px;
  overflow: hidden;
  border: 1px solid #dce9e1;
  border-radius: 22px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(32, 77, 55, .045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.treatment-card:hover {
  transform: translateY(-3px);
  border-color: #b8d4c3;
  box-shadow: 0 15px 32px rgba(32, 77, 55, .09);
}
.treatment-card__no {
  position: absolute;
  top: 20px;
  right: 24px;
  color: #d8e8de;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1;
}
.treatment-card__en {
  margin-bottom: 28px;
  color: #367b59;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}
.treatment-card h3 {
  margin: 0 0 14px;
  color: #1d3f30;
  font-size: 21px;
  line-height: 1.45;
}
.treatment-card p {
  margin: 0 0 22px;
  color: #5b6863;
  font-size: 13px;
  line-height: 1.8;
}
.treatment-card__link {
  margin-top: auto;
  color: #286c4c;
  font-size: 12px;
  font-weight: 700;
}
.treatment-card__link b {
  display: inline-block;
  margin-left: 7px;
  transition: transform .18s ease;
}
.treatment-card:hover .treatment-card__link b {
  transform: translateX(4px);
}
.treatment-card--primary {
  border-color: #bad6c4;
  background: linear-gradient(145deg, #e8f4ec 0%, #fff 72%);
}
.treatment-card--guide {
  background: #285f46;
  border-color: #285f46;
}
.treatment-card--guide .treatment-card__no {
  color: rgba(255,255,255,.14);
}
.treatment-card--guide .treatment-card__en,
.treatment-card--guide h3,
.treatment-card--guide .treatment-card__link {
  color: #fff;
}
.treatment-card--guide p {
  color: rgba(255,255,255,.78);
}

@media (max-width: 900px) {
  .services-intro {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 32px;
  }
  .services-intro > p {
    max-width: 680px;
  }
  .treatment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .services-intro {
    margin-bottom: 25px;
  }
  .services-intro > p {
    font-size: 14px;
    line-height: 1.8;
  }
  .treatment-grid {
    grid-template-columns: 1fr;
    gap: 11px;
  }
  .treatment-card {
    min-height: 0;
    padding: 23px 21px 20px;
    border-radius: 17px;
  }
  .treatment-card__no {
    top: 17px;
    right: 19px;
    font-size: 29px;
  }
  .treatment-card__en {
    margin-bottom: 17px;
  }
  .treatment-card h3 {
    margin-bottom: 9px;
    font-size: 19px;
  }
  .treatment-card p {
    margin-bottom: 16px;
    font-size: 13px;
  }
}


/* v27: compact treatment cards on desktop only */
@media (min-width: 901px) {
  .services-intro {
    margin-bottom: 32px;
  }
  .treatment-card {
    min-height: 232px;
    padding: 24px 25px 20px;
  }
  .treatment-card__no {
    top: 17px;
    right: 21px;
    font-size: 30px;
  }
  .treatment-card__en {
    margin-bottom: 19px;
  }
  .treatment-card h3 {
    margin-bottom: 9px;
    font-size: 19px;
  }
  .treatment-card p {
    margin-bottom: 14px;
    line-height: 1.65;
  }
}


/* =========================================
   v28 Patient Guide
========================================= */
.patient-guide-section {
  background: #fff;
}
.patient-guide-heading {
  max-width: 720px;
  margin-bottom: 32px;
}
.patient-guide-heading .section-title {
  margin-bottom: 12px;
}
.patient-guide-heading > p {
  margin: 0;
  color: #596660;
  font-size: 14px;
  line-height: 1.85;
}
.patient-guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.patient-guide-card {
  position: relative;
  display: flex;
  min-height: 220px;
  flex-direction: column;
  padding: 30px 32px 26px;
  overflow: hidden;
  border: 1px solid #dbe8df;
  border-radius: 22px;
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}
.patient-guide-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(32,77,55,.08);
}
.patient-guide-card--first {
  background: #eef7f1;
}
.patient-guide-card--current {
  background: #f5f7f6;
}
.patient-guide-card__en {
  margin-bottom: 19px;
  color: #39785a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .17em;
}
.patient-guide-card h3 {
  margin: 0 0 11px;
  color: #1d3f30;
  font-size: 23px;
  line-height: 1.4;
}
.patient-guide-card p {
  max-width: 520px;
  margin: 0 0 18px;
  color: #5a6761;
  font-size: 13px;
  line-height: 1.8;
}
.patient-guide-card__link {
  margin-top: auto;
  color: #286c4c;
  font-size: 12px;
  font-weight: 700;
}
.patient-guide-card__link b {
  margin-left: 7px;
}
@media (max-width: 600px) {
  .patient-guide-heading {
    margin-bottom: 23px;
  }
  .patient-guide-grid {
    grid-template-columns: 1fr;
    gap: 11px;
  }
  .patient-guide-card {
    min-height: 0;
    padding: 24px 21px 21px;
    border-radius: 17px;
  }
  .patient-guide-card__en {
    margin-bottom: 14px;
  }
  .patient-guide-card h3 {
    font-size: 20px;
    margin-bottom: 8px;
  }
}


/* v30 Access */
.access-section{background:#eef6f1}.access-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:60px;align-items:center}.access-main{max-width:720px}.access-lead{max-width:620px;margin:0 0 25px;color:#55645d;font-size:14px;line-height:1.9}.access-address{display:flex;flex-direction:column;gap:5px;padding:18px 0;border-top:1px solid #d4e3d9;border-bottom:1px solid #d4e3d9}.access-address span{color:#39785a;font-size:13px;font-weight:700}.access-address strong{color:#243c31;font-size:17px}.access-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 24px}.access-points>div{display:flex;flex-direction:column;padding-left:14px;border-left:3px solid #c7dfd0}.access-points b{color:#234332;font-size:13px}.access-points span{color:#68746f;font-size:13px}.access-actions{display:flex;flex-wrap:wrap;gap:10px}.access-side{display:flex;flex-direction:column;padding:38px;border-radius:24px;background:linear-gradient(145deg,#34775a,#285f46);color:#fff;box-shadow:0 17px 38px rgba(28,72,51,.12)}.access-side__en{margin-bottom:10px;font-size:9px;font-weight:800;letter-spacing:.18em;opacity:.7}.access-side strong{font-size:31px;line-height:1.2}.access-side em{margin-top:6px;font-style:normal;font-size:16px}.access-side hr{width:100%;margin:27px 0;border:0;border-top:1px solid rgba(255,255,255,.18)}.access-side a{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:25px;text-decoration:none}.access-side small{margin-top:7px;color:rgba(255,255,255,.72);font-size:13px}
@media(max-width:900px){.access-layout{grid-template-columns:1fr;gap:28px}.access-main{max-width:none}}
@media(max-width:600px){.access-lead{font-size:13px}.access-address strong{font-size:15px}.access-points{gap:8px}.access-actions{display:grid;grid-template-columns:1fr}.access-actions .btn{width:100%;justify-content:center}.access-side{padding:27px 25px;border-radius:18px}.access-side strong{font-size:27px}}


/* v31 Access balance */
.access-layout{align-items:stretch}
.access-main{display:flex;flex-direction:column;justify-content:center}
.access-side{justify-content:center}
.access-side__divider{margin:24px 0!important}
.access-side__clinic{display:flex;flex-direction:column}
.access-side__clinic .access-side__en{margin-bottom:8px}
.access-side__clinic strong{font-family:inherit;font-size:15px;line-height:1.5}
.access-side__clinic small{margin-top:5px;font-size:13px}
@media(max-width:900px){
  .access-layout{align-items:initial}
}


/* v32: compact and vertically balanced Access section */
@media (min-width: 901px) {
  .access-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .access-layout {
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 54px;
    align-items: center;
  }
  .access-main {
    display: block;
  }
  .access-main .section-title {
    margin-bottom: 18px;
  }
  .access-lead {
    margin-bottom: 18px;
    line-height: 1.75;
  }
  .access-points {
    margin: 16px 0 18px;
  }
  .access-side {
    align-self: center;
    justify-content: flex-start;
    padding: 27px 30px 25px;
    border-radius: 22px;
  }
  .access-side strong {
    font-size: 27px;
  }
  .access-side em {
    margin-top: 4px;
    font-size: 14px;
  }
  .access-side hr {
    margin: 18px 0;
  }
  .access-side__divider {
    margin: 18px 0 !important;
  }
  .access-side a {
    font-size: 22px;
  }
  .access-side small {
    margin-top: 4px;
  }
  .access-side__clinic strong {
    font-size: 14px;
  }
}


/* v33 Mobile hamburger navigation */
.mobile-menu-toggle{display:none}
@media(max-width:760px){
  .site-header .adc-wrap,.site-header .header-inner{position:relative}
  .mobile-menu-toggle{
    display:flex;width:44px;height:44px;padding:11px 9px;margin-left:auto;
    flex-direction:column;justify-content:center;gap:5px;border:0;border-radius:50%;
    background:#eef6f1;cursor:pointer;appearance:none;z-index:1002
  }
  .mobile-menu-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:#176447;transition:transform .2s ease,opacity .2s ease}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  #site-navigation{
    display:none;position:absolute;top:100%;left:0;right:0;padding:12px 20px 18px;
    background:#fff;border-top:1px solid #e4eee8;box-shadow:0 14px 28px rgba(25,70,49,.12);z-index:1001
  }
  #site-navigation.is-open{display:block}
  #site-navigation ul{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;list-style:none!important}
  #site-navigation li{width:100%;border-bottom:1px solid #e8efeb}
  #site-navigation li:last-child{border-bottom:0}
  #site-navigation a{display:block!important;padding:14px 4px!important;font-size:15px!important}
}

/* v34 Fixed page design */
.page-main{background:#fff}.page-hero{padding:34px 0 29px;background:linear-gradient(145deg,#edf7f1,#f8fbf9);border-bottom:1px solid #e1ece5}.page-hero__eyebrow{margin-bottom:12px;color:#347858;font-size:10px;font-weight:800;letter-spacing:.2em}.page-hero h1{max-width:850px;margin:0;color:#174c38;font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:clamp(32px,4vw,48px);line-height:1.3}.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:68px;align-items:start;padding-top:58px;padding-bottom:78px}.page-content{min-width:0;color:#35483f;font-size:18px;line-height:2}.page-content>:first-child{margin-top:0}.page-content h2{margin:54px 0 21px;padding-bottom:13px;border-bottom:1px solid #cfe1d6;color:#184e39;font-size:27px;line-height:1.5}.page-content h3{margin:36px 0 14px;padding-left:14px;border-left:4px solid #68a17f;color:#20553f;font-size:20px}.page-content h4{margin:27px 0 11px;color:#286248;font-size:17px}.page-content p{margin:0 0 1.5em}.page-content ul,.page-content ol{margin:19px 0 27px;padding-left:1.5em}.page-content li{margin:.4em 0}.page-content img{max-width:100%;height:auto;border-radius:18px}.page-content a{color:#147454;text-underline-offset:3px}.page-content table{width:100%;margin:27px 0;border-collapse:collapse;font-size:14px}.page-content th,.page-content td{padding:12px 14px;border:1px solid #dbe7df;text-align:left}.page-content th{background:#eef6f1;color:#22553f}.page-content blockquote{margin:28px 0;padding:19px 23px;border-left:4px solid #77a98a;background:#f4f8f5}.page-side{position:sticky;top:95px}.page-side__card{display:flex;flex-direction:column;padding:26px 24px;border-radius:20px;background:#245f45;color:#fff;box-shadow:0 14px 34px rgba(25,68,49,.11)}.page-side__label{margin-bottom:16px;font-size:9px;font-weight:800;letter-spacing:.18em;opacity:.68}.page-side__card strong{font-size:16px}.page-side__card p{margin:11px 0 18px;color:rgba(255,255,255,.78);font-size:12px;line-height:1.8}.page-side__phone{color:#fff!important;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:700;text-decoration:none}.page-side__link{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.18);color:#fff!important;font-size:12px;font-weight:700;text-decoration:none}
@media(max-width:900px){.page-layout{grid-template-columns:1fr;gap:36px}.page-side{position:static}}
@media(max-width:600px){.page-hero{padding:23px 0 19px}.page-hero h1{font-size:29px}.page-layout{padding-top:38px;padding-bottom:55px}.page-content{font-size:16px;line-height:1.9}.page-content h2{margin-top:43px;font-size:23px}.page-content h3{margin-top:30px;font-size:18px}.page-content table{display:block;overflow-x:auto}.page-side__card{padding:22px 20px;border-radius:17px}}


/* v35: fixed pages use a clean single-column layout.
   Contact/access information remains in the site footer. */
.page-layout{
  display:block;
  max-width:980px;
}
.page-content{
  width:100%;
  max-width:900px;
  margin:0 auto;
}


/* v36 Treatment page */
.treatment-content{max-width:900px;padding-top:58px;padding-bottom:80px}
.treatment-copy{padding:0 0 45px;margin:0 0 45px;border-bottom:1px solid #e0ebe4}
.treatment-copy h2,.treatment-message h2{margin:0 0 24px;color:#18503a;font-size:27px;line-height:1.5}
.treatment-copy p,.treatment-message>p{margin:0 0 1.55em;color:#35483f;font-size:18px;line-height:2}
.treatment-copy strong{color:#174e38}
.treatment-message{margin-top:10px;padding:42px 46px;border-radius:24px;background:#eff7f2}
.treatment-message .section-kicker{margin-bottom:12px}
.treatment-message__brand{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;margin-top:36px;padding-top:30px;border-top:1px solid #cddfd4}
.treatment-message__brand strong{display:block;color:#18563e;font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.05;letter-spacing:.02em;text-align:center}
.treatment-message__brand span{display:block;color:#40594d;font-size:16px;line-height:1.8;text-align:center}
@media(max-width:600px){.treatment-content{padding-top:38px;padding-bottom:55px}.treatment-copy{padding-bottom:32px;margin-bottom:34px}.treatment-copy h2,.treatment-message h2{font-size:22px;margin-bottom:18px}.treatment-copy p,.treatment-message>p{font-size:16px;line-height:1.9}.treatment-message{padding:28px 22px;border-radius:18px}.treatment-message__brand{grid-template-columns:1fr;gap:17px;margin-top:27px;padding-top:24px}.treatment-message__brand strong{font-size:26px}.treatment-message__brand span{font-size:16px}}


/* v37 Occlusion page */
.occlusion-content{max-width:900px;padding-top:58px;padding-bottom:80px}
.occlusion-copy{padding-bottom:44px;margin-bottom:44px;border-bottom:1px solid #e0ebe4}
.occlusion-copy h2,.occlusion-ending h2{margin:0 0 23px;color:#18503a;font-size:27px;line-height:1.5}
.occlusion-copy p,.occlusion-ending p,.occlusion-highlight p{margin:0 0 1.5em;color:#35483f;font-size:18px;line-height:2}
.occlusion-copy strong{color:#174e38}
.occlusion-highlight{margin:0 0 48px;padding:39px 43px;border-radius:24px;background:#edf6f0}
.occlusion-highlight>span{display:block;margin-bottom:12px;color:#39785a;font-size:9px;font-weight:800;letter-spacing:.18em}
.occlusion-highlight h2{margin:0 0 25px;color:#174e38;font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:30px;line-height:1.55}
.occlusion-three{display:flex;align-items:center;justify-content:center;gap:19px;margin:29px 0 31px;padding:23px;border-radius:18px;background:#f1f7f3}
.occlusion-three span{display:grid;min-width:112px;height:54px;padding:0 18px;place-items:center;border-radius:27px;background:#fff;border:1px solid #cfe1d6;color:#20563f;font-size:16px;font-weight:700}
.occlusion-three b{color:#77a48b;font-size:20px}
.occlusion-ending{padding:40px 44px;border-radius:24px;background:#245f45;color:#fff}
.occlusion-ending .section-kicker{color:#c7e4d3}
.occlusion-ending h2{color:#fff}
.occlusion-ending p{color:rgba(255,255,255,.84)}
.occlusion-ending>strong{display:block;margin-top:26px;padding-top:25px;border-top:1px solid rgba(255,255,255,.18);color:#fff;font-size:16px;line-height:1.9}
@media(max-width:600px){.occlusion-content{padding-top:38px;padding-bottom:55px}.occlusion-copy{padding-bottom:32px;margin-bottom:34px}.occlusion-copy h2,.occlusion-ending h2{font-size:22px;margin-bottom:18px}.occlusion-copy p,.occlusion-ending p,.occlusion-highlight p{font-size:16px;line-height:1.9}.occlusion-highlight{padding:28px 22px;margin-bottom:35px;border-radius:18px}.occlusion-highlight h2{font-size:24px}.occlusion-three{gap:7px;padding:17px 8px}.occlusion-three span{min-width:0;flex:1;height:46px;padding:0 7px;font-size:13px}.occlusion-three b{font-size:15px}.occlusion-ending{padding:28px 22px;border-radius:18px}}


/* v38 Prevention page */
.prevention-content{max-width:900px;padding-top:58px;padding-bottom:80px}
.prevention-copy{padding-bottom:44px;margin-bottom:44px;border-bottom:1px solid #e0ebe4}
.prevention-copy h2,.prevention-ending h2{margin:0 0 23px;color:#18503a;font-size:27px;line-height:1.5}
.prevention-copy p,.prevention-highlight p,.prevention-ending p{margin:0 0 1.5em;color:#35483f;font-size:18px;line-height:2}
.caries-flow{margin-top:36px;padding:32px 34px 34px;border-radius:20px;background:#f2f7f4}
.caries-flow__main{display:flex;align-items:center;justify-content:center;gap:16px}
.caries-flow__main span,.caries-flow__main strong{display:flex;align-items:center;justify-content:center;min-height:62px;padding:13px 24px;border-radius:32px;background:#fff;border:1px solid #d3e4d9;color:#285b45;font-size:15px;font-weight:700;line-height:1.45;text-align:center}
.caries-flow__main strong{border:2px solid #689b7d;background:#f8fcf9}
.caries-flow__main b{color:#5d9475;font-size:28px;line-height:1}
.caries-flow__splitline{position:relative;height:76px;margin:0 auto;width:74%}
.caries-flow__splitline:before{content:"";position:absolute;left:50%;top:0;width:2px;height:35px;background:#659478}
.caries-flow__splitline:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42px;border-top:2px solid #659478;border-left:2px solid #659478;border-right:2px solid #659478;border-radius:14px 14px 0 0}
.caries-flow__split-label{position:absolute;z-index:1;left:50%;top:23px;transform:translateX(-50%);padding:3px 10px;background:#f2f7f4;color:#527562;font-size:10px;font-weight:800;white-space:nowrap}
.caries-flow__branches{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.caries-flow__branch{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 18px 22px;border-radius:18px;background:#fff}
.caries-flow__branch:before{content:"";position:absolute;top:-14px;left:50%;width:2px;height:14px;background:#659478}
.caries-flow__branch-head{width:calc(100% + 36px);margin:0 -18px 20px;padding:12px 10px;border-radius:18px 18px 0 0;background:#dfeee5;color:#285b45;font-size:13px;font-weight:800;text-align:center}
.caries-flow__branch--progress .caries-flow__branch-head{background:#f5e7df;color:#764b39}
.caries-flow__branch span,.caries-flow__branch strong{display:flex;align-items:center;justify-content:center;width:100%;max-width:250px;min-height:66px;padding:12px 18px;border-radius:14px;border:1px solid #d3e4d9;color:#285b45;font-size:14px;font-weight:700;line-height:1.45;text-align:center}
.caries-flow__branch>b{margin:7px 0;color:#5d9475;font-size:24px;line-height:1}
.caries-flow__branch strong{background:#dff0e5;border:2px solid #9bc8aa;color:#155a38;font-size:15px}
.caries-flow__branch--progress strong{background:#fff0e8;border-color:#e7bda9;color:#85462f}
.prevention-highlight{margin:0 0 48px;padding:39px 43px;border-radius:24px;background:#edf6f0}
.prevention-highlight>span{display:block;margin-bottom:12px;color:#39785a;font-size:9px;font-weight:800;letter-spacing:.18em}
.prevention-highlight h2{margin:0 0 25px;color:#174e38;font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:30px;line-height:1.55}
.prevention-highlight>strong{display:block;margin-top:24px;padding-top:23px;border-top:1px solid #cfdfd5;color:#174e38;font-size:15px;line-height:1.9}
.prevention-ending{padding:40px 44px;border-radius:24px;background:#245f45;color:#fff}
.prevention-ending .section-kicker{color:#c7e4d3}
.prevention-ending h2{color:#fff}
.prevention-ending p{color:rgba(255,255,255,.84);text-align:center}
.prevention-balance{display:flex;align-items:center;justify-content:center;gap:20px;margin:30px 0}
.prevention-balance>div{display:flex;flex:1;min-height:112px;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:1px solid rgba(255,255,255,.24);border-radius:18px;background:rgba(255,255,255,.07);text-align:center}
.prevention-balance span{margin-bottom:7px;color:#c7e4d3;font-size:9px;font-weight:800;letter-spacing:.14em}
.prevention-balance strong{color:#fff;font-size:15px;line-height:1.6}
.prevention-balance>b{font-size:24px;color:#c7e4d3}
.prevention-ending__message{display:block;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);color:#fff;text-align:center;font-size:16px;line-height:1.8}
@media(max-width:600px){.prevention-content{padding-top:38px;padding-bottom:55px}.prevention-copy{padding-bottom:32px;margin-bottom:34px}.prevention-copy h2,.prevention-ending h2{font-size:22px;margin-bottom:18px}.prevention-copy p,.prevention-highlight p,.prevention-ending p{font-size:16px;line-height:1.9}.prevention-highlight{padding:28px 22px;margin-bottom:35px;border-radius:18px}.prevention-highlight h2{font-size:24px}.caries-flow{padding:22px 14px}.caries-flow__main{gap:6px}.caries-flow__main span{min-height:52px;padding:9px 8px;font-size:12px;flex:1}.caries-flow__main b{font-size:19px}.caries-flow__branches{grid-template-columns:1fr;gap:15px;margin-top:24px;padding-top:0}.caries-flow__branches:before,.caries-flow__branch:before{display:none}.caries-flow__branch{grid-template-columns:16px minmax(0,1fr) 16px minmax(0,1fr);gap:4px}.caries-flow__branch span,.caries-flow__branch strong{min-height:64px;padding:9px 5px;font-size:11px}.caries-flow__branch>b{font-size:17px}.prevention-ending{padding:28px 22px;border-radius:18px}.prevention-balance{gap:8px}.prevention-balance>div{min-height:108px;padding:14px 8px}.prevention-balance strong{font-size:12px}.prevention-balance>b{font-size:18px}}

@media(max-width:600px){
.caries-flow{padding:24px 14px 25px}
.caries-flow__main{gap:5px}
.caries-flow__main span{min-height:54px;padding:9px 7px;font-size:12px;flex:1}
.caries-flow__main b{font-size:19px}
.caries-flow__fork{width:72%;height:48px}
.caries-flow__fork:before{height:24px}
.caries-flow__fork:after{top:23px}
.caries-flow__fork i:before,.caries-flow__fork i:after{top:23px;height:25px}
.caries-flow__branches{grid-template-columns:1fr;gap:15px}
.caries-flow__branch{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:5px;padding:14px 9px 16px}
.caries-flow__branch span,.caries-flow__branch strong{min-height:62px;padding:8px 5px;font-size:11px}
.caries-flow__branch>b{font-size:17px}
.caries-flow__label{font-size:10px}
}

@media(max-width:600px){
.caries-flow{padding:24px 13px 26px}
.caries-flow__main{gap:5px}
.caries-flow__main span,.caries-flow__main strong{min-height:54px;padding:8px 7px;font-size:11px;flex:1}
.caries-flow__main b{font-size:18px}
.caries-flow__splitline{width:78%;height:64px}
.caries-flow__splitline:before{height:29px}
.caries-flow__splitline:after{height:35px}
.caries-flow__split-label{top:18px;font-size:9px}
.caries-flow__branches{gap:12px}
.caries-flow__branch{padding:0 7px 15px}
.caries-flow__branch-head{width:calc(100% + 14px);margin:0 -7px 13px;padding:9px 4px;font-size:10px}
.caries-flow__branch span,.caries-flow__branch strong{min-height:66px;padding:8px 5px;font-size:10px}
.caries-flow__branch strong{font-size:11px}
.caries-flow__branch>b{margin:4px 0;font-size:18px}
}


/* v38.5: caries explanation uses a fixed infographic for stable responsive display */
.prevention-caries{display:grid;grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);gap:46px;align-items:start}
.prevention-caries__text{padding-top:12px}
.prevention-caries__figure{margin:0}
.prevention-caries__figure img{display:block;width:100%;height:auto;border-radius:22px}
@media(max-width:760px){
.prevention-caries{display:block}
.prevention-caries__text{padding-top:0}
.prevention-caries__figure{max-width:560px;margin:27px auto 0}
.prevention-caries__figure img{border-radius:16px}
}


/* v39 Cleaning & Whitening */
.cw-content{max-width:900px;padding-top:58px;padding-bottom:80px}
.cw-intro{padding-bottom:42px;margin-bottom:44px;border-bottom:1px solid #e0ebe4}
.cw-intro p,.cw-method p,.cw-qa p{margin:0 0 1.5em;color:#35483f;font-size:18px;line-height:2}
.cw-method{padding-bottom:43px;margin-bottom:44px;border-bottom:1px solid #e0ebe4}
.cw-method h2,.cw-compare h2,.cw-qa>h2{margin:0 0 22px;color:#18503a;font-size:27px;line-height:1.5}
.cw-lead{color:#174e38!important;font-size:18px!important;font-weight:700;line-height:1.8!important}
.cw-compare{margin:0 0 52px;padding:38px 42px 42px;border-radius:24px;background:#f0f7f3}
.cw-compare>h2{text-align:center}
.cw-compare>.section-kicker{text-align:center}
.cw-compare__grid{display:grid;grid-template-columns:1fr 48px 1fr;align-items:center;margin-top:30px}
.cw-compare__card{padding:27px 25px;border-radius:20px;background:#fff;text-align:center}
.cw-compare__card>span{color:#54806a;font-size:9px;font-weight:800;letter-spacing:.16em}
.cw-compare__card h3{margin:6px 0 22px;color:#18503a;font-size:20px}
.cw-compare__step{padding:11px 8px;border-radius:12px;background:#f4f8f5;color:#365a48;font-size:13px;font-weight:700}
.cw-compare__card>b{display:block;margin:5px 0;color:#75a18a;font-size:20px}
.cw-compare__card>strong{display:block;padding:13px 8px;border-radius:13px;background:#dff0e5;color:#155a38;font-size:15px}
.cw-compare__card--white>strong{background:#fff2e9;color:#7d4b36}
.cw-compare__mark{color:#75a18a;font-family:Georgia,serif;font-size:32px;text-align:center}
.cw-qa{padding-top:4px}
.cw-qa__item{padding:25px 0;border-top:1px solid #dce8e0}
.cw-qa__item:last-child{border-bottom:1px solid #dce8e0}
.cw-qa__item h3{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:#18503a;font-size:17px;line-height:1.6}
.cw-qa__item h3 span{display:inline-flex;flex:0 0 34px;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#e3f0e8;color:#286448;font-family:Georgia,serif;font-size:17px}
.cw-qa__item p{margin-left:46px;margin-bottom:.8em}
@media(max-width:600px){.cw-content{padding-top:38px;padding-bottom:55px}.cw-intro,.cw-method{padding-bottom:30px;margin-bottom:33px}.cw-method h2,.cw-compare h2,.cw-qa>h2{font-size:22px}.cw-intro p,.cw-method p,.cw-qa p{font-size:16px;line-height:1.9}.cw-lead{font-size:16px!important}.cw-compare{padding:28px 18px 30px;margin-bottom:40px;border-radius:18px}.cw-compare__grid{grid-template-columns:1fr;margin-top:22px}.cw-compare__mark{padding:7px 0;font-size:26px}.cw-compare__card{padding:22px 18px}.cw-qa__item{padding:21px 0}.cw-qa__item h3{font-size:15px;gap:9px}.cw-qa__item h3 span{flex-basis:30px;width:30px;height:30px;font-size:15px}.cw-qa__item p{margin-left:39px}}


/* v40 Dentures */
.denture-content{max-width:900px;padding-top:58px;padding-bottom:80px}
.denture-content section:not(.denture-approach){margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid #dfe9e3}
.denture-content h2{margin:0 0 24px;color:#174f39;font-size:27px;line-height:1.55}
.denture-content p{margin:0 0 1.45em;color:#35483f;font-size:18px;line-height:2}
.denture-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:27px 0}
.denture-voices p{display:flex;align-items:center;justify-content:center;min-height:120px;margin:0;padding:20px;border-radius:16px;background:#f1f7f3;color:#28523e;font-size:13px;font-weight:700;line-height:1.8;text-align:center}
.denture-question{margin:32px 0!important;color:#174f39!important;font-family:Georgia,"Yu Mincho",serif;font-size:23px!important;font-weight:700;text-align:center}
.denture-question span{font-family:inherit;font-size:14px;font-weight:400}
.denture-compare{display:grid;grid-template-columns:1fr 54px 1fr;align-items:stretch;margin:30px 0 8px}
.denture-compare__card{padding:30px;border:1px solid #dbe8e0;border-radius:20px;background:#fff}
.denture-compare__card--focus{border:0;background:#edf6f0}
.denture-compare__card>span{color:#668675;font-size:9px;font-weight:800;letter-spacing:.17em}
.denture-compare__card h3{margin:8px 0 15px;color:#194f39;font-size:18px;line-height:1.65}
.denture-compare__card p{margin:0;font-size:13px;line-height:1.9}
.denture-compare__vs{display:flex;align-items:center;justify-content:center;color:#71917f;font-size:10px;font-weight:800;letter-spacing:.1em}
.denture-flow{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr;align-items:center;margin:32px 0;padding:30px;border-radius:22px;background:#f0f7f3}
.denture-flow div{text-align:center}.denture-flow span{display:block;margin-bottom:8px;color:#71917f;font-size:9px;font-weight:800;letter-spacing:.12em}
.denture-flow b{color:#1e543d;font-size:14px;line-height:1.55}.denture-flow i{color:#8cab9a;font-style:normal;font-size:22px;text-align:center}
.denture-core{padding:25px 28px;border-left:4px solid #4d8567;background:#fafcfb}
.denture-approach{padding:43px 46px;border-radius:24px;background:#164d38}
.denture-approach .section-kicker{color:#a9cfb9}
.denture-approach h2{color:#fff;font-family:Georgia,"Yu Mincho",serif;font-size:28px}
.denture-approach p{color:#e5f0e9}
@media(max-width:700px){.denture-content{padding-top:38px;padding-bottom:55px}.denture-content section:not(.denture-approach){margin-bottom:36px;padding-bottom:36px}.denture-content h2{font-size:22px}.denture-content p{font-size:16px;line-height:1.9}.denture-voices{grid-template-columns:1fr}.denture-voices p{min-height:auto;padding:18px}.denture-question{font-size:20px!important}.denture-compare{grid-template-columns:1fr;margin-top:24px}.denture-compare__vs{padding:9px}.denture-compare__card{padding:23px}.denture-flow{grid-template-columns:1fr;padding:23px}.denture-flow i{transform:rotate(90deg);line-height:1.2;padding:4px}.denture-flow div{padding:7px}.denture-approach{padding:31px 24px;border-radius:18px}.denture-approach h2{font-size:22px}}


/* v41 Kids oral care */
.kids-content{max-width:900px;padding-top:58px;padding-bottom:80px}
.kids-content>section:not(.kids-future){margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid #dfe9e3}
.kids-content h2{margin:0 0 24px;color:#174f39;font-size:27px;line-height:1.55}
.kids-content p{margin:0 0 1.45em;color:#35483f;font-size:18px;line-height:2}
.kids-questions{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}
.kids-questions span{padding:9px 14px;border-radius:999px;background:#eef7f1;color:#315d47;font-size:12px;font-weight:700}
.kids-steps{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr;align-items:center;margin:30px 0;padding:30px;border-radius:22px;background:#f0f8f3}
.kids-steps div{text-align:center}.kids-steps span{display:block;margin-bottom:8px;color:#6f9781;font-size:9px;font-weight:800;letter-spacing:.12em}.kids-steps b{color:#1e543d;font-size:14px}.kids-steps i{color:#91ad9d;font-style:normal;font-size:22px;text-align:center}
.kids-program{padding:38px!important;border:0!important;border-radius:24px;background:#f2f8f4}
.kids-program__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.kids-program__grid>div{padding:25px;border-radius:17px;background:#fff}
.kids-program__grid span{display:block;margin-bottom:6px;color:#718c7d;font-size:10px;font-weight:800;letter-spacing:.12em}
.kids-program__grid strong{display:block;margin-bottom:10px;color:#17533a;font-size:21px}
.kids-program__grid p{margin:0;font-size:12px;line-height:1.8}
.kids-reward{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:27px 0}
.kids-reward>div{padding:25px;border:1px solid #dce9e1;border-radius:18px}
.kids-reward strong{display:block;margin-bottom:10px;color:#1b563d;font-size:17px}
.kids-reward p{margin:0;font-size:13px;line-height:1.85}
.kids-goal{margin-top:30px!important;padding:25px 28px;border-left:4px solid #5c9474;background:#fafcfb}
.kids-future{padding:43px 46px;border-radius:24px;background:#164d38}
.kids-future .section-kicker{color:#afd2be}.kids-future h2{color:#fff;font-family:Georgia,"Yu Mincho",serif;font-size:28px}.kids-future p{color:#e5f0e9;margin-bottom:0}
@media(max-width:700px){.kids-content{padding-top:38px;padding-bottom:55px}.kids-content>section:not(.kids-future){margin-bottom:36px;padding-bottom:36px}.kids-content h2{font-size:22px}.kids-content p{font-size:16px;line-height:1.9}.kids-questions{display:grid}.kids-questions span{text-align:center}.kids-steps{grid-template-columns:1fr;padding:22px}.kids-steps i{transform:rotate(90deg);line-height:1.2;padding:4px}.kids-steps div{padding:7px}.kids-program{padding:27px 20px!important}.kids-program__grid,.kids-reward{grid-template-columns:1fr}.kids-program__grid>div,.kids-reward>div{padding:21px}.kids-future{padding:31px 24px;border-radius:18px}.kids-future h2{font-size:22px}}


/* v42 First visit / guide */
.guide-content{max-width:960px;padding-top:58px;padding-bottom:80px}
.guide-content>section:not(.guide-official){margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid #dfe9e3}
.guide-content h2{margin:0 0 24px;color:#174f39;font-size:27px;line-height:1.55}.guide-content p,.guide-content li{color:#35483f;font-size:14px;line-height:1.9}
.guide-reserve{display:grid;grid-template-columns:1fr 310px;gap:40px;align-items:center}.guide-reserve p{margin-bottom:0}
.guide-phone{display:block;padding:25px 27px;border-radius:20px;background:#17543c;color:#fff;text-decoration:none}.guide-phone small,.guide-phone span{display:block}.guide-phone small{opacity:.8;font-size:13px}.guide-phone strong{display:block;margin:5px 0 8px;font-size:28px;letter-spacing:.02em}.guide-phone span{font-size:13px}
.guide-subject{padding:28px 30px;border-radius:20px;background:#f1f7f3}.guide-subject>strong{display:block;margin-bottom:14px;color:#18543c;font-size:20px}.guide-subject ul{margin:0;padding-left:20px}
.guide-hours{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.guide-hours>div{padding:20px 14px;border-radius:15px;background:#f3f8f5;text-align:center}.guide-hours span{display:block;margin-bottom:8px;color:#728c7e;font-size:13px;font-weight:800}.guide-hours strong{color:#20533e;font-size:14px;line-height:1.65}.guide-note{margin:15px 0 0!important;font-size:13px!important}.guide-contact{display:flex;gap:28px;margin-top:25px}.guide-contact span{margin-right:9px;color:#7a9185;font-size:13px;font-weight:800}.guide-contact strong{color:#174f39;font-size:17px}
.guide-access{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guide-access>div{padding:22px;border:1px solid #dce8e1;border-radius:16px}.guide-access strong{color:#18543c}.guide-access p{margin:6px 0 0}.guide-map{margin:26px 0 0}.guide-map img{display:block;width:100%;height:auto;border-radius:18px}
.guide-official{margin-top:62px;padding:44px;border-radius:25px;background:#f3f7f5}.guide-official__lead{font-weight:700}.guide-official__items>div{padding:24px 0;border-top:1px solid #d6e2db}.guide-official__items h3,.guide-insurance h3{margin:0 0 9px;color:#254f3c;font-size:15px}.guide-official__items p{margin:0 0 10px}.guide-official__items ul{margin:7px 0 14px;padding-left:20px}.guide-official aside{display:inline-block;margin-top:10px;padding:14px 17px;border-radius:12px;background:#fff;color:#43564c;font-size:12px;line-height:1.7}.guide-insurance{margin-top:12px;padding:25px;border-radius:17px;background:#fff}.guide-insurance>strong{display:block;margin-bottom:20px;color:#174f39;font-size:17px}.guide-insurance h3{margin-top:20px}.guide-insurance p{margin:0}.guide-official-image{max-width:620px;margin:30px auto 0}.guide-official-image img{display:block;width:100%;height:auto;border-radius:12px}
@media(max-width:700px){.guide-content{padding-top:38px;padding-bottom:55px}.guide-content>section:not(.guide-official){margin-bottom:36px;padding-bottom:36px}.guide-content h2{font-size:22px}.guide-reserve{grid-template-columns:1fr;gap:22px}.guide-phone{padding:22px}.guide-phone strong{font-size:25px}.guide-hours{grid-template-columns:1fr 1fr}.guide-contact{display:grid;gap:7px}.guide-access{grid-template-columns:1fr}.guide-official{margin-top:40px;padding:29px 20px;border-radius:18px}.guide-official__items>div{padding:20px 0}}

/* v42.1 guide calendar */
.guide-calendar{margin-top:20px;padding:24px;border-radius:20px;background:#f3f8f5}.guide-calendar .adc-calendar{margin:0}@media(max-width:700px){.guide-calendar{padding:14px}}

/* v42.2 guide calendar + hours */
.guide-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px;align-items:start}
.guide-calendar-hours{padding:24px;border-radius:20px;background:#f3f8f5}
.guide-calendar-hours h3{margin:0 0 14px;color:#174f39;font-size:17px}
.guide-calendar-hours dl{margin:0}
.guide-calendar-hours dl>div{padding:13px 0;border-top:1px solid #d9e6df}
.guide-calendar-hours dt{margin-bottom:4px;color:#718a7d;font-size:10px;font-weight:800}
.guide-calendar-hours dd{margin:0;color:#204f3b;font-size:13px;font-weight:700;line-height:1.65}
@media(max-width:760px){.guide-calendar-layout{grid-template-columns:1fr}.guide-calendar-hours{padding:20px}.guide-calendar-hours dl{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}}

/* v42.3: guide calendar uses the exact same legend structure/colors as the homepage. */
.guide-clinic-schedule-body{margin-top:20px}
.guide-clinic-schedule-body .clinic-calendar .adc-calendar-nav{margin-bottom:14px}

/* v42.4 calendar legend refinements */
.clinic-hours-saturday strong,
.clinic-hours-saturday > span:last-child{
  color:#1675cf !important;
}
.clinic-hours-holiday > span:last-child{
  font-weight:700;
}

/* v42.5 calendar typography alignment */
.clinic-hours-row > span:last-child,
.clinic-hours-saturday > span:last-child,
.clinic-hours-holiday > span:last-child{
  font-size:14px !important;
  line-height:1.65 !important;
}
.clinic-calendar .adc-calendar th,
.clinic-calendar table th,
.guide-calendar-section .adc-calendar th,
.guide-calendar-section table th{
  font-size:13px !important;
  font-weight:700 !important;
}
@media(max-width:760px){
  .clinic-calendar .adc-calendar th,
  .clinic-calendar table th,
  .guide-calendar-section .adc-calendar th,
  .guide-calendar-section table th{
    font-size:12px !important;
  }
}

/* v42.6 Calendar typography: one step larger on PC and mobile.
   Scope is limited to calendar/legend typography only. */
.clinic-calendar .adc-calendar th,
.clinic-calendar table th,
.guide-calendar-section .adc-calendar th,
.guide-calendar-section table th{
  font-size:15px !important;
}
.clinic-calendar .adc-calendar td,
.clinic-calendar table td,
.guide-calendar-section .adc-calendar td,
.guide-calendar-section table td{
  font-size:14px !important;
}
.clinic-hours-row strong{
  font-size:15px !important;
}
.clinic-hours-row strong small{
  font-size:12px !important;
}
.clinic-hours-row > span:last-child,
.clinic-hours-saturday > span:last-child,
.clinic-hours-holiday > span:last-child{
  font-size:15px !important;
}
@media(max-width:760px){
  .clinic-calendar .adc-calendar th,
  .clinic-calendar table th,
  .guide-calendar-section .adc-calendar th,
  .guide-calendar-section table th{
    font-size:14px !important;
  }
  .clinic-calendar .adc-calendar td,
  .clinic-calendar table td,
  .guide-calendar-section .adc-calendar td,
  .guide-calendar-section table td{
    font-size:13px !important;
  }
  .clinic-hours-row strong{
    font-size:14px !important;
  }
  .clinic-hours-row strong small{
    font-size:11px !important;
  }
  .clinic-hours-row > span:last-child,
  .clinic-hours-saturday > span:last-child,
  .clinic-hours-holiday > span:last-child{
    font-size:14px !important;
  }
}


/* =========================================================
   CALENDAR MAINTENANCE NOTE — v43
   =========================================================
   Calendar CSS has been consolidated into:
   assets/css/calendar.css

   Do NOT add new calendar font, grid, legend, month-button or
   responsive overrides below this point. This prevents a later
   theme version from silently changing an already-approved calendar.
   ========================================================= */

/* v47.1 Occlusion main visual */
.occlusion-visual{margin:0 0 44px;overflow:hidden;border-radius:24px;box-shadow:0 16px 38px rgba(28,72,51,.10)}
.occlusion-visual img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;object-position:center center}
@media(max-width:600px){.occlusion-visual{margin-bottom:34px;border-radius:18px}.occlusion-visual img{aspect-ratio:4 / 3;object-position:center center}}

/* =========================================
   Dentures / lifestyle visual
   ========================================= */
.denture-visual{
  margin:0 0 46px;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:24px;
  background:#edf5f0;
  box-shadow:0 16px 38px rgba(28,72,51,.10);
}
.denture-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:700px){
  .denture-visual{
    margin-bottom:34px;
    aspect-ratio:4 / 3;
    border-radius:18px;
  }
}

/* =========================================
   Kids oral care / family brushing visual
   ========================================= */
.kids-visual{
  margin:0 0 46px;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:24px;
  background:#edf5f0;
  box-shadow:0 16px 38px rgba(28,72,51,.10);
}
.kids-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:700px){
  .kids-visual{
    margin-bottom:34px;
    aspect-ratio:4 / 3;
    border-radius:18px;
  }
}

/* =========================================
   Treatment / family lifestyle visual
   ========================================= */
.treatment-visual{
  margin:0 0 46px;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:24px;
  background:#edf5f0;
  box-shadow:0 16px 38px rgba(28,72,51,.10);
}
.treatment-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:600px){
  .treatment-visual{
    margin-bottom:34px;
    aspect-ratio:4 / 3;
    border-radius:18px;
  }
}
