﻿/* Custom classes generated from index_static.html. */
/* The original Tailwind utility list for each class is kept here as a maintenance map. */
/* access-01: relative w-full cursor-grab active:cursor-grabbing */
/* access-02: flex justify-center */
/* access-03: flex items-start */
/* access-04: w-[350px] flex-shrink-0 flex items-start select-none px-4 relative */
/* access-05: flex flex-col items-center w-full */
/* access-06: w-48 h-48 rounded-full bg-medical-light overflow-hidden mb-8 flex items-center justify-center relative shadow-inner */
/* access-07: w-full h-full object-cover mix-blend-multiply */
/* access-08: w-7 h-7 rounded-full bg-medical-accent/30 text-medical-primary flex items-center justify-center font-bold text-xs */
/* access-09: text-lg font-bold text-medical-primary tracking-tight */
/* access-10: text-xs text-gray-500 leading-relaxed text-center font-medium px-4 max-w-[280px] */
/* access-11: absolute right-[-10px] top-20 text-medical-primary opacity-30 */
/* access-12: flex justify-center gap-4 mt-16 */
/* access-13: relative p-2 */
/* access-14: w-4 h-4 rounded-full border flex items-center justify-center transition-colors */
/* access-15: w-2 h-2 bg-medical-primary rounded-full */
/* concept-01: py-20 bg-white */
/* concept-02: flex flex-col lg:flex-row items-center gap-12 lg:gap-20 */
/* concept-03: lg:w-1/2 */
/* concept-04: rounded-2xl overflow-hidden border border-gray-100 shadow-xl */
/* concept-05: w-full aspect-[4/3] object-cover */
/* concept-06: flex items-center gap-3 mb-6 */
/* concept-07: w-6 h-[2px] bg-medical-primary */
/* concept-08: text-medical-primary font-bold text-xs tracking-wider uppercase */
/* concept-09: text-2xl md:text-4xl font-bold text-medical-dark mb-8 leading-[1.4] */
/* concept-10: text-gray-600 leading-relaxed mb-10 text-base font-medium */
/* concept-11: grid grid-cols-1 sm:grid-cols-2 gap-6 */
/* concept-12: bg-medical-light p-6 rounded-2xl border border-gray-50 */
/* concept-13: flex items-center gap-3 mb-3 */
/* concept-14: text-medical-primary */
/* concept-15: font-bold text-base text-medical-primary */
/* concept-16: text-xs text-gray-500 leading-relaxed */
/* director-01: py-24 bg-medical-light */
/* director-02: flex flex-col lg:flex-row gap-12 lg:gap-20 items-start */
/* director-03: w-full lg:w-[400px] shrink-0 */
/* director-04: rounded-2xl overflow-hidden shadow-xl border-4 border-white */
/* director-05: w-full aspect-[4/5] object-cover */
/* director-06: flex-1 */
/* director-07: mb-8 */
/* director-08: text-xs text-medical-primary mb-2 font-bold uppercase tracking-widest */
/* director-09: flex items-baseline gap-4 */
/* director-10: text-3xl font-bold text-medical-dark font-sans */
/* director-11: text-medical-secondary font-bold text-sm */
/* director-12: border-l-4 border-medical-primary pl-6 py-2 mb-10 */
/* director-13: text-xl md:text-2xl font-bold text-medical-primary leading-relaxed font-sans */
/* director-14: space-y-6 text-gray-600 leading-relaxed text-sm font-medium font-sans mb-10 */
/* director-15: bg-white p-8 rounded-2xl border border-gray-100 shadow-sm */
/* director-16: text-xs text-medical-primary font-bold uppercase tracking-widest mb-4 */
/* director-17: text-sm text-gray-500 space-y-3 */
/* director-18: flex gap-4 */
/* director-19: font-bold text-medical-primary */
/* faq-01: max-w-5xl mx-auto px-6 */
/* faq-02: text-gray-500 text-sm font-medium */
/* faq-03: border border-gray-100 rounded-2xl overflow-hidden shadow-sm */
/* faq-04: w-full flex items-center justify-between p-6 text-left bg-white hover:bg-medical-light transition-colors */
/* faq-05: w-8 h-8 rounded-full bg-medical-primary flex items-center justify-center text-white font-bold text-sm */
/* faq-06: font-bold text-medical-dark group-hover:text-medical-primary transition-colors */
/* faq-07: p-8 bg-medical-light/30 border-t border-gray-50 flex gap-4 */
/* faq-08: w-8 h-8 rounded-full bg-medical-primary flex items-center justify-center text-white font-bold text-sm shrink-0 */
/* faq-09: text-gray-600 leading-relaxed font-medium */
/* faq-10: mt-16 flex justify-center */
/* faq-11: bg-medical-primary text-white px-12 py-4 rounded-full font-bold flex items-center gap-3 hover:bg-medical-dark transition-all shadow-lg shadow-medical-primary/20 */
/* feature-01: py-24 bg-medical-light relative overflow-hidden */
/* feature-02: max-w-7xl mx-auto px-6 relative z-10 */
/* feature-03: text-3xl font-bold text-medical-dark tracking-wider mb-6 */
/* feature-04: max-w-2xl mx-auto text-gray-500 text-sm leading-relaxed font-medium */
/* feature-05: grid md:grid-cols-2 lg:grid-cols-3 gap-x-10 gap-y-16 */
/* feature-06: flex flex-col items-center */
/* feature-07: w-full rounded-2xl overflow-hidden shadow-lg mb-8 border-4 border-white */
/* feature-08: w-full h-full object-cover hover:scale-105 transition-transform duration-700 */
/* feature-09: text-lg font-bold text-medical-primary mb-4 font-sans text-center */
/* feature-10: text-medical-primary mr-2 */
/* feature-11: text-gray-600 text-sm leading-relaxed text-center font-sans max-w-[280px] */
/* feature-12: mt-20 flex justify-center */
/* feature-13: bg-medical-primary text-white px-12 py-4 rounded-full font-bold flex items-center gap-3 hover:bg-medical-dark transition-colors shadow-lg shadow-medical-primary/20 */
/* feature-14: group-hover:translate-x-1 transition-transform */
/* footer-01: bg-medical-light text-gray-800 pt-24 pb-12 border-t border-gray-100 */
/* footer-02: grid lg:grid-cols-2 gap-16 mb-20 */
/* footer-03: flex items-center gap-4 mb-8 */
/* footer-04: w-12 h-12 bg-medical-primary rounded-full flex items-center justify-center text-white */
/* footer-05: text-2xl font-bold text-medical-primary tracking-tight leading-none mb-1 */
/* footer-06: flex flex-wrap gap-2 mb-8 */
/* footer-07: px-3 py-1 bg-white border border-gray-100 text-[10px] font-bold text-medical-primary rounded-md */
/* footer-08: text-sm text-gray-600 mb-1 */
/* footer-09: text-3xl font-bold text-medical-primary tracking-tight */
/* footer-10: bg-white rounded-xl border border-gray-100 overflow-hidden mb-8 max-w-lg shadow-sm */
/* footer-11: w-full text-[11px] */
/* footer-12: bg-gray-50/50 border-b border-gray-100 */
/* footer-13: py-3 px-4 text-left font-bold text-gray-400 */
/* footer-14: py-3 text-center font-bold text-gray-500 */
/* footer-15: py-3 px-4 font-bold text-gray-600 */
/* footer-16: py-3 text-center text-medical-primary text-lg */
/* footer-17: p-3 bg-gray-50/30 border-t border-gray-50 */
/* footer-18: text-[10px] text-gray-400 font-medium */
/* footer-19: flex gap-4 max-w-lg */
/* footer-20: flex-1 bg-medical-primary text-white py-4 rounded-lg font-bold text-sm flex items-center justify-center gap-2 hover:bg-medical-dark transition-colors shadow-md */
/* footer-21: flex flex-col gap-12 */
/* footer-22: grid grid-cols-3 gap-8 */
/* footer-23: flex flex-col gap-4 */
/* footer-24: font-bold text-medical-primary hover:underline text-sm */
/* footer-25: font-bold text-gray-400 text-xs uppercase tracking-widest mb-6 border-b border-gray-100 pb-2 */
/* footer-26: flex flex-col gap-4 text-sm text-gray-600 font-medium */
/* footer-27: hover:text-medical-primary transition-colors */
/* footer-28: text-right lg:text-left */
/* footer-29: text-xs text-medical-primary underline font-medium hover:opacity-80 */
/* footer-30: rounded-2xl overflow-hidden h-[300px] bg-gray-100 border border-gray-100 shadow-sm relative */
/* footer-31: absolute inset-0 flex items-center justify-center text-gray-300 text-xs font-bold */
/* footer-32: w-full h-full object-cover opacity-60 */
/* footer-33: absolute top-4 left-4 bg-white p-3 rounded-lg shadow-md border border-gray-100 max-w-[200px] */
/* footer-34: font-bold text-xs text-gray-800 mb-1 */
/* footer-35: text-[10px] text-gray-500 leading-tight */
/* footer-36: mt-2 flex items-center gap-1 text-medical-primary text-[10px] font-bold */
/* footer-37: flex */
/* footer-38: fill-current */
/* footer-39: text-gray-400 */
/* footer-40: pt-8 border-t border-gray-100 flex justify-end text-[11px] text-gray-400 font-medium */
/* gallery-01: py-24 overflow-hidden bg-medical-light */
/* gallery-02: w-full px-6 md:px-12 lg:px-20 */
/* gallery-03: flex flex-col lg:flex-row gap-12 lg:gap-20 items-center */
/* gallery-04: lg:w-1/4 w-full shrink-0 */
/* gallery-05: text-gray-500 text-sm leading-relaxed mb-12 font-medium */
/* gallery-06: hidden md:block */
/* gallery-07: flex items-center gap-6 */
/* gallery-08: flex gap-3 */
/* gallery-09: w-12 h-12 rounded-full border border-medical-primary flex items-center justify-center text-medical-primary hover:bg-medical-primary hover:text-white transition-all duration-300 disabled:opacity-30 */
/* gallery-10: lg:w-3/4 w-full overflow-hidden */
/* gallery-11: w-full */
/* gallery-12: aspect-[4/3] rounded-[3rem] overflow-hidden border-8 border-white */
/* gallery-13: w-full h-full object-cover transition-transform duration-1000 group-hover:scale-110 */
/* gallery-14: mt-8 */
/* gallery-15: text-xl font-bold text-medical-primary mb-2 */
/* gallery-16: text-sm text-gray-500 font-medium */
/* header-01: fixed top-0 left-0 right-0 z-50 bg-white/95 backdrop-blur-md border-b border-gray-100 */
/* header-02: bg-medical-primary hidden lg:block */
/* header-03: max-w-7xl mx-auto px-6 h-10 flex items-center justify-end gap-6 text-[11px] font-bold text-white/90 */
/* header-04: flex items-center gap-1 hover:text-white transition-colors */
/* header-05: max-w-7xl mx-auto px-6 h-20 flex items-center justify-between */
/* header-06: flex items-center gap-3 */
/* header-07: w-10 h-10 bg-medical-primary rounded-full flex items-center justify-center text-white font-bold text-xl */
/* header-08: flex flex-col */
/* header-09: text-xl font-bold text-medical-primary tracking-tight leading-none mb-1 */
/* header-10: text-[10px] text-gray-400 font-bold uppercase tracking-widest */
/* header-11: hidden lg:flex items-center gap-8 */
/* header-12: relative */
/* header-13: text-sm font-bold text-medical-dark hover:text-medical-primary transition-colors flex items-center gap-1 */
/* header-14: text-gray-400 group-hover:text-medical-primary transition-colors */
/* header-15: absolute -bottom-1 left-0 w-0 h-[2px] bg-medical-primary group-hover:w-full transition-all duration-300 */
/* header-16: flex items-center gap-4 */
/* header-17: hidden md:flex bg-medical-primary text-white px-6 py-2.5 rounded-full font-bold text-sm hover:bg-medical-dark transition-all shadow-md */
/* header-18: lg:hidden text-medical-primary p-2 */
/* hero-01: relative bg-white pt-4 pb-20 lg:pb-0 */
/* hero-02: max-w-[1600px] mx-auto px-4 lg:px-20 relative */
/* hero-03: absolute -left-2 lg:left-4 top-1/2 -translate-y-1/2 z-30 hidden lg:flex flex-col gap-4 */
/* hero-04: w-9 h-9 rounded-full border border-gray-200 flex items-center justify-center text-medical-primary hover:bg-medical-primary hover:text-white transition-all bg-white shadow-sm */
/* hero-05: relative h-[500px] lg:h-[750px] w-full overflow-hidden rounded-sm shadow-sm bg-gray-100 */
/* hero-06: absolute inset-0 */
/* hero-07: w-full h-full object-cover */
/* hero-08: absolute inset-0 bg-black/5 */
/* hero-09: absolute left-12 top-1/4 z-30 hidden lg:flex flex-col gap-4 */
/* hero-10: bg-white/95 px-8 py-4 */
/* hero-11: text-2xl font-bold text-gray-700 tracking-[0.2em] */
/* hero-12: text-2xl font-bold text-medical-primary tracking-[0.2em] */
/* hero-13: absolute bottom-24 left-12 z-30 flex gap-2 */
/* hero-14: h-1 transition-all duration-500 w-4 bg-white/50 */
/* hero-15: h-1 transition-all duration-500 w-8 bg-medical-primary */
/* hero-16: absolute -right-2 lg:right-4 top-1/2 -translate-y-1/2 z-30 hidden lg:flex flex-col gap-16 */
/* hero-17: flex flex-col items-center gap-2 */
/* hero-18: text-[10px] font-bold text-gray-400 [writing-mode:vertical-rl] tracking-widest uppercase */
/* hero-19: w-11 h-11 bg-medical-primary rounded-full flex items-center justify-center text-white shadow-md group-hover:scale-110 transition-transform */
/* hero-20: absolute -bottom-16 left-1/2 -translate-x-1/2 z-30 hidden lg:block w-full max-w-[1000px] */
/* hero-21: grid grid-cols-6 bg-white shadow-xl border border-gray-100 */
/* hero-22: flex flex-col items-center justify-center py-6 px-2 border-r border-gray-50 hover:bg-gray-50 transition-colors relative overflow-hidden */
/* hero-23: text-medical-primary mb-3 group-hover:scale-110 transition-transform */
/* hero-24: text-[11px] font-bold text-gray-600 text-center leading-tight whitespace-pre-line */
/* hero-25: absolute bottom-0 right-0 w-0 h-0 border-b-[8px] border-r-[8px] border-transparent border-r-medical-primary/20 */
/* hero-26: lg:hidden absolute top-0 left-0 right-0 p-4 flex items-center justify-between z-40 bg-white/90 backdrop-blur-sm */
/* hero-27: flex items-center gap-2 */
/* hero-28: w-8 h-8 bg-medical-primary rounded-full flex items-center justify-center text-white font-bold */
/* hero-29: font-bold text-medical-dark */
/* hero-30: p-2 text-medical-primary */
/* mobile-01: lg:hidden fixed bottom-6 left-6 right-6 z-40 flex gap-3 */
/* mobile-02: flex-1 bg-medical-primary text-white py-4 rounded-xl font-bold flex items-center justify-center gap-2 shadow-xl */
/* news-01: pt-32 pb-8 bg-white */
/* news-02: max-w-7xl mx-auto px-6 */
/* news-03: text-center mb-16 relative */
/* news-04: text-8xl font-bold text-medical-secondary opacity-30 tracking-[0.2em] absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 select-none uppercase */
/* news-05: relative z-10 */
/* news-06: text-3xl font-bold text-medical-dark tracking-wider */
/* news-07: flex justify-end gap-2 mb-8 */
/* news-08: px-8 py-3 rounded-t-xl border-2 transition-all font-bold text-sm border-medical-primary border-b-0 text-medical-primary bg-white */
/* news-09: px-8 py-3 rounded-t-xl border-2 transition-all font-bold text-sm border-gray-100 border-b-0 text-gray-400 bg-gray-50 hover:bg-gray-100 */
/* news-10: border-t-2 border-medical-primary */
/* news-11: flex flex-col md:flex-row md:items-center gap-4 py-6 border-b border-gray-100 hover:bg-gray-50 transition-colors */
/* news-12: text-sm font-bold text-gray-400 min-w-[100px] */
/* news-13: inline-block px-4 py-1 rounded-full border border-medical-primary text-medical-primary text-[10px] font-bold w-fit */
/* news-14: flex-1 text-sm font-medium text-gray-700 group-hover:text-medical-primary transition-colors */
/* news-15: text-medical-primary border border-medical-accent rounded-full p-0.5 hidden md:block */
/* news-16: mt-12 flex justify-center */
/* news-17: w-full max-w-md bg-medical-primary text-white py-5 rounded-full font-bold flex items-center justify-center gap-2 hover:bg-medical-dark transition-colors shadow-lg shadow-medical-primary/20 */
/* news-18: border border-white/30 rounded-full p-0.5 */
/* page-01: min-h-screen bg-white selection:bg-medical-primary/10 selection:text-medical-primary */
/* recruit-01: py-24 bg-medical-primary relative overflow-hidden */
/* recruit-02: absolute inset-0 opacity-10 */
/* recruit-03: absolute top-0 left-0 w-full h-full bg-[radial-gradient(circle_at_center,_var(--tw-gradient-stops))] from-white via-transparent to-transparent */
/* recruit-04: flex flex-col lg:flex-row items-center gap-12 */
/* recruit-05: lg:w-1/2 text-center lg:text-left */
/* recruit-06: text-3xl md:text-5xl font-bold text-white mb-8 leading-tight */
/* recruit-07: text-white/80 text-lg mb-12 font-medium */
/* recruit-08: flex flex-col sm:flex-row items-center justify-center lg:justify-start gap-4 */
/* recruit-09: bg-white text-medical-primary px-12 py-5 rounded-full font-bold text-lg hover:bg-medical-dark hover:text-white transition-all shadow-xl */
/* recruit-10: border-2 border-white/30 text-white px-12 py-5 rounded-full font-bold text-lg hover:bg-white/10 transition-all */
/* recruit-11: grid grid-cols-2 gap-4 */
/* recruit-12: rounded-2xl shadow-lg */
/* recruit-13: rounded-2xl shadow-lg mt-8 */
/* schedule-01: pt-8 pb-12 bg-white */
/* schedule-02: border-2 border-medical-accent/30 rounded-2xl p-6 flex flex-col */
/* schedule-03: bg-medical-light text-medical-dark font-bold text-center py-2 rounded-lg mb-6 */
/* schedule-04: flex flex-col gap-8 */
/* schedule-05: grid lg:grid-cols-2 gap-8 */
/* schedule-06: overflow-x-auto */
/* schedule-07: w-full text-sm */
/* schedule-08: border-b border-gray-100 */
/* schedule-09: py-2 */
/* schedule-10: py-2 text-center font-bold */
/* schedule-11: py-2 text-center font-bold text-red-400 */
/* schedule-12: py-2 text-center font-bold text-medical-primary */
/* schedule-13: border-b border-gray-50 */
/* schedule-14: py-3 font-bold text-gray-500 */
/* schedule-15: py-3 text-center text-medical-primary */
/* schedule-16: py-3 text-center text-gray-300 */
/* schedule-17: grid grid-cols-[100px_1fr] border border-gray-100 rounded-lg overflow-hidden h-fit */
/* schedule-18: bg-gray-50 p-4 flex items-center justify-center font-bold text-gray-500 border-r border-gray-100 */
/* schedule-19: p-4 flex flex-col gap-2 */
/* schedule-20: flex items-center justify-between */
/* schedule-21: font-bold */
/* schedule-22: font-bold text-lg */
/* schedule-23: text-[10px] text-gray-400 */
/* schedule-24: bg-red-50 p-4 flex items-center justify-center font-bold text-red-400 border-r border-gray-100 border-t */
/* schedule-25: p-4 flex items-center justify-center font-bold text-gray-700 border-t border-gray-100 */
/* schedule-26: text-[10px] text-gray-500 leading-relaxed */
/* schedule-27: w-full bg-medical-primary text-white py-4 rounded-xl font-bold flex items-center justify-center gap-2 hover:bg-medical-dark transition-all */
/* services-01: py-24 bg-white */
/* services-02: grid md:grid-cols-3 gap-8 */
/* services-03: bg-white p-10 rounded-xl shadow-sm hover:shadow-md transition-all duration-300 flex flex-col items-center text-center */
/* services-04: text-medical-primary mb-8 group-hover:scale-110 transition-transform duration-300 */
/* services-05: text-xl font-bold text-medical-primary mb-8 tracking-tight */
/* services-06: space-y-3 mb-8 w-full */
/* services-07: flex items-center gap-2 text-xs text-gray-700 font-medium */
/* services-08: text-medical-primary shrink-0 */
/* services-09: text-left */
/* services-10: mt-auto */
/* services-11: w-8 h-8 rounded-full border border-medical-primary flex items-center justify-center text-medical-primary group-hover:bg-medical-primary group-hover:text-white transition-all */
/* specialty-01: py-24 bg-white overflow-hidden */
/* specialty-02: max-w-7xl mx-auto px-6 mb-16 */
/* specialty-03: text-center relative */
/* specialty-04: w-full mb-16 px-4 md:px-8 */
/* specialty-05: grid lg:grid-cols-2 gap-6 md:gap-10 */
/* specialty-06: rounded-[2.5rem] lg:rounded-[3.5rem] overflow-hidden shadow-md border-4 border-white */
/* specialty-07: w-full aspect-[16/8] lg:aspect-[16/7] object-cover */
/* specialty-08: grid lg:grid-cols-2 gap-16 lg:gap-24 */
/* specialty-09: flex items-center gap-3 mb-4 */
/* specialty-10: w-10 h-10 bg-medical-light rounded-full flex items-center justify-center text-medical-primary */
/* specialty-11: text-[10px] font-bold text-medical-primary uppercase tracking-[0.2em] */
/* specialty-12: text-medical-primary font-bold text-sm mb-2 font-sans underline decoration-medical-primary decoration-4 underline-offset-4 */
/* specialty-13: text-2xl font-bold text-medical-dark mb-6 font-sans leading-tight */
/* specialty-14: text-gray-600 text-sm leading-relaxed mb-8 font-medium font-sans */
/* specialty-15: space-y-4 */
/* specialty-16: flex items-center gap-3 text-sm font-bold text-medical-primary font-sans */
/* specialty-17: space-y-6 */
/* specialty-18: flex gap-3 bg-medical-light p-4 rounded-xl border border-medical-accent/20 */
/* specialty-19: text-sm font-bold text-medical-primary font-sans mb-1 */
/* specialty-20: text-xs text-gray-500 leading-relaxed font-sans */

/* Generated utility-equivalent rules. */
.header-15,
.hero-03,
.hero-06,
.hero-08,
.hero-09,
.hero-13,
.hero-16,
.hero-20,
.hero-25,
.hero-26,
.news-04,
.access-11,
.recruit-02,
.recruit-03,
.footer-31,
.footer-33 {
    position: absolute
}

/* Medical review identity shared by disease, treatment, examination and column pages. */
.medical-supervisor {
  padding:clamp(54px,7vw,88px) 24px;
  background:linear-gradient(135deg,#f4fbfe 0%,#edf8fc 55%,#fff 100%);
}
.medical-supervisor__inner {
  width:min(1120px,100%);
  margin:0 auto;
}
.medical-supervisor__card {
  display:grid;
  grid-template-columns:118px minmax(240px,.8fr) minmax(340px,1.35fr);
  align-items:center;
  gap:28px;
  padding:28px 34px;
  border:1px solid rgba(31,142,185,.2);
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 50px rgba(35,103,130,.1);
}
.medical-supervisor__photo {
  width:118px;
  height:138px;
  margin:0;
  overflow:hidden;
  border-radius:8px;
  background:#eaf5f9;
}
.medical-supervisor__photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
}
.medical-supervisor__eyebrow {
  margin:0 0 8px;
  color:#0798ce;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.16em;
}
.medical-supervisor__label {
  margin:0 0 5px;
  color:#47788b;
  font-size:.82rem;
  font-weight:700;
}
.medical-supervisor__profile h2 {
  margin:0;
  color:#123f55;
  font-size:clamp(1.2rem,2vw,1.55rem);
  line-height:1.45;
  letter-spacing:.03em;
}
.medical-supervisor__qualification {
  margin:7px 0 0;
  color:#315f72;
  font-size:.86rem;
  font-weight:700;
}
.medical-supervisor__body {
  padding-left:28px;
  border-left:1px solid #d9edf4;
}
.medical-supervisor__body>p:first-child {
  margin:0;
  color:#365d6d;
  font-size:.92rem;
  line-height:1.9;
}
.medical-supervisor__date {
  margin:10px 0 0;
  color:#6b8792;
  font-size:.76rem;
}
.medical-supervisor__link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  color:#078fbd;
  font-size:.84rem;
  font-weight:800;
  text-decoration:none;
}
.medical-supervisor__link span { transition:transform .2s ease; }
.medical-supervisor__link:hover span { transform:translateX(4px); }
.medical-supervisor__links {
  display:flex;
  flex-wrap:wrap;
  gap:4px 22px;
}
.column-review-note {
  margin:0 0 24px;
  padding:14px 18px;
  border-left:3px solid #18a8d6;
  border-radius:0 8px 8px 0;
  background:rgba(255,255,255,.78);
  color:#315f72;
  font-size:.86rem;
  line-height:1.8;
}

/* Editorial policy and content provenance. */
.editorial-policy-page .sub-lead strong { color:#174d64; }
.editorial-policy-page .sub-card a:not(.lower-button) {
  color:#087fab;
  font-weight:800;
  text-underline-offset:4px;
}
.editorial-process .lower-card { position:relative; padding-top:54px; }
.editorial-step {
  position:absolute;
  top:20px;
  left:24px;
  color:#0a9bcf;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
}
.editorial-corrections {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:36px;
}
.editorial-updated {
  margin:18px 0 0;
  color:#63808d;
  font-size:.78rem;
  font-weight:700;
}
@media(max-width:767px) {
  .editorial-corrections { grid-template-columns:1fr; gap:20px; }
}

@media(max-width:900px) {
  .medical-supervisor__card {
    grid-template-columns:100px 1fr;
    gap:22px 24px;
  }
  .medical-supervisor__photo { width:100px; height:118px; }
  .medical-supervisor__body {
    grid-column:1/-1;
    padding:20px 0 0;
    border-top:1px solid #d9edf4;
    border-left:0;
  }
}
@media(max-width:560px) {
  .medical-supervisor { padding:44px 16px; }
  .medical-supervisor__card {
    grid-template-columns:78px 1fr;
    gap:18px;
    padding:22px 20px;
    border-radius:12px;
  }
  .medical-supervisor__photo { width:78px; height:92px; }
  .medical-supervisor__eyebrow { font-size:.62rem; }
  .medical-supervisor__profile h2 { font-size:1.08rem; }
  .medical-supervisor__qualification { font-size:.76rem; }
  .medical-supervisor__body { padding-top:18px; }
}

/* 2026-08-27 contact reference layout, collision-free hero and access payment */
.header-01 {
    top: 0 !important;
    z-index: 1200 !important;
}

.hero-05 { overflow: hidden; }
.hero-13 {
    top: auto !important;
    bottom: 18px !important;
    z-index: 84;
}

.top-gallery {
    z-index: 2 !important;
    margin-top: 0 !important;
    padding: 18px 0 34px !important;
    background: #fff;
}
.top-gallery__stage { position: relative; z-index: 2; }
.top-gallery .hero-20,
.top-gallery .hero-16 {
    position: relative !important;
    inset: auto !important;
    translate: none !important;
    transform: none !important;
    z-index: 3;
}
.top-gallery .hero-20 {
    display: block !important;
    width: min(1120px, calc(100% - 48px));
    margin: 22px auto 0;
}
.top-gallery .hero-21 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #dcebf2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(17, 70, 96, .08);
}
.top-gallery .hero-22 {
    min-height: 92px;
    padding: 15px 9px;
}
.top-gallery .hero-16 {
    display: flex !important;
    justify-content: center;
    width: min(1120px, calc(100% - 48px));
    margin: 12px auto 0;
}
.top-gallery .hero-17 {
    width: min(100%, 260px);
    min-height: 48px;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
}
.top-gallery + .top-news { padding-top: 42px; }

.top-access-payment {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid #d4e9f1;
    border-radius: 16px;
    background: linear-gradient(145deg, #f8fdff, #eef9fc);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.top-access-payment__head {
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.top-access-payment__head span {
    color: #078bc7;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .17em;
}
.top-access-payment__head h3 {
    margin: 0;
    color: #164b64;
    font-size: 1.05rem;
}
.top-access-payment__lead,
.top-access-payment__group p,
.top-access-payment__note {
    margin: 8px 0 0;
    color: #4f6d7b;
    font-size: .68rem;
    line-height: 1.65;
}
.top-access-payment__lead strong { color: #174e67; }
.top-access-payment__group { margin-top: 12px; }
.top-access-payment__group h4 {
    margin: 0;
    color: #0875b8;
    font-size: .74rem;
}
.top-access-payment .payment-brands {
    margin-top: 9px;
    gap: 5px;
}
.top-access-payment .payment-brands span {
    min-height: 27px;
    padding: 4px 7px;
    font-size: .55rem;
    border-radius: 6px;
}
.top-access-payment__unavailable {
    margin: 12px 0 0;
    padding: 9px 10px;
    border-left: 3px solid #d33b3b;
    border-radius: 7px;
    background: #fff2f2;
    color: #7a4141;
    font-size: .65rem;
    line-height: 1.6;
}
.top-access-payment__unavailable strong { color: #c62828; }

.top-phone-contact {
    position: relative;
    min-height: 440px;
    padding: 70px 24px;
    overflow: hidden;
    isolation: isolate;
    background: #37677c;
}
.top-phone-contact::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: -8px;
    background: url("../img/photo-date-web/clinic-waiting-long.jpg") center 50% / cover no-repeat;
    filter: blur(2px);
    transform: scale(1.025);
}
.top-phone-contact::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg, rgba(9,48,66,.7), rgba(11,58,78,.55));
}
.top-phone-contact__inner {
    max-width: 980px;
    margin: auto;
    padding: 0;
    display: grid;
    justify-items: center;
    gap: 28px;
    border-radius: 0;
    background: transparent;
    color: #fff;
    text-align: center;
    box-shadow: none;
}
.top-phone-contact__heading > span {
    color: #aee9ff;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .23em;
}
.top-phone-contact__heading h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    text-shadow: 0 2px 18px rgba(0,31,44,.35);
}
.top-phone-contact__heading p {
    max-width: 850px;
    margin: 12px auto 0;
    color: rgba(255,255,255,.92);
    font-size: .88rem;
    line-height: 1.75;
}
.top-phone-contact a.top-phone-contact__card {
    position: relative;
    width: min(760px, 100%);
    min-width: 0;
    padding: 27px 34px 20px;
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    border-top: 7px solid #18a7df;
    border-radius: 3px;
    background: rgba(255,255,255,.97);
    color: #153f53;
    text-decoration: none;
    box-shadow: 0 18px 48px rgba(0,28,42,.28);
}
.top-phone-contact__number {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
}
.top-phone-contact__number b {
    color: #0875b8;
    font-size: clamp(1.7rem, 3.3vw, 2.8rem);
}
.top-phone-contact a.top-phone-contact__card strong {
    font-size: clamp(2.15rem, 5vw, 4rem);
    line-height: 1.1;
    letter-spacing: .035em;
}
.top-phone-contact__hours {
    width: min(100%, 590px);
    margin-top: 15px;
    padding-top: 14px;
    display: flex;
    justify-content: center;
    gap: 28px;
    border-top: 1px solid #d7e3e8;
    color: #274f61;
    font-size: .88rem;
}
.top-phone-contact a.top-phone-contact__card small {
    margin-top: 9px;
    color: #6a7d86;
    font-size: .68rem;
}
.top-phone-contact a.top-phone-contact__card em {
    margin-top: 13px;
    padding: 7px 18px;
    border-radius: 999px;
    background: #078bc7;
    color: #fff;
    font-size: .68rem;
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 767px) {
    .hero-05 { overflow: hidden; }
    .hero-13 {
        top: calc(clamp(310px, 43svh, 380px) - 27px) !important;
        bottom: auto !important;
    }
    .top-gallery { margin-top: 0 !important; padding: 10px 0 22px !important; }
    .top-gallery .hero-20 { width: calc(100% - 24px); margin-top: 13px; }
    .top-gallery .hero-21 { grid-template-columns: repeat(3, minmax(0, 1fr)); border-radius: 13px; }
    .top-gallery .hero-22 { min-height: 70px; padding: 9px 5px; }
    .top-gallery .hero-23 { width: 25px; height: 25px; }
    .top-gallery .hero-23 svg { width: 17px; height: 17px; }
    .top-gallery .hero-24 { font-size: .58rem; line-height: 1.4; white-space: normal; }
    .top-gallery .hero-16 { width: calc(100% - 24px); margin-top: 9px; }
    .top-gallery .hero-17 { min-height: 42px; }
    .top-gallery + .top-news { padding-top: 28px; }

    .top-access-payment { padding: 14px 12px; }
    .top-access-payment__head { display: block; }
    .top-access-payment__head h3 { margin-top: 3px; font-size: .95rem; }
    .top-access-payment__lead,
    .top-access-payment__group p,
    .top-access-payment__note { font-size: .62rem; }
    .top-access-payment .payment-brands span { min-height: 25px; padding: 3px 6px; font-size: .5rem; }

    .top-phone-contact { min-height: 0; padding: 45px 14px 52px; }
    .top-phone-contact__inner { padding: 0; gap: 20px; }
    .top-phone-contact__heading h2 { font-size: 1.45rem; line-height: 1.45; }
    .top-phone-contact__heading p { margin-top: 8px; font-size: .7rem; line-height: 1.65; }
    .top-phone-contact a.top-phone-contact__card { width: 100%; padding: 20px 12px 16px; }
    .top-phone-contact a.top-phone-contact__card strong { font-size: clamp(1.8rem, 10vw, 2.65rem); }
    .top-phone-contact__number { gap: 8px; }
    .top-phone-contact__number b { font-size: 1.55rem; }
    .top-phone-contact__hours { margin-top: 12px; padding-top: 11px; display: grid; gap: 4px; font-size: .72rem; }
    .top-phone-contact a.top-phone-contact__card small { font-size: .58rem; line-height: 1.55; }
}


.header-01,
.mobile-01 {
    position: fixed
}

.header-12,
.hero-01,
.hero-02,
.hero-05,
.hero-22,
.news-03,
.news-05,
.feature-01,
.feature-02,
.specialty-03,
.access-01,
.access-04,
.access-06,
.access-13,
.recruit-01,
.footer-30 {
    position: relative
}

.hero-06,
.hero-08,
.recruit-02,
.footer-31 {
    inset: calc(var(--spacing) * 0)
}

.header-01,
.hero-26,
.recruit-03 {
    top: calc(var(--spacing) * 0)
}

.hero-03,
.hero-16,
.news-04 {
    top: 50%
}

.hero-09 {
    top: 25%
}

.footer-33 {
    top: calc(var(--spacing) * 4)
}

.access-11 {
    top: calc(var(--spacing) * 20)
}

.hero-16 {
    right: calc(var(--spacing) * -2)
}

.header-01,
.hero-25,
.hero-26 {
    right: calc(var(--spacing) * 0)
}

.mobile-01 {
    right: calc(var(--spacing) * 6)
}

.access-11 {
    right: -10px
}

.header-15 {
    bottom: calc(var(--spacing) * -1)
}

.hero-20 {
    bottom: calc(var(--spacing) * -16)
}

.hero-25 {
    bottom: calc(var(--spacing) * 0)
}

.mobile-01 {
    bottom: calc(var(--spacing) * 6)
}

.hero-13 {
    bottom: calc(var(--spacing) * 24)
}

.hero-03 {
    left: calc(var(--spacing) * -2)
}

.header-01,
.header-15,
.hero-26,
.recruit-03 {
    left: calc(var(--spacing) * 0)
}

.hero-20,
.news-04 {
    left: 50%
}

.footer-33 {
    left: calc(var(--spacing) * 4)
}

.mobile-01 {
    left: calc(var(--spacing) * 6)
}

.hero-09,
.hero-13 {
    left: calc(var(--spacing) * 12)
}

.news-05,
.feature-02 {
    z-index: 10
}

.hero-03,
.hero-09,
.hero-13,
.hero-16,
.hero-20 {
    z-index: 30
}

.hero-26,
.mobile-01 {
    z-index: 40
}

.header-01 {
    z-index: 50
}

.header-03,
.header-05,
.hero-02,
.news-02,
.feature-02,
.feature-04,
.specialty-02,
.faq-01 {
    margin-inline: auto
}

.footer-36 {
    margin-top: calc(var(--spacing) * 2)
}

.gallery-14,
.recruit-13 {
    margin-top: calc(var(--spacing) * 8)
}

.news-16 {
    margin-top: calc(var(--spacing) * 12)
}

.access-12,
.faq-10 {
    margin-top: calc(var(--spacing) * 16)
}

.feature-12 {
    margin-top: calc(var(--spacing) * 20)
}

.services-10 {
    margin-top: auto
}

.feature-10 {
    margin-right: calc(var(--spacing) * 2)
}

.header-09,
.specialty-19,
.footer-05,
.footer-08,
.footer-34 {
    margin-bottom: calc(var(--spacing) * 1)
}

.director-08,
.specialty-12,
.gallery-15 {
    margin-bottom: calc(var(--spacing) * 2)
}

.hero-23,
.concept-13 {
    margin-bottom: calc(var(--spacing) * 3)
}

.feature-09,
.director-16,
.specialty-09 {
    margin-bottom: calc(var(--spacing) * 4)
}

.schedule-03,
.concept-06,
.feature-03,
.specialty-13,
.footer-25 {
    margin-bottom: calc(var(--spacing) * 6)
}

.news-07,
.concept-09,
.feature-07,
.services-04,
.services-05,
.services-06,
.director-07,
.specialty-14,
.access-06,
.recruit-06,
.footer-03,
.footer-06,
.footer-10 {
    margin-bottom: calc(var(--spacing) * 8)
}

.concept-10,
.director-12,
.director-14 {
    margin-bottom: calc(var(--spacing) * 10)
}

.gallery-05,
.recruit-07 {
    margin-bottom: calc(var(--spacing) * 12)
}

.news-03,
.specialty-02,
.specialty-04 {
    margin-bottom: calc(var(--spacing) * 16)
}

.footer-02 {
    margin-bottom: calc(var(--spacing) * 20)
}

.header-03,
.header-04,
.header-05,
.header-06,
.header-07,
.header-08,
.header-13,
.header-16,
.hero-04,
.hero-13,
.hero-17,
.hero-19,
.hero-22,
.hero-26,
.hero-27,
.hero-28,
.news-07,
.news-11,
.news-16,
.news-17,
.schedule-02,
.schedule-04,
.schedule-18,
.schedule-19,
.schedule-20,
.schedule-24,
.schedule-25,
.schedule-27,
.concept-02,
.concept-06,
.concept-13,
.feature-06,
.feature-12,
.feature-13,
.services-03,
.services-07,
.services-11,
.director-02,
.director-09,
.director-18,
.specialty-09,
.specialty-10,
.specialty-16,
.specialty-18,
.access-02,
.access-03,
.access-04,
.access-05,
.access-06,
.access-08,
.access-12,
.access-14,
.faq-04,
.faq-05,
.faq-07,
.faq-08,
.faq-10,
.faq-11,
.gallery-03,
.gallery-07,
.gallery-08,
.gallery-09,
.recruit-04,
.recruit-08,
.footer-03,
.footer-04,
.footer-06,
.footer-19,
.footer-20,
.footer-21,
.footer-23,
.footer-26,
.footer-31,
.footer-36,
.footer-37,
.footer-40,
.mobile-01,
.mobile-02 {
    display: flex
}

.hero-21,
.schedule-05,
.schedule-17,
.concept-11,
.feature-05,
.services-02,
.specialty-05,
.specialty-08,
.recruit-11,
.footer-02,
.footer-22 {
    display: grid
}

.header-02,
.header-11,
.header-17,
.hero-03,
.hero-09,
.hero-16,
.hero-20,
.news-15,
.gallery-06 {
    display: none
}

.news-13 {
    display: inline-block
}

.concept-05,
.gallery-12 {
    aspect-ratio: 4/3
}

.director-05 {
    aspect-ratio: 4/5
}

.specialty-07 {
    aspect-ratio: 16/8
}

.hero-25 {
    height: calc(var(--spacing) * 0)
}

.hero-14,
.hero-15 {
    height: calc(var(--spacing) * 1)
}

.access-15 {
    height: calc(var(--spacing) * 2)
}

.access-14 {
    height: calc(var(--spacing) * 4)
}

.access-08 {
    height: calc(var(--spacing) * 7)
}

.hero-28,
.services-11,
.faq-05,
.faq-08 {
    height: calc(var(--spacing) * 8)
}

.hero-04 {
    height: calc(var(--spacing) * 9)
}

.header-03,
.header-07,
.specialty-10 {
    height: calc(var(--spacing) * 10)
}

.hero-19 {
    height: calc(var(--spacing) * 11)
}

.gallery-09,
.footer-04 {
    height: calc(var(--spacing) * 12)
}

.header-05 {
    height: calc(var(--spacing) * 20)
}

.access-06 {
    height: calc(var(--spacing) * 48)
}

.header-15,
.concept-07 {
    height: 2px
}

.footer-30 {
    height: 300px
}

.hero-05 {
    height: 700px
}

.schedule-17 {
    height: fit-content
}

.hero-07,
.feature-08,
.access-07,
.gallery-13,
.recruit-03,
.footer-32 {
    height: 100%
}

.page-01 {
    min-height: 100vh
}

.header-15,
.hero-25 {
    width: calc(var(--spacing) * 0)
}

.access-15 {
    width: calc(var(--spacing) * 2)
}

.hero-14,
.access-14 {
    width: calc(var(--spacing) * 4)
}

.concept-07 {
    width: calc(var(--spacing) * 6)
}

.access-08 {
    width: calc(var(--spacing) * 7)
}

.hero-15,
.hero-28,
.services-11,
.faq-05,
.faq-08 {
    width: calc(var(--spacing) * 8)
}

.hero-04 {
    width: calc(var(--spacing) * 9)
}

.header-07,
.specialty-10 {
    width: calc(var(--spacing) * 10)
}

.hero-19 {
    width: calc(var(--spacing) * 11)
}

.gallery-09,
.footer-04 {
    width: calc(var(--spacing) * 12)
}

.access-06 {
    width: calc(var(--spacing) * 48)
}

.access-04 {
    width: 350px
}

.news-13 {
    width: fit-content
}

.hero-05,
.hero-07,
.hero-20,
.news-17,
.schedule-07,
.schedule-27,
.concept-05,
.feature-07,
.feature-08,
.services-06,
.director-03,
.director-05,
.specialty-04,
.specialty-07,
.access-01,
.access-05,
.access-07,
.faq-04,
.gallery-02,
.gallery-04,
.gallery-10,
.gallery-11,
.gallery-13,
.recruit-03,
.footer-11,
.footer-32 {
    width: 100%
}

.feature-04 {
    max-width: var(--container-2xl)
}

.faq-01 {
    max-width: var(--container-5xl)
}

.header-03,
.header-05,
.news-02,
.feature-02,
.specialty-02 {
    max-width: var(--container-7xl)
}

.footer-33 {
    max-width: 200px
}

.feature-11,
.access-10 {
    max-width: 280px
}

.hero-20 {
    max-width: 1000px
}

.hero-02 {
    max-width: 1600px
}

.footer-10,
.footer-19 {
    max-width: var(--container-lg)
}

.news-17 {
    max-width: var(--container-md)
}

.news-12 {
    min-width: 100px
}

.news-14,
.director-06,
.footer-20,
.mobile-02 {
    flex: 1
}

.access-04,
.shrink-0,
.flex-shrink-0,
.services-08,
.flex-shrink-0,
.director-03,
.flex-shrink-0,
.faq-08,
.flex-shrink-0,
.gallery-04 {
    flex-shrink: 0
}

.hero-20,
.news-04 {
    --tw-translate-x: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y)
}

.hero-03,
.hero-16,
.news-04 {
    --tw-translate-y: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y)
}

.access-01 {
    cursor: grab
}

.concept-11 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

.recruit-11 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.footer-22 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.hero-21 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
}

.schedule-17 {
    grid-template-columns: 100px 1fr
}

.header-08,
.hero-03,
.hero-09,
.hero-16,
.hero-17,
.hero-22,
.news-11,
.schedule-02,
.schedule-04,
.schedule-19,
.concept-02,
.feature-06,
.services-03,
.director-02,
.access-05,
.gallery-03,
.recruit-04,
.recruit-08,
.footer-21,
.footer-23,
.footer-26 {
    flex-direction: column
}

.footer-06 {
    flex-wrap: wrap
}

.director-09 {
    align-items: baseline
}

.header-03,
.header-04,
.header-05,
.header-06,
.header-07,
.header-11,
.header-13,
.header-16,
.hero-04,
.hero-17,
.hero-19,
.hero-22,
.hero-26,
.hero-27,
.hero-28,
.news-17,
.schedule-18,
.schedule-20,
.schedule-24,
.schedule-25,
.schedule-27,
.concept-02,
.concept-06,
.concept-13,
.feature-06,
.feature-13,
.services-03,
.services-07,
.services-11,
.specialty-09,
.specialty-10,
.specialty-16,
.access-05,
.access-06,
.access-08,
.access-14,
.faq-04,
.faq-05,
.faq-08,
.faq-11,
.gallery-03,
.gallery-07,
.gallery-09,
.recruit-04,
.recruit-08,
.footer-03,
.footer-04,
.footer-20,
.footer-31,
.footer-36,
.mobile-02 {
    align-items: center
}

.director-02,
.access-03,
.access-04 {
    align-items: flex-start
}

.header-05,
.hero-26,
.schedule-20,
.faq-04 {
    justify-content: space-between
}

.header-07,
.hero-04,
.hero-19,
.hero-22,
.hero-28,
.news-16,
.news-17,
.schedule-18,
.schedule-24,
.schedule-25,
.schedule-27,
.feature-12,
.services-11,
.specialty-10,
.access-02,
.access-06,
.access-08,
.access-12,
.access-14,
.faq-05,
.faq-08,
.faq-10,
.gallery-09,
.recruit-08,
.footer-04,
.footer-20,
.footer-31,
.mobile-02 {
    justify-content: center
}

.header-03,
.news-07,
.footer-40 {
    justify-content: flex-end
}

.header-04,
.header-13,
.footer-36 {
    gap: calc(var(--spacing) * 1)
}

.hero-13,
.hero-17,
.hero-27,
.news-07,
.news-17,
.schedule-19,
.schedule-27,
.services-07,
.footer-06,
.footer-20,
.mobile-02 {
    gap: calc(var(--spacing) * 2)
}

.header-06,
.concept-06,
.concept-13,
.feature-13,
.specialty-09,
.specialty-16,
.specialty-18,
.faq-11,
.gallery-08,
.mobile-01 {
    gap: calc(var(--spacing) * 3)
}

.header-16,
.hero-03,
.hero-09,
.news-11,
.director-09,
.director-18,
.access-12,
.faq-07,
.recruit-08,
.recruit-11,
.footer-03,
.footer-19,
.footer-23,
.footer-26 {
    gap: calc(var(--spacing) * 4)
}

.header-03,
.concept-11,
.specialty-05,
.gallery-07 {
    gap: calc(var(--spacing) * 6)
}

.header-11,
.schedule-04,
.schedule-05,
.services-02,
.footer-22 {
    gap: calc(var(--spacing) * 8)
}

.concept-02,
.director-02,
.gallery-03,
.recruit-04,
.footer-21 {
    gap: calc(var(--spacing) * 12)
}

.hero-16,
.specialty-08,
.footer-02 {
    gap: calc(var(--spacing) * 16)
}

:where(.services-06>:not(:last-child)),
:where(.director-17>:not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))
}

:where(.specialty-15>:not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))
}

:where(.director-14>:not(:last-child)),
:where(.specialty-17>:not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))
}

.feature-05 {
    column-gap: calc(var(--spacing) * 10)
}

.feature-05 {
    row-gap: calc(var(--spacing) * 16)
}

.hero-05,
.hero-22,
.schedule-17,
.concept-04,
.feature-01,
.feature-07,
.director-04,
.specialty-01,
.specialty-06,
.access-06,
.faq-03,
.gallery-01,
.gallery-10,
.gallery-12,
.recruit-01,
.footer-10,
.footer-30 {
    overflow: hidden
}

.schedule-06 {
    overflow-x: auto
}

.schedule-02,
.concept-04,
.concept-12,
.feature-07,
.director-04,
.director-15,
.faq-03,
.recruit-12,
.recruit-13,
.footer-30 {
    border-radius: var(--radius-2xl)
}

.specialty-06 {
    border-radius: 2.5rem
}

.gallery-12 {
    border-radius: 3rem
}

.header-07,
.header-17,
.hero-04,
.hero-19,
.hero-28,
.news-13,
.news-15,
.news-17,
.news-18,
.feature-13,
.services-11,
.specialty-10,
.access-06,
.access-08,
.access-14,
.access-15,
.faq-05,
.faq-08,
.faq-11,
.gallery-09,
.recruit-09,
.recruit-10,
.footer-04 {
    border-radius: 3.40282e38px
}

.schedule-03,
.schedule-17,
.footer-20,
.footer-33 {
    border-radius: var(--radius-lg)
}

.footer-07 {
    border-radius: var(--radius-md)
}

.hero-05 {
    border-radius: var(--radius-sm)
}

.schedule-27,
.services-03,
.specialty-18,
.footer-10,
.mobile-02 {
    border-radius: var(--radius-xl)
}

.news-08,
.news-09 {
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl)
}

.hero-04,
.hero-21,
.news-13,
.news-15,
.news-18,
.schedule-17,
.concept-04,
.concept-12,
.services-11,
.director-15,
.specialty-18,
.access-14,
.faq-03,
.gallery-09,
.footer-07,
.footer-10,
.footer-30,
.footer-33 {
    border-style: var(--tw-border-style);
    border-width: 1px
}

.news-08,
.news-09,
.schedule-02,
.recruit-10 {
    border-style: var(--tw-border-style);
    border-width: 2px
}

.feature-07,
.director-04,
.specialty-06 {
    border-style: var(--tw-border-style);
    border-width: 4px
}

.gallery-12 {
    border-style: var(--tw-border-style);
    border-width: 8px
}

.schedule-24,
.schedule-25,
.faq-07,
.footer-01,
.footer-17,
.footer-40 {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px
}

.news-10 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px
}

.hero-22,
.schedule-18,
.schedule-24 {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px
}

.hero-25 {
    border-right-style: var(--tw-border-style);
    border-right-width: 8px
}

.header-01,
.news-11,
.schedule-08,
.schedule-13,
.footer-12,
.footer-25 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px
}

.news-08,
.news-09 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0
}

.hero-25 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 8px
}

.director-12 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px
}

.hero-22,
.schedule-13,
.concept-12,
.faq-07,
.footer-17 {
    border-color: var(--color-gray-50)
}

.header-01,
.hero-21,
.news-09,
.news-11,
.schedule-08,
.schedule-17,
.schedule-18,
.schedule-24,
.schedule-25,
.concept-04,
.director-15,
.faq-03,
.footer-01,
.footer-07,
.footer-10,
.footer-12,
.footer-25,
.footer-30,
.footer-33,
.footer-40 {
    border-color: var(--color-gray-100)
}

.hero-04 {
    border-color: var(--color-gray-200)
}

.news-15 {
    border-color: var(--color-medical-accent)
}

.specialty-18 {
    border-color: #e0f2fe33
}

@supports (color:color-mix(in lab, red, red)) {
    .specialty-18 {
        border-color: color-mix(in oklab, var(--color-medical-accent) 20%, transparent)
    }
}

.schedule-02 {
    border-color: #e0f2fe4d
}

@supports (color:color-mix(in lab, red, red)) {
    .schedule-02 {
        border-color: color-mix(in oklab, var(--color-medical-accent) 30%, transparent)
    }
}

.news-08,
.news-10,
.news-13,
.services-11,
.director-12,
.gallery-09 {
    border-color: var(--color-medical-primary)
}

.hero-25 {
    border-color: #0000
}

.feature-07,
.director-04,
.specialty-06,
.gallery-12 {
    border-color: var(--color-white)
}

.news-18,
.recruit-10 {
    border-color: #ffffff4d
}

@supports (color:color-mix(in lab, red, red)) {

    .news-18,
    .recruit-10 {
        border-color: color-mix(in oklab, var(--color-white) 30%, transparent)
    }
}

.hero-25 {
    border-right-color: #008fd133
}

@supports (color:color-mix(in lab, red, red)) {
    .hero-25 {
        border-right-color: color-mix(in oklab, var(--color-medical-primary) 20%, transparent)
    }
}

.hero-08 {
    background-color: #0000000d
}

@supports (color:color-mix(in lab, red, red)) {
    .hero-08 {
        background-color: color-mix(in oklab, var(--color-black) 5%, transparent)
    }
}

.news-09,
.schedule-18 {
    background-color: var(--color-gray-50)
}

.footer-17 {
    background-color: #f9fafb4d
}

@supports (color:color-mix(in lab, red, red)) {
    .footer-17 {
        background-color: color-mix(in oklab, var(--color-gray-50) 30%, transparent)
    }
}

.footer-12 {
    background-color: #f9fafb80
}

@supports (color:color-mix(in lab, red, red)) {
    .footer-12 {
        background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent)
    }
}

.hero-05,
.footer-30 {
    background-color: var(--color-gray-100)
}

.access-08 {
    background-color: #e0f2fe4d
}

@supports (color:color-mix(in lab, red, red)) {
    .access-08 {
        background-color: color-mix(in oklab, var(--color-medical-accent) 30%, transparent)
    }
}

.schedule-03,
.concept-12,
.feature-01,
.director-01,
.specialty-10,
.specialty-18,
.access-06,
.gallery-01,
.footer-01 {
    background-color: var(--color-medical-light)
}

.faq-07 {
    background-color: #f8fafc4d
}

@supports (color:color-mix(in lab, red, red)) {
    .faq-07 {
        background-color: color-mix(in oklab, var(--color-medical-light) 30%, transparent)
    }
}

.header-02,
.header-07,
.header-15,
.header-17,
.hero-15,
.hero-19,
.hero-28,
.news-17,
.schedule-27,
.concept-07,
.feature-13,
.access-15,
.faq-05,
.faq-08,
.faq-11,
.recruit-01,
.footer-04,
.footer-20,
.mobile-02 {
    background-color: var(--color-medical-primary)
}

.schedule-24 {
    background-color: var(--color-red-50)
}

.page-01,
.hero-01,
.hero-04,
.hero-21,
.news-01,
.news-08,
.schedule-01,
.concept-01,
.services-01,
.services-03,
.director-15,
.specialty-01,
.faq-04,
.recruit-09,
.footer-07,
.footer-10,
.footer-33 {
    background-color: var(--color-white)
}

.hero-14 {
    background-color: #ffffff80
}

@supports (color:color-mix(in lab, red, red)) {
    .hero-14 {
        background-color: color-mix(in oklab, var(--color-white) 50%, transparent)
    }
}

.hero-26 {
    background-color: #ffffffe6
}

@supports (color:color-mix(in lab, red, red)) {
    .hero-26 {
        background-color: color-mix(in oklab, var(--color-white) 90%, transparent)
    }
}

.header-01,
.hero-10 {
    background-color: #fffffff2
}

@supports (color:color-mix(in lab, red, red)) {

    .header-01,
    .hero-10 {
        background-color: color-mix(in oklab, var(--color-white) 95%, transparent)
    }
}

.recruit-03 {
    background-image: radial-gradient(circle at center, var(--tw-gradient-stops))
}

.recruit-03 {
    --tw-gradient-from: var(--color-white);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
}

.recruit-03 {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops)
}

.recruit-03 {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
}

.footer-38 {
    fill: currentColor
}

.hero-07,
.concept-05,
.feature-08,
.director-05,
.specialty-07,
.access-07,
.gallery-13,
.footer-32 {
    object-fit: cover
}

.news-15,
.news-18 {
    padding: calc(var(--spacing) * .5)
}

.header-18,
.hero-30,
.access-13 {
    padding: calc(var(--spacing) * 2)
}

.footer-17,
.footer-33 {
    padding: calc(var(--spacing) * 3)
}

.hero-26,
.schedule-18,
.schedule-19,
.schedule-24,
.schedule-25,
.specialty-18 {
    padding: calc(var(--spacing) * 4)
}

.schedule-02,
.concept-12,
.faq-04 {
    padding: calc(var(--spacing) * 6)
}

.director-15,
.faq-07 {
    padding: calc(var(--spacing) * 8)
}

.services-03 {
    padding: calc(var(--spacing) * 10)
}

.hero-22 {
    padding-inline: calc(var(--spacing) * 2)
}

.footer-07 {
    padding-inline: calc(var(--spacing) * 3)
}

.hero-02,
.news-13,
.specialty-04,
.access-04,
.access-10,
.footer-13,
.footer-15 {
    padding-inline: calc(var(--spacing) * 4)
}

.header-03,
.header-05,
.header-17,
.news-02,
.feature-02,
.specialty-02,
.faq-01,
.gallery-02 {
    padding-inline: calc(var(--spacing) * 2)
}

.hero-10,
.news-08,
.news-09 {
    padding-inline: calc(var(--spacing) * 8)
}

.feature-13,
.faq-11,
.recruit-09,
.recruit-10 {
    padding-inline: calc(var(--spacing) * 12)
}

.news-13,
.footer-07 {
    padding-block: calc(var(--spacing) * 1)
}

.schedule-03,
.schedule-09,
.schedule-10,
.schedule-11,
.schedule-12,
.director-12 {
    padding-block: calc(var(--spacing) * 2)
}

.header-17 {
    padding-block: calc(var(--spacing) * 2.5)
}

.news-08,
.news-09,
.schedule-14,
.schedule-15,
.schedule-16,
.footer-13,
.footer-14,
.footer-15,
.footer-16 {
    padding-block: calc(var(--spacing) * 3)
}

.hero-10,
.schedule-27,
.feature-13,
.faq-11,
.footer-20,
.mobile-02 {
    padding-block: calc(var(--spacing) * 4)
}

.news-17,
.recruit-09,
.recruit-10 {
    padding-block: calc(var(--spacing) * 5)
}

.hero-22,
.news-11 {
    padding-block: calc(var(--spacing) * 6)
}

.concept-01 {
    padding-block: calc(var(--spacing) * 20)
}

.feature-01,
.services-01,
.director-01,
.specialty-01,
.gallery-01,
.recruit-01 {
    padding-block: calc(var(--spacing) * 24)
}

.hero-01 {
    padding-top: calc(var(--spacing) * 4)
}

.schedule-01,
.footer-40 {
    padding-top: calc(var(--spacing) * 8)
}

.schedule-01 {
    background-color: #008fd1;
}

.schedule-02 {
    background-color: #fff;
}

.top-after-column-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 48px);
    align-items: stretch
}

.top-after-column-grid .top-quick-access,
.top-after-column-grid .schedule-02 {
    display: flex;
    flex-direction: column;
    height: 100%
}

.top-after-column-grid .schedule-02 {
    overflow: hidden;
    border: 1px solid #cfe2f2;
    border-radius: var(--radius-2xl);
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    padding: clamp(24px, 3vw, 40px);
    box-shadow: 0 18px 54px #11466f0d
}

.top-after-column-grid .schedule-05 {
    grid-template-columns: 1fr
}

.top-after-column-grid .schedule-03 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 3);
    margin: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    color: #008fd1;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.4;
    font-weight: 900;
    letter-spacing: .08em
}

.top-after-column-grid .schedule-03 svg {
    color: #008fd1;
    flex: 0 0 auto
}

.top-schedule__image {
    overflow: hidden;
    margin-top: calc(var(--spacing) * 6);
    border-radius: 12px;
    background: #eaf3fa;
    box-shadow: inset 0 0 0 1px #d7e9f8
}

.top-schedule__image img {
    display: block;
    width: 100%;
    height: clamp(260px, 22vw, 360px);
    object-fit: cover;
    object-position: center
}

.top-after-column-grid .schedule-04 {
    flex: 1;
    justify-content: space-between;
    gap: calc(var(--spacing) * 5);
    margin-top: calc(var(--spacing) * 6)
}

.top-after-column-grid .schedule-06 {
    overflow-x: auto;
    border: 1px solid #93c5e8;
    border-radius: 12px;
    background: #fff
}

.top-after-column-grid .schedule-07 {
    width: 100%;
    min-width: 500px;
    border-collapse: collapse
}

.top-after-column-grid .schedule-08,
.top-after-column-grid .schedule-13 {
    border-bottom-color: #b7d8f2
}

.top-after-column-grid .schedule-10,
.top-after-column-grid .schedule-11,
.top-after-column-grid .schedule-12 {
    background: #e8f5ff;
    color: #008fd1
}

.top-after-column-grid .schedule-11 {
    color: #d93a3a
}

.top-after-column-grid .schedule-14 {
    background: #f0f8ff;
    color: #008fd1
}

.top-after-column-grid .schedule-15 {
    color: #008fd1;
    font-weight: 900
}

.top-after-column-grid .schedule-16 {
    color: #d93a3a;
    font-weight: 900
}

.top-after-column-grid .schedule-17 {
    border-color: #93c5e8;
    background: #fff
}

.top-after-column-grid .schedule-18 {
    border-color: #93c5e8;
    background: #e8f5ff;
    color: #008fd1
}

.top-after-column-grid .schedule-24 {
    border-color: #f0b6b6;
    background: #fff0f0;
    color: #d93a3a
}

.top-after-column-grid .schedule-25 {
    border-color: #f0b6b6;
    color: #008fd1
}

.top-after-column-grid .schedule-23,
.top-after-column-grid .schedule-26 {
    color: #008fd1
}

.top-quick-access {
    position: relative;
    overflow: hidden;
    border: 1px solid #cfe2f2;
    border-radius: var(--radius-2xl);
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    padding: clamp(24px, 3vw, 40px);
    box-shadow: 0 18px 54px #11466f0d
}

.top-quick-access h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 3);
    margin: 0;
    color: #008fd1;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.4;
    font-weight: 900;
    letter-spacing: .08em
}

.top-quick-access h2 svg {
    color: #008fd1;
    flex: 0 0 auto
}

.top-quick-access__map {
    overflow: hidden;
    margin-top: calc(var(--spacing) * 6);
    border-radius: 12px;
    background: #eaf3fa;
    box-shadow: inset 0 0 0 1px #d7e9f8
}

.top-quick-access__map iframe {
    display: block;
    width: 100%;
    height: clamp(260px, 22vw, 360px);
    border: 0;
    filter: saturate(.82) contrast(.96)
}

.top-quick-access dl {
    display: grid;
    flex: 1;
    align-content: start;
    gap: calc(var(--spacing) * 4);
    margin: calc(var(--spacing) * 6) 0 0
}

.top-quick-access dl div {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: calc(var(--spacing) * 4);
    align-items: start
}

.top-quick-access dt {
    border-radius: 8px;
    background: #eef6fd;
    padding: calc(var(--spacing) * 2.5) calc(var(--spacing) * 3);
    color: #008fd1;
    font-size: .95rem;
    line-height: 1.4;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: center
}

.top-quick-access dd {
    margin: 0;
    color: #1f2937;
    font-size: .98rem;
    line-height: 1.8;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.top-quick-access__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 360px);
    margin: calc(var(--spacing) * 6) auto 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #43b9ea, #008fd1);
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 6);
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: .08em;
    box-shadow: 0 16px 34px #008fd12b
}

@media(max-width:74.999rem) {
    .top-after-column-grid {
        grid-template-columns: 1fr
    }

    .top-after-column-grid .schedule-02 {
        order: 1
    }

    .top-quick-access {
        order: 2
    }
}

@media(max-width:47.999rem) {
    .top-quick-access {
        border-radius: 20px;
        padding: calc(var(--spacing) * 5)
    }

    .top-quick-access__map iframe {
        height: 280px
    }

    .top-quick-access dl div {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 2)
    }

    .top-quick-access dt {
        width: max-content
    }
}

.footer-01 {
    padding-top: calc(var(--spacing) * 24)
}

.news-01 {
    padding-top: calc(var(--spacing) * 32)
}

.footer-25 {
    padding-bottom: calc(var(--spacing) * 2)
}

.news-01 {
    padding-bottom: calc(var(--spacing) * 8)
}

.schedule-01,
.footer-01 {
    padding-bottom: calc(var(--spacing) * 12)
}

.hero-01 {
    padding-bottom: calc(var(--spacing) * 20)
}

.director-12 {
    padding-left: calc(var(--spacing) * 6)
}

.hero-24,
.news-03,
.schedule-03,
.schedule-10,
.schedule-11,
.schedule-12,
.schedule-15,
.schedule-16,
.feature-09,
.feature-11,
.services-03,
.specialty-03,
.access-10,
.recruit-05,
.footer-14,
.footer-16 {
    text-align: center
}

.services-09,
.faq-04,
.footer-13 {
    text-align: left
}

.footer-28 {
    text-align: right
}

.feature-09,
.feature-11,
.director-10,
.director-13,
.director-14,
.specialty-12,
.specialty-13,
.specialty-14,
.specialty-16,
.specialty-19,
.specialty-20 {
    font-family: var(--font-sans)
}

.hero-11,
.hero-12,
.concept-09,
.specialty-13,
.footer-05 {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height))
}

.news-06,
.feature-03,
.director-10,
.recruit-06,
.footer-09 {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height))
}

.news-04 {
    font-size: var(--text-8xl);
    line-height: var(--tw-leading, var(--text-8xl--line-height))
}

.concept-10,
.concept-15 {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height))
}

.schedule-22,
.feature-09,
.access-09,
.recruit-07,
.recruit-09,
.recruit-10,
.footer-16 {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height))
}

.header-13,
.header-17,
.news-08,
.news-09,
.news-12,
.news-14,
.schedule-07,
.feature-04,
.feature-11,
.director-11,
.director-14,
.director-17,
.specialty-12,
.specialty-14,
.specialty-16,
.specialty-19,
.faq-02,
.faq-05,
.faq-08,
.gallery-05,
.gallery-16,
.footer-08,
.footer-20,
.footer-24,
.footer-26 {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height))
}

.header-07,
.header-09,
.services-05,
.director-13,
.gallery-15 {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height))
}

.concept-08,
.concept-16,
.services-07,
.director-08,
.director-16,
.specialty-20,
.access-08,
.access-10,
.footer-25,
.footer-29,
.footer-31,
.footer-34 {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height))
}

.header-10,
.hero-18,
.news-13,
.schedule-23,
.schedule-26,
.specialty-11,
.footer-07,
.footer-18,
.footer-35,
.footer-36 {
    font-size: 10px
}

.header-03,
.hero-24,
.footer-11,
.footer-40 {
    font-size: 11px
}

.concept-09 {
    --tw-leading: 1.4;
    line-height: 1.4
}

.header-09,
.footer-05 {
    --tw-leading: 1;
    line-height: 1
}

.schedule-26,
.concept-10,
.concept-16,
.feature-04,
.feature-11,
.director-13,
.director-14,
.specialty-14,
.specialty-20,
.access-10,
.faq-09,
.gallery-05 {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed)
}

.hero-24,
.specialty-13,
.recruit-06,
.footer-35 {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight)
}

.header-03,
.header-07,
.header-09,
.header-10,
.header-13,
.header-17,
.hero-11,
.hero-12,
.hero-18,
.hero-24,
.hero-28,
.hero-29,
.news-04,
.news-06,
.news-08,
.news-09,
.news-12,
.news-13,
.news-17,
.schedule-03,
.schedule-10,
.schedule-11,
.schedule-12,
.schedule-14,
.schedule-18,
.schedule-21,
.schedule-22,
.schedule-24,
.schedule-25,
.schedule-27,
.concept-08,
.concept-09,
.concept-15,
.feature-03,
.feature-09,
.feature-13,
.services-05,
.director-08,
.director-10,
.director-11,
.director-13,
.director-16,
.director-19,
.specialty-11,
.specialty-12,
.specialty-13,
.specialty-16,
.specialty-19,
.access-08,
.access-09,
.faq-05,
.faq-06,
.faq-08,
.faq-11,
.gallery-15,
.recruit-06,
.recruit-09,
.recruit-10,
.footer-05,
.footer-07,
.footer-09,
.footer-13,
.footer-14,
.footer-15,
.footer-20,
.footer-24,
.footer-25,
.footer-31,
.footer-34,
.footer-36,
.mobile-02 {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold)
}

.news-14,
.concept-10,
.feature-04,
.services-07,
.director-14,
.specialty-14,
.access-10,
.faq-02,
.faq-09,
.gallery-05,
.gallery-16,
.recruit-07,
.footer-18,
.footer-26,
.footer-29,
.footer-40 {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium)
}

.hero-11,
.hero-12,
.news-04,
.specialty-11 {
    --tw-tracking: .2em;
    letter-spacing: .2em
}

.header-09,
.services-05,
.access-09,
.footer-05,
.footer-09 {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight)
}

.news-06,
.concept-08,
.feature-03 {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider)
}

.header-10,
.hero-18,
.director-08,
.director-16,
.footer-25 {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest)
}

.hero-24 {
    white-space: pre-line
}

.schedule-16,
.footer-31 {
    color: var(--color-gray-300)
}

.header-10,
.header-14,
.hero-18,
.news-09,
.news-12,
.schedule-23,
.footer-13,
.footer-18,
.footer-25,
.footer-39,
.footer-40 {
    color: var(--color-gray-400)
}

.schedule-14,
.schedule-18,
.schedule-26,
.concept-16,
.feature-04,
.director-17,
.specialty-20,
.access-10,
.faq-02,
.gallery-05,
.gallery-16,
.footer-14,
.footer-35 {
    color: var(--color-gray-500)
}

.hero-24,
.concept-10,
.feature-11,
.director-14,
.specialty-14,
.faq-09,
.footer-08,
.footer-15,
.footer-26 {
    color: var(--color-gray-600)
}

.hero-11,
.news-14,
.schedule-25,
.services-07 {
    color: var(--color-gray-700)
}

.footer-01,
.footer-34 {
    color: var(--color-gray-800)
}

.header-13,
.hero-29,
.news-06,
.schedule-03,
.concept-09,
.feature-03,
.director-10,
.specialty-13,
.faq-06 {
    color: var(--color-medical-dark)
}

.header-09,
.header-18,
.hero-04,
.hero-12,
.hero-23,
.hero-30,
.news-08,
.news-13,
.news-15,
.schedule-12,
.schedule-15,
.concept-08,
.concept-14,
.concept-15,
.feature-09,
.feature-10,
.services-04,
.services-05,
.services-08,
.services-11,
.director-08,
.director-13,
.director-16,
.director-19,
.specialty-10,
.specialty-11,
.specialty-12,
.specialty-16,
.specialty-19,
.access-08,
.access-09,
.access-11,
.gallery-09,
.gallery-15,
.recruit-09,
.footer-05,
.footer-07,
.footer-09,
.footer-16,
.footer-24,
.footer-29,
.footer-36 {
    color: var(--color-medical-primary)
}

.news-04,
.director-11 {
    color: var(--color-medical-secondary)
}

.schedule-11,
.schedule-24 {
    color: var(--color-red-400)
}

.header-07,
.header-17,
.hero-19,
.hero-28,
.news-17,
.schedule-27,
.feature-13,
.faq-05,
.faq-08,
.faq-11,
.recruit-06,
.recruit-10,
.footer-04,
.footer-20,
.mobile-02 {
    color: var(--color-white)
}

.recruit-07 {
    color: #fffc
}

@supports (color:color-mix(in lab, red, red)) {
    .recruit-07 {
        color: color-mix(in oklab, var(--color-white) 80%, transparent)
    }
}

.header-03 {
    color: #ffffffe6
}

@supports (color:color-mix(in lab, red, red)) {
    .header-03 {
        color: color-mix(in oklab, var(--color-white) 90%, transparent)
    }
}

.header-10,
.hero-18,
.news-04,
.concept-08,
.director-08,
.director-16,
.specialty-11,
.footer-25 {
    text-transform: uppercase
}

.specialty-12,
.footer-29 {
    text-decoration-line: underline
}

.specialty-12 {
    -webkit-text-decoration-color: var(--color-medical-primary);
    text-decoration-color: var(--color-medical-primary)
}

.specialty-12 {
    text-decoration-thickness: 4px
}

.specialty-12 {
    text-underline-offset: 4px
}

.recruit-02 {
    opacity: .1
}

.news-04,
.access-11 {
    opacity: .3
}

.footer-32 {
    opacity: .6
}

.access-07 {
    mix-blend-mode: multiply
}

.access-06 {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

.news-17,
.feature-07,
.feature-13,
.faq-11,
.recruit-12,
.recruit-13 {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

.header-17,
.hero-19,
.specialty-06,
.footer-20,
.footer-33 {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

.hero-04,
.hero-05,
.director-15,
.footer-10,
.footer-30 {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

.hero-21,
.concept-04,
.director-04,
.recruit-09,
.mobile-02 {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

.news-17,
.feature-13,
.faq-11 {
    --tw-shadow-color: #008fd133
}

@supports (color:color-mix(in lab, red, red)) {

    .news-17,
    .feature-13,
    .faq-11 {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-medical-primary) 20%, transparent) var(--tw-shadow-alpha), transparent)
    }
}

.header-01 {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
}

.hero-26 {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
}

.header-15,
.header-17,
.hero-04,
.hero-14,
.hero-15,
.news-08,
.news-09,
.schedule-27,
.services-03,
.services-11,
.faq-11,
.gallery-09,
.recruit-09,
.recruit-10 {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration))
}

.header-04,
.header-13,
.header-14,
.hero-22,
.news-11,
.news-14,
.news-17,
.feature-13,
.access-14,
.faq-04,
.faq-06,
.footer-20,
.footer-27 {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration))
}

.hero-19,
.hero-23,
.feature-08,
.feature-14,
.services-04,
.gallery-13 {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration))
}

.header-15,
.services-03,
.services-04,
.gallery-09 {
    --tw-duration: .3s;
    transition-duration: .3s
}

.hero-14,
.hero-15 {
    --tw-duration: .5s;
    transition-duration: .5s
}

.feature-08 {
    --tw-duration: .7s;
    transition-duration: .7s
}

.gallery-13 {
    --tw-duration: 1s;
    transition-duration: 1s
}

.news-04,
.access-04 {
    -webkit-user-select: none;
    user-select: none
}

.hero-18 {
    writing-mode: vertical-rl
}

@media(hover:hover) {
    .header-15:is(:where(.group):hover *) {
        width: 100%
    }
}

@media(hover:hover) {
    .feature-14:is(:where(.group):hover *) {
        --tw-translate-x: calc(var(--spacing) * 1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }
}

@media(hover:hover) {

    .hero-19:is(:where(.group):hover *),
    .hero-23:is(:where(.group):hover *),
    .services-04:is(:where(.group):hover *),
    .gallery-13:is(:where(.group):hover *) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }
}

@media(hover:hover) {
    .services-11:is(:where(.group):hover *) {
        background-color: var(--color-medical-primary)
    }
}

@media(hover:hover) {

    .header-14:is(:where(.group):hover *),
    .news-14:is(:where(.group):hover *),
    .faq-06:is(:where(.group):hover *) {
        color: var(--color-medical-primary)
    }
}

@media(hover:hover) {
    .services-11:is(:where(.group):hover *) {
        color: var(--color-white)
    }
}

.page-01 ::selection {
    background-color: #008fd11a
}

@supports (color:color-mix(in lab, red, red)) {
    .page-01 ::selection {
        background-color: color-mix(in oklab, var(--color-medical-primary) 10%, transparent)
    }
}

.page-01::selection {
    background-color: #008fd11a
}

@supports (color:color-mix(in lab, red, red)) {
    .page-01::selection {
        background-color: color-mix(in oklab, var(--color-medical-primary) 10%, transparent)
    }
}

.page-01 ::selection {
    color: var(--color-medical-primary)
}

.page-01::selection {
    color: var(--color-medical-primary)
}

@media(hover:hover) {
    .feature-08:hover {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }
}

@media(hover:hover) {

    .hero-22:hover,
    .news-11:hover {
        background-color: var(--color-gray-50)
    }
}

@media(hover:hover) {
    .news-09:hover {
        background-color: var(--color-gray-100)
    }
}

@media(hover:hover) {

    .header-17:hover,
    .news-17:hover,
    .schedule-27:hover,
    .feature-13:hover,
    .faq-11:hover,
    .recruit-09:hover,
    .footer-20:hover {
        background-color: var(--color-medical-dark)
    }
}

@media(hover:hover) {
    .faq-04:hover {
        background-color: var(--color-medical-light)
    }
}

@media(hover:hover) {

    .hero-04:hover,
    .gallery-09:hover {
        background-color: var(--color-medical-primary)
    }
}

@media(hover:hover) {
    .recruit-10:hover {
        background-color: #ffffff1a
    }
}

@media(hover:hover) {
    @supports (color:color-mix(in lab, red, red)) {
        .recruit-10:hover {
            background-color: color-mix(in oklab, var(--color-white) 10%, transparent)
        }
    }
}

@media(hover:hover) {

    .header-13:hover,
    .footer-27:hover {
        color: var(--color-medical-primary)
    }
}

@media(hover:hover) {

    .header-04:hover,
    .hero-04:hover,
    .gallery-09:hover,
    .recruit-09:hover {
        color: var(--color-white)
    }
}

@media(hover:hover) {
    .footer-24:hover {
        text-decoration-line: underline
    }
}

@media(hover:hover) {
    .footer-29:hover {
        opacity: .8
    }
}

@media(hover:hover) {
    .services-03:hover {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }
}

.services-03 {
    border: 1px solid #d3d3d3;
}

.access-01:active {
    cursor: grabbing
}

.gallery-09:disabled {
    opacity: .3
}

@media(min-width:40rem) {
    .concept-11 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(min-width:40rem) {
    .recruit-08 {
        flex-direction: row
    }
}

@media(min-width:48rem) {

    .news-15,
    .gallery-06 {
        display: block
    }
}

@media(min-width:48rem) {
    .header-17 {
        display: flex
    }
}

@media(min-width:48rem) {
    .feature-05 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(min-width:48rem) {
    .services-02 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media(min-width:48rem) {
    .news-11 {
        flex-direction: row
    }
}

@media(min-width:48rem) {
    .news-11 {
        align-items: center
    }
}

@media(min-width:48rem) {
    .specialty-05 {
        gap: calc(var(--spacing) * 10)
    }
}

@media(min-width:48rem) {
    .specialty-04 {
        padding-inline: calc(var(--spacing) * 8)
    }
}

@media(min-width:48rem) {
    .gallery-02 {
        padding-inline: calc(var(--spacing) * 12)
    }
}

@media(min-width:48rem) {
    .director-13 {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height))
    }
}

@media(min-width:48rem) {
    .concept-09 {
        font-size: var(--text-4xl);
        line-height: var(--tw-leading, var(--text-4xl--line-height))
    }
}

@media(min-width:48rem) {
    .recruit-06 {
        font-size: var(--text-5xl);
        line-height: var(--tw-leading, var(--text-5xl--line-height))
    }
}

@media(min-width:64rem) {
    .hero-16 {
        right: calc(var(--spacing) * 4)
    }
}

@media(min-width:64rem) {
    .hero-03 {
        left: calc(var(--spacing) * 4)
    }
}

@media(min-width:64rem) {

    .header-02,
    .hero-20 {
        display: block
    }
}

@media(min-width:64rem) {

    .header-11,
    .hero-03,
    .hero-09,
    .hero-16 {
        display: flex
    }
}

@media(min-width:64rem) {

    .header-18,
    .hero-26,
    .mobile-01 {
        display: none
    }
}

@media(min-width:64rem) {
    .specialty-07 {
        aspect-ratio: 16/7
    }
}

@media(min-width:64rem) {
    .hero-05 {
        height: 820px
    }
}

@media(min-width:64rem) {

    .concept-03,
    .recruit-05 {
        width: 50%
    }
}

@media(min-width:64rem) {
    .gallery-04 {
        width: 25%
    }
}

@media(min-width:64rem) {
    .gallery-10 {
        width: 75%
    }
}

@media(min-width:64rem) {
    .director-03 {
        width: 400px
    }
}

@media(min-width:64rem) {

    .schedule-05,
    .specialty-05,
    .specialty-08,
    .footer-02 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(min-width:64rem) {
    .feature-05 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media(min-width:64rem) {

    .concept-02,
    .director-02,
    .gallery-03,
    .recruit-04 {
        flex-direction: row
    }
}

@media(min-width:64rem) {
    .recruit-08 {
        justify-content: flex-start
    }
}

@media(min-width:64rem) {

    .concept-02,
    .director-02,
    .gallery-03 {
        gap: calc(var(--spacing) * 20)
    }
}

@media(min-width:64rem) {
    .specialty-08 {
        gap: calc(var(--spacing) * 24)
    }
}

@media(min-width:64rem) {
    .specialty-06 {
        border-radius: 3.5rem
    }
}

@media(min-width:64rem) {

    .hero-02,
    .gallery-02 {
        padding-inline: calc(var(--spacing) * 20)
    }
}

@media(min-width:64rem) {
    .hero-01 {
        padding-bottom: calc(var(--spacing) * 0)
    }
}

@media(min-width:64rem) {

    .recruit-05,
    .footer-28 {
        text-align: left
    }
}

/* JavaScript mobile menu classes */
.menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 60;
    background-color: var(--color-medical-primary)
}

.menu-inner {
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: calc(var(--spacing) * 8)
}

.menu-head {
    margin-bottom: calc(var(--spacing) * 12);
    display: flex;
    justify-content: flex-end
}

.menu-close {
    padding: calc(var(--spacing) * 2);
    color: var(--color-white)
}

.menu-nav {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 8)
}

.menu-link {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration))
}

@media(hover:hover) {
    .menu-link:hover {
        opacity: .7
    }
}

.menu-actions {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 4)
}

.menu-reserve,
.menu-phone {
    width: 100%;
    border-radius: var(--radius-xl);
    padding-block: calc(var(--spacing) * 4);
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    font-weight: var(--font-weight-bold);
    text-align: center
}

.menu-reserve {
    background-color: var(--color-white);
    color: var(--color-medical-primary);
    box-shadow: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a
}

.menu-phone {
    border: 2px solid #ffffff4d;
    color: var(--color-white)
}

/* Gallery loop setup */
#gallery .swiper-wrapper {
    will-change: transform
}

#gallery .swiper-slide {
    flex: 0 0 auto
}

#gallery .swiper.is-gallery-enhancing:not(.is-gallery-ready) .swiper-wrapper {
    opacity: 0
}

#gallery .swiper.is-gallery-ready .swiper-wrapper {
    opacity: 1
}

/* Top clinic gallery */
.top-gallery {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #f9fcff 0%, #fff 58%, #f4fbff 100%);
    padding-block: clamp(86px, 9vw, 142px) clamp(92px, 10vw, 160px)
}

.top-gallery::after {
    content: "";
    position: absolute;
    left: -30%;
    right: -10%;
    bottom: -12%;
    height: 19%;
    background: #fff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    transform: rotate(-2deg);
    opacity: .9;
    pointer-events: none
}

.top-gallery__word {
    position: absolute;
    left: 50%;
    top: clamp(24px, 4vw, 64px);
    z-index: 1;
    transform: translateX(-50%);
    color: #f8f8f8e0;
    font-size: clamp(5rem, 10vw, 7rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    white-space: nowrap;
    pointer-events: none
}

.top-gallery__head {
    position: relative;
    z-index: 2;
    text-align: center
}

.top-gallery__head h2 {
    margin: 0;
    color: #008fd1;
    font-size: clamp(2rem, 2vw, 2.6rem);
    line-height: 1.35;
    font-weight: 900;
    letter-spacing: .08em
}

.top-gallery__head p {
    margin: calc(var(--spacing) * 8) 0 0;
    color: #1f2937;
    font-size: clamp(.95rem, 1.12vw, 1.12rem);
    line-height: 2;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.top-gallery__stage {
    position: relative;
    z-index: 2;
    margin-top: clamp(52px, 6vw, 86px)
}

.top-gallery__swiper {
    width: 100%;
    overflow: hidden
}

.top-gallery__swiper.is-gallery-fallback {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none
}

.top-gallery__swiper.is-gallery-fallback::-webkit-scrollbar {
    display: none
}

.top-gallery__swiper.is-gallery-fallback .swiper-wrapper {
    gap: 12px
}

.top-gallery__swiper.is-gallery-fallback .top-gallery__slide {
    scroll-snap-align: start
}

.top-gallery__slide {
    width: clamp(280px, 20vw, 390px);
    height: clamp(260px, 23vw, 395px);
    overflow: hidden;
    background: #eaf3fa
}

.top-gallery__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.top-gallery__card {
    position: absolute;
    top: 0;
    right: clamp(70px, 7vw, 140px);
    z-index: 4;
    display: flex;
    width: clamp(310px, 23vw, 430px);
    height: clamp(260px, 23vw, 395px);
    flex-direction: column;
    justify-content: center;
    border-radius: 18px;
    background: #fff;
    padding: clamp(34px, 3vw, 56px);
    box-shadow: 0 18px 46px #12446f1f
}

.top-gallery__card h3 {
    margin: 0;
    color: #008fd1;
    font-size: clamp(1.8rem, 2.3vw, 2.75rem);
    line-height: 1.35;
    font-weight: 900;
    letter-spacing: .06em
}

.top-gallery__card>span {
    display: block;
    width: 52px;
    height: 3px;
    margin: calc(var(--spacing) * 5) 0 0;
    border-radius: 999px;
    background: #008fd1
}

.top-gallery__card p {
    margin: calc(var(--spacing) * 8) 0 0;
    color: #1f2937;
    font-size: .98rem;
    line-height: 2;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.top-gallery__card a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 4);
    margin-top: calc(var(--spacing) * 8);
    border: 1px solid #1f2937;
    border-radius: 999px;
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 7);
    color: #1f2937;
    text-decoration: none;
    font-size: .92rem;
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
    letter-spacing: .05em;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease
}

.top-gallery__card a svg {
    flex: 0 0 auto;
    color: #008fd1
}

@media(hover:hover) {
    .top-gallery__card a:hover {
        border-color: #008fd1;
        background: #008fd1;
        color: #fff
    }

    .top-gallery__card a:hover svg {
        color: #fff
    }
}

.top-gallery__nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: #fff;
    color: #008fd1;
    box-shadow: 0 14px 32px #113c641f;
    transform: translateY(-50%);
    transition: background-color .2s ease, color .2s ease, transform .2s ease
}

.top-gallery__nav--prev {
    left: clamp(24px, 3vw, 54px)
}

.top-gallery__nav--next {
    right: clamp(24px, 3vw, 54px)
}

@media(hover:hover) {
    .top-gallery__nav:hover {
        background: #008fd1;
        color: #fff;
        transform: translateY(-50%) scale(1.04)
    }
}

.top-gallery__pagination.swiper-pagination {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: calc(var(--spacing) * 5);
    margin-top: calc(var(--spacing) * 8)
}

.top-gallery__pagination .swiper-pagination-bullet {
    width: 11px;
    height: 11px;
    margin: 0 !important;
    background: #aebbc8;
    opacity: .65
}

.top-gallery__pagination .swiper-pagination-bullet-active {
    background: #008fd1;
    opacity: 1
}

.top-gallery__petal {
    position: absolute;
    z-index: 2;
    width: 38px;
    height: 30px;
    border-radius: 70% 35% 70% 35%;
    pointer-events: none
}

.top-gallery__petal--blue-left {
    left: 19%;
    top: 15%;
    background: #008fd1;
    transform: rotate(28deg)
}

.top-gallery__petal--lime-left {
    left: 27%;
    top: 29%;
    background: #cde52d;
    transform: rotate(42deg);
    width: 28px;
    height: 22px
}

.top-gallery__petal--lime-right {
    right: 19%;
    top: 10%;
    background: #cde52d;
    transform: rotate(-12deg)
}

.top-gallery__petal--blue-right {
    right: 25%;
    top: 25%;
    background: #008fd1;
    transform: rotate(12deg);
    width: 28px;
    height: 36px;
    border-radius: 55% 45% 70% 35%
}

@media(max-width:63.999rem) {
    .top-gallery__slide {
        width: clamp(250px, 44vw, 360px)
    }

    .top-gallery__card {
        position: relative;
        right: auto;
        width: min(92vw, 560px);
        height: auto;
        margin: calc(var(--spacing) * 8) auto 0;
        padding: calc(var(--spacing) * 8)
    }

    .top-gallery__nav {
        top: calc(clamp(260px, 23vw, 395px) / 2)
    }

    .top-gallery__petal {
        transform: scale(.8)
    }
}

@media(max-width:47.999rem) {
    .top-gallery {
        padding-block: calc(var(--spacing) * 16) calc(var(--spacing) * 18)
    }

    .top-gallery__word {
        top: calc(var(--spacing) * 8);
        font-size: clamp(4rem, 21vw, 6.5rem);
        letter-spacing: .08em
    }

    .top-gallery__head {
        padding-inline: calc(var(--spacing) * 5)
    }

    .top-gallery__head p {
        font-size: .92rem;
        line-height: 1.8
    }

    .top-gallery__head p br {
        display: none
    }

    .top-gallery__stage {
        margin-top: calc(var(--spacing) * 12)
    }

    .top-gallery__slide {
        width: 78vw;
        height: 62vw;
        max-height: 340px
    }

    .top-gallery__nav {
        width: 46px;
        height: 46px;
        top: 31vw
    }

    .top-gallery__nav--prev {
        left: calc(var(--spacing) * 4)
    }

    .top-gallery__nav--next {
        right: calc(var(--spacing) * 4)
    }

    .top-gallery__card {
        border-radius: 16px;
        padding: calc(var(--spacing) * 7)
    }

    .top-gallery__card h3 {
        font-size: clamp(1.65rem, 8vw, 2.15rem)
    }

    .top-gallery__card p {
        font-size: .92rem;
        line-height: 1.8
    }

    .top-gallery__card a {
        padding-inline: calc(var(--spacing) * 5)
    }

    .top-gallery__petal {
        display: none
    }
}

/* Top access */
.top-access {
    position: relative;
    background: rgb(231 249 255);
    padding: clamp(52px, 6vw, 96px) clamp(var(--spacing) * 5, 4vw, calc(var(--spacing) * 12))
}

.top-access__panel {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 1480px;
    margin-inline: auto;
    border: 1px solid #cfe2f2;
    border-radius: 28px;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    box-shadow: 0 18px 54px #11466f0d
}

.top-access__panel+.top-access__panel {
    margin-top: calc(var(--spacing) * 6)
}

.top-access__panel--hours {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(480px, .96fr);
    gap: clamp(34px, 4vw, 64px);
    align-items: center;
    padding: clamp(34px, 4vw, 58px) clamp(34px, 4vw, 64px)
}

.top-access__image {
    overflow: hidden;
    border-radius: 24px;
    background: #eaf3fa
}

.top-access__image img {
    display: block;
    width: 100%;
    height: clamp(260px, 25vw, 420px);
    object-fit: cover;
    object-position: center
}

.top-access__hours {
    position: relative;
    z-index: 2;

    border-radius: 24px;
    background: #fff;
    padding: clamp(24px, 3vw, 38px);

}

.top-access__hours h2,
.top-access__panel--map>h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 3);
    margin: 0;
    color: #008fd1;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.4;
    font-weight: 900;
    letter-spacing: .08em
}

.top-access__hours h2 svg,
.top-access__panel--map>h2 svg {
    color: #008fd1
}

.top-access__table-wrap {
    margin-top: calc(var(--spacing) * 5);
    overflow-x: auto
}

.top-access__table {
    width: 100%;
    min-width: 590px;
    border-collapse: collapse;
    color: #0f172a;
    font-weight: var(--font-weight-bold)
}

.top-access__table th,
.top-access__table td {
    border-top: 1px solid #bfd7ee;
    padding: calc(var(--spacing) * 3.5) calc(var(--spacing) * 3);
    text-align: center;
    white-space: nowrap
}

.top-access__table thead th {
    color: #008fd1;
    font-size: .96rem
}

.top-access__table tbody th {
    font-size: 1.08rem;
    font-weight: var(--font-weight-medium)
}

.top-access__table td {
    color: #008fd1;
    font-size: 1.18rem;
    line-height: 1
}

.top-access__table td:last-child {
    color: #64748b
}

.top-access__table tbody tr:last-child th,
.top-access__table tbody tr:last-child td {
    border-bottom: 1px solid #bfd7ee;
    font-size: 1rem
}

.top-access__table tbody tr:last-child th {
    color: #008fd1
}

.top-access__table tbody tr:last-child td:not(:last-child) {
    color: #008fd1
}

.top-access__note {
    margin: calc(var(--spacing) * 5) 0 0;
    text-align: center;
    color: #334155;
    font-size: .96rem;
    line-height: 1.8;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.top-access__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 4);
    width: min(100%, 420px);
    margin: calc(var(--spacing) * 5) auto 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #43b9ea, #008fd1);
    padding: calc(var(--spacing) * 4.5) calc(var(--spacing) * 8);
    color: #fff;
    text-decoration: none;
    font-size: clamp(1rem, 1.25vw, 1.22rem);
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: .08em;
    box-shadow: 0 16px 34px #008fd12b;
    transition: transform .2s ease, box-shadow .2s ease
}

.top-access__button span {
    margin-left: auto;
    font-size: 2rem;
    line-height: 1
}

.top-access__button svg {
    flex: 0 0 auto
}

@media(hover:hover) {
    .top-access__button:hover {
        transform: translateY(-2px);
        box-shadow: 0 22px 42px #008fd13a
    }
}

.top-access__panel--map {
    padding: clamp(26px, 3vw, 48px) clamp(34px, 4vw, 64px) clamp(38px, 4vw, 60px)
}

.top-access__panel--map>h2 {
    width: min(100%, 1250px);
    margin-inline: auto;
    border-radius: 8px;
    background: linear-gradient(90deg, #eef8ff 0%, #f7fbff 50%, #eef8ff 100%);
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 6)
}

.top-access__map-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, .86fr);
    gap: clamp(32px, 4vw, 58px);
    align-items: center;
    width: min(100%, 1250px);
    margin: calc(var(--spacing) * 7) auto 0
}

.top-access__map {
    overflow: hidden;
    border-radius: 12px;
    background: #eaf3fa;
    box-shadow: inset 0 0 0 1px #d7e9f8
}

.top-access__map iframe {
    display: block;
    width: 100%;
    height: clamp(300px, 23vw, 390px);
    border: 0;
    filter: saturate(.82) contrast(.96)
}

.top-access__info dl {
    display: grid;
    gap: calc(var(--spacing) * 4);
    margin: 0
}

.top-access__info dl div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: calc(var(--spacing) * 5);
    align-items: start
}

.top-access__info dt {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    border-radius: 8px;
    background: #eef6fd;
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 5);
    color: #008fd1;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 900;
    letter-spacing: .06em
}

.top-access__info dt svg {
    flex: 0 0 auto
}

.top-access__info dd {
    margin: 0;
    color: #1f2937;
    font-size: clamp(.98rem, 1.25vw, 1.14rem);
    line-height: 1.8;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.top-access__info .top-access__button {
    width: min(100%, 420px);
    margin-top: calc(var(--spacing) * 8)
}

.top-access__pixel {
    position: absolute;
    z-index: 1;
    width: 16px;
    height: 16px;
    background: #e6f4ff;
    opacity: .9;
    pointer-events: none
}

.top-access__pixel--left {
    left: 5%;
    top: 8%;
    box-shadow: -22px 22px #f0f8ff, -44px 44px #e6f4ff, -66px 66px #f0f8ff
}

.top-access__pixel--right {
    right: 5%;
    top: 16%;
    box-shadow: 22px 22px #f0f8ff, 44px 44px #e6f4ff, 66px 66px #f0f8ff
}

.top-access__pixel--bottom {
    left: 4%;
    bottom: 10%;
    box-shadow: 22px -22px #f0f8ff, 44px -44px #e6f4ff, 66px -66px #f0f8ff
}

@media(max-width:74.999rem) {

    .top-access__panel--hours,
    .top-access__map-grid {
        grid-template-columns: 1fr
    }

    .top-access__image img {
        height: clamp(260px, 46vw, 420px)
    }

    .top-access__info dl div {
        grid-template-columns: 140px minmax(0, 1fr)
    }
}

@media(max-width:47.999rem) {
    .top-access {
        padding: calc(var(--spacing) * 12) calc(var(--spacing) * 3)
    }

    .top-access__panel {
        border-radius: 20px
    }

    .top-access__panel--hours,
    .top-access__panel--map {
        padding: calc(var(--spacing) * 5)
    }

    .top-access__image {
        border-radius: 16px
    }

    .top-access__image img {
        height: 58vw;
        min-height: 220px
    }

    .top-access__hours {
        border-radius: 18px;
        padding: calc(var(--spacing) * 0)
    }

    .top-access__table th,
    .top-access__table td {
        padding: calc(var(--spacing) * 3) calc(var(--spacing) * 2)
    }

    .top-access__note {
        text-align: left;
        font-size: .9rem
    }

    .top-access__button {
        padding: calc(var(--spacing) * 4) calc(var(--spacing) * 5);
        font-size: .96rem
    }

    .top-access__panel--map>h2 {
        font-size: 1.35rem
    }

    .top-access__map iframe {
        height: 280px
    }

    .top-access__info dl div {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 2)
    }

    .top-access__info dt {
        width: max-content
    }

    .top-access__pixel {
        display: none
    }
}

/* Site footer */
.site-footer {
    position: relative;
    overflow: hidden;
    background: #008fd1;
    color: #fff;
    padding-block: clamp(78px, 8vw, 132px) clamp(46px, 5vw, 84px)
}


.site-footer__inner {
    position: relative;
    width: min(100% - 48px, 1280px);
    min-height: clamp(430px, 38vw, 570px);
    margin-inline: auto
}

.site-footer__brand {
    position: absolute;
    left: 0;
    top: 0;
    width: min(100%, 360px)
}

.site-footer__logo {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 4);
    color: #fff;
    text-decoration: none
}

.site-footer__logo span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 2px solid #ffffff80;
    border-radius: 999px;
    background: #ffffff14;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 900
}

.site-footer__logo strong {
    display: block;
    font-size: clamp(1.35rem, 1.6vw, 1.75rem);
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: .08em
}

.site-footer__logo small {
    display: block;
    margin-top: calc(var(--spacing) * 1);
    color: #b7d2ed;
    font-size: .72rem;
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    letter-spacing: .12em
}

.site-footer__logo-image {
    display: block;
    width: auto;
    height: 65px;
    object-fit: contain
}

.site-footer__brand p {
    margin: calc(var(--spacing) * 6) 0 0;
    color: #c6daf0;
    font-size: .92rem;
    line-height: 1.8;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.site-footer__brand p+p {
    margin-top: calc(var(--spacing) * 2)
}

.site-footer__brand .site-footer__formal-name {
    margin-top: calc(var(--spacing) * 5);
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: .08em
}

.site-trust {
    margin: 0 0 36px min(34vw, 430px);
    padding: 22px 24px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 10px;
    background: rgba(2,95,140,.24)
}

.site-trust__eyebrow {
    margin: 0 0 14px;
    color: #bcecff;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .18em
}

.site-trust__grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px
}

.site-trust__grid div {
    display: grid;
    gap: 4px
}

.site-trust__grid span,
.site-trust__grid small {
    color: rgba(255,255,255,.72);
    font-size: .68rem;
    line-height: 1.5
}

.site-trust__grid strong {
    color: #fff;
    font-size: .82rem;
    line-height: 1.5
}

.site-trust__links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 16px
}

.site-trust__links a {
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    text-underline-offset: 4px
}

.site-footer__nav {
    display: grid;
    grid-template-columns: 1fr 1fr 1.35fr 1fr;
    gap: clamp(34px, 5vw, 78px);
    margin-left: min(34vw, 430px);
    padding-top: calc(var(--spacing) * 2)
}

.site-footer__group p {
    margin: 0 0 calc(var(--spacing) * 6);
    color: #7fafdf;
    font-size: .82rem;
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: .08em
}

.site-footer__group a {
    display: block;
    width: max-content;
    max-width: 100%;
    color: #fff;
    text-decoration: none;
    font-size: .94rem;
    line-height: 1.6;
    font-weight: 900;
    letter-spacing: .04em
}

.site-footer__group a+a {
    margin-top: calc(var(--spacing) * 4)
}

@media(hover:hover) {

    .site-footer__group a:hover,
    .site-footer__bottom a:hover {
        opacity: .72
    }
}

.site-footer__bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 6);
    color: #9dc2e5;
    font-size: .78rem;
    line-height: 1.6;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.site-footer__bottom p {
    margin: 0
}

.site-footer__bottom div {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 6)
}

.site-footer__bottom a {
    color: #fff;
    text-decoration: none
}

.site-footer__pagetop {
    position: absolute;
    right: -34px;
    bottom: calc(var(--spacing) * 12);
    color: #fff;
    text-decoration: none;
    font-size: .8rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    writing-mode: vertical-rl
}

@media(max-width:74.999rem) {
    .site-footer__inner {
        min-height: auto
    }

    .site-footer__brand {
        position: relative;
        width: auto
    }

    .site-trust {
        margin: calc(var(--spacing) * 10) 0 0
    }

    .site-footer__nav {
        margin: calc(var(--spacing) * 14) 0 0;
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .site-footer__bottom {
        position: relative;
        margin-top: calc(var(--spacing) * 14)
    }

    .site-footer__pagetop {
        right: 0;
        bottom: calc(var(--spacing) * 4)
    }
}

@media(max-width:47.999rem) {
    .site-footer {
        padding-block: calc(var(--spacing) * 16) calc(var(--spacing) * 20)
    }

    .site-footer__inner {
        width: min(100% - 32px, 1280px)
    }

    .site-footer__logo span {
        width: 50px;
        height: 50px
    }

    .site-footer__nav {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 9);
        margin-top: calc(var(--spacing) * 12)
    }

    .site-trust {
        padding: 20px
    }

    .site-trust__grid {
        grid-template-columns: 1fr;
        gap: 14px
    }

    .site-footer__group p {
        margin-bottom: calc(var(--spacing) * 4)
    }

    .site-footer__group a+a {
        margin-top: calc(var(--spacing) * 3)
    }

    .site-footer__bottom {
        display: block
    }

    .site-footer__bottom div {
        margin-top: calc(var(--spacing) * 5);
        gap: calc(var(--spacing) * 4)
    }

    .site-footer__pagetop {
        right: calc(var(--spacing) * -2);
        bottom: calc(var(--spacing) * -10)
    }
}

/* Site navigation and lower pages */
.site-logo-link {
    align-items: center;
    position: relative;
    z-index: 80;
    margin-top: 0;
    text-decoration: none
}

.header-logo-image {
    display: block;
    width: auto;
    max-width: 44vw;
    height: 65px;
    object-fit: contain
}

.hero-logo-image {
    display: block;
    width: auto;
    height: 52px;
    object-fit: contain
}

.sp-br {
    display: none
}

.header-menu-label {
    display: block;
    margin-bottom: 1px;
    color: currentColor;
    font-size: .62rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em
}

.header-18,
.hero-30 {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px
}

@media(max-width:63.999rem) {
    .header-logo-image {
        height: 65px;
        max-width: 58vw
    }

    .hero-logo-image {
        height: 44px;
        max-width: 58vw
    }

    .hero-09 {
        display: flex;
        left: calc(var(--spacing) * 4);
        right: calc(var(--spacing) * 4);
        top: 96px;
        z-index: 34;
        gap: calc(var(--spacing) * 2)
    }

    .hero-10 {
        width: max-content;
        max-width: calc(100vw - 32px);
        border-radius: var(--radius-lg);
        padding: calc(var(--spacing) * 2.5) calc(var(--spacing) * 4);
        box-shadow: 0 12px 30px #164b7a1a
    }

    .hero-11,
    .hero-12 {
        font-size: clamp(1.05rem, 5vw, 1.35rem);
        line-height: 1.45;
        letter-spacing: .12em
    }

    .static-hero-copy-text {
        display: inline-flex;
        flex-wrap: nowrap
    }
}

@media(max-width:47.999rem) {
    .pc-br {
        display: none
    }

    .sp-br {
        display: inline
    }

    .header-logo-image {
        height: 65px;
        max-width: 54vw
    }

    .hero-logo-image {
        height: 38px;
        max-width: 54vw
    }

    .hero-09 {
        top: 82px
    }

    .mobile-01 {
        display: none
    }

  
}

.nav-item::after {
    content: "";
    position: absolute;
    top: 100%;
    left: calc(var(--spacing) * -4);
    right: calc(var(--spacing) * -4);
    height: 18px
}

.nav-dropdown {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    z-index: 70;
    display: none;
    min-width: 220px;
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 3);
    box-shadow: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a
}

.nav-dropdown--wide {
    min-width: 300px
}

.nav-dropdown-link {
    display: block;
    border-radius: var(--radius-md);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark);
    text-decoration: none;
    white-space: nowrap
}

@media(hover:hover) {

    .nav-item:hover .nav-dropdown,
    .nav-item:focus-within .nav-dropdown {
        display: block
    }

    .nav-dropdown-link:hover {
        background-color: var(--color-medical-light);
        color: var(--color-medical-primary)
    }
}

.menu-nav {
    justify-content: flex-start;
    overflow-y: auto;
    padding-block: calc(var(--spacing) * 4)
}

.menu-link {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height))
}

.sub-main {
    padding-top: 112px;
    background-color: var(--color-white)
}

.sub-container {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: calc(var(--spacing) * 6)
}

.sub-hero {
    background-color: var(--color-medical-light);
    padding-block: calc(var(--spacing) * 20) calc(var(--spacing) * 16)
}

.sub-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 2);
    align-items: center;
    margin-bottom: calc(var(--spacing) * 6);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-500)
}

.sub-breadcrumb a {
    color: var(--color-medical-primary);
    text-decoration: none
}

.sub-kicker {
    margin-bottom: calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-medical-primary)
}

.sub-title {
    margin: 0;
    color: var(--color-medical-dark);
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
    font-weight: var(--font-weight-bold)
}

.sub-lead {
    max-width: 780px;
    margin-top: calc(var(--spacing) * 6);
    font-size: var(--text-lg);
    line-height: 1.9;
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-600)
}

.sub-section {
    padding-block: calc(var(--spacing) * 16)
}

.sub-section-muted {
    background-color: var(--color-gray-50)
}

.sub-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr);
    gap: calc(var(--spacing) * 8)
}

.sub-card {
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 8);
    box-shadow: 0 10px 15px -3px #0000000d, 0 4px 6px -4px #0000000d
}

.sub-card h2,
.sub-section-head h2 {
    margin: 0;
    color: var(--color-medical-dark);
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
    font-weight: var(--font-weight-bold)
}

.sub-card p {
    margin-top: calc(var(--spacing) * 4);
    font-size: var(--text-base);
    line-height: 1.9;
    color: var(--color-gray-600)
}

.sub-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--spacing) * 4);
    margin-top: calc(var(--spacing) * 8)
}

.sub-meta div {
    border-radius: var(--radius-lg);
    background-color: var(--color-medical-light);
    padding: calc(var(--spacing) * 4)
}

.sub-meta dt {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-500)
}

.sub-meta dd {
    margin: calc(var(--spacing) * 1) 0 0;
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary)
}

.sub-list {
    margin: calc(var(--spacing) * 5) 0 0;
    padding-left: calc(var(--spacing) * 5);
    color: var(--color-gray-600);
    font-size: var(--text-base);
    line-height: 1.9
}

.sub-link-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(var(--spacing) * 5);
    margin-top: calc(var(--spacing) * 8)
}

.sub-link-card {
    display: flex;
    min-height: 132px;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 6);
    text-decoration: none;
    transition: all .2s ease
}

.sub-link-card span {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.sub-link-card small {
    margin-top: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: 1.6;
    color: var(--color-gray-500)
}

@media(hover:hover) {
    .sub-link-card:hover {
        border-color: var(--color-medical-primary);
        transform: translateY(-2px)
    }
}

.sub-all-links {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 3)
}

.sub-all-links a {
    border-radius: 999px;
    background-color: var(--color-medical-light);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary);
    text-decoration: none
}

.sub-footer {
    background-color: var(--color-medical-dark);
    color: var(--color-white);
    padding-block: calc(var(--spacing) * 10);
    padding-bottom: calc(var(--spacing) * 24)
}

.sub-footer-inner {
    display: flex;
    gap: calc(var(--spacing) * 8);
    align-items: flex-start;
    justify-content: space-between
}

.sub-footer-name {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    font-weight: var(--font-weight-bold)
}

.sub-footer-text {
    margin-top: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: 1.7;
    color: #ffffffb3
}

.sub-footer-nav {
    display: flex;
    max-width: 620px;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 3) calc(var(--spacing) * 5);
    justify-content: flex-end
}

.sub-footer-nav a {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
    text-decoration: none
}

@media(max-width:63.999rem) {
    .sub-main {
        padding-top: 80px
    }

    .sub-grid,
    .sub-link-grid {
        grid-template-columns: 1fr
    }

    .sub-footer-inner {
        flex-direction: column
    }

    .sub-footer-nav {
        justify-content: flex-start
    }

    .sub-title {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading, var(--text-3xl--line-height))
    }
}

@media(max-width:47.999rem) {
    .sub-container {
        padding-inline: calc(var(--spacing) * 4)
    }

    .sub-hero {
        padding-block: calc(var(--spacing) * 14) calc(var(--spacing) * 10)
    }

    .sub-section {
        padding-block: calc(var(--spacing) * 10)
    }

    .sub-card {
        padding: calc(var(--spacing) * 5)
    }

    .sub-meta {
        grid-template-columns: 1fr
    }

    .sub-lead {
        font-size: var(--text-base);
        line-height: 1.8
    }
}

/* Today's hours and admin calendar */
.today-hours {
    position: absolute;
    left: calc(var(--spacing) * 6);
    right: calc(var(--spacing) * 6);
    bottom: calc(var(--spacing) * 5);
    z-index: 35;
    max-width: 430px;
    border: 1px solid #ffffffa6;
    border-radius: var(--radius-xl);
    background-color: #fffffff0;
    padding: calc(var(--spacing) * 5);
    box-shadow: 0 25px 50px -12px #00000040;
    backdrop-filter: blur(12px)
}

.today-hours__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 3);
    border-bottom: 1px solid var(--color-gray-100);
    padding-bottom: calc(var(--spacing) * 3)
}

.today-hours__label {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.today-hours__date {
    border-radius: 999px;
    background-color: var(--color-medical-light);
    padding: calc(var(--spacing) * 1) calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary);
    white-space: nowrap
}

.today-hours__body {
    padding-block: calc(var(--spacing) * 4)
}

.today-hours__row {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: calc(var(--spacing) * 1) calc(var(--spacing) * 3);
    align-items: center
}

.today-hours__row+.today-hours__row {
    margin-top: calc(var(--spacing) * 3)
}

.today-hours__session {
    grid-row: span 3;
    border-radius: var(--radius-md);
    background-color: var(--color-medical-primary);
    padding: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    text-align: center;
    color: var(--color-white)
}

.today-hours__time {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.today-hours__reception,
.today-hours__contact,
.today-hours__note,
.today-hours__loading {
    font-size: var(--text-xs);
    line-height: 1.6;
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-500)
}

.today-hours__contact {
    grid-column: 2;
    font-size: var(--text-xs);
    line-height: 1.5;
    font-weight: 900;
    color: #c62828;
}

.today-hours__row.is-closed .today-hours__session {
    grid-row: auto;
    background: #fee2e2;
    color: #b91c1c;
}

.today-hours__row.is-closed .today-hours__time,
.today-hours__note--closed,
.today-hours__closed {
    color: #b91c1c;
}

.today-hours__row.is-closed .today-hours__time {
    font-weight: 900;
}

.today-hours__row.is-closed .today-hours__reception {
    display: none;
}

.today-hours__note {
    margin-top: calc(var(--spacing) * 3)
}

.today-hours__closed {
    margin: 0;
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary)
}

.today-hours__link {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
    background-color: var(--color-medical-primary);
    padding: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
    text-decoration: none
}

.today-hours[data-status="closed"] .today-hours__date {
    background-color: #fef2f2;
    color: #b91c1c
}

.today-hours[data-status="closed"] .today-hours__link {
    background-color: var(--color-medical-dark)
}

.admin-main {
    padding-top: 112px;
    background-color: var(--color-gray-50);
    min-height: 100vh
}

.admin-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: calc(var(--spacing) * 8)
}

.admin-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 4);
    margin-bottom: calc(var(--spacing) * 5)
}

.admin-toolbar h2 {
    margin: 0;
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.admin-actions {
    display: flex;
    gap: calc(var(--spacing) * 2)
}

.admin-button {
    border-radius: var(--radius-lg);
    background-color: var(--color-medical-primary);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-white)
}

.admin-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: calc(var(--spacing) * 2)
}

.admin-calendar__weekday {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    text-align: center;
    color: var(--color-gray-500)
}

.admin-calendar__cell {
    min-height: 112px;
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 3);
    text-align: left;
    transition: all .2s ease
}

.admin-calendar__cell span {
    display: block;
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.admin-calendar__cell small {
    display: block;
    margin-top: calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-500)
}

.admin-calendar__cell--empty {
    background-color: transparent;
    border-color: transparent
}

.admin-calendar__cell.is-regular-closed {
    background-color: #f8fafc
}

.admin-calendar__cell.is-holiday {
    background-color: #eff6ff
}

.admin-calendar__cell.is-admin-closed {
    background-color: #fef2f2;
    border-color: #fecaca
}

.admin-calendar__cell.is-admin-closed span,
.admin-calendar__cell.is-admin-closed small {
    color: #b91c1c
}

@media(hover:hover) {
    .admin-calendar__cell:not(.admin-calendar__cell--empty):hover {
        border-color: var(--color-medical-primary);
        transform: translateY(-1px)
    }
}

.admin-side {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5)
}

.admin-input {
    width: 100%;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height))
}

.admin-help {
    margin-top: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: 1.8;
    color: var(--color-gray-600)
}

.admin-selected {
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary)
}

.admin-closures {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 3);
    margin: calc(var(--spacing) * 5) 0 0;
    padding: 0;
    list-style: none
}

.admin-closures li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: calc(var(--spacing) * 1) calc(var(--spacing) * 3);
    align-items: center;
    border-bottom: 1px solid var(--color-gray-100);
    padding-bottom: calc(var(--spacing) * 3)
}

.admin-closures span {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.admin-closures small {
    grid-column: 1;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: var(--color-gray-500)
}

.admin-closures button {
    grid-column: 2;
    grid-row: 1 / span 2;
    border-radius: var(--radius-md);
    background-color: var(--color-gray-100);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.admin-empty {
    display: block !important;
    color: var(--color-gray-500)
}

@media(min-width:64rem) {
    .today-hours {
        left: calc(var(--spacing) * 12);
        right: auto;
        bottom: calc(var(--spacing) * 17)
    }
}

@media(max-width:63.999rem) {
    .admin-main {
        padding-top: 80px
    }

    .admin-panel {
        grid-template-columns: 1fr
    }

    .admin-calendar__cell {
        min-height: 88px
    }

    .today-hours {
        bottom: calc(var(--spacing) * 4)
    }
}

@media(max-width:47.999rem) {
    .today-hours {
        left: calc(var(--spacing) * 4);
        right: calc(var(--spacing) * 4);
        padding: calc(var(--spacing) * 4)
    }

    .today-hours__head {
        align-items: flex-start;
        flex-direction: column
    }

    .today-hours__time {
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height))
    }

    .admin-calendar {
        gap: calc(var(--spacing) * 1)
    }

    .admin-calendar__cell {
        min-height: 72px;
        padding: calc(var(--spacing) * 2)
    }

    .admin-calendar__cell small {
        display: none
    }
}

/* Lower page content */
.lower-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: calc(var(--spacing) * 10);
    align-items: center
}

.lower-hero-visual {
    overflow: hidden;
    border-radius: var(--radius-2xl);
    background-color: var(--color-white);
    box-shadow: 0 25px 50px -12px #00000026
}

.lower-hero-visual img {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover
}

.lower-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 3);
    margin-top: calc(var(--spacing) * 8)
}

.lower-button {
    display: inline-flex;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-medical-primary);
    border-radius: 999px;
    background-color: var(--color-medical-primary);
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 6);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
    text-decoration: none
}

.lower-button--ghost {
    background-color: var(--color-white);
    color: var(--color-medical-primary)
}

.lower-section-head {
    max-width: 820px;
    margin-bottom: calc(var(--spacing) * 8)
}

.lower-section-head p {
    margin-top: calc(var(--spacing) * 4);
    font-size: var(--text-base);
    line-height: 1.9;
    color: var(--color-gray-600)
}

.lower-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--spacing) * 5)
}

.lower-card {
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 6);
    box-shadow: 0 10px 15px -3px #0000000d, 0 4px 6px -4px #0000000d
}

.lower-card h3 {
    margin: 0;
    color: var(--color-medical-dark);
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    font-weight: var(--font-weight-bold)
}

.lower-card p {
    margin-top: calc(var(--spacing) * 4);
    font-size: var(--text-base);
    line-height: 1.9;
    color: var(--color-gray-600)
}

.lower-card small {
    display: block;
    margin-top: calc(var(--spacing) * 4);
    border-left: 4px solid var(--color-medical-primary);
    padding-left: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: 1.8;
    color: var(--color-gray-500)
}

.lower-flow {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: calc(var(--spacing) * 4);
    margin: 0;
    padding: 0;
    list-style: none
}

.lower-flow li {
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 5)
}

.lower-flow span {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background-color: var(--color-medical-primary);
    font-weight: var(--font-weight-bold);
    color: var(--color-white)
}

.lower-flow strong {
    display: block;
    margin-top: calc(var(--spacing) * 4);
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    color: var(--color-medical-dark)
}

.lower-flow p {
    margin-top: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: 1.8;
    color: var(--color-gray-600)
}

.lower-note {
    border-radius: var(--radius-xl);
    background-color: #fff7ed;
    padding: calc(var(--spacing) * 6);
    font-size: var(--text-base);
    line-height: 1.9;
    color: var(--color-gray-700)
}

.lower-note--spaced {
    margin-top: calc(var(--spacing) * 8)
}

.lower-spacer {
    height: calc(var(--spacing) * 8)
}

.lower-table-wrap {
    overflow: hidden;
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    background-color: var(--color-white)
}

.lower-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-base);
    line-height: 1.7
}

.lower-table th,
.lower-table td {
    border-bottom: 1px solid var(--color-gray-100);
    padding: calc(var(--spacing) * 4);
    text-align: left;
    vertical-align: top
}

.lower-table th {
    background-color: var(--color-medical-light);
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.lower-table tr:last-child th,
.lower-table tr:last-child td {
    border-bottom: 0
}

.lower-faq-list {
    display: grid;
    gap: calc(var(--spacing) * 3)
}

.lower-faq-list details {
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 5)
}

.lower-faq-list summary {
    cursor: pointer;
    font-size: var(--text-base);
    line-height: 1.7;
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark)
}

.lower-faq-list p {
    margin-top: calc(var(--spacing) * 3);
    font-size: var(--text-base);
    line-height: 1.9;
    color: var(--color-gray-600)
}

.lower-article-list {
    display: grid;
    gap: calc(var(--spacing) * 4)
}

.lower-article {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: calc(var(--spacing) * 4);
    align-items: flex-start;
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 5)
}

.lower-article time,
.lower-article span {
    font-size: var(--text-sm);
    line-height: 1.6;
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary)
}

.lower-article h3 {
    margin: 0;
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    color: var(--color-medical-dark)
}

.lower-article p {
    margin-top: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: 1.8;
    color: var(--color-gray-600)
}

.today-hours--inline {
    position: relative;
    inset: auto;
    z-index: auto;
    max-width: none;
    margin: 0;
    border-color: var(--color-gray-100);
    box-shadow: 0 10px 15px -3px #0000000d, 0 4px 6px -4px #0000000d
}

.symptom-nav {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 3);
    margin-top: calc(var(--spacing) * 8)
}

.symptom-nav a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    border: 1px solid var(--color-gray-100);
    border-radius: 999px;
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 5);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary);
    text-decoration: none
}

.symptom-category {
    scroll-margin-top: 120px
}

.symptom-category+.symptom-category {
    margin-top: calc(var(--spacing) * 12)
}

.symptom-card {
    display: flex;
    min-height: 100%;
    flex-direction: column
}

.symptom-card__label {
    display: inline-flex;
    width: max-content;
    border-radius: 999px;
    background-color: var(--color-medical-light);
    padding: calc(var(--spacing) * 1) calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary)
}

.symptom-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 2);
    margin-top: auto;
    padding-top: calc(var(--spacing) * 5)
}

.symptom-card__links a {
    border-radius: 999px;
    background-color: var(--color-medical-light);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary);
    text-decoration: none
}

.symptom-alert {
    border: 1px solid #fde68a;
    border-radius: var(--radius-xl);
    background-color: #fffbeb;
    padding: calc(var(--spacing) * 6)
}

.symptom-alert h2 {
    margin: 0;
    color: #92400e;
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    font-weight: var(--font-weight-bold)
}

.symptom-alert ul {
    margin: calc(var(--spacing) * 4) 0 0;
    padding-left: calc(var(--spacing) * 5);
    font-size: var(--text-base);
    line-height: 1.9;
    color: var(--color-gray-700)
}

.symptom-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr);
    gap: calc(var(--spacing) * 6);
    align-items: center
}

.symptoms-fv {
    padding-block: calc(var(--spacing) * 18) calc(var(--spacing) * 12);
    background-color: var(--color-medical-light)
}

.symptoms-fv__stage {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-2xl);
    background-color: var(--color-medical-dark);
    min-height: 430px
}

.symptoms-fv__stage img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .82
}

.symptoms-fv__panel {
    position: absolute;
    left: calc(var(--spacing) * 8);
    bottom: calc(var(--spacing) * 8);
    max-width: 520px;
    border-radius: var(--radius-xl);
    background-color: #008fd1e8;
    padding: calc(var(--spacing) * 8);
    color: var(--color-white);
    box-shadow: 0 25px 50px -12px #00000040
}

.symptoms-fv__eyebrow {
    display: block;
    margin-bottom: calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    letter-spacing: .14em;
    text-transform: uppercase
}

.symptoms-fv__panel h1 {
    margin: 0;
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
    font-weight: var(--font-weight-bold)
}

.symptoms-fv__panel p {
    margin-top: calc(var(--spacing) * 4);
    font-size: var(--text-base);
    line-height: 1.9;
    font-weight: var(--font-weight-medium)
}

.symptoms-lead {
    font-size: var(--text-base);
    line-height: 2;
    color: var(--color-gray-700)
}

.symptoms-lead strong {
    display: block;
    margin-bottom: calc(var(--spacing) * 4);
    font-size: var(--text-2xl);
    line-height: 1.5;
    color: var(--color-medical-dark)
}

.symptoms-index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(var(--spacing) * 3);
    padding: calc(var(--spacing) * 6);
    border-radius: var(--radius-2xl);
    background-color: var(--color-medical-light)
}

.symptoms-index a {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
    text-align: center;
    color: var(--color-medical-primary);
    text-decoration: none
}

.symptoms-explain {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr);
    gap: calc(var(--spacing) * 8);
    align-items: center
}

.symptoms-photo {
    overflow: hidden;
    border-radius: var(--radius-2xl);
    background-color: var(--color-gray-100)
}

.symptoms-photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover
}

.symptoms-list {
    display: grid;
    gap: calc(var(--spacing) * 10)
}

.symptoms-topic {
    scroll-margin-top: 120px;
    border-top: 1px solid var(--color-gray-100);
    padding-top: calc(var(--spacing) * 8)
}

.symptoms-topic__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: calc(var(--spacing) * 6);
    align-items: start
}

.symptoms-topic h2 {
    margin: 0;
    color: var(--color-medical-dark);
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
    font-weight: var(--font-weight-bold)
}

.symptoms-topic p {
    margin-top: calc(var(--spacing) * 4);
    font-size: var(--text-base);
    line-height: 2;
    color: var(--color-gray-700)
}

.symptoms-topic h3 {
    margin: calc(var(--spacing) * 6) 0 calc(var(--spacing) * 3);
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary)
}

.symptoms-tags {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 2);
    margin: 0;
    padding: 0;
    list-style: none
}

.symptoms-tags li,
.symptoms-links a {
    border-radius: 999px;
    background-color: var(--color-medical-light);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary)
}

.symptoms-links {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 2)
}

.symptoms-links a {
    text-decoration: none
}

.symptoms-illust {
    min-height: 150px;
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, #ffffff, #eef8fa);
    position: relative;
    overflow: hidden
}

.symptoms-illust::before,
.symptoms-illust::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background-color: #008fd126
}

.symptoms-illust::before {
    width: 96px;
    height: 96px;
    right: 20px;
    top: 20px
}

.symptoms-illust::after {
    width: 44px;
    height: 44px;
    left: 26px;
    bottom: 24px
}

.symptoms-illust span {
    position: absolute;
    inset: auto 20px 20px 20px;
    font-size: var(--text-sm);
    line-height: 1.7;
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-primary)
}

.symptoms-checks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(var(--spacing) * 3);
    margin-top: calc(var(--spacing) * 6)
}

.symptoms-checks li {
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 4);
    font-size: var(--text-sm);
    line-height: 1.6;
    font-weight: var(--font-weight-bold);
    color: var(--color-medical-dark);
    list-style: none
}

.symptoms-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
    gap: calc(var(--spacing) * 8);
    align-items: center
}

@media(max-width:63.999rem) {

    .lower-hero-grid,
    .lower-card-grid {
        grid-template-columns: 1fr
    }

    .lower-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .lower-hero-visual img {
        height: 300px
    }

    .today-hours--inline {
        left: auto;
        right: auto;
        bottom: auto
    }
}

@media(max-width:63.999rem) {

    .symptom-split,
    .symptoms-explain,
    .symptoms-cta {
        grid-template-columns: 1fr
    }

    .symptoms-topic__head {
        grid-template-columns: 1fr
    }

    .symptoms-index {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:47.999rem) {
    .lower-hero-visual {
        order: -1
    }

    .lower-hero-visual img {
        height: 240px
    }

    .lower-button {
        width: 100%;
        border-radius: var(--radius-xl)
    }

    .lower-flow {
        grid-template-columns: 1fr
    }

    .lower-table-wrap:has(.lower-table--schedule) {
        overflow-x: auto;
        border: 1px solid var(--color-gray-100);
        border-radius: var(--radius-xl);
        background-color: var(--color-white)
    }

    .lower-table--schedule {
        min-width: 620px
    }

    .lower-table--schedule,
    .lower-table--schedule thead,
    .lower-table--schedule tbody {
        display: table;
        width: 100%
    }

    .lower-table--schedule thead {
        display: table-header-group
    }

    .lower-table--schedule tbody {
        display: table-row-group
    }

    .lower-table--schedule tr {
        display: table-row;
        margin-bottom: 0;
        border: 0;
        border-radius: 0;
        background-color: transparent
    }

    .lower-table--schedule th,
    .lower-table--schedule td {
        display: table-cell;
        width: auto;
        white-space: nowrap
    }

    .lower-table-wrap {
        border: 0;
        background-color: transparent
    }

    .lower-table,
    .lower-table tbody,
    .lower-table tr,
    .lower-table th,
    .lower-table td {
        display: block;
        width: 100%
    }

    .lower-table tr {
        overflow: hidden;
        margin-bottom: calc(var(--spacing) * 3);
        border: 1px solid var(--color-gray-100);
        border-radius: var(--radius-lg);
        background-color: var(--color-white)
    }

    .lower-table th,
    .lower-table td {
        border-bottom: 1px solid var(--color-gray-100)
    }

    .lower-table td:last-child {
        border-bottom: 0
    }

    .lower-table-wrap:has(.lower-table--schedule) {
        overflow-x: auto;
        border: 1px solid var(--color-gray-100);
        border-radius: var(--radius-xl);
        background-color: var(--color-white)
    }

    .lower-table--schedule {
        display: table;
        min-width: 620px
    }

    .lower-table--schedule thead {
        display: table-header-group
    }

    .lower-table--schedule tbody {
        display: table-row-group
    }

    .lower-table--schedule tr {
        display: table-row;
        margin-bottom: 0;
        border: 0;
        border-radius: 0;
        background-color: transparent
    }

    .lower-table--schedule th,
    .lower-table--schedule td {
        display: table-cell;
        width: auto;
        white-space: nowrap
    }

    .lower-article {
        grid-template-columns: 1fr
    }

    .symptom-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: calc(var(--spacing) * 2)
    }

    .symptom-nav a {
        justify-content: center;
        border-radius: var(--radius-lg);
        padding-inline: calc(var(--spacing) * 3);
        text-align: center
    }

    .symptom-card__links a {
        width: 100%;
        text-align: center
    }

    .symptoms-fv {
        padding-block: calc(var(--spacing) * 12) calc(var(--spacing) * 8)
    }

    .symptoms-fv__stage {
        min-height: 360px
    }

    .symptoms-fv__panel {
        left: calc(var(--spacing) * 4);
        right: calc(var(--spacing) * 4);
        bottom: calc(var(--spacing) * 4);
        padding: calc(var(--spacing) * 5)
    }

    .symptoms-fv__panel h1 {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading, var(--text-3xl--line-height))
    }

    .symptoms-index,
    .symptoms-checks {
        grid-template-columns: 1fr;
        padding: calc(var(--spacing) * 4)
    }
}

/* Full-width lower page first view */
.sub-hero {
    position: relative;
    overflow: hidden;
    min-height: 460px;
    padding-block: 0;
    background-color: var(--color-medical-dark)
}

.sub-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, #008fd152, #008fd11c), linear-gradient(180deg, #ffffff00, #ffffff12);
    pointer-events: none
}

.sub-hero .lower-hero-grid {
    position: relative;
    display: grid;
    min-height: 460px;
    max-width: none;
    place-items: center;
    padding-inline: 0
}

.sub-hero .lower-hero-grid>div:first-child {
    position: relative;
    z-index: 2;
    width: min(620px, calc(100% - 48px));
    border: 4px solid #fffffff2;
    border-radius: var(--radius-lg);
    background-color: #008fd1ed;
    padding: calc(var(--spacing) * 9) calc(var(--spacing) * 10);
    text-align: center;
    color: var(--color-white);
    box-shadow: 0 25px 50px -12px #0000004d
}

.sub-hero .lower-hero-visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    border-radius: 0;
    background-color: var(--color-medical-dark);
    box-shadow: none
}

.sub-hero .lower-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .82
}

.sub-hero .sub-breadcrumb {
    position: absolute;
    left: 50%;
    top: -40px;
    justify-content: center;
    width: max-content;
    max-width: calc(100vw - 48px);
    min-height: 40px;
    margin: 0;
    transform: translateX(-50%);
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 6);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: var(--color-medical-dark);
    white-space: nowrap;
    box-shadow: 0 -4px 18px #00000014
}

.sub-hero .sub-breadcrumb a {
    color: var(--color-medical-primary)
}

.sub-hero .sub-kicker {
    margin-bottom: calc(var(--spacing) * 3);
    color: #ffffffb8
}

.sub-hero .sub-title {
    color: var(--color-white)
}

.sub-hero .sub-lead,
.sub-hero .lower-cta-row {
    display: none
}

.symptoms-fv {
    position: relative;
    overflow: hidden;
    min-height: 460px;
    padding-block: 0;
    background-color: var(--color-medical-dark)
}

.symptoms-fv>.sub-container {
    position: relative;
    min-height: 460px;
    max-width: none;
    padding-inline: 0
}

.symptoms-fv::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, #008fd14d, #008fd11c);
    pointer-events: none
}

.symptoms-fv__stage {
    position: absolute;
    inset: 0;
    min-height: 0;
    border-radius: 0;
    background-color: var(--color-medical-dark)
}

.symptoms-fv__stage img {
    opacity: .82
}

.symptoms-fv__panel {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    z-index: 2;
    width: min(620px, calc(100% - 48px));
    max-width: 620px;
    transform: translate(-50%, -50%);
    border: 4px solid #fffffff2;
    border-radius: var(--radius-lg);
    background-color: #008fd1ed;
    padding: calc(var(--spacing) * 9) calc(var(--spacing) * 10);
    text-align: center;
    box-shadow: 0 25px 50px -12px #0000004d
}

.symptoms-fv__panel p {
    display: none
}

.symptoms-fv .sub-breadcrumb {
    position: absolute;
    left: 50%;
    top: calc(50% - 112px);
    z-index: 3;
    justify-content: center;
    width: max-content;
    max-width: calc(100vw - 48px);
    min-height: 40px;
    margin: 0;
    transform: translateX(-50%);
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 6);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: var(--color-medical-dark);
    white-space: nowrap;
    box-shadow: 0 -4px 18px #00000014
}

.symptoms-fv .sub-breadcrumb a {
    color: var(--color-medical-primary)
}

@media(max-width:63.999rem) {

    .sub-hero,
    .sub-hero .lower-hero-grid,
    .symptoms-fv,
    .symptoms-fv>.sub-container {
        min-height: 400px
    }

    .sub-hero .lower-hero-visual img {
        height: 100%
    }

    .sub-hero .lower-hero-grid>div:first-child,
    .symptoms-fv__panel {
        padding: calc(var(--spacing) * 7) calc(var(--spacing) * 6)
    }

    .symptoms-fv .sub-breadcrumb {
        top: calc(50% - 102px)
    }
}

@media(max-width:47.999rem) {

    .sub-hero,
    .sub-hero .lower-hero-grid,
    .symptoms-fv,
    .symptoms-fv>.sub-container {
        min-height: 340px
    }

    .sub-hero .lower-hero-grid>div:first-child,
    .symptoms-fv__panel {
        width: calc(100% - 32px);
        padding: calc(var(--spacing) * 6) calc(var(--spacing) * 4);
        border-width: 3px
    }

    .sub-hero .sub-breadcrumb,
    .symptoms-fv .sub-breadcrumb {
        max-width: calc(100vw - 32px);
        min-height: 36px;
        padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4)
    }

    .sub-hero .sub-title,
    .symptoms-fv__panel h1 {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading, var(--text-3xl--line-height))
    }

    .symptoms-fv .sub-breadcrumb {
        top: calc(50% - 92px)
    }
}

/* Lower page section visual refresh */
.sub-main {
    font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color: #111827
}

.sub-main .sub-kicker {
    letter-spacing: 0;
    color: #111827
}

.sub-section {
    position: relative;
    overflow: hidden;
    padding-block: clamp(72px, 9vw, 120px);
    background-color: var(--color-white)
}

.sub-section-muted {
    background-color: #f4f7f9;
    background-image: linear-gradient(#dbe7ee80 1px, transparent 1px), linear-gradient(90deg, #dbe7ee80 1px, transparent 1px);
    background-size: 48px 48px
}

.sub-section::before,
.sub-section::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 18px;
    height: 18px;
    pointer-events: none
}

.sub-section::before {
    top: 0;
    left: 0;
    background-color: #5db8df;
    box-shadow: 18px 0 #fff, 36px 0 #eef3f6, 0 18px #fff, 18px 18px #eef3f6, 54px 18px #5db8df, 0 36px #111827, 36px 36px #5db8df, 72px 0 #fff, 90px 0 #5db8df;
    opacity: .7
}

.sub-section::after {
    right: 0;
    bottom: 0;
    background-color: #111827;
    box-shadow: -18px 0 #fff, -36px 0 #5db8df, 0 -18px #fff, -18px -18px #eef3f6, -54px -18px #5db8df, 0 -36px #5db8df, -36px -36px #fff, -72px 0 #111827;
    opacity: .68
}

.sub-section>.sub-container {
    position: relative;
    z-index: 1
}

.lower-section-head {
    display: grid;
    grid-template-columns: minmax(220px, .36fr) minmax(0, 1fr);
    gap: calc(var(--spacing) * 8);
    align-items: center;
    max-width: none;
    margin-bottom: calc(var(--spacing) * 12)
}

.lower-section-head .sub-kicker {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    color: #111827
}

.lower-section-head h2 {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    color: #050505;
    font-size: clamp(1.875rem, 3vw, 2.875rem);
    line-height: 1.18;
    font-weight: var(--font-weight-bold)
}

.lower-section-head p {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    max-width: 720px;
    margin: 0;
    font-size: .95rem;
    line-height: 2;
    font-weight: var(--font-weight-bold);
    color: #1f2937
}

.sub-card,
.lower-card,
.sub-link-card,
.lower-flow li,
.lower-faq-list details {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    background-color: var(--color-white);
    box-shadow: 0 24px 70px #0f172a14
}

.sub-card {
    padding: calc(var(--spacing) * 9)
}

.sub-card::before,
.lower-card::before,
.sub-link-card::before,
.lower-faq-list details::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 14px;
    height: 14px;
    background-color: #5db8df;
    box-shadow: 14px 0 #eef3f6, 0 14px #111827
}

.sub-card h2,
.sub-section-head h2 {
    color: #050505;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.45;
    font-weight: var(--font-weight-bold)
}

.sub-card p,
.sub-list,
.lower-card p,
.lower-flow p,
.lower-faq-list p {
    font-size: .94rem;
    line-height: 2;
    color: #1f2937
}

.sub-list {
    padding-left: 0;
    list-style: none
}

.sub-list li {
    position: relative;
    padding-left: calc(var(--spacing) * 5)
}

.sub-list li+li {
    margin-top: calc(var(--spacing) * 3)
}

.sub-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .78em;
    width: 8px;
    height: 8px;
    background-color: #5db8df;
    box-shadow: 8px 0 #111827
}

.sub-meta div {
    border-radius: 14px;
    background-color: #f4f7f9
}

.sub-meta dt {
    letter-spacing: 0;
    color: #4b5563
}

.sub-meta dd {
    color: #050505
}

.lower-card-grid {
    gap: calc(var(--spacing) * 7)
}

.lower-card {
    padding: calc(var(--spacing) * 7)
}

.lower-card h3,
.sub-link-card span {
    color: #050505;
    font-size: clamp(1rem, 1.4vw, 1.25rem);
    line-height: 1.55;
    font-weight: var(--font-weight-bold)
}

.lower-card small {
    border-left: 0;
    border-radius: 14px;
    background-color: #f4f7f9;
    padding: calc(var(--spacing) * 4);
    font-size: .82rem;
    line-height: 1.9;
    color: #374151
}

.lower-card a,
.sub-link-card small {
    color: #008fd1;
    font-weight: var(--font-weight-bold)
}

.sub-link-card {
    min-height: 140px;
    padding: calc(var(--spacing) * 6)
}

.lower-flow {
    gap: calc(var(--spacing) * 5)
}

.lower-flow li {
    padding: calc(var(--spacing) * 6)
}

.lower-flow span {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background-color: #008fd1;
    color: var(--color-white)
}

.lower-flow strong {
    font-size: 1rem;
    line-height: 1.6;
    color: #050505
}

.lower-note {
    border-radius: 20px;
    background-color: #eef7fb;
    border-left: 8px solid #5db8df;
    padding: calc(var(--spacing) * 7);
    font-size: .95rem;
    line-height: 2;
    color: #1f2937
}

.lower-table-wrap {
    border: 0;
    border-radius: 20px;
    box-shadow: 0 24px 70px #0f172a14
}

.lower-table {
    font-size: .94rem
}

.lower-table th {
    background-color: #eef7fb;
    color: #050505
}

.lower-table th,
.lower-table td {
    border-bottom: 1px solid #e5edf2;
    padding: calc(var(--spacing) * 5)
}

.lower-faq-list {
    gap: calc(var(--spacing) * 4)
}

.lower-faq-list details {
    padding: calc(var(--spacing) * 6)
}

.lower-faq-list summary {
    position: relative;
    padding-right: calc(var(--spacing) * 10);
    font-size: .98rem;
    line-height: 1.8;
    color: #050505;
    list-style: none
}

.lower-faq-list summary::-webkit-details-marker {
    display: none
}

.lower-faq-list summary::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 34px;
    height: 34px;
    transform: translateY(-50%);
    border-radius: 999px;
    background: #008fd1
}

.lower-faq-list summary::before {
    content: "";
    position: absolute;
    right: 13px;
    top: 50%;
    z-index: 1;
    width: 8px;
    height: 8px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff
}

.symptoms-lead {
    position: relative;
    max-width: 920px;
    margin-inline: auto;
    text-align: center;
    font-size: .98rem;
    line-height: 2.1;
    font-weight: var(--font-weight-medium);
    color: #1f2937
}

.symptoms-lead::before,
.symptoms-lead::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: #5db8df;
    box-shadow: 14px 14px #111827
}

.symptoms-lead::before {
    left: 0;
    top: -18px
}

.symptoms-lead::after {
    right: 0;
    bottom: -18px
}

.symptoms-lead strong {
    font-size: clamp(1.5rem, 3vw, 2.4rem);
    line-height: 1.55;
    color: #050505
}

.symptoms-index {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background-color: #eef3f6;
    background-image: linear-gradient(#dbe7ee80 1px, transparent 1px), linear-gradient(90deg, #dbe7ee80 1px, transparent 1px);
    background-size: 40px 40px;
    padding: calc(var(--spacing) * 8)
}

.symptoms-index a {
    border: 0;
    border-radius: 999px;
    background-color: var(--color-white);
    color: #050505;
    box-shadow: 0 12px 28px #0f172a0d
}

.symptoms-topic {
    position: relative;
    overflow: hidden;
    border-top: 0;
    border-radius: 24px;
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 8);
    box-shadow: 0 24px 70px #0f172a12
}

.symptoms-topic::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 14px;
    height: 14px;
    background: #5db8df;
    box-shadow: 14px 0 #eef3f6, 0 14px #111827
}

.symptoms-topic h2 {
    color: #050505;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.45
}

.symptoms-topic p {
    font-size: .95rem;
    line-height: 2;
    color: #1f2937
}

.symptoms-topic h3 {
    color: #008fd1
}

.symptoms-tags li,
.symptoms-links a,
.symptoms-checks li {
    border-radius: 999px;
    background-color: #eef7fb;
    color: #050505
}

.symptoms-links a {
    color: #008fd1
}

.symptoms-illust {
    border: 0;
    border-radius: 18px;
    background: #eef7fb;
    background-image: linear-gradient(#dbe7ee80 1px, transparent 1px), linear-gradient(90deg, #dbe7ee80 1px, transparent 1px);
    background-size: 24px 24px
}

.symptoms-illust::before,
.symptoms-illust::after {
    border-radius: 0;
    background-color: #5db8df
}

.symptoms-illust::before {
    width: 18px;
    height: 18px;
    right: 22px;
    top: 22px;
    box-shadow: 18px 0 #fff, 0 18px #111827
}

.symptoms-illust::after {
    width: 14px;
    height: 14px;
    left: 24px;
    bottom: 24px;
    box-shadow: 14px 14px #5db8df
}

.symptoms-checks {
    gap: calc(var(--spacing) * 4)
}

.symptoms-checks li {
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 5);
    box-shadow: 0 12px 28px #0f172a0d
}

.symptoms-photo {
    border-radius: 24px;
    box-shadow: 0 24px 70px #0f172a18
}

.symptoms-cta {
    position: relative
}

@media(max-width:63.999rem) {
    .lower-section-head {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 4);
        margin-bottom: calc(var(--spacing) * 8)
    }

    .lower-section-head .sub-kicker,
    .lower-section-head h2,
    .lower-section-head p {
        grid-column: auto;
        grid-row: auto
    }

    .lower-section-head p {
        max-width: none
    }

    .lower-card-grid {
        gap: calc(var(--spacing) * 5)
    }
}

@media(max-width:47.999rem) {
    .sub-section {
        padding-block: calc(var(--spacing) * 14)
    }

    .sub-section::before,
    .sub-section::after {
        transform: scale(.72);
        transform-origin: top left
    }

    .sub-section::after {
        transform-origin: bottom right
    }

    .sub-card,
    .lower-card,
    .sub-link-card,
    .lower-flow li,
    .lower-faq-list details,
    .symptoms-topic {
        border-radius: 16px
    }

    .sub-card,
    .lower-card,
    .symptoms-topic {
        padding: calc(var(--spacing) * 5)
    }

    .lower-section-head h2 {
        font-size: clamp(1.625rem, 8vw, 2.25rem)
    }

    .symptoms-index {
        grid-template-columns: 1fr;
        padding: calc(var(--spacing) * 5)
    }

    .symptoms-lead {
        text-align: left
    }

    .symptoms-lead::before,
    .symptoms-lead::after {
        display: none
    }
}

/* Lower page FV with transparent header */
body:has(.sub-main) .header-01 {
    position: absolute;
    background-color: transparent;
    border-bottom: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none
}

body:has(.sub-main) .header-02 {
    display: none
}

body:has(.sub-main) .header-05 {
    height: 112px;
    max-width: none;
    padding-inline: clamp(24px, 4vw, 72px)
}

body:has(.sub-main) .header-13,
body:has(.sub-main) .header-09,
body:has(.sub-main) .header-10,
body:has(.sub-main) .header-18 {
    color: #111827
}

body:has(.sub-main) .header-17 {
    background-color: #111827;
    color: var(--color-white);
    box-shadow: none
}

body:has(.sub-main) .sub-main {
    padding-top: 0
}

body:has(.sub-main) .sub-hero,
body:has(.sub-main) .symptoms-fv {
    min-height: 560px;
    background-color: #dff6fb
}

body:has(.sub-main) .sub-hero::after,
body:has(.sub-main) .symptoms-fv::after {
    background: linear-gradient(90deg, #e7fbffe8 0%, #e7fbffc9 38%, #e7fbff52 72%, #e7fbff18 100%)
}

body:has(.sub-main) .sub-hero .lower-hero-grid {
    min-height: 560px;
    display: grid;
    place-items: center start;
    padding: 150px clamp(24px, 11vw, 240px) 90px
}

body:has(.sub-main) .sub-hero .lower-hero-grid>div:first-child {
    display: flex;
    position: relative;
    z-index: 2;
    width: min(560px, 100%);
    flex-direction: column;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    padding: 0;
    text-align: left;
    color: #111827;
    box-shadow: none
}

body:has(.sub-main) .sub-hero .lower-hero-grid>div:first-child::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -38px;
    top: -42px;
    width: min(620px, calc(100vw - 48px));
    height: 260px;
    border-radius: 46% 54% 38% 62% / 58% 50% 50% 42%;
    background-color: #ffffff63
}

body:has(.sub-main) .sub-hero .lower-hero-visual img,
body:has(.sub-main) .symptoms-fv__stage img {
    opacity: .8
}

body:has(.sub-main) .sub-hero .sub-kicker {
    order: 1;
    margin-bottom: calc(var(--spacing) * 5);
    font-size: .92rem;
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    letter-spacing: .08em;
    color: #111827;
    text-transform: uppercase
}

body:has(.sub-main) .sub-hero .sub-title {
    order: 2;
    color: #111827;
    font-size: clamp(2.25rem, 5vw, 4.25rem);
    line-height: 1.1;
    letter-spacing: 0
}

body:has(.sub-main) .sub-hero .sub-breadcrumb {
    position: static;
    order: 3;
    justify-content: flex-start;
    width: auto;
    max-width: none;
    min-height: 0;
    margin: calc(var(--spacing) * 8) 0 0;
    transform: none;
    border-radius: 0;
    background-color: transparent;
    padding: 0;
    font-size: .78rem;
    color: #334155;
    box-shadow: none
}

body:has(.sub-main) .sub-hero .sub-breadcrumb a {
    color: #334155
}

body:has(.sub-main) .symptoms-fv>.sub-container {
    min-height: 560px
}

body:has(.sub-main) .symptoms-fv__panel {
    left: clamp(24px, 11vw, 240px);
    top: 50%;
    width: min(560px, calc(100% - 48px));
    max-width: 560px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 0;
    background-color: transparent;
    padding: 0;
    text-align: left;
    color: #111827;
    box-shadow: none
}

body:has(.sub-main) .symptoms-fv__panel::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -38px;
    top: -42px;
    width: min(620px, calc(100vw - 48px));
    height: 260px;
    border-radius: 46% 54% 38% 62% / 58% 50% 50% 42%;
    background-color: #ffffff63
}

body:has(.sub-main) .symptoms-fv__eyebrow {
    margin-bottom: calc(var(--spacing) * 5);
    font-size: .92rem;
    line-height: 1.4;
    letter-spacing: .08em;
    color: #111827
}

body:has(.sub-main) .symptoms-fv__panel h1 {
    color: #111827;
    font-size: clamp(2.25rem, 5vw, 4.25rem);
    line-height: 1.1;
    letter-spacing: 0
}

body:has(.sub-main) .symptoms-fv .sub-breadcrumb {
    left: clamp(24px, 11vw, 240px);
    top: calc(50% + 94px);
    z-index: 3;
    justify-content: flex-start;
    width: auto;
    max-width: min(560px, calc(100vw - 48px));
    min-height: 0;
    margin: 0;
    transform: none;
    border-radius: 0;
    background-color: transparent;
    padding: 0;
    font-size: .78rem;
    color: #334155;
    box-shadow: none
}

body:has(.sub-main) .symptoms-fv .sub-breadcrumb a {
    color: #334155
}

@media(max-width:63.999rem) {
    body:has(.sub-main) .header-05 {
        height: 88px;
        padding-inline: calc(var(--spacing) * 6)
    }

    body:has(.sub-main) .sub-hero,
    body:has(.sub-main) .sub-hero .lower-hero-grid,
    body:has(.sub-main) .symptoms-fv,
    body:has(.sub-main) .symptoms-fv>.sub-container {
        min-height: 470px
    }

    body:has(.sub-main) .sub-hero .lower-hero-grid {
        padding: 128px calc(var(--spacing) * 6) 72px
    }

    body:has(.sub-main) .symptoms-fv__panel {
        left: calc(var(--spacing) * 6)
    }

    body:has(.sub-main) .symptoms-fv .sub-breadcrumb {
        left: calc(var(--spacing) * 6);
        top: calc(50% + 78px)
    }
}

@media(max-width:47.999rem) {
    body:has(.sub-main) .header-05 {
        height: 80px;
        padding-inline: calc(var(--spacing) * 4)
    }

    body:has(.sub-main) .sub-hero::after,
    body:has(.sub-main) .symptoms-fv::after {
        width: 100%;
        background: linear-gradient(90deg, #008fd1d9 0%, #008fd1a3 68%, #008fd126 100%)
    }

    body:has(.sub-main) .sub-hero,
    body:has(.sub-main) .sub-hero .lower-hero-grid,
    body:has(.sub-main) .symptoms-fv,
    body:has(.sub-main) .symptoms-fv>.sub-container {
        min-height: 410px
    }

    body:has(.sub-main) .sub-hero .lower-hero-grid {
        padding: 112px calc(var(--spacing) * 4) 56px
    }

    body:has(.sub-main) .sub-hero .lower-hero-grid>div:first-child::before,
    body:has(.sub-main) .symptoms-fv__panel::before {
        left: -18px;
        top: -30px;
        height: 210px
    }

    body:has(.sub-main) .sub-hero .sub-title,
    body:has(.sub-main) .symptoms-fv__panel h1 {
        font-size: clamp(2rem, 10vw, 3rem)
    }

    body:has(.sub-main) .sub-hero .sub-breadcrumb,
    body:has(.sub-main) .symptoms-fv .sub-breadcrumb {
        font-size: .72rem
    }

    body:has(.sub-main) .symptoms-fv__panel {
        left: calc(var(--spacing) * 4);
        right: auto;
        width: calc(100% - 32px);
        padding: 0
    }

    body:has(.sub-main) .symptoms-fv .sub-breadcrumb {
        left: calc(var(--spacing) * 4);
        top: calc(50% + 68px);
        max-width: calc(100vw - 32px)
    }
}

/* Site-wide typography and clean lower FV overlay */
:root,
:host {
    /* --font-sans: "Koburina Gothic", "Koburina Gothic StdN", "こぶりなゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif */
    --font-sans: "Zen Maru Gothic", ui-sans-serif, system-ui, sans-serif;
}

body,
.page-01,
button,
input,
select,
textarea {
    font-family: var(--font-sans)
}

body:has(.sub-main) .sub-main {
    font-family: inherit
}

body:has(.sub-main) .sub-hero::after,
body:has(.sub-main) .symptoms-fv::after {
    display: none
}

body:has(.sub-main) .sub-hero .lower-hero-grid>div:first-child::before,
body:has(.sub-main) .symptoms-fv__panel::before {
    display: none
}

/* Lower FV readability on photo backgrounds */
body:has(.sub-main) .sub-hero::after,
body:has(.sub-main) .symptoms-fv::after {
    display: block;
    right: auto;
    width: min(64%, 920px);
    background: linear-gradient(90deg, #008fd1d9 0%, #008fd1a8 58%, #008fd100 100%)
}

body:has(.sub-main) .sub-hero .lower-hero-visual img,
body:has(.sub-main) .symptoms-fv__stage img {
    opacity: 1
}

body:has(.sub-main) .header-13,
body:has(.sub-main) .header-09,
body:has(.sub-main) .header-10,
body:has(.sub-main) .header-14,
body:has(.sub-main) .header-18 {
    color: var(--color-medical-dark);
    text-shadow: none
}

body:has(.sub-main) .sub-hero .sub-kicker,
body:has(.sub-main) .symptoms-fv__eyebrow {
    color: #e8f7ff;
    text-shadow: 0 2px 14px #09223559
}

body:has(.sub-main) .sub-hero .sub-title,
body:has(.sub-main) .symptoms-fv__panel h1 {
    color: #fff;
    text-shadow: 0 4px 24px #09223566
}

body:has(.sub-main) .sub-hero .sub-breadcrumb,
body:has(.sub-main) .symptoms-fv .sub-breadcrumb,
body:has(.sub-main) .sub-hero .sub-breadcrumb a,
body:has(.sub-main) .symptoms-fv .sub-breadcrumb a {
    color: #edf9ff;
    text-shadow: 0 2px 12px #09223566
}

/* Prevent decorative elements from colliding with text */
.lower-section-head {
    display: block;
    max-width: 980px
}

.lower-section-head .sub-kicker,
.lower-section-head h2,
.lower-section-head p {
    grid-column: auto;
    grid-row: auto
}

.lower-section-head h2 {
    max-width: none;
    text-wrap: balance
}

.symptoms-illust {
    min-height: 168px
}

.symptoms-illust::before {
    right: 16px;
    top: 16px
}

.symptoms-illust::after {
    left: 34px;
    bottom: 14px
}

.symptoms-illust span {
    z-index: 2;
    left: 22px;
    right: 22px;
    bottom: 44px;
    max-width: calc(100% - 44px);
    line-height: 1.8
}

.symptoms-topic::before,
.sub-card::before,
.lower-card::before,
.sub-link-card::before,
.lower-faq-list details::before {
    z-index: 0
}

.symptoms-topic>*,
.sub-card>*,
.lower-card>*,
.sub-link-card>*,
.lower-faq-list details>* {
    position: relative;
    z-index: 1
}

.symptoms-topic {
    overflow: visible
}

/* Symptoms lead card and topic media */
.symptoms-lead::before,
.symptoms-lead::after {
    display: none
}

.symptoms-lead-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .36fr);
    gap: calc(var(--spacing) * 8);
    align-items: center;
    border-radius: 28px;
    background: #eef4f7;
    padding: calc(var(--spacing) * 10);
    box-shadow: 0 24px 70px #0f172a10
}

.symptoms-lead-card .symptoms-lead {
    max-width: none;
    margin: 0;
    text-align: left;
    font-size: 1rem;
    line-height: 2.05;
    color: #111827
}

.symptoms-lead-card .symptoms-lead strong {
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 0 0 calc(var(--spacing) * 6);
    border-bottom: 2px solid #008fd1;
    padding-bottom: calc(var(--spacing) * 3);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    line-height: 1.45;
    color: #008fd1
}

.symptoms-lead-media {
    overflow: hidden;
    border-radius: 999px;
    background: #fff;
    aspect-ratio: 1;
    box-shadow: 0 18px 42px #0f172a14
}

.symptoms-lead-media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.symptoms-topic__head {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px)
}

.symptoms-topic-media {
    align-self: start;
    overflow: hidden;
    border-radius: 22px;
    background: #eef7fb;
    aspect-ratio: 4 / 3;
    box-shadow: 0 16px 36px #0f172a12
}

.symptoms-topic-media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media(max-width:63.999rem) {
    .symptoms-lead-card {
        grid-template-columns: 1fr;
        padding: calc(var(--spacing) * 7)
    }

    .symptoms-lead-media {
        max-width: 320px;
        margin-inline: auto
    }

    .symptoms-topic__head {
        grid-template-columns: 1fr
    }

    .symptoms-topic-media {
        max-width: 360px
    }
}

@media(max-width:47.999rem) {
    .symptoms-lead-card {
        border-radius: 20px;
        padding: calc(var(--spacing) * 5)
    }

    .symptoms-lead-card .symptoms-lead strong {
        width: auto
    }

    .symptoms-lead-media {
        border-radius: 24px;
        aspect-ratio: 16 / 10
    }
}

/* Top news and column */
.top-news {
    position: relative;
    overflow: hidden;
    padding-top: clamp(104px, 9vw, 150px);
    padding-bottom: clamp(48px, 6vw, 86px)
}

.top-news__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(190px, 280px) minmax(0, 1fr);
    gap: clamp(48px, 6vw, 92px);
    max-width: 1660px;
    margin-inline: auto;
    padding-inline: clamp(24px, 6vw, 112px)
}

.top-news__side {
    padding-top: clamp(48px, 6vw, 96px)
}

.top-news__title {
    margin: 0;
    color: #050505;
    font-size: clamp(4rem, 3.8vw, 7rem);
    line-height: .9;
    font-weight: 900;
    letter-spacing: 0
}

.top-news__subtitle {
    margin: calc(var(--spacing) * 6) 0 0;
    color: #050505;
    font-size: 1.05rem;
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0
}

.top-news__subtitle-mobile {
    display: none
}

@media(min-width:64rem) {
    .top-news__inner>.top-news__side .top-news__button--side,
    .top-news__block--notice>.top-news__block-head {
        display: none
    }

    .top-news__block--notice>.top-news__button--below {
        display: flex;
        width: min(240px, 100%);
        margin: calc(var(--spacing) * 8) auto 0
    }
}

@media(max-width:63.999rem) {
    .top-news__subtitle-desktop {
        display: none
    }

    .top-news__subtitle-mobile {
        display: inline
    }
}

.top-news__button,
.top-news__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 4);
    text-decoration: none;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0
}

.top-news__button {
    min-width: 200px;
    margin-top: calc(var(--spacing) * 14);
    border-radius: 999px;
    background: #008fd1;
    padding: calc(var(--spacing) * 6) calc(var(--spacing) * 8);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 24px 56px #00000018;
    transition: transform .2s ease, background-color .2s ease
}

.top-news__button--below {
    display: none
}

.top-news__button:hover {
    transform: translateY(-2px);
    background: #5ac4ef
}

.top-news__body {
    display: contents;
    min-width: 0
}

.top-news__block+.top-news__block {
    margin-top: 0
}

@media(max-width:47.999rem) {
    .top-news__block+.top-news__block {
        margin-top: 40px
    }
}

.top-news__block--notice {
    grid-column: 2
}

.top-news__block--columns {
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
    gap: clamp(48px, 6vw, 92px);
    grid-column: 1 / -1;
    min-width: 0;
    margin-top: 0
}

.top-news__side--columns {
    min-width: 0
}

.top-news__column-content {
    min-width: 0;
    padding-top: clamp(12px, 2vw, 24px)
}

.top-news__column-content .top-column-swiper {
    margin-top: 0
}

.top-news__block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 6)
}

.top-news__block-head h3 {
    margin: 0;
    color: #050505;
    font-size: clamp(1.25rem, 1.5vw, 1.5rem);
    line-height: 1.45;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0
}

.top-news__more {
    color: #050505;
    font-size: 1.05rem;
    line-height: 1.5;
    white-space: nowrap;
    transition: color .2s ease
}

.top-news__more:hover {
    color: #008fd1
}

.top-column-swiper {
    margin-top: calc(var(--spacing) * 9);
    overflow: hidden
}

.top-column-swiper .swiper-wrapper {
    align-items: stretch
}

.top-column-card {
    height: auto
}

.top-column-card a {
    display: block;
    height: 100%;
    color: #050505;
    text-decoration: none
}

.top-column-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1.55 / 1;
    border-radius: 8px;
    object-fit: cover;
    background: #e5edf2;
    transition: transform .3s ease, filter .3s ease
}

.top-column-card a:hover img {
    transform: translateY(-2px);
    filter: saturate(1.05)
}

.top-column-card__meta {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 4);
    margin-top: calc(var(--spacing) * 5);
    font-size: .88rem;
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
    color: #4b5563
}

.top-column-card__meta span {
    border-radius: 999px;
    background: #e2e2e2;
    padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 4);
    color: #4b5563;
    font-size: .78rem
}

.top-column-card h4 {
    margin: calc(var(--spacing) * 4) 0 0;
    color: #050505;
    font-size: 1rem;
    line-height: 1.75;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0
}

.top-column-scrollbar {
    position: relative;
    height: 4px;
    margin-top: clamp(44px, 5vw, 72px);
    background: #e4e4e4;
    border-radius: 999px;
    overflow: hidden
}

.top-column-scrollbar .swiper-scrollbar-drag {
    height: 100%;
    background: #4eb3df;
    border-radius: 999px
}

.top-column-swiper.is-fallback {
    overflow-x: auto;
    padding-bottom: calc(var(--spacing) * 2);
    scroll-snap-type: x mandatory;
    scrollbar-width: none
}

.top-column-swiper.is-fallback::-webkit-scrollbar {
    display: none
}

.top-column-swiper.is-fallback .swiper-wrapper {
    gap: calc(var(--spacing) * 8)
}

.top-column-swiper.is-fallback .top-column-card {
    flex: 0 0 min(310px, 78vw);
    scroll-snap-align: start
}

.top-notice-list {
    margin-top: calc(var(--spacing) * 8);
    border-top: 1px solid #d6d6d6
}

.top-notice-row {
    display: grid;
    grid-template-columns: 190px 130px minmax(0, 1fr) 60px;
    gap: calc(var(--spacing) * 5);
    align-items: center;
    border-bottom: 1px solid #d6d6d6;
    padding-block: calc(var(--spacing) * 6);
    color: #050505;
    text-decoration: none;
    transition: background-color .2s ease
}

.top-notice-row:hover {
    background: #ffffff78
}

.top-notice-row__category {
    justify-self: start;
    border-radius: 999px;
    background: #a10000;
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
    font-size: .78rem;
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    color: #ffffff;
    white-space: nowrap
}

.top-notice-row time {
    font-size: .95rem;
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
    color: #4b5563;
    white-space: nowrap
}

.top-notice-row strong {
    font-size: clamp(1rem, 1.3vw, 1.25rem);
    line-height: 1.6;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0
}

.top-notice-row__arrow {
    display: grid;
    place-items: center;
    justify-self: end;
    width: 52px;
    height: 52px;
    border-radius: 999px;
    background: #fff;
    color: #050505;
    transition: transform .2s ease, background-color .2s ease, color .2s ease
}

.top-notice-row:hover .top-notice-row__arrow {
    transform: translateX(3px);
    background: #008fd1;
    color: #fff
}

.top-news__pixel {
    position: absolute;
    z-index: 0;
    width: 22px;
    height: 22px;
    background: #58b9e4;
    opacity: .72;
    pointer-events: none
}

.top-news__pixel--left {
    left: clamp(18px, 2.6vw, 48px);
    top: clamp(32px, 4vw, 64px);
    box-shadow: 52px 0 #ffffff, 104px 0 #58b9e4, 0 42px #ffffff, 26px 42px #dceff7, 52px 42px #ffffff, 0 84px #dceff7, 52px 84px #58b9e4
}

.top-news__pixel--right {
    right: clamp(28px, 4vw, 72px);
    bottom: clamp(28px, 4vw, 70px);
    box-shadow: -52px 0 #ffffff, -104px 0 #58b9e4, 0 -42px #ffffff, -26px -42px #dceff7, -52px -42px #ffffff, 0 -84px #58b9e4, -52px -84px #dceff7
}

@media(max-width:63.999rem) {
    .top-news__inner {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 12)
    }

    .top-news__body {
        display: block
    }

    .top-news__block--notice,
    .top-news__block--columns {
        grid-column: auto
    }

    .top-news__block--columns {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 8);
        margin-top: calc(var(--spacing) * 12)
    }

    .top-news__column-content {
        padding-top: 0
    }

    .top-news__side {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: calc(var(--spacing) * 4);
        align-items: end;
        padding-top: 0
    }

    .top-news__subtitle {
        grid-column: 1;
        margin-top: calc(var(--spacing) * 3)
    }

    .top-news__button {
        grid-column: 2;
        grid-row: 1 / span 2;
        margin-top: 0;
        min-width: 168px
    }

    .top-notice-row {
        grid-template-columns: 1fr 96px 48px;
        gap: calc(var(--spacing) * 3)
    }

    .top-notice-row__category {
        grid-column: 1
    }

    .top-notice-row time {
        grid-column: 2;
        grid-row: 1
    }

    .top-notice-row strong {
        grid-column: 1 / span 2
    }

    .top-notice-row__arrow {
        grid-column: 3;
        grid-row: 1 / span 2;
        width: 46px;
        height: 46px
    }
}

@media(max-width:47.999rem) {
    .top-news {
        padding-top: calc(var(--spacing) * 16);
        padding-bottom: calc(var(--spacing) * 12)
    }

    .top-news__inner {
        padding-inline: calc(var(--spacing) * 5)
    }

    .top-news__side {
        display: block
    }

    .top-news__button--side,
    .top-news__more {
        display: none
    }

    .top-news__button--below {
        display: inline-flex
    }

    .top-news__title {
        font-size: clamp(3.4rem, 18vw, 5rem)
    }

    .top-news__button {
        width: 100%;
        margin-top: calc(var(--spacing) * 6);
        padding-block: calc(var(--spacing) * 5)
    }

    .top-news__block-head {
        align-items: flex-end
    }

    .top-news__more {
        font-size: .92rem
    }

    .top-column-swiper {
        overflow: visible
    }

    .top-column-scrollbar {
        margin-top: calc(var(--spacing) * 8)
    }

    .top-column-card__meta {
        gap: calc(var(--spacing) * 3);
        font-size: .8rem
    }

    .top-notice-row {
        grid-template-columns: 1fr 42px;
        padding-block: calc(var(--spacing) * 5)
    }

    .top-notice-row__category,
    .top-notice-row time,
    .top-notice-row strong {
        grid-column: 1
    }

    .top-notice-row time {
        grid-row: auto
    }

    .top-notice-row__arrow {
        grid-column: 2;
        grid-row: 1 / span 3;
        width: 40px;
        height: 40px
    }

    .top-news__pixel {
        transform: scale(.72)
    }
}

/* Top concept */
.top-concept {
    background: transparent;

}

.top-concept__panel {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: none;
    margin-inline: auto;
    background-color: #fff;
    background-image: radial-gradient(#d9edf8 1px, transparent 1px);
    background-size: 9px 9px;
    padding: clamp(72px, 6vw, 120px) calc(var(--spacing) * 6) clamp(58px, 6vw, 92px);
}

.top-concept__word {
    position: absolute;
    left: 50%;
    top: .46em;
    z-index: 0;
    transform: translateX(-50%);
    color: #eaf3fa56;
    font-size: clamp(5.5rem, 9vw, 8rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    white-space: nowrap;
    pointer-events: none
}

.top-concept__heading {
    position: relative;
    z-index: 2;
    max-width: var(--container-7xl);
    margin-inline: auto;
    text-align: center
}

.top-concept__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 164px;
    border: 2px solid #5bb9eb;
    border-radius: 999px;
    background: #fff;
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 7);
    color: #008fd1;
    font-size: 1.05rem;
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    letter-spacing: .08em
}

.top-concept__heading h2 {
    margin: calc(var(--spacing) * 7) 0 0;
    color: #050505;
    font-size: clamp(1.8rem, 1.9vw, 3rem);
    line-height: 1.65;
    font-weight: 900;
    letter-spacing: .08em
}

.top-concept__photo {
    position: relative;
    z-index: 2;
    overflow: hidden;
    margin: clamp(38px, 4.5vw, 64px) auto 0;
    border-radius: 30px;
    max-width: var(--container-7xl);
    background: #eaf3fa
}

.top-concept__photo img {
    display: block;
    width: 100%;
    height: clamp(280px, 40vw, 1000px);
    object-fit: cover;
    object-position: center
}

.top-concept__text-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(44px, 6vw, 96px);
    max-width: var(--container-7xl);
    margin: clamp(36px, 4vw, 58px) auto 0
}

.top-concept__text-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: calc(var(--spacing) * 7);
    align-items: start
}

.top-concept__icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4eb4ef, #008fd1);
    color: #fff;
}

.top-concept__text-item p {
    position: relative;
    margin: 0;
    padding-left: calc(var(--spacing) * 7);
    border-left: 2px solid #4eb4ef;
    color: #050505;
    font-size: clamp(.88rem, 1.08vw, .98rem);
    line-height: 2.05;
    font-weight: var(--font-weight-bold);
    letter-spacing: .02em
}

.top-concept__decor,
.top-concept__leaf {
    position: absolute;
    z-index: 1;
    pointer-events: none
}

.top-concept__decor {
    width: 18px;
    height: 18px;
    background: #58b9e4;
    opacity: .72
}

.top-concept__decor--left {
    left: 9%;
    top: 10%;
    box-shadow: -34px 42px #9fd1ee, -68px 84px #bfe3f5, 130px 142px #d8ebf7, 164px 112px #bfe3f5, 84px 230px #d8ebf7
}

.top-concept__decor--right {
    right: 8%;
    top: 10%;
    box-shadow: -34px 28px #bfe3f5, -68px 56px #58b9e4, 0 132px #58b9e4, 52px 210px #d8ebf7, 84px 236px #bfe3f5
}

.top-concept__leaf {
    width: 58px;
    height: 58px;
    background: #4eb4ef;
    border-radius: 0 100% 0 100%;
    opacity: .95
}

.top-concept__leaf::after {
    content: "";
    position: absolute;
    width: 58px;
    height: 58px;
    background: #d8ebf7;
    border-radius: 100% 0 100% 0
}

.top-concept__leaf--left {
    left: 3.5%;
    top: 22%;
    transform: rotate(0)
}

.top-concept__leaf--left::after {
    left: 0;
    top: 0;
    transform: translate(26px, -26px)
}

.top-concept__leaf--right {
    right: 15%;
    top: 26%;
    transform: rotate(0)
}

.top-concept__leaf--right::after {
    left: 0;
    top: 0;
    transform: translate(26px, -26px)
}

@media(max-width:63.999rem) {
    .top-concept {
        padding: calc(var(--spacing) * 6)
    }

    .top-concept__panel {
        border-radius: 28px;
        padding: calc(var(--spacing) * 16) calc(var(--spacing) * 7) calc(var(--spacing) * 12)
    }

    .top-concept__heading h2 {
        letter-spacing: .04em
    }

    .top-concept__text-grid {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 9)
    }

    .top-concept__text-item {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: calc(var(--spacing) * 5)
    }

    .top-concept__icon {
        width: 52px;
        height: 52px
    }

    .top-concept__decor {
        transform: scale(.72)
    }

    .top-concept__leaf {
        transform: scale(.72)
    }
}

@media(max-width:47.999rem) {
    .top-concept {
        padding: calc(var(--spacing) * 4)
    }

    .top-concept__panel {
        border-radius: 22px;
        padding: calc(var(--spacing) * 12) calc(var(--spacing) * 5) calc(var(--spacing) * 9)
    }

    .top-concept__word {
        top: .04em;
        font-size: clamp(4rem, 22vw, 6rem)
    }

    .top-concept__badge {
        min-width: 132px;
        padding-inline: calc(var(--spacing) * 5);
        font-size: .9rem
    }

    .top-concept__heading h2 {
        font-size: clamp(1.45rem, 5vw, 2rem);
        line-height: 1.7
    }

    .top-concept__photo {
        border-radius: 18px
    }

    .top-concept__photo img {
        height: 240px
    }

    .top-concept__text-item {
        display: block
    }

    .top-concept__icon {
        margin-bottom: calc(var(--spacing) * 4)
    }

    .top-concept__text-item p {
        padding-left: calc(var(--spacing) * 4);
        font-size: .9rem;
        line-height: 1.95
    }

    .top-concept__text-item br {
        display: none
    }

    .top-concept__decor--left {
        left: 12%;
        top: 6%
    }

    .top-concept__decor--right {
        right: 13%;
        top: 7%
    }

    .top-concept__leaf {
        display: none
    }
}

/* Top director */
.top-director {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #f7fbff 0%, #eef7ff 100%);
    padding-top: clamp(88px, 10vw, 150px);
    padding-bottom: clamp(88px, 10vw, 150px)
}

.top-director::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(#bdd9f1 1.2px, transparent 1.2px);
    background-size: 22px 22px;
    opacity: .38;
    pointer-events: none
}

/* .top-director::after {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -18%;
    height: 36%;
    background: radial-gradient(70% 90% at 50% 0%, #ffffffd9 0%, #ffffff70 55%, #ffffff00 100%);
    pointer-events: none
} */

.top-director .news-02 {
    position: relative;
    z-index: 2
}

.top-director__word {
    position: absolute;
    left: 50%;
    top: .78em;
    z-index: 1;
    transform: translateX(-12%);
    color: #e8f1fb7c;
    font-size: clamp(5rem, 7vw, 13rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
    white-space: nowrap;
    pointer-events: none
}

.top-director__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(320px, 440px) minmax(0, 1fr);
    gap: clamp(56px, 7vw, 110px);
    align-items: start
}

.top-director__content {
    grid-column: 2
}

.top-director__photo {
    overflow: hidden;
    border: 8px solid #fff;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 28px 70px #164b7a1f
}

.top-director__photo--desktop {
    grid-column: 1;
    grid-row: 1
}

.top-director__photo--mobile {
    display: none
}

.top-director__photo img {
    display: block;
    width: 100%;
    height: clamp(560px, 48vw, 720px);
    object-fit: cover;
    object-position: center center
}

.top-director__content {
    position: relative;
    padding-top: calc(var(--spacing) * 4)
}

.top-director__badge {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    border-radius: 999px;
    background: #fff;
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 7);
    color: #008fd1;
    font-size: 1.05rem;
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em;
    box-shadow: 0 16px 34px #164b7a14
}

.top-director__label {
    margin: calc(var(--spacing) * 8) 0 0;
    color: #008fd1;
    font-size: .92rem;
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    letter-spacing: .32em
}

.top-director__name {
    display: flex;
    align-items: baseline;
    gap: calc(var(--spacing) * 7);
    margin-top: calc(var(--spacing) * 4)
}

.top-director__name h2 {
    margin: 0;
    color: #0c1522;
    font-size: clamp(2.25rem, 3.7vw, 3rem);
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: .12em
}

.top-director__name span {
    color: #9bbce2;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    letter-spacing: .12em
}

.top-director__lead {
    margin: calc(var(--spacing) * 8) 0 0;
    border-left: 4px solid #008fd1;
    padding: calc(var(--spacing) * 3) 0 calc(var(--spacing) * 3) calc(var(--spacing) * 8);
    color: #008fd1;
    font-size: clamp(1.55rem, 2.3vw, 1.8rem);
    line-height: 1.65;
    font-weight: var(--font-weight-bold);
    letter-spacing: .08em
}

.top-director__message {
    margin-top: calc(var(--spacing) * 8);
    color: #1f2937;
    font-size: .96rem;
    line-height: 2.05;
    font-weight: var(--font-weight-bold)
}

.top-director__message p {
    margin: 0
}

.top-director__message p+p {
    margin-top: calc(var(--spacing) * 5)
}

.top-director__history {
    margin-top: calc(var(--spacing) * 8);
    border-radius: 18px;
    background: #fff;
    padding: calc(var(--spacing) * 7) calc(var(--spacing) * 8);
    box-shadow: 0 18px 48px #164b7a17
}

.top-director__history h3 {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    margin: 0 0 calc(var(--spacing) * 4);
    color: #008fd1;
    font-size: 1.1rem;
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
    letter-spacing: .06em
}

.top-director__history dl {
    margin: 0
}

.top-director__history div {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: calc(var(--spacing) * 4);
    border-bottom: 1px dashed #c9dcec;
    padding-block: calc(var(--spacing) * 3);
    font-size: .95rem;
    line-height: 1.6
}

.top-director__history div:last-child {
    border-bottom: 0
}

.top-director__history dt {
    color: #008fd1;
    font-weight: var(--font-weight-bold)
}

.top-director__history dd {
    margin: 0;
    color: #334155;
    font-weight: var(--font-weight-bold)
}

.top-director__history-list {
    margin: 0;
    padding: 0;
    list-style: none
}

.top-director__history-list li {
    border-bottom: 1px dashed #c9dcec;
    padding-block: calc(var(--spacing) * 3);
    color: #334155;
    font-size: .95rem;
    line-height: 1.6;
    font-weight: var(--font-weight-bold)
}

.top-director__history-list li:last-child {
    border-bottom: 0
}

.top-director__decor {
    position: absolute;
    z-index: 1;
    width: 22px;
    height: 22px;
    background: #a8cff0;
    opacity: .7;
    pointer-events: none
}

.top-director__decor--left {
    left: 4%;
    top: 39%;
    box-shadow: 30px 42px #dfeffc, 58px 68px #83bde8, 0 102px #fff, 42px 160px #bdd9f1, 82px 226px #83bde8
}

.top-director__decor--right {
    right: 5%;
    top: 9%;
    box-shadow: -28px 30px #dfeffc, -62px 56px #a8cff0, 24px 86px #fff, -10px 132px #83bde8, -66px 206px #dfeffc
}

@media(max-width:63.999rem) {
    .top-director__grid {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 10)
    }

    .top-director__content,
    .top-director__photo--desktop {
        grid-column: auto
    }

    .top-director__photo {
        max-width: 520px;
        margin-inline: auto
    }

    .top-director__photo img {
        height: 560px
    }

    .top-director__word {
        left: 50%;
        transform: translateX(-50%)
    }

    .top-director__content {
        padding-top: 0
    }

    .top-director__decor {
        transform: scale(.75)
    }
}

@media(max-width:47.999rem) {
    .top-director {
        padding-block: calc(var(--spacing) * 16)
    }

    .top-director__photo {
        border-width: 5px;
        border-radius: 20px
    }

    .top-director__photo--desktop {
        display: none
    }

    .top-director__photo--mobile {
        display: block;
        margin-top: calc(var(--spacing) * 6)
    }

    .top-director__photo img {
        height: 420px
    }

    .top-director__badge {
        padding: calc(var(--spacing) * 2.5) calc(var(--spacing) * 5);
        font-size: .92rem
    }

    .top-director__label {
        font-size: .78rem;
        letter-spacing: .18em
    }

    .top-director__name {
        display: block
    }

    .top-director__name h2 {
        font-size: clamp(2rem, 11vw, 3rem)
    }

    .top-director__name span {
        display: block;
        margin-top: calc(var(--spacing) * 2)
    }

    .top-director__lead {
        padding-left: calc(var(--spacing) * 5);
        font-size: clamp(1.35rem, 5vw, 1.85rem);
        letter-spacing: .04em
    }

    .top-director__lead br {
        display: none
    }

    .top-director__message {
        font-size: .9rem;
        line-height: 1.95
    }

    .top-director__history {
        padding: calc(var(--spacing) * 5)
    }

    .top-director__history div {
        grid-template-columns: 1fr;
        gap: calc(var(--spacing) * 1)
    }

    .top-director__word {
        top: .4em;
        font-size: clamp(4rem, 22vw, 6.5rem)
    }

    .top-director__decor {
        display: none
    }
}

/* Top specialty */
.top-specialty {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #eaf6ff 0%, #f8fcff 44%, #fff 100%);
    padding-top: clamp(82px, 16vw, 320px);
    padding-bottom: clamp(82px, 9vw, 140px);
}

.top-specialty::before {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    top: 8%;
    height: 34%;
    background: #fff;
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
    opacity: .88;
    pointer-events: none
}

.top-specialty::after {
    content: "";
    position: absolute;
    left: -12%;
    right: -12%;
    top: 31%;
    height: 26%;
    background: #fff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    transform: rotate(-5deg);
    opacity: .82;
    pointer-events: none
}

.top-specialty .news-02 {
    position: relative;
    z-index: 2
}

.top-specialty__word {
    position: absolute;
    left: 50%;
    top: 3.12em;
    z-index: 1;
    transform: translateX(-50%);
    color: #dcecff52;
    font-size: clamp(4rem, 7vw, 5rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    white-space: nowrap;
    pointer-events: none
}

#specialty > .top-specialty__word {
    display: none
}

.top-surgery-record {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(210px, .8fr) minmax(250px, .7fr) minmax(300px, 1.2fr);
    align-items: center;
    gap: clamp(28px, 4vw, 64px);
    margin-top: clamp(42px, 5vw, 72px);
    padding: clamp(32px, 4vw, 54px) clamp(30px, 5vw, 72px);
    border: 1px solid #cce4f1;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(31, 91, 126, .08)
}

.top-surgery-record__heading span {
    color: #62b9dc;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .2em
}

.top-surgery-record__heading p {
    margin: 10px 0 0;
    color: #164f73;
    font-size: clamp(1.05rem, 1.5vw, 1.35rem);
    line-height: 1.6;
    font-weight: 800
}

.top-surgery-record__number {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding-inline: clamp(20px, 3vw, 44px);
    border-inline: 1px solid #d7e9f2;
    color: #0875b8;
    white-space: nowrap
}

.top-surgery-record__number strong {
    font-size: clamp(3.3rem, 6vw, 6rem);
    line-height: 1;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.045em
}

.top-surgery-record__number span {
    font-size: clamp(1.05rem, 1.5vw, 1.35rem);
    font-weight: 900
}

.top-surgery-record__message strong {
    color: #123f5c;
    font-size: clamp(1.12rem, 1.6vw, 1.45rem);
    line-height: 1.5
}

.top-surgery-record__message p {
    margin: 12px 0 0;
    color: #526b77;
    font-size: .92rem;
    line-height: 1.9;
    font-weight: 600
}

.top-surgery-record__message small {
    display: block;
    margin-top: 10px;
    color: #8498a3;
    font-size: .72rem
}

/* Surgery record: make the result the visual focus */
.top-surgery-record {
    display: block;
    max-width: 1120px;
    margin-inline: auto;
    padding: clamp(42px, 5vw, 68px);
    text-align: center
}

.top-surgery-record__heading p {
    margin-top: 8px;
    font-size: clamp(1rem, 1.25vw, 1.2rem)
}

.top-surgery-record__number {
    justify-content: center;
    margin: clamp(24px, 3vw, 38px) 0;
    padding: 0;
    border: 0;
    color: #0875b8
}

.top-surgery-record__number strong {
    font-size: clamp(6rem, 13vw, 11rem);
    line-height: .86;
    letter-spacing: -.065em;
    text-shadow: 0 12px 34px rgba(8, 117, 184, .12)
}

.top-surgery-record__number span {
    font-size: clamp(1.35rem, 2.4vw, 2rem)
}

.top-surgery-record__message {
    max-width: 700px;
    margin-inline: auto;
    padding-top: 28px;
    border-top: 1px solid #d7e9f2
}

.top-surgery-record__message strong {
    font-size: clamp(1.05rem, 1.35vw, 1.25rem)
}

.top-surgery-record__message p {
    font-size: .88rem
}

@media(max-width:63.999rem) {
    .top-surgery-record {
        display: block
    }

    .top-surgery-record__message {
        padding-top: 24px;
        border-top: 1px solid #d7e9f2
    }

    .top-surgery-record__number {
        border-right: 0
    }
}

@media(max-width:47.999rem) {
    .top-surgery-record {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 34px;
        padding: 30px 24px;
        text-align: center
    }

    .top-surgery-record__number {
        padding-block: 22px;
        border: 0;
        border-block: 1px solid #d7e9f2
    }

    .top-surgery-record__number strong {
        font-size: clamp(4.6rem, 25vw, 6.5rem)
    }

    .top-surgery-record__message {
        grid-column: auto;
        padding-top: 0;
        border-top: 0
    }
}

.top-specialty__head {
    position: relative;
    z-index: 2;
    text-align: center
}

.top-specialty__head h2 {
    margin: 0;
    color: #008fd1;
    font-size: clamp(1.6rem, 2.8vw, 2rem);
    line-height: 1.45;
    font-weight: 900;
    letter-spacing: .08em
}

.top-specialty__head h2::before,
.top-specialty__head h2::after {
    content: "・・";
    display: inline-block;
    margin-inline: calc(var(--spacing) * 4);
    color: #7daee7;
    letter-spacing: .3em
}

.top-specialty__head p {
    margin: calc(var(--spacing) * 5) 0 0;
    color: #1f2937;
    font-size: .98rem;
    line-height: 1.8;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.top-specialty__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(32px, 4vw, 56px);
    margin-top: clamp(42px, 5vw, 72px)
}

/* TOP page: client-approved content order / provisional additions */
.top-column-section {
  position: relative;
  overflow: hidden;
  padding: 88px max(5vw, 24px);
  background: #fff;
}

.top-column-section .top-news__block--columns {
  max-width: 1440px;
  margin: 0 auto;
}

.top-contact-feature {
  padding: 72px max(5vw, 24px);
  background: #eef7fa;
}

.top-contact-feature__inner {
  overflow: hidden;
  max-width: 1320px;
  margin: 0 auto;
  border-radius: 28px;
  border: 1px solid #b9dceb;
  background: #fff;
  box-shadow: 0 18px 50px rgba(31, 91, 126, .09);
}

.top-contact-feature__hero { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 410px; }
.top-contact-feature__intro { padding: clamp(42px, 5vw, 72px); }
.top-contact-feature__label { display: inline-flex; border-radius: 999px; padding: 10px 28px; color: #fff; background: #0875b8; font-weight: 800; letter-spacing: .08em; }
.top-contact-feature__eyebrow { margin: 28px 0 4px; color: #72badd; font-size: .78rem; font-weight: 800; letter-spacing: .18em; }
.top-contact-feature__intro h2 { margin: 0; color: #075ca5; font-size: clamp(2.8rem, 6vw, 5.4rem); line-height: 1.15; letter-spacing: .06em; }
.top-contact-feature__lead { margin: 30px 0 0; padding-top: 24px; border-top: 3px solid #8dd2ea; color: #243944; font-size: clamp(1rem, 1.35vw, 1.22rem); font-weight: 700; line-height: 2; }
.top-contact-feature__photo { min-height: 100%; background: #eaf6fb; }
.top-contact-feature__photo img { width: 100%; height: 100%; object-fit: cover; }
.top-contact-feature__grid { display: grid; grid-template-columns: .85fr .85fr 1.3fr; border-top: 1px solid #d5e8f0; }
.top-contact-info { padding: clamp(32px, 3.5vw, 52px); text-align: center; }
.top-contact-info + .top-contact-info { border-left: 1px dashed #b9d3df; }
.top-contact-info__icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 20px; border-radius: 50%; color: #075ca5; background: #edf7fc; font-size: 2rem; }
.top-contact-info h3 { margin: 0; color: #075ca5; font-size: clamp(1.18rem, 1.8vw, 1.55rem); line-height: 1.5; }
.top-contact-info > h3::after { content: ""; display: block; width: 54px; height: 3px; margin: 18px auto; background: #68b9de; }
.top-contact-info p { margin: 0; color: #243944; font-weight: 600; line-height: 1.9; }
.top-contact-info--hours { margin: 26px; padding: 28px; border: 0 !important; border-radius: 18px; background: #eff7fb; text-align: left; }
.top-contact-info__hours-title { display: flex; align-items: center; gap: 16px; }
.top-contact-info__hours-title > span { color: #075ca5; font-size: 3rem; line-height: 1; }
.top-contact-info__hours-title h3 { font-size: clamp(1.05rem, 1.5vw, 1.35rem); }
.top-contact-hours { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0 16px; }
.top-contact-hours div { padding: 14px 10px; border: 1px solid #9ccde0; border-radius: 8px; background: #fff; text-align: center; }
.top-contact-hours span { display: block; color: #184f78; font-weight: 800; }
.top-contact-hours strong { display: block; margin-top: 5px; color: #075ca5; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.1; }
.top-contact-hours div:last-child { border-color: #9bcfbe; }
.top-contact-hours div:last-child strong { color: #138061; }
.top-contact-hours small { margin-left: 4px; font-size: .8rem; }
.top-contact-feature__footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px clamp(30px, 5vw, 68px); background: #edf7fd; }
.top-contact-feature__footer p { margin: 0; color: #075ca5; font-size: clamp(1rem, 1.6vw, 1.3rem); font-weight: 800; }
.top-contact-feature__footer a { flex: 0 0 auto; padding: 15px 24px; border-radius: 999px; color: #fff; background: #17658f; text-decoration: none; font-weight: 700; }
.top-contact-feature__footer b { margin-left: 12px; font-size: 20px; }

@media (min-width: 960px) {
  .top-specialty__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .top-column-section { padding: 56px 20px; }
  .top-contact-feature { padding: 48px 20px; }
  .top-contact-feature__inner { border-radius: 20px; }
  .top-contact-feature__hero { display: flex; min-height: 0; flex-direction: column; }
  .top-contact-feature__intro { padding: 32px 24px; }
  .top-contact-feature__intro h2 { font-size: 2.75rem; }
  .top-contact-feature__lead { margin-top: 22px; padding-top: 18px; }
  .top-contact-feature__photo { height: 240px; order: -1; }
  .top-contact-feature__grid { grid-template-columns: 1fr; }
  .top-contact-info { padding: 34px 24px; }
  .top-contact-info + .top-contact-info { border-left: 0; border-top: 1px dashed #b9d3df; }
  .top-contact-info--hours { margin: 16px; padding: 24px 18px; border-top: 0; }
  .top-contact-feature__footer { display: block; padding: 28px 22px; text-align: center; }
  .top-contact-feature__footer a { display: block; margin-top: 22px; padding-inline: 16px; }
}

/* Reordered TOP: section rhythm and background transitions */
.top-gallery + .top-news {
  margin-top: -1px;
  padding-top: clamp(72px, 7vw, 112px);
  padding-bottom: clamp(58px, 6vw, 88px);
}

.top-news + .schedule-01 {
  position: relative;
  padding-top: clamp(46px, 5vw, 76px);
  padding-bottom: clamp(46px, 5vw, 76px);
}

.schedule-01 + .top-specialty {
  margin-top: -1px;
  padding-top: clamp(92px, 9vw, 144px);
  padding-bottom: clamp(64px, 7vw, 104px);
}

.schedule-01 + .top-specialty::before {
  top: 0%;
  height: 24%;
}

.schedule-01 + .top-specialty::after {
  top: 26%;
  height: 22%;
}

.top-specialty + .top-contact-feature {
  margin-top: -1px;
  padding-top: clamp(30px, 4vw, 58px);
  padding-bottom: clamp(54px, 6vw, 88px);
  background: #eef7fa;
}

.top-contact-feature + .services-01 {
  padding-top: clamp(72px, 8vw, 112px);
  background: #fff;
}

/* Contact lens feature: welcoming editorial design */
.top-contact-feature {
  padding-block: clamp(72px, 8vw, 128px);
  background: #edf8fc;
}

.top-contact-feature__inner {
  max-width: 1480px;
  border: 0;
  border-radius: 36px;
  box-shadow: 0 28px 80px rgba(21, 91, 128, .12);
}

.top-contact-feature__hero {
  grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
  min-height: 610px;
}

.top-contact-feature__intro {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(56px, 6vw, 96px);
  background: #fff;
}

.top-contact-feature__label {
  align-self: flex-start;
  padding: 11px 26px;
  background: #057cb9;
  font-size: .9rem;
  box-shadow: 0 8px 22px rgba(5, 124, 185, .18);
}

.top-contact-feature__eyebrow {
  margin: 34px 0 12px;
  color: #59b7dc;
  font-size: .72rem;
  letter-spacing: .26em;
}

.top-contact-feature__intro h2 {
  max-width: 680px;
  color: #075b91;
  font-size: clamp(2.35rem, 4.4vw, 4.6rem);
  line-height: 1.3;
  letter-spacing: .025em;
}

.top-contact-feature__intro h2 span {
  display: block;
  color: #132e3d;
  font-size: .48em;
  line-height: 1.5;
  letter-spacing: .07em;
}

.top-contact-feature__lead {
  margin-top: 34px;
  padding-top: 28px;
  border-top-width: 2px;
  color: #354f5c;
  font-size: clamp(.98rem, 1.2vw, 1.13rem);
  font-weight: 600;
  line-height: 2.15;
}

.top-contact-feature__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.top-contact-feature__trust li {
  position: relative;
  padding: 10px 14px 10px 34px;
  border-radius: 8px;
  color: #17658f;
  background: #edf8fc;
  font-size: .84rem;
  font-weight: 800;
}

.top-contact-feature__trust li::before {
  content: "✓";
  position: absolute;
  left: 13px;
  color: #33a777;
}

.top-contact-feature__photo {
  position: relative;
  overflow: hidden;
}

.top-contact-feature__photo img {
  transition: transform .8s ease;
}

.top-contact-feature__inner:hover .top-contact-feature__photo img {
  transform: scale(1.025);
}

.top-contact-feature__photo p {
  position: absolute;
  right: 32px;
  bottom: 32px;
  width: min(360px, calc(100% - 64px));
  margin: 0;
  padding: 22px 26px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 14px 38px rgba(17, 61, 86, .16);
}

.top-contact-feature__photo p strong,
.top-contact-feature__photo p span {
  display: block;
}

.top-contact-feature__photo p strong {
  color: #075b91;
  font-size: 1.08rem;
}

.top-contact-feature__photo p span {
  margin-top: 6px;
  color: #516b78;
  font-size: .82rem;
}

.top-contact-feature__grid {
  grid-template-columns: .9fr .9fr 1.2fr;
  background: #fff;
}

.top-contact-info {
  position: relative;
  padding: clamp(44px, 4vw, 68px);
  text-align: left;
}

.top-contact-info + .top-contact-info {
  border-color: #c9e1ec;
}

.top-contact-info__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  color: #fff;
  background: #168fc5;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.top-contact-info__mini {
  margin: 24px 0 7px !important;
  color: #64b5d6 !important;
  font-size: .74rem;
  font-weight: 900 !important;
  letter-spacing: .13em;
}

.top-contact-info h3 {
  color: #075b91;
  font-size: clamp(1.3rem, 1.8vw, 1.75rem);
  line-height: 1.55;
}

.top-contact-info > h3::after {
  margin: 22px 0;
}

.top-contact-info > p:last-child {
  color: #526b77;
  font-size: .96rem;
  font-weight: 600;
  line-height: 2;
}

.top-contact-info--hours {
  align-self: center;
  margin: 28px;
  padding: clamp(30px, 3vw, 46px);
  border-radius: 24px;
  background: #eaf6fb;
  box-shadow: inset 0 0 0 1px #d7ebf3;
}

.top-contact-info__hours-title {
  align-items: flex-start;
  gap: 20px;
}

.top-contact-info__hours-title .top-contact-info__mini {
  margin-top: 2px !important;
}

.top-contact-info__hours-title h3 {
  margin-top: 5px;
  font-size: clamp(1.12rem, 1.5vw, 1.4rem);
}

.top-contact-hours {
  gap: 14px;
  margin: 28px 0 22px;
}

.top-contact-hours div {
  padding: 18px 12px;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(28, 99, 134, .08);
}

.top-contact-hours strong {
  font-size: clamp(2.1rem, 3vw, 3rem);
}

.top-contact-feature__footer {
  padding: 34px clamp(36px, 6vw, 90px);
  background: #075b91;
}

.top-contact-feature__footer-en {
  color: #7ed2ee;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .2em;
}

.top-contact-feature__footer p {
  margin-top: 5px;
  color: #fff;
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
}

.top-contact-feature__footer a {
  padding: 17px 27px;
  color: #075b91;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
  transition: transform .2s ease, box-shadow .2s ease;
}

.top-contact-feature__footer a:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .16);
}

@media (max-width: 1023px) {
  .top-contact-feature__hero { grid-template-columns: 1fr 1fr; min-height: 560px; }
  .top-contact-feature__grid { grid-template-columns: 1fr 1fr; }
  .top-contact-info--hours { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .top-contact-feature { padding-block: 58px; }
  .top-contact-feature__hero { display: flex; min-height: 0; }
  .top-contact-feature__photo { order: 0; height: 280px; }
  .top-contact-feature__intro { order: 1; padding: 38px 24px 42px; }
  .top-contact-feature__intro h2 { font-size: 2.45rem; }
  .top-contact-feature__intro h2 span { font-size: .5em; }
  .top-contact-feature__lead br { display: none; }
  .top-contact-feature__photo p { right: 16px; bottom: 16px; width: calc(100% - 32px); padding: 16px 18px; }
  .top-contact-feature__grid { grid-template-columns: 1fr; }
  .top-contact-info { padding: 40px 26px; }
  .top-contact-info--hours { grid-column: auto; margin: 16px; padding: 28px 20px; }
  .top-contact-feature__footer { padding: 30px 22px; text-align: left; }
  .top-contact-feature__footer a { text-align: center; }
}

/* Contact lens feature: reference-based restrained scale */
.top-contact-feature {
  padding-block: clamp(56px, 6vw, 88px);
  background: #edf8fc;
}

.top-contact-feature__inner {
  max-width: 1280px;
  border: 1px solid #b9dceb;
  border-radius: 24px;
  box-shadow: 0 16px 44px rgba(21, 91, 128, .08);
}

.top-contact-feature__hero {
  grid-template-columns: 1fr 1fr;
  min-height: 390px;
}

.top-contact-feature__intro {
  display: block;
  padding: clamp(42px, 5vw, 68px);
}

.top-contact-feature__label {
  padding: 9px 24px;
  font-size: .84rem;
  box-shadow: none;
}

.top-contact-feature__intro h2 {
  margin-top: 24px;
  color: #075ca5;
  font-size: clamp(2.5rem, 4vw, 3.8rem);
  line-height: 1.25;
  letter-spacing: .05em;
}

.top-contact-feature__lead {
  margin-top: 24px;
  padding-top: 22px;
  font-size: clamp(.95rem, 1.15vw, 1.08rem);
  line-height: 2;
}

.top-contact-feature__grid {
  grid-template-columns: 1fr 1fr 1.45fr;
}

.top-contact-info {
  padding: clamp(34px, 3.5vw, 48px);
  text-align: center;
}

.top-contact-info__icon {
  width: 64px;
  height: 64px;
  margin-bottom: 18px;
  font-size: 1.7rem;
}

.top-contact-info h3 {
  font-size: clamp(1.12rem, 1.45vw, 1.35rem);
  line-height: 1.55;
}

.top-contact-info > h3::after {
  margin: 16px auto 18px;
}

.top-contact-info > p:last-child {
  font-size: .9rem;
  line-height: 1.9;
}

.top-contact-info--hours {
  margin: 24px;
  padding: 28px;
  border-radius: 16px;
  text-align: left;
  box-shadow: none;
}

.top-contact-info__hours-title {
  align-items: center;
  gap: 14px;
}

.top-contact-info__hours-title > span {
  color: #075ca5;
  font-size: 2.6rem;
}

.top-contact-info__hours-title h3 {
  margin: 0;
  font-size: clamp(1rem, 1.3vw, 1.2rem);
}

.top-contact-hours {
  margin: 20px 0 16px;
}

.top-contact-hours div {
  padding: 14px 10px;
  border: 1px solid #a9d1e1;
  border-radius: 8px;
  box-shadow: none;
}

.top-contact-hours strong {
  font-size: clamp(1.8rem, 2.6vw, 2.4rem);
}

.top-contact-info--hours > p {
  font-size: .88rem;
  line-height: 1.75;
}

.top-contact-feature__footer {
  justify-content: center;
  padding: 26px 36px;
  background: #edf7fd;
  text-align: center;
}

.top-contact-feature__footer p {
  color: #075ca5;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
}

.top-contact-feature__footer a {
  display: none;
}

@media (max-width: 1023px) {
  .top-contact-feature__hero { min-height: 350px; }
  .top-contact-feature__grid { grid-template-columns: 1fr 1fr; }
  .top-contact-info--hours { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .top-contact-feature { padding-block: 48px; }
  .top-contact-feature__inner { border-radius: 18px; }
  .top-contact-feature__hero { min-height: 0; }
  .top-contact-feature__photo { height: 220px; order: 0; }
  .top-contact-feature__intro { order: 1; padding: 32px 24px 38px; }
  .top-contact-feature__intro h2 { margin-top: 20px; font-size: 2.35rem; }
  .top-contact-feature__lead { font-size: .92rem; }
  .top-contact-feature__grid { grid-template-columns: 1fr; }
  .top-contact-info { padding: 34px 24px; }
  .top-contact-info--hours { grid-column: auto; margin: 14px; padding: 24px 18px; }
  .top-contact-feature__footer { padding: 24px 20px; text-align: center; }
}

.top-director + .feature-01,
.feature-01 + .top-concept,
.top-concept + .top-flow,
.top-flow + #faq {
  margin-top: -1px;
}

.top-flow + #faq {
  padding-top: clamp(68px, 7vw, 104px);
  padding-bottom: clamp(68px, 7vw, 104px);
}

#faq + .top-column-section {
  padding-top: clamp(66px, 7vw, 104px);
  padding-bottom: clamp(72px, 8vw, 120px);
}

.top-column-section + .top-access {
  margin-top: -1px;
  padding-top: clamp(58px, 6vw, 92px);
  background: linear-gradient(180deg, #f2faff 0, rgb(231 249 255) 14%, rgb(231 249 255) 100%);
}

@media (max-width: 767px) {
  .top-gallery + .top-news { padding-top: 58px; padding-bottom: 52px; }
  .top-news + .schedule-01 { padding-block: 38px 48px; background: linear-gradient(180deg, #fff 0, #e7f7fd 6%, #087fb6 6.2%, #087fb6 100%); }
  .schedule-01 + .top-specialty { padding-top: 78px; padding-bottom: 58px; background: linear-gradient(180deg, #087fb6 0, #eaf6ff 4%, #f8fcff 38%, #fff 100%); }
  .top-specialty + .top-contact-feature { padding-top: 24px; padding-bottom: 54px; }
  .top-contact-feature + .services-01 { padding-top: 68px; }
  #faq + .top-column-section { padding-top: 56px; padding-bottom: 72px; }
  .top-column-section + .top-access { padding-top: 52px; }
}

.top-specialty-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #d5e9fb;
    border-radius: 28px;
    background: #fff;
    padding: calc(var(--spacing) * 8);
}

.top-specialty-card__label {
    display: flex;
    width: max-content;
    margin-inline: auto;
    border-radius: 999px;
    background: linear-gradient(135deg, #43b9ea, #008fd1);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 6);
    color: #fff;
    font-size: .92rem;
    line-height: 1.4;
    font-weight: var(--font-weight-bold);
    letter-spacing: .06em
}

.top-specialty-card h3 {
    margin: calc(var(--spacing) * 4) 0 calc(var(--spacing) * 6);
    color: #008fd1;
    text-align: center;
    font-size: clamp(1.75rem, 2.2vw, 2.4rem);
    line-height: 1.35;
    font-weight: 900;
    letter-spacing: .04em
}

.top-specialty-card__photo {
    overflow: hidden;
    border-radius: 12px;
    background: #eaf3fa
}

.top-specialty-card__photo img {
    display: block;
    width: 100%;
    height: clamp(190px, 16vw, 260px);
    object-fit: cover;
    object-position: center
}

.top-specialty-card__data {
    margin: calc(var(--spacing) * 6) 0 0;
    border: 1px solid #9ec9f4;
    border-radius: 12px;
    overflow: hidden
}

.top-specialty-card__data div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    border-bottom: 1px solid #d5e9fb
}

.top-specialty-card__data div:last-child {
    border-bottom: 0
}

.top-specialty-card__data dt {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    height: 100%;
    margin: 0;
    background: #eef7ff;
    padding: calc(var(--spacing) * 4);
    color: #008fd1;
    font-size: .92rem;
    line-height: 1.5;
    font-weight: var(--font-weight-bold)
}

.top-specialty-card__data dt svg {
    flex: 0 0 auto;
    border-radius: 999px;
    background: #008fd1;
    color: #fff;
    padding: 4px;
    box-sizing: content-box
}

.top-specialty-card__data dd {
    margin: 0;
    padding: calc(var(--spacing) * 4);
    color: #334155;
    font-size: .92rem;
    line-height: 1.7;
    font-weight: var(--font-weight-bold)
}

.top-specialty-card__text {
    margin: calc(var(--spacing) * 6) 0 0;
    color: #334155;
    font-size: .96rem;
    line-height: 2;
    font-weight: var(--font-weight-bold)
}

.top-specialty-card__note {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: calc(var(--spacing) * 3);
    align-items: center;
    margin-top: calc(var(--spacing) * 6);
    border: 1px solid #008fd1;
    border-radius: 12px;
    padding: calc(var(--spacing) * 4);
    color: #334155;
    font-size: .9rem;
    line-height: 1.7;
    font-weight: var(--font-weight-bold)
}

.top-specialty-card__note strong {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    color: #008fd1
}

.top-specialty-card__note strong::before {
    content: "";
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-radius: 999px
}

.top-specialty-card__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 4);
    margin-top: calc(var(--spacing) * 6);
    border-radius: 999px;
    background: linear-gradient(135deg, #008fd1, #008fd1);
    padding: calc(var(--spacing) * 5) calc(var(--spacing) * 6);
    color: #fff;
    text-decoration: none;
    font-size: 1.05rem;
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
    letter-spacing: .08em;
    transition: transform .2s ease, box-shadow .2s ease
}

.top-specialty-card__button span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #fff;
    color: #008fd1
}

.top-specialty-card__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 44px #008fd140
}

.top-specialty__decor {
    position: absolute;
    z-index: 1;
    width: 22px;
    height: 22px;
    background: #a8cff0;
    opacity: .66;
    pointer-events: none
}

.top-specialty__decor--left {
    left: 12%;
    top: 18%;
    box-shadow: -28px 42px #dfeffc, -62px 76px #a8cff0, 24px 94px #dfeffc, -92px 128px #83bde8
}

.top-specialty__decor--right {
    right: 9%;
    top: 24%;
    box-shadow: 28px 52px #dfeffc, -34px 98px #a8cff0, 14px 142px #83bde8, -68px 176px #dfeffc
}

@media(max-width:63.999rem) {
    .top-specialty__cards {
        grid-template-columns: 1fr
    }

    .top-specialty-card {
        padding: calc(var(--spacing) * 6)
    }

    .top-specialty__word {
        font-size: clamp(5rem, 18vw, 10rem)
    }

    .top-specialty__decor {
        transform: scale(.75)
    }
}

@media(max-width:47.999rem) {
    .top-specialty::before {
        top: 1%;
    }

    .top-specialty {
        padding-block: calc(var(--spacing) * 16)
    }

    .top-specialty__head h2 {
        font-size: clamp(1.55rem, 8vw, 2.2rem)
    }

    .top-specialty__head h2::before,
    .top-specialty__head h2::after {
        display: none
    }

    .top-specialty__head p {
        font-size: .95rem
    }

    .top-specialty-card {
        border-radius: 20px;
        padding: calc(var(--spacing) * 5)
    }

    .top-specialty-card h3 {
        font-size: clamp(1.55rem, 8vw, 2rem)
    }

    .top-specialty-card__photo img {
        height: 210px
    }

    .top-specialty-card__data div,
    .top-specialty-card__note {
        grid-template-columns: 1fr
    }

    .top-specialty-card__data dt,
    .top-specialty-card__data dd {
        padding: calc(var(--spacing) * 3)
    }

    .top-specialty-card__button {
        padding-block: calc(var(--spacing) * 4);
        font-size: .98rem
    }

    .top-specialty__word {
        top: .5em
    }

    .top-specialty__decor {
        display: none
    }
}

/* Top flow */
.top-flow {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #f8fcff 0%, #fff 48%, #f7fbff 100%);
    padding-block: clamp(86px, 9vw, 142px)
}

.top-flow::before {
    content: "";
    position: absolute;
    left: -12%;
    right: -12%;
    top: -10%;
    height: 34%;
    background: #eef7ff;
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
    transform: rotate(-7deg);
    opacity: .75;
    pointer-events: none
}

.top-flow::after {
    content: "";
    position: absolute;
    left: -14%;
    right: -14%;
    bottom: -13%;
    height: 30%;
    background: #eef7ff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    transform: rotate(-4deg);
    opacity: .72;
    pointer-events: none
}

.top-flow .news-02 {
    position: relative;
    z-index: 2
}

.top-flow__word {
    position: absolute;
    left: 50%;
    top: .56em;
    z-index: 1;
    transform: translateX(-50%);
    color: #edf5ff;
    font-size: clamp(7rem, 7vw, 16rem);
    line-height: .9;
    font-weight: 700;
    letter-spacing: .16em;
    white-space: nowrap;
    pointer-events: none
}

.top-flow__head {
    position: relative;
    z-index: 2;
    text-align: center
}

.top-flow__head h2 {
    margin: 0;
    color: #008fd1;
    font-size: var(--text-3xl);
    line-height: 1.35;
    font-weight: var(--font-weight-bold);
    letter-spacing: .08em
}

.top-flow__head>span {
    display: block;
    width: 44px;
    height: 3px;
    margin: calc(var(--spacing) * 5) auto 0;
    border-radius: 999px;
    background: #008fd1
}

.top-flow__head p {
    margin: calc(var(--spacing) * 6) 0 0;
    color: #1f2937;
    font-size: clamp(.78rem, 1.15vw, 0.88rem);
    line-height: 2.1;
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em
}

.top-flow__list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(26px, 3vw, 48px);
    margin: clamp(48px, 6vw, 82px) 0 0;
    padding: 0;
    list-style: none
}

.top-flow__item {
    position: relative;
    min-width: 0;
    text-align: center
}

.top-flow__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: clamp(92px, 9vw, 122px);
    right: calc(clamp(26px, 3vw, 48px) / -2 - 13px);
    width: 26px;
    height: 26px;
    border-top: 3px solid #008fd1;
    border-right: 3px solid #008fd1;
    transform: rotate(45deg);
    opacity: .95
}

#faq {
    background: #f1f7ff;
}

.faq-07 {
    background-color: #fff;
}

.faq-08 {
    background-color: rgb(161, 0, 0);
}

.top-flow__icon {
    display: grid;
    place-items: center;
    width: clamp(180px, 17vw, 248px);
    aspect-ratio: 1;
    margin-inline: auto;
    border-radius: 999px;
    background: radial-gradient(circle at 50% 42%, #fff 0%, #fff 58%, #f5fbff 100%);
}

.top-flow__icon img {
    display: block;
    width: 78%;
    height: 78%;
    object-fit: contain
}

.top-flow__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 4);
    margin-top: calc(var(--spacing) * 7);
    padding-bottom: calc(var(--spacing) * 5);
    border-bottom: 1px dotted #8fc6f1
}

.top-flow__title span {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: linear-gradient(135deg, #43b9ea, #008fd1);
    color: #fff;
    font-size: 1.05rem;
    line-height: 1;
    font-weight: var(--font-weight-bold)
}

.top-flow__title h3 {
    margin: 0;
    color: #008fd1;
    font-size: clamp(1.25rem, 1.55vw, 1.7rem);
    line-height: 1.35;
    font-weight: 900;
    letter-spacing: .08em;
    white-space: nowrap
}

.top-flow__item p {
    margin: calc(var(--spacing) * 5) 0 0;
    color: #1f2937;
    font-size: .88rem;
    line-height: 2;
    font-weight: var(--font-weight-medium);
    letter-spacing: .04em
}

.top-flow__decor {
    position: absolute;
    z-index: 1;
    width: 12px;
    height: 12px;
    background: #dceeff;
    opacity: .9;
    pointer-events: none
}

.top-flow__decor--left {
    left: 5%;
    top: 24%;
    box-shadow: -28px 38px #eaf5ff, 28px 62px #dceeff, -56px 92px #eaf5ff, 12px 120px #dceeff, -34px 154px #eaf5ff
}

.top-flow__decor--right {
    right: 5%;
    top: 34%;
    box-shadow: 28px 34px #eaf5ff, -18px 66px #dceeff, 48px 92px #eaf5ff, -42px 128px #dceeff, 12px 156px #eaf5ff
}

@media(max-width:74.999rem) {
    .top-flow__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: calc(var(--spacing) * 12)
    }

    .top-flow__item:not(:last-child)::after {
        display: none
    }

    .top-flow__icon {
        width: clamp(178px, 30vw, 240px)
    }
}

@media(max-width:47.999rem) {
    .top-flow {
        padding-block: calc(var(--spacing) * 16)
    }

    .top-flow::before {
        left: -24%;
        right: -24%;
        top: -10%;
    }

    .top-flow::after {
        left: -32%;
        right: -32%;
        bottom: -23%;
        height: 30%;
    }

    .top-flow__word {
        top: .45em;
        font-size: clamp(4.5rem, 24vw, 7rem);
        letter-spacing: .08em
    }

    .top-flow__head h2 {
        font-size: clamp(1.85rem, 9vw, 2.55rem)
    }

    .top-flow__head p {
        font-size: .92rem;
        line-height: 1.9
    }

    .top-flow__head p br {
        display: none
    }

    .top-flow__list {
        grid-template-columns: 1fr;
        margin-top: calc(var(--spacing) * 12);
        gap: calc(var(--spacing) * 10)
    }

    .top-flow__title {
        margin-top: calc(var(--spacing) * 5)
    }

    .top-flow__item p {
        font-size: .92rem
    }

    .top-flow__item p br {
        display: none
    }

    .top-flow__decor {
        display: none
    }
}

/* Keep lower pages using the same header treatment as the top page. */
body:has(.sub-main) .header-01 {
    position: fixed;
    background-color: #fffffff2;
    border-bottom: 1px solid var(--color-gray-100);
    box-shadow: none;
    -webkit-backdrop-filter: blur(var(--blur-md));
    backdrop-filter: blur(var(--blur-md))
}

body:has(.sub-main) .header-05 {
    height: calc(var(--spacing) * 20);
    max-width: var(--container-7xl);
    padding-inline: calc(var(--spacing) * 6)
}

body:has(.sub-main) .header-13,
body:has(.sub-main) .header-14,
body:has(.sub-main) .header-18 {
    color: var(--color-medical-dark);
    text-shadow: none
}

body:has(.sub-main) .header-18 {
    color: var(--color-medical-primary)
}

/* Top mobile refinements */
.top-access__panel--hours,
.top-access__hours,
.top-access__table-wrap,
.top-after-column-grid .schedule-02,
.top-after-column-grid .schedule-04,
.top-after-column-grid .schedule-06 {
    min-width: 0
}

@media(max-width:47.999rem) {

    .schedule-20,
    .schedule-23 {
        display: block;
    }

    .header-18,
    .hero-30 {
        min-width: 44px;
        padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 2)
    }

    .header-menu-label {
        font-size: .58rem
    }

    .mobile-01 {
        display: none !important
    }

    .services-01 .news-02 {
        width: min(100% - 24px, var(--container-7xl));
        padding-inline: 0
    }

    .services-02 {
        gap: calc(var(--spacing) * 5)
    }

    .services-03 {
        width: 100%;
        padding: calc(var(--spacing) * 6) calc(var(--spacing) * 5)
    }

    .services-04 {
        margin-bottom: calc(var(--spacing) * 5)
    }

    .services-05 {
        margin-bottom: calc(var(--spacing) * 5);
        font-size: 1.05rem;
        line-height: 1.55
    }

    .top-after-column-grid .schedule-02,
    .top-quick-access {
        padding: calc(var(--spacing) * 5);
        border-radius: 20px
    }

    .top-after-column-grid .schedule-07 {
        min-width: 440px
    }

    .top-after-column-grid .schedule-10,
    .top-after-column-grid .schedule-11,
    .top-after-column-grid .schedule-12,
    .top-after-column-grid .schedule-14,
    .top-after-column-grid .schedule-15,
    .top-after-column-grid .schedule-16 {
        padding-inline: calc(var(--spacing) * 2);
        font-size: .92rem
    }

    .top-access__panel {
        overflow: visible
    }

    .top-access__hours {
        width: 100%
    }

    .top-access__table-wrap {
        width: 100%;
        -webkit-overflow-scrolling: touch
    }

    .top-access__table {
        min-width: 520px
    }

    .top-gallery__swiper {
        overflow: hidden
    }

    .top-gallery__slide {
        width: 82vw
    }
}

body:has(.sub-main) .sub-main {
    padding-top: calc(var(--spacing) * 20)
}

@media(max-width:63.999rem) {
    body:has(.sub-main) .header-05 {
        height: calc(var(--spacing) * 20);
        padding-inline: calc(var(--spacing) * 4)
    }
}

@media(max-width:47.999rem) {
    body:has(.sub-main) .header-05 {
        height: calc(var(--spacing) * 20);
        padding-inline: calc(var(--spacing) * 4)
    }
}

:root {
    --color-medical-primary: #008fd1;
}

.schedule-21,
.schedule-22 {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
}

/* Client requested blue refresh: replace darker blue accents with the main blue without flattening pale backgrounds. */
.hero-24,
.schedule-03,
.top-flow__head h2,
.top-director__badge,
.top-director__name,
.top-director__meta dt,
.top-access__panel h2,
.top-access__hours h3,
.top-access__info dt,
.top-access__info dd,
.top-access__station,
.sub-title,
.sub-card h2,
.sub-section-head h2 {
    color: #008fd1;
}

.menu-overlay,
.top-specialty__button,
.top-director__link,
.top-access__button,
.sub-button,
.sub-link-card:hover {
    background: #008fd1;
}

.top-specialty__button,
.top-director__link,
.top-access__button,
.sub-button,
.sub-link-card:hover {
    color: #fff;
}

.top-director__message,
.sub-note {
    border-left-color: #008fd1;
}

.schedule-20 {
    justify-content: flex-start;
    gap: calc(var(--spacing) * 2);
}

@media(max-width:47.999rem) {
    .schedule-20 {
        display: flex;
        justify-content: flex-start;
    }
}

/* Make interactive hover targets clearly selectable. */
:is(a[href], button:not(:disabled), [role="button"], summary, .services-03, .faq-04, .top-notice-row, .admin-calendar__cell:not(.admin-calendar__cell--empty)) {
    cursor: pointer;
}

@media(hover:hover) {
    :is(a[href], button:not(:disabled), [role="button"], summary, .faq-04, .top-notice-row, .admin-calendar__cell:not(.admin-calendar__cell--empty)):hover {
        outline: 0;
        outline-offset: 0;
    }

    .services-03:hover {
        border-color: #008fd1;
        background: #f2fbff;
        box-shadow: 0 18px 42px #008fd126;
        transform: translateY(-4px);
    }

    .services-03:hover .services-04 {
        color: #008fd1;
        transform: scale(1.08);
    }

    .services-03:hover .services-05 {
        color: #008fd1;
    }

    .services-03:hover .services-11 {
        border-color: #008fd1;
        background-color: #008fd1;
        color: #fff;
        transform: translateX(2px);
    }
}

:is(a[href], button:not(:disabled), [role="button"], summary, .services-03, .faq-04, .top-notice-row, .admin-calendar__cell:not(.admin-calendar__cell--empty)):focus-visible {
    outline: 3px solid #008fd166;
    outline-offset: 4px;
}

/* Keep the mobile menu close button in the same tap area as the hamburger button. */
.menu-inner {
    position: relative;
}

.menu-close {
    position: fixed;
    top: calc(var(--spacing) * 4);
    right: calc(var(--spacing) * 4);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
}

.menu-head {
    min-height: calc(var(--spacing) * 11);
}

@media(max-width:47.999rem) {
    .hero-01 {
        padding-bottom: calc(var(--spacing) * 8);
    }

    .hero-02 {
        padding-inline: calc(var(--spacing) * 3);
    }

    .hero-05 {
        height: auto;
        min-height: 0;
        padding-top: clamp(520px, 76vh, 640px);
        overflow: visible;
        box-shadow: none;
    }

    .hero-06 {
        bottom: auto;
        height: clamp(520px, 76vh, 640px);
        overflow: hidden;
        border-radius: var(--radius-sm);
    }

    .hero-08 {
        min-height: 520px;
        overflow: hidden;
        border-radius: var(--radius-sm);
    }

    .hero-07 {
        object-position: center center;
    }

    .hero-13 {
        bottom: calc(var(--spacing) * 6);
    }

    .today-hours {
        position: static;
        width: auto;
        max-width: none;
        margin: calc(var(--spacing) * 4) calc(var(--spacing) * 1) 0;
        padding: calc(var(--spacing) * 4);
        transform: none;
    }
}

/* Refine hover, buttons, and mobile FV placement. */
.today-hours__link,
.lower-button,
.schedule-27,
.feature-13,
.top-news__button,
.top-quick-access__button,
.top-access__button,
.top-specialty-card__button,
.top-director__link,
.sub-button,
.admin-button {
    border-radius: 999px;
    background: linear-gradient(135deg, #43b9ea, #008fd1);
    color: #fff;
    box-shadow: 0 16px 34px #008fd126;
    transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, opacity .22s ease;
}

.top-news__button:hover,
.lower-button:hover,
.today-hours__link:hover,
.schedule-27:hover,
.feature-13:hover,
.top-quick-access__button:hover,
.top-access__button:hover,
.top-specialty-card__button:hover,
.top-director__link:hover,
.sub-button:hover,
.admin-button:hover {
    background: linear-gradient(135deg, #5ac4ef, #008fd1);
    box-shadow: 0 20px 42px #008fd133;
    transform: translateY(-2px);
}

.top-notice-row:hover .top-notice-row__arrow,
.lower-flow span {
    background: #008fd1;
    color: #fff;
}

@media(hover:hover) {
    :is(a[href], button:not(:disabled), [role="button"], summary, .faq-04, .top-notice-row, .admin-calendar__cell:not(.admin-calendar__cell--empty)):hover {
        outline: 0;
        filter: saturate(1.04);
    }

    .top-column-card a:hover,
    .faq-04:hover,
    .admin-calendar__cell:not(.admin-calendar__cell--empty):hover {
        box-shadow: 0 14px 34px #008fd112;
        transform: translateY(-2px);
    }
}

@media(min-width:64rem) {
    .top-flow__item:not(:last-child)::after {
        content: "›";
        top: clamp(96px, 9vw, 126px);
        right: calc(clamp(26px, 3vw, 48px) / -2 - 20px);
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        border: 1px solid #d8edf8;
        border-radius: 999px;
        background: #fff;
        color: #008fd1;
        box-shadow: 0 12px 28px #008fd11c;
        font-size: 2rem;
        line-height: 1;
        font-weight: 700;
        transform: none;
        opacity: 1;
    }
}

@media(max-width:47.999rem) {
    .hero-09 {
        top: clamp(300px, 48vh, 430px);
        left: calc(var(--spacing) * 6);
        right: auto;
        align-items: flex-start;
        gap: calc(var(--spacing) * 2);
    }

    .hero-10 {
        border-radius: 999px;
        background: #fffffff0;
        padding: calc(var(--spacing) * 2.5) calc(var(--spacing) * 5);
        box-shadow: 0 14px 34px #164b7a17;
        backdrop-filter: blur(10px);
    }

    .hero-11,
    .hero-12 {
        font-size: clamp(.95rem, 4vw, 1.15rem);
        letter-spacing: .08em;
    }

    .hero-13 {
        top: calc(clamp(520px, 76vh, 640px) - 42px);
        bottom: auto;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* The fixed header should not cover the top page first-view image. */
.page-01>main:not([class]) {
    padding-top: calc(var(--spacing) * 20);
}

@media(max-width:47.999rem) {
    .page-01>main:not([class]) {
        padding-top: calc(var(--spacing) * 20);
    }
}

/* Header and hover motion polish. */
.header-01,
.header-05 {
    box-shadow: none !important;
}

.header-01 {
    border-bottom-color: #eaf3fa;
}

:is(a[href], button:not(:disabled), [role="button"], summary, .services-03, .faq-04, .top-notice-row, .admin-calendar__cell:not(.admin-calendar__cell--empty)),
:is(.header-13, .header-14, .header-15, .nav-dropdown-link, .hero-04, .hero-19, .hero-22, .hero-23, .news-11, .news-14, .news-17, .lower-button, .schedule-27, .feature-13, .services-03, .services-04, .services-11, .faq-04, .faq-06, .faq-11, .gallery-09, .top-news__button, .top-news__more, .top-column-card img, .top-notice-row, .top-notice-row__arrow, .top-quick-access__button, .top-access__button, .top-specialty-card__button, .top-director__link, .sub-button, .admin-button) {
    transition-duration: .32s !important;
    transition-timing-function: cubic-bezier(.22, 1, .36, 1) !important;
}

@media(hover:hover) {
    :is(a[href], button:not(:disabled), [role="button"], summary, .services-03, .faq-04, .top-notice-row, .admin-calendar__cell:not(.admin-calendar__cell--empty)):hover {
        transition-duration: .32s !important;
        transition-timing-function: cubic-bezier(.22, 1, .36, 1) !important;
    }
}

/* The common header replaces the old FV-only mobile header. */
.hero-26 {
    display: none !important;
}

.lower-button,
.lower-button--ghost {
    border-color: transparent;
    background: linear-gradient(135deg, #43b9ea, #008fd1);
    color: #fff;
    font-weight: 900;
    letter-spacing: .08em;
}

.lower-button--ghost {
    box-shadow: 0 16px 34px #008fd126;
}

/* News hover refinement: calm highlight with enough left padding. */
.top-notice-list {
    border-top-color: #e5edf2;
}

.top-notice-row {
    position: relative;
    border-bottom-color: #e5edf2;
    border-radius: 14px;
    padding: calc(var(--spacing) * 5) calc(var(--spacing) * 4) calc(var(--spacing) * 5) calc(var(--spacing) * 5);
    transition-property: background-color, box-shadow, border-color, color;
}

.top-notice-row::before {
    content: "";
    position: absolute;
    left: calc(var(--spacing) * 2);
    top: 50%;
    width: 3px;
    height: 0;
    border-radius: 999px;
    background: #008fd1;
    transform: translateY(-50%);
    opacity: 0;
    transition: height .32s cubic-bezier(.22, 1, .36, 1), opacity .32s cubic-bezier(.22, 1, .36, 1);
}

.top-notice-row:hover {
    background: #f2fbff;
    box-shadow: inset 0 0 0 1px #d8edf8;
    transform: none;
}

.top-notice-row:hover::before {
    height: calc(100% - 22px);
    opacity: 1;
}

.top-notice-row:hover strong {
    color: #008fd1;
}

.top-notice-row__arrow {
    box-shadow: inset 0 0 0 1px #d8edf8;
}

.top-notice-row:hover .top-notice-row__arrow {
    transform: translateX(2px);
    box-shadow: 0 10px 24px #008fd11f;
}

/* Revision: clearer local trust signals and conversion paths. */
.trust-strip {
    width: min(1120px, calc(100% - 40px));
    margin: 28px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    border: 1px solid #dbeaf2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(0, 93, 139, .09);
}

.trust-strip a {
    min-height: 92px;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #123e55;
    text-align: center;
    text-decoration: none;
}

.trust-strip a + a { border-left: 1px solid #dbeaf2; }
.trust-strip strong { color: #007eb8; font-size: clamp(17px, 1.5vw, 21px); }
.trust-strip span { margin-top: 4px; color: #527080; font-size: 13px; }

.trust-strip--hero {
    position: absolute;
    right: 34px;
    bottom: 68px;
    z-index: 36;
    width: min(48vw, 620px);
    margin: 0;
    grid-template-columns: repeat(3, 1fr);
    border-color: rgba(255, 255, 255, .78);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 44px rgba(4, 46, 70, .22);
    backdrop-filter: blur(12px);
}

.trust-strip--hero a { min-height: 76px; padding: 12px 14px; }
.trust-strip--hero strong { font-size: clamp(14px, 1.25vw, 18px); }
.trust-strip--hero span { font-size: 11px; }

.hero-surgery-record {
    position: absolute;
    top: 28px;
    right: 32px;
    z-index: 36;
    min-width: 245px;
    padding: 17px 20px;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 16px;
    background: rgba(255, 255, 255, .92);
    color: #164b64;
    box-shadow: 0 18px 44px rgba(4, 46, 70, .2);
    backdrop-filter: blur(12px);
}

.hero-surgery-record > span { display: block; color: #007eb8; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.hero-surgery-record strong { display: block; margin-top: 2px; font-size: 19px; }
.hero-surgery-record b { color: #006ea2; font-size: 32px; line-height: 1; }
.hero-surgery-record small { display: block; margin-top: 7px; color: #526f7e; font-size: 11px; line-height: 1.5; }

.first-visit-summary {
    width: min(1120px, calc(100% - 40px));
    margin: 24px auto 0;
    padding: 28px 30px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 26px;
    border-radius: 18px;
    background: #f3fbfe;
    border: 1px solid #d5ebf4;
}

.first-visit-summary__eyebrow { margin: 0 0 3px; color: #0088c4; font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.first-visit-summary h2 { margin: 0; color: #133f54; font-size: clamp(21px, 2vw, 28px); }
.first-visit-summary p:not(.first-visit-summary__eyebrow) { margin: 8px 0 0; color: #486675; line-height: 1.75; }
.first-visit-summary__notice { padding: 14px 18px; display: flex; flex-direction: column; border-left: 3px solid #00a3df; background: #fff; }
.first-visit-summary__notice strong { color: #14516d; font-size: 14px; }
.first-visit-summary__notice span { margin-top: 4px; color: #c62828; font-weight: 900; white-space: nowrap; }
.first-visit-summary__button { padding: 15px 18px; display: inline-flex; align-items: center; gap: 12px; border-radius: 999px; background: #008fd1; color: #fff; font-weight: 800; text-decoration: none; white-space: nowrap; }
.contact-cutoff { color: #c62828 !important; font-weight: 900 !important; }

.mobile-quick-actions { display: none; }
.mobile-01 { display: none !important; }

.dx-notice {
    background: linear-gradient(180deg, #eef9fd 0%, #f8fcfe 100%);
}

.dx-notice__grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 24px;
}

.dx-notice__points dl {
    margin: 22px 0;
    border-top: 1px solid #d6e8f0;
}

.dx-notice__points dl div {
    padding: 15px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #d6e8f0;
}

.dx-notice__points dt { color: #345b6e; font-weight: 700; }
.dx-notice__points dd { margin: 0; color: #007eb8; font-size: 19px; font-weight: 900; }

.dx-notice__message {
    margin-top: 24px;
    padding: 22px 26px;
    border-left: 5px solid #00a3df;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(0, 93, 139, .08);
}

.dx-notice__message strong { color: #006e9f; font-size: 18px; }
.dx-notice__message p { margin: 8px 0 0; }

@media (max-width: 767px) {
    body { padding-bottom: 70px; }

    .hero-05 {
        padding-top: clamp(380px, 52vh, 500px);
    }

    .hero-06 {
        height: clamp(380px, 52vh, 500px);
    }

    .hero-08 { min-height: 380px; }

    .hero-09 {
        top: clamp(245px, 35vh, 340px);
    }

    .hero-13 {
        top: calc(clamp(380px, 52vh, 500px) - 38px);
    }

    .hero-surgery-record {
        top: 14px;
        right: 12px;
        min-width: 0;
        width: 205px;
        padding: 12px 14px;
        border-radius: 13px;
    }

    .hero-surgery-record strong { font-size: 15px; }
    .hero-surgery-record b { font-size: 26px; }
    .hero-surgery-record small { font-size: 10px; }

    .today-hours {
        margin: 12px 0 0;
        padding: 14px 15px;
        border: 2px solid #d7e9f2;
        border-radius: 16px;
        box-shadow: 0 12px 30px rgba(13, 62, 85, .1);
    }

    .today-hours__head {
        flex-direction: row;
        align-items: center;
        padding-bottom: 10px;
    }

    .today-hours__body { padding-block: 10px 2px; }
    .today-hours__row + .today-hours__row { margin-top: 8px; }
    .today-hours__session { padding: 6px; font-size: 12px; }
    .today-hours__time { font-size: 18px; }
    .today-hours__reception,
    .today-hours__contact,
    .today-hours__note { font-size: 11px; }
    .today-hours__link { display: none; }

    .trust-strip {
        width: calc(100% - 28px);
        margin-top: 16px;
        grid-template-columns: 1fr;
        border-radius: 14px;
    }

    .trust-strip--hero {
        position: static;
        width: 100%;
        margin: 12px 0 0;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        border-radius: 14px;
        box-shadow: 0 10px 28px rgba(0, 93, 139, .1);
    }

    .trust-strip--hero a {
        min-height: 58px;
        padding: 8px 5px;
    }

    .trust-strip--hero a + a {
        border-top: 0;
        border-left: 1px solid #dbeaf2;
    }

    .trust-strip--hero strong { font-size: 12px; }
    .trust-strip--hero span { font-size: 9px; line-height: 1.35; }

    .trust-strip a {
        min-height: 66px;
        padding: 12px 16px;
    }

    .trust-strip a + a {
        border-top: 1px solid #dbeaf2;
        border-left: 0;
    }

    .first-visit-summary {
        width: calc(100% - 28px);
        padding: 22px 18px;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .first-visit-summary__button { justify-content: center; white-space: normal; }

    .mobile-quick-actions {
        position: fixed;
        z-index: 1000;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        background: #fff;
        border-top: 1px solid #cfe2ec;
        box-shadow: 0 -10px 30px rgba(13, 62, 85, .13);
    }

    .mobile-quick-actions a {
        min-height: 66px;
        padding: 9px 5px 7px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: #164b64;
        text-decoration: none;
    }

    .mobile-quick-actions a:first-child {
        color: #fff;
        background: linear-gradient(135deg, #00a3df, #007eb8);
    }

    .mobile-quick-actions a:last-child {
        color: #006e9f;
        background: #fff;
    }

    .mobile-quick-actions a + a { border-left: 1px solid #dbeaf2; }
    .mobile-quick-actions strong { font-size: 14px; }
    .mobile-quick-actions span { margin-top: 2px; font-size: 10px; white-space: nowrap; }

    .dx-notice__grid { grid-template-columns: 1fr; }
    .dx-notice__message { padding: 18px; }
    .schedule-15 { font-size: 11px; }
}

/* 2026-08-27 calm first-view and compact mobile redesign */
.header-phone { display: none; }

.hero-05 {
    height: clamp(640px, calc(100svh - 112px), 780px);
    min-height: 640px;
}

.hero-08 {
    background: linear-gradient(90deg, rgba(5, 42, 62, .56) 0%, rgba(5, 42, 62, .2) 42%, rgba(5, 42, 62, .04) 72%),
                linear-gradient(0deg, rgba(4, 35, 54, .28), transparent 42%);
}

.hero-09 {
    top: 22%;
    left: clamp(32px, 5vw, 76px);
}

.hero-10,
.hero-11,
.hero-12 {
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
}

.hero-10 + .hero-10 { margin-top: 10px !important; }
.static-hero-copy-text {
    font-size: clamp(2.9rem, 5vw, 5.2rem) !important;
    line-height: 1.06 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-shadow: 0 3px 24px rgba(3, 28, 44, .5);
}

.hero-surgery-record {
    top: 40px;
    right: 42px;
    min-width: 250px;
    padding: 6px 0 6px 20px;
    border: 0;
    border-left: 3px solid rgba(255, 255, 255, .86);
    border-radius: 0;
    background: transparent;
    color: #fff;
    box-shadow: none;
    backdrop-filter: none;
    text-shadow: 0 2px 15px rgba(2, 27, 42, .65);
}
.hero-surgery-record > span,
.hero-surgery-record strong,
.hero-surgery-record b,
.hero-surgery-record small { color: #fff; }
.hero-surgery-record b { font-size: 40px; }

.trust-strip--hero {
    right: 40px;
    bottom: 36px;
    width: min(48vw, 650px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.trust-strip--hero a { min-height: 60px; padding: 8px 16px; color: #fff; text-shadow: 0 2px 12px rgba(1, 28, 45, .8); }
.trust-strip--hero a + a { border-left-color: rgba(255,255,255,.55); }
.trust-strip--hero strong,
.trust-strip--hero span { color: #fff; }

.today-hours {
    left: 36px;
    bottom: 34px;
    width: 360px;
    padding: 16px 18px;
    border: 0;
    border-left: 4px solid #1ba8df;
    border-radius: 10px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 38px rgba(3, 37, 56, .22);
}
.today-hours__body { padding-block: 12px 6px; }
.today-hours__link { margin-top: 5px; padding: 10px 14px; }

/* Clinic photos become a slim, continuously moving ribbon under the hero. */
.top-gallery {
    position: relative;
    z-index: 42;
    display: flex;
    flex-direction: column;
    margin-top: -44px;
    padding: 0 0 26px;
    background: transparent;
}
.top-gallery::after,
.top-gallery__word,
.top-gallery__petal,
.top-gallery__pagination,
.top-gallery__nav { display: none !important; }
.top-gallery__stage { order: 1; margin: 0; padding: 0; }
.top-gallery__head {
    order: 2;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 28px;
    width: min(1120px, calc(100% - 48px));
    margin: 18px auto 0;
    padding: 0;
    text-align: left;
}
.top-gallery__head h2 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.85rem); white-space: nowrap; }
.top-gallery__head p { margin: 0; font-size: .82rem; line-height: 1.7; }
.top-gallery__swiper { width: 100%; overflow: hidden; }
.top-gallery__swiper .swiper-wrapper { transition-timing-function: linear !important; }
.top-gallery__slide {
    width: clamp(220px, 19vw, 320px) !important;
    height: clamp(126px, 10vw, 170px) !important;
    border: 5px solid #fff;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(17, 70, 96, .13);
}
.top-gallery__slide img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }
.top-gallery + .top-news { margin-top: 0; padding-top: 42px; }

/* Bring news forward and keep first-visit guidance compact. */
.top-news { padding-bottom: 54px; }
.top-news + .first-visit-summary { margin-top: 0; }
.first-visit-summary {
    margin-top: 0;
    padding: 18px 24px;
    gap: 18px;
    border-radius: 14px;
    grid-template-columns: minmax(0, 1fr) auto auto;
}
.first-visit-summary p:not(.first-visit-summary__eyebrow) { margin-top: 4px; font-size: .86rem; line-height: 1.55; }
.first-visit-summary__notice { padding: 10px 14px; }
.first-visit-summary__button { padding: 12px 16px; }

/* Surgical results: fast number plus five-year visual evidence. */
.top-surgery-record {
    display: grid;
    grid-template-columns: .75fr .78fr 1fr 1.25fr;
    gap: clamp(22px, 3vw, 42px);
    max-width: 1280px;
    padding: clamp(28px, 3vw, 44px);
    text-align: left;
}
.top-surgery-record__number { margin: 0; border-inline: 1px solid #d7e9f2; }
.top-surgery-record__number strong { font-size: clamp(3.8rem, 6vw, 6.2rem); }
.top-surgery-record__message { margin: 0; padding: 0; border: 0; }
.top-surgery-chart { min-width: 0; }
.top-surgery-chart > p { margin: 0 0 18px; color: #164f73; font-size: .82rem; font-weight: 800; line-height: 1.55; }
.top-surgery-chart ol { height: 148px; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; align-items: end; list-style: none; }
.top-surgery-chart li { height: 100%; display: grid; grid-template-rows: auto 1fr auto; gap: 5px; align-items: end; text-align: center; }
.top-surgery-chart strong { color: #17658f; font-size: .7rem; }
.top-surgery-chart i { display: block; width: 100%; height: var(--bar); min-height: 18px; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg,#43b9ea,#0875b8); transform-origin: bottom; animation: surgeryBar .75s ease-out both; }
.top-surgery-chart span { color: #526b77; font-size: .65rem; white-space: nowrap; }
@keyframes surgeryBar { from { transform: scaleY(.08); opacity: .35; } to { transform: scaleY(1); opacity: 1; } }

/* Contact lenses: soft clinic palette and clear family reassurance. */
.top-contact-feature { padding-block: 58px; background: linear-gradient(180deg,#f3fbfe,#eaf7fb); }
.top-contact-feature__inner { max-width: 1180px; border-radius: 24px; }
.top-contact-feature__hero { min-height: 350px; grid-template-columns: .9fr 1.1fr; }
.top-contact-feature__intro { padding: clamp(32px,4vw,54px); }
.top-contact-feature__intro h2 { margin-top: 18px; font-size: clamp(2.2rem,4.2vw,4rem); letter-spacing: .02em; }
.top-contact-feature__lead { margin-top: 22px; padding-top: 18px; font-size: 1rem; line-height: 1.8; }
.top-contact-feature__photo { min-height: 350px; background: radial-gradient(circle at 58% 46%,#fff 0,#edfaff 58%,#dff2f8 100%); }
.top-contact-feature__photo img { object-fit: contain; object-position: center bottom; }
.top-contact-feature__grid { grid-template-columns: .9fr .9fr 1.2fr; }
.top-contact-info { padding: 26px 24px; }
.top-contact-info__icon { width: 52px; height: 52px; margin-bottom: 12px; font-size: 1.35rem; }
.top-contact-info h3 { font-size: 1.05rem; }
.top-contact-info p { font-size: .82rem; line-height: 1.65; }
.top-contact-info--hours { margin: 16px; padding: 20px; }
.top-contact-hours { margin: 14px 0 10px; }
.top-contact-hours strong { font-size: 1.75rem; }

/* Shorter mobile flow, compact access and notices. */
.schedule-16,
.schedule-25,
.is-closed { color: #c62828 !important; font-weight: 900 !important; }
.top-access__image img,
.top-schedule__image img { object-fit: contain; transform: scale(.92); background: #edf7fb; }
.top-recruit-link { padding: 58px 24px; background: #eef8fc; }
.top-recruit-link > div { max-width: 1120px; margin: 0 auto; padding: 38px 44px; border-radius: 24px; background: linear-gradient(135deg,#075ca5,#008fd1); color:#fff; }
.top-recruit-link span { font-size: .75rem; font-weight: 900; letter-spacing: .2em; opacity: .7; }
.top-recruit-link h2 { margin: 10px 0 0; color:#fff; font-size: clamp(1.6rem,3vw,2.6rem); }
.top-recruit-link p { margin: 10px 0 0; }
.top-recruit-link a { display: inline-flex; margin-top: 20px; padding: 12px 20px; border-radius: 999px; background:#fff; color:#075ca5; text-decoration:none; font-weight:900; }

.scroll-hint { display: none; }
.section-reveal { opacity: 0; transform: translateY(12px); transition: opacity .4s ease, transform .4s ease; }
.section-reveal.is-revealed { opacity: 1; transform: none; }
.doctor-history ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid #d8e8ef; }
.doctor-history li { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding: 16px 10px; border-bottom: 1px solid #d8e8ef; }
.doctor-history time { color:#0875b8; font-weight:900; }
.doctor-history span { color:#294f61; font-weight:700; }
.doctor-history__note,.medical-reference { margin-top:18px; color:#6b7f89; font-size:.78rem; line-height:1.7; }
.site-footer__area { margin-top: 16px !important; font-size: .76rem !important; line-height: 1.7 !important; opacity: .84; }
.site-footer__related { margin-top: 12px !important; }
.site-footer__related a { color:#fff; text-underline-offset:4px; }
.site-footer__family-clinic {
    width: min(100%, 310px);
    margin-top: 20px;
    padding: 16px 18px;
    display: grid;
    gap: 3px;
    border: 1px solid rgba(255,255,255,.36);
    border-radius: 14px;
    background: rgba(255,255,255,.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.site-footer__family-clinic span { color:#bcecff; font-size:.62rem; font-weight:900; letter-spacing:.18em; }
.site-footer__family-clinic strong { color:#fff; font-size:1rem; }
.site-footer__family-clinic small { color:rgba(255,255,255,.74); font-size:.7rem; }
.site-footer__family-clinic a { margin-top:8px; color:#fff; font-size:.76rem; font-weight:900; text-decoration:none; }
.site-footer__family-clinic a b { margin-left:4px; color:#bcecff; }
.lower-article--link {
    color: inherit;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.lower-article--link:hover {
    transform: translateY(-2px);
    border-color: #9dd8ee;
    box-shadow: 0 12px 28px rgba(16,91,126,.1);
}

@media (max-width: 1100px) {
    .top-surgery-record { grid-template-columns: 1fr 1fr; }
    .top-surgery-record__number { border-right: 0; }
}

@media (max-width: 767px) {
    body { padding-bottom: 94px; }
    .header-16 { display: flex; align-items: center; gap: 8px; }
    .header-06 { min-width: 0; flex: 1 1 auto; }
    .header-logo-image { max-width: 100%; }
    .header-phone {
        display: grid;
        place-items: center;
        min-width: 108px;
        height: 42px;
        padding: 0 10px;
        border-radius: 999px;
        background: #078bc7;
        color: #fff;
        font-size: 0;
        font-weight: 900;
        text-decoration: none;
        box-shadow: 0 5px 14px rgba(0,126,184,.22);
    }
    .header-phone::before {
        content: "0942-83-5870";
        font-size: 12px;
        line-height: 1;
        letter-spacing: .02em;
        white-space: nowrap;
    }
    .header-18 { width: 42px; }

    @media (max-width: 359px) {
        .header-phone { min-width: 96px; padding-inline: 7px; }
        .header-phone::before { font-size: 11px; letter-spacing: 0; }
    }

    .hero-01 { padding-bottom: 0; }
    .hero-05 { height: auto; min-height: 0; padding-top: clamp(310px, 43svh, 380px); }
    .hero-06 { height: clamp(310px, 43svh, 380px); }
    .hero-08 { min-height: 310px; background: linear-gradient(90deg,rgba(4,43,64,.46),rgba(4,43,64,.03) 80%),linear-gradient(0deg,rgba(4,35,52,.32),transparent 48%); }
    .hero-09 { top: clamp(188px, 26svh, 238px); left: 24px; }
    .static-hero-copy-text { font-size: clamp(1.8rem,9vw,2.55rem) !important; letter-spacing:.06em !important; }
    .hero-10 + .hero-10 { margin-top: 4px !important; }
    .hero-surgery-record { top: 16px; right: 12px; width:auto; min-width:0; padding:3px 0 3px 10px; }
    .hero-surgery-record > span { font-size:9px; }
    .hero-surgery-record strong { font-size:13px; }
    .hero-surgery-record b { font-size:24px; }
    .hero-surgery-record small { margin-top:3px; font-size:8px; line-height:1.35; }
    .hero-13 { top: calc(clamp(310px, 43svh, 380px) - 27px); }

    .today-hours { position: static; width:auto; margin:10px 0 0; padding:11px 12px; border-left-width:3px; border-radius:10px; }
    .today-hours__head { padding-bottom:7px; }
    .today-hours__body { padding-block:7px 0; }
    .today-hours__row { grid-template-columns:48px 1fr; gap:2px 8px; }
    .today-hours__row + .today-hours__row { margin-top:5px; }
    .today-hours__session { padding:5px; font-size:11px; }
    .today-hours__time { font-size:16px; }
    .today-hours__reception,.today-hours__contact,.today-hours__note { font-size:10px; line-height:1.4; }
    .today-hours__note { margin-top:6px; }
    .trust-strip--hero { position: static; width:100%; margin-top:8px; padding:0 4px; background:#f4fbfe; border-radius:10px; }
    .trust-strip--hero a { min-height:46px; padding:6px 4px; text-shadow:none; }
    .trust-strip--hero strong { color:#0875b8; font-size:10px; }
    .trust-strip--hero span { color:#526f7e; font-size:8px; }
    .trust-strip--hero a + a { border-left-color:#dbeaf2; }

    .top-gallery { margin-top:-18px; padding-bottom:16px; }
    .top-gallery__slide { width:138px !important; height:88px !important; border-width:3px; border-radius:8px; }
    .top-gallery__head { display:block; width:calc(100% - 32px); margin-top:12px; }
    .top-gallery__head h2 { font-size:1.05rem; }
    .top-gallery__head p { margin-top:3px; font-size:.7rem; line-height:1.55; }
    .top-gallery__head p br { display:none; }
    .top-gallery + .top-news { padding-top:24px; padding-bottom:30px; }
    .top-news__inner { gap:18px; padding-inline:16px; }
    .top-news__title { font-size:2.25rem; }
    .top-news__subtitle { margin-top:4px; font-size:.84rem; }
    .top-news__block-head h3 { font-size:1.05rem; }
    .top-notice-list { margin-top:12px; }
    .top-notice-row { gap:4px 8px; padding-block:10px; }
    .top-notice-row__category { padding:4px 8px; font-size:.65rem; }
    .top-notice-row time { font-size:.72rem; }
    .top-notice-row strong { font-size:.82rem; line-height:1.45; }
    .top-notice-row__arrow { width:32px; height:32px; }

    .first-visit-summary { width:calc(100% - 28px); padding:15px; grid-template-columns:1fr 1fr; gap:10px; }
    .first-visit-summary > div:first-child { grid-column:1 / -1; }
    .first-visit-summary h2 { font-size:1.1rem; }
    .first-visit-summary p:not(.first-visit-summary__eyebrow) { font-size:.72rem; line-height:1.5; }
    .first-visit-summary__notice { padding:9px; }
    .first-visit-summary__notice strong { font-size:.7rem; }
    .first-visit-summary__notice span { font-size:.72rem; white-space:normal; }
    .first-visit-summary__button { padding:10px; font-size:.75rem; text-align:center; }

    .top-surgery-record { grid-template-columns:1fr 1fr; gap:16px; padding:22px 16px; text-align:left; }
    .top-surgery-record__number { margin:0; padding:0; border:0; justify-content:flex-start; }
    .top-surgery-record__number strong { font-size:3.8rem; }
    .top-surgery-record__message { grid-column:1 / -1; }
    .top-surgery-chart { grid-column:1 / -1; }
    .top-surgery-chart ol { height:118px; }

    .top-contact-feature { padding:38px 14px; }
    .top-contact-feature__inner { border-radius:18px; }
    .top-contact-feature__hero { display:flex; flex-direction:column; min-height:0; }
    .top-contact-feature__photo { order:-1; height:205px; min-height:0; }
    .top-contact-feature__intro { padding:22px 20px; }
    .top-contact-feature__label { padding:7px 14px; font-size:.72rem; }
    .top-contact-feature__intro h2 { margin-top:12px; font-size:2rem; }
    .top-contact-feature__lead { margin-top:14px; padding-top:12px; font-size:.83rem; line-height:1.65; }
    .top-contact-feature__grid { grid-template-columns:1fr 1fr; }
    .top-contact-info { padding:18px 10px; }
    .top-contact-info + .top-contact-info { border-top:0; }
    .top-contact-info:nth-child(2) { border-left:1px dashed #b9d3df; }
    .top-contact-info__icon { width:42px; height:42px; margin-bottom:8px; font-size:1.1rem; }
    .top-contact-info h3 { font-size:.78rem; }
    .top-contact-info p { font-size:.68rem; }
    .top-contact-info--hours { grid-column:1 / -1; margin:10px; padding:15px; }
    .top-contact-info__hours-title > span { font-size:1.8rem; }
    .top-contact-info__hours-title h3 { font-size:.82rem; }
    .top-contact-hours strong { font-size:1.45rem; }
    .top-contact-feature__footer { padding:18px 15px; }

    .top-flow { padding-block:48px; }
    .top-flow__head h2 { font-size:1.55rem; }
    .top-flow__head p { margin-top:12px; font-size:.76rem; line-height:1.55; }
    .top-flow__list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; margin-top:24px; }
    .top-flow__icon { width:96px; }
    .top-flow__title { gap:6px; margin-top:8px; padding-bottom:8px; }
    .top-flow__title span { width:25px; height:25px; font-size:.78rem; }
    .top-flow__title h3 { font-size:.88rem; white-space:normal; }
    .top-flow__item p { margin-top:7px; font-size:.67rem; line-height:1.5; }

    .top-access__map-grid { gap:12px; }
    .top-access__map { min-height:220px; }
    .top-access__info dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .top-access__info dl div { display:block; min-width:0; padding:10px; border:1px solid #d8e8ef; border-radius:10px; }
    .top-access__info dt { margin-bottom:5px; font-size:.72rem; }
    .top-access__info dd { font-size:.7rem; line-height:1.5; word-break:break-word; }
    .top-quick-access dl { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
    .top-quick-access dl div { padding:8px; }

    .scroll-hint { display:flex; align-items:center; justify-content:flex-end; gap:6px; margin:0 0 6px; color:#0875b8; font-size:.68rem; font-weight:800; transition:opacity .3s ease; }
    .scroll-hint b { animation:scrollHint 1.4s ease-in-out infinite alternate; }
    .scroll-hint.is-used { opacity:0; }
    @keyframes scrollHint { to { transform:translateX(5px); } }

    .mobile-quick-actions { right:10px; bottom:max(10px,env(safe-area-inset-bottom)); left:10px; gap:8px; border:0; background:transparent; box-shadow:none; }
    .mobile-quick-actions::before { content:"お気軽にご相談ください"; position:absolute; right:8px; bottom:calc(100% + 6px); padding:5px 10px; border-radius:10px 10px 2px 10px; background:#164b64; color:#fff; font-size:10px; font-weight:800; box-shadow:0 5px 16px rgba(13,62,85,.2); }
    .mobile-quick-actions a { min-height:58px; border-radius:14px; box-shadow:0 7px 22px rgba(13,62,85,.18); }
    .mobile-quick-actions a + a { border-left:0; }

    .site-footer__nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .site-footer__area { font-size:.68rem !important; }
    .top-recruit-link { padding:34px 14px; }
    .top-recruit-link > div { padding:26px 20px; border-radius:18px; }
    .top-recruit-link h2 { font-size:1.4rem; }
    .doctor-history li { grid-template-columns:92px 1fr; gap:10px; padding:12px 4px; font-size:.78rem; }
}

@media (prefers-reduced-motion: reduce) {
    .section-reveal { opacity:1; transform:none; transition:none; }
    .top-surgery-chart i,.scroll-hint b { animation:none; }
}

/* Mobile overview: show the essentials first and move details to linked pages. */
@media (max-width: 767px) {
    body.medical-dx-page .sub-hero { height:auto !important; min-height:0 !important; padding-block:34px !important; }
    .medical-dx-page .sub-hero h1 { font-size:1.25rem; line-height:1.5; }
    .medical-dx-page .sub-hero p { font-size:.72rem; }
    .schedule-01 .top-quick-access { display:none; }
    .schedule-01 .top-after-column-grid { grid-template-columns:1fr; }
    .schedule-01 { padding-block:42px; }

    .top-specialty { padding-block:46px; }
    .top-specialty .news-02 { width:calc(100% - 20px); }
    .top-specialty__cards {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        margin-top:22px;
    }
    .top-specialty-card { min-width:0; padding:12px; border-radius:15px; }
    .top-specialty-card__label { padding:5px 9px; font-size:.6rem; }
    .top-specialty-card h3 { margin-top:8px; font-size:.95rem; line-height:1.45; }
    .top-specialty-card__photo { margin-top:10px; }
    .top-specialty-card__photo img { height:112px; border-radius:10px; }
    .top-specialty-card__data,
    .top-specialty-card__text,
    .top-specialty-card__note { display:none; }
    .top-specialty-card__button { margin-top:11px; padding:9px 10px; font-size:.68rem; }

    .services-01 { padding-block:48px; }
    .services-02 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .services-03 { min-height:156px; padding:16px 12px; }
    .services-04 { margin-bottom:10px; }
    .services-04 svg { width:30px; height:30px; }
    .services-05 { margin-bottom:9px; font-size:.78rem; line-height:1.4; }
    .services-06 { font-size:.66rem; }

    .feature-01 { padding-block:48px; }
    .feature-05 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .feature-06 { min-width:0; }
    .feature-07 { height:112px; }
    .feature-07 img { width:100%; height:100%; object-fit:cover; }
    .feature-09 { margin-top:9px; font-size:.76rem; line-height:1.4; }
    .feature-11 { margin-top:6px; font-size:.64rem; line-height:1.5; }

    .top-director { padding-block:48px; }
    .top-director__grid { gap:22px; }
    .top-director__photo--mobile { margin-top:16px; }
    .top-director__photo img { height:260px; object-position:center 18%; }
    .top-director__name h2 { font-size:2rem; }
    .top-director__lead { font-size:1.12rem; }
    .top-director__message { line-height:1.65; }
    .top-director__history { padding:15px; }

    .top-access { padding-block:48px; gap:16px; }
    .top-access__panel { padding:18px 14px; border-radius:18px; }
    .top-access__image { height:155px; }
    .top-access__hours { padding-top:16px; }
    .top-access__map-grid { margin-top:14px; }
}

/* Reservation-free care, philosophy, facility standards and payment guidance. */
.global-walkin-banner {
    width:min(1180px,calc(100% - 32px));
    margin:18px auto 0;
    padding:12px 18px;
    display:flex;
    align-items:center;
    gap:14px;
    border:1px solid #b9dfec;
    border-radius:12px;
    background:linear-gradient(90deg,#eaf8fd,#f6fcff);
    color:#284f62;
}
.global-walkin-banner strong { color:#0875b8; font-size:.95rem; white-space:nowrap; }
.global-walkin-banner span { flex:1; font-size:.76rem; line-height:1.6; }
.global-walkin-banner a { padding:8px 13px; border-radius:999px; background:#0875b8; color:#fff; font-size:.72rem; font-weight:900; text-decoration:none; white-space:nowrap; }
.menu-walkin { margin:0 20px 14px; padding:12px; border-radius:12px; background:rgba(255,255,255,.14); color:#fff; text-align:center; }
.menu-walkin strong,.menu-walkin span { display:block; }
.menu-walkin span { margin-top:3px; font-size:.7rem; opacity:.8; }
.site-footer__walkin { width:min(100%,310px); margin:16px 0 0 !important; padding:12px 14px; border-left:3px solid #bcecff; background:rgba(255,255,255,.08); }
.site-footer__walkin strong,.site-footer__walkin span { display:block; color:#fff; }
.site-footer__walkin strong { font-size:.88rem; }
.site-footer__walkin span { margin-top:2px; font-size:.7rem; opacity:.76; }
.walkin-benefit { margin:0 0 28px; padding:28px 32px; border-radius:18px; background:linear-gradient(135deg,#0875b8,#0ba5d8); color:#fff; }
.walkin-benefit span { font-size:.65rem; font-weight:900; letter-spacing:.18em; opacity:.7; }
.walkin-benefit h2 { margin:7px 0 0; color:#fff; font-size:clamp(1.4rem,3vw,2rem); }
.walkin-benefit p { margin:10px 0 0; line-height:1.8; }
.payment-card { border-color:#a9dbea !important; background:#f2fbfe !important; }
.payment-card h3::before { content:"¥"; display:inline-grid; place-items:center; width:28px; height:28px; margin-right:8px; border-radius:50%; background:#0875b8; color:#fff; font-size:.8rem; }
.top-concept__philosophy-link { display:flex; align-items:center; justify-content:center; gap:12px; width:max-content; max-width:calc(100% - 32px); margin:34px auto 0; padding:13px 22px; border:1px solid #83cbe5; border-radius:999px; color:#0875b8; background:#fff; font-weight:900; text-decoration:none; }

.philosophy-intro__grid { display:grid; grid-template-columns:minmax(260px,.72fr) 1.28fr; gap:clamp(34px,6vw,80px); align-items:center; }
.philosophy-symbol { display:grid; place-items:center; overflow:visible; aspect-ratio:998 / 285; padding:clamp(22px,4vw,38px); border:1px solid #d7edf5; border-radius:24px; background:#fff; box-shadow:0 20px 55px rgba(22,105,145,.12); }
.philosophy-symbol img { display:block; width:100%; max-width:100%; height:auto; object-fit:contain; object-position:center; }
.philosophy-intro h2 { margin:8px 0 18px; color:#075ca5; font-size:clamp(1.8rem,4vw,3rem); }
.philosophy-lead { font-size:1.05rem; font-weight:800; line-height:2; }
.philosophy-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:34px; }
.philosophy-value { padding:28px 22px; border:1px solid #d7eaf2; border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(27,89,117,.07); }
.philosophy-value > span { display:block; width:54px; height:54px; border-radius:50%; box-shadow:0 0 0 8px color-mix(in srgb,currentColor 14%,transparent); background:currentColor; }
.philosophy-value > p:first-of-type { margin:20px 0 0; color:#6b7e87; font-size:.72rem; font-weight:800; }
.philosophy-value h3 { margin:3px 0 10px; font-size:1.65rem; }
.philosophy-value > p:last-child { margin:0; color:#435f6d; font-size:.8rem; line-height:1.75; }
.philosophy-value--blue { color:#00a7ea; }.philosophy-value--green { color:#7ebf41; }.philosophy-value--pink { color:#ec7aac; }.philosophy-value--orange { color:#f08300; }
.philosophy-message { text-align:center; }
body.philosophy-page-body .sub-hero { height:auto !important; min-height:0 !important; padding-block:58px !important; background:#eef9fd !important; }
body.philosophy-page-body .sub-hero::after { display:none !important; }
body.philosophy-page-body .sub-hero .sub-container { position:relative; z-index:1; }
body.facility-standards-page .sub-hero { height:300px !important; min-height:300px !important; }

/* Detailed condition and treatment pages */
.condition-page .sub-hero { height:auto !important; min-height:0 !important; padding-block:54px !important; }
.condition-page .sub-hero::after { display:none !important; }
.condition-page .sub-hero .sub-container { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,430px); gap:clamp(34px,6vw,76px); align-items:center; position:relative; z-index:1; }
.condition-hero-copy .sub-kicker { margin:0 0 12px; color:#078fc8; font-size:.76rem; font-weight:900; letter-spacing:.2em; opacity:1; }
.condition-hero-copy h1 { margin:0; color:#164b64; font-size:clamp(2.1rem,4.5vw,3.8rem); font-weight:900; letter-spacing:.03em; line-height:1.35; }
.condition-hero-copy > p:last-child { max-width:620px; margin:16px 0 0; color:#3f6070; font-size:1rem; line-height:1.9; }
.recruit-page .sub-hero { height:auto !important; min-height:0 !important; padding-block:54px !important; }
.recruit-page .sub-hero::after { display:none !important; }
.recruit-page .sub-hero .sub-container { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,430px); gap:clamp(34px,6vw,76px); align-items:center; position:relative; z-index:1; }
.condition-hero-photo { height:270px; margin:0; overflow:hidden; border:8px solid rgba(255,255,255,.72); border-radius:28px; background:#dceff5; box-shadow:0 20px 45px rgba(19,96,132,.14); }
.condition-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.condition-rich { padding-block:82px; background:#fff; }
.condition-rich__head { max-width:760px; margin:0 auto 34px; text-align:center; }
.condition-rich__head h2 { margin:6px 0 12px; color:#0b5f84; font-size:clamp(1.7rem,3.5vw,2.7rem); line-height:1.45; }
.condition-rich__head > p:last-child { color:#5b7583; line-height:1.8; }
.condition-rich__overview { max-width:940px; margin:0 auto 34px; padding:28px 32px; border-left:4px solid #23a8d6; border-radius:0 18px 18px 0; background:#f3fbfd; }
.condition-rich__overview p { margin:0; color:#294f62; font-size:.96rem; line-height:2; }
.condition-rich__overview p + p { margin-top:12px; }
.condition-rich__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.condition-rich__grid article { padding:30px; border:1px solid #d7ebf3; border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(24,102,136,.06); }
.condition-rich__grid article > span { display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#e7f7fc; color:#078fc8; font-size:.72rem; font-weight:900; }
.condition-rich__grid h3 { margin:16px 0 14px; color:#0b5f84; font-size:1.22rem; }
.condition-rich__grid ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.condition-rich__grid li { position:relative; padding-left:20px; color:#36596a; font-size:.88rem; line-height:1.8; }
.condition-rich__grid li::before { content:""; position:absolute; left:0; top:.68em; width:7px; height:7px; border-radius:50%; background:#26abd8; }
.condition-rich__alert { display:grid; grid-template-columns:220px 1fr; gap:24px; align-items:start; margin-top:22px; padding:24px 28px; border:1px solid #f2d5d5; border-radius:18px; background:#fff8f7; }
.condition-rich__alert strong { color:#c83434; font-size:.95rem; }
.condition-rich__alert p { margin:0; color:#634747; font-size:.86rem; line-height:1.8; }
.condition-rich__related { margin-top:34px; padding-top:28px; border-top:1px solid #dcecf2; }
.condition-rich__related h3 { margin:0 0 15px; color:#315668; font-size:1rem; }
.condition-rich__related > div { display:flex; flex-wrap:wrap; gap:10px; }
.condition-rich__related a { display:flex; align-items:center; justify-content:space-between; gap:24px; min-width:250px; padding:13px 17px; border:1px solid #b9dfec; border-radius:12px; color:#0878b4; background:#fff; font-size:.82rem; font-weight:900; text-decoration:none; }
.condition-rich__note { margin:24px 0 0; color:#6b818c; font-size:.7rem; line-height:1.75; }
.document-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,390px); gap:clamp(32px,5vw,68px); align-items:center; position:relative; z-index:2; }
.document-hero-photo { height:210px; margin:0; overflow:hidden; border:7px solid rgba(255,255,255,.76); border-radius:24px; background:#dceef4; box-shadow:0 18px 42px rgba(20,89,118,.13); }
.document-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; }

.facility-index { padding-block:42px; }
.facility-summary { padding:24px 28px; border-left:4px solid #0875b8; border-radius:12px; background:#eef9fd; }
.facility-summary strong { color:#075ca5; font-size:1.2rem; }
.facility-summary p { margin:7px 0 0; line-height:1.75; }
.facility-index nav { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.facility-index nav a { padding:9px 14px; border:1px solid #b9ddeb; border-radius:999px; color:#0875b8; background:#fff; font-size:.75rem; font-weight:900; text-decoration:none; }
.facility-sections .sub-container { display:grid; gap:18px; }
.facility-item { scroll-margin-top:110px; padding:30px 34px; border:1px solid #d5e8f0; border-radius:18px; background:#fff; }
.facility-item h2 { margin:6px 0 14px; color:#075ca5; font-size:1.4rem; }
.facility-item p { line-height:1.85; }
.facility-item .lower-button { margin-top:18px; }
.facility-facts { margin:18px 0; border:1px solid #cfe5ef; border-radius:12px; overflow:hidden; }
.facility-facts div { display:grid; grid-template-columns:minmax(190px, .8fr) 1.6fr; }
.facility-facts div + div { border-top:1px solid #dcecf3; }
.facility-facts dt,.facility-facts dd { margin:0; padding:14px 18px; line-height:1.65; }
.facility-facts dt { color:#075ca5; background:#eef8fc; font-weight:700; }
.medical-disclosure { padding:30px 34px; border:1px solid #a9d7e9; border-radius:20px; background:#f7fcfe; }
.medical-disclosure h2 { margin:6px 0 20px; color:#075ca5; font-size:1.45rem; }
.medical-disclosure__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.medical-disclosure__grid article { padding:20px; border:1px solid #d5e8f0; border-radius:14px; background:#fff; }
.medical-disclosure__grid h3 { margin:0 0 10px; color:#0875b8; font-size:1.05rem; }
.medical-disclosure__grid p { margin:0; line-height:1.85; }
.medical-disclosure__notice { margin:18px 0 0; padding:14px 16px; border-left:3px solid #d26a57; background:#fff7f5; color:#75443b; line-height:1.7; }
.facility-updated { color:#6b7f89; font-size:.72rem; text-align:right; }

@media (max-width:767px) {
    .global-walkin-banner { width:calc(100% - 20px); margin-top:10px; padding:10px 12px; display:grid; grid-template-columns:1fr auto; gap:3px 8px; }
    .global-walkin-banner strong { font-size:.8rem; }
    .global-walkin-banner span { grid-column:1 / -1; grid-row:2; font-size:.62rem; }
    .global-walkin-banner a { grid-column:2; grid-row:1; padding:7px 9px; font-size:.62rem; }
    .walkin-benefit { padding:20px 18px; }
    .walkin-benefit p { font-size:.76rem; line-height:1.7; }
    .top-concept__philosophy-link { margin-top:22px; padding:11px 16px; font-size:.72rem; }
    .philosophy-intro__grid { grid-template-columns:1fr; gap:26px; }
    .philosophy-symbol { width:min(100%,360px); margin:auto; padding:20px; }
    .condition-page .sub-hero { padding-block:34px !important; }
    .condition-page .sub-hero .sub-container { grid-template-columns:1fr; gap:24px; }
    .condition-hero-copy h1 { font-size:2rem; }
    .condition-hero-copy > p:last-child { font-size:.84rem; }
    .recruit-page .sub-hero { padding-block:34px !important; }
    .recruit-page .sub-hero .sub-container { grid-template-columns:1fr; gap:24px; }
    .condition-hero-photo { height:210px; border-width:5px; border-radius:20px; }
    .condition-rich { padding-block:54px; }
    .condition-rich__head { margin-bottom:24px; text-align:left; }
    .condition-rich__overview { margin-bottom:20px; padding:20px 18px; }
    .condition-rich__overview p { font-size:.84rem; line-height:1.9; }
    .condition-rich__grid { grid-template-columns:1fr; gap:12px; }
    .condition-rich__grid article { padding:22px 18px; }
    .condition-rich__grid li { font-size:.8rem; }
    .condition-rich__alert { grid-template-columns:1fr; gap:8px; padding:19px 18px; }
    .condition-rich__related a { width:100%; min-width:0; }
    .document-hero-grid { grid-template-columns:1fr; gap:22px; }
    .document-hero-photo { height:190px; border-width:5px; border-radius:18px; }
    .philosophy-values { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .philosophy-value { padding:18px 14px; }
    .philosophy-value > span { width:38px; height:38px; }
    .philosophy-value > p:first-of-type { margin-top:14px; font-size:.62rem; }
    .philosophy-value h3 { font-size:1.25rem; }
    .philosophy-value > p:last-child { font-size:.68rem; }
    body.facility-standards-page .sub-hero,
    body.philosophy-page-body .sub-hero { height:auto !important; min-height:0 !important; padding-block:38px !important; }
    .facility-summary { padding:18px; }
    .facility-index nav { gap:6px; }
    .facility-index nav a { padding:7px 10px; font-size:.64rem; }
    .facility-item { padding:22px 18px; }
    .facility-item h2 { font-size:1.1rem; }
    .facility-item p,.facility-item li { font-size:.76rem; }
    .facility-facts div { grid-template-columns:1fr; }
    .facility-facts dd { padding-top:8px; }
    .medical-disclosure { padding:22px 18px; }
    .medical-disclosure h2 { font-size:1.15rem; }
    .medical-disclosure__grid { grid-template-columns:1fr; }
    .medical-disclosure__grid p,.medical-disclosure__notice { font-size:.76rem; }
}

/* Privacy policy */
body.privacy-page-body .sub-hero {
    height:300px !important;
    min-height:300px !important;
    background:linear-gradient(135deg,#eef9fd 0%,#f8fcff 54%,#e9f6fb 100%);
}
.privacy-hero .sub-container { position:relative; z-index:2; }
.privacy-hero h1 { color:#164b64; }
.privacy-intro { padding-block:52px; }
.privacy-draft-note {
    padding:20px 24px;
    border:1px solid #f0d59a;
    border-left:5px solid #e49b24;
    border-radius:14px;
    background:#fffaf0;
    color:#72552e;
}
.privacy-draft-note strong { color:#a55c00; font-size:1rem; }
.privacy-draft-note p { margin:7px 0 0; font-size:.78rem; line-height:1.75; }
.privacy-lead { max-width:960px; margin:34px auto 0; color:#345969; font-size:1rem; line-height:2; }
.privacy-lead p { margin:0; }
.privacy-lead p + p { margin-top:14px; }
.privacy-policy-section { padding-block:68px; }
.privacy-policy-list { display:grid; gap:16px; }
.privacy-item {
    scroll-margin-top:110px;
    padding:30px 34px;
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:22px;
    border:1px solid #d8eaf1;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 28px rgba(17,82,111,.05);
}
.privacy-item > span {
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e8f7fc;
    color:#0787c1;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.06em;
}
.privacy-item h2 { margin:4px 0 14px; color:#075ca5; font-size:1.4rem; }
.privacy-item h3 { margin:0 0 10px; color:#164b64; font-size:1rem; }
.privacy-item p { margin:0; color:#3f5f6e; line-height:1.85; }
.privacy-item p + p { margin-top:12px; }
.privacy-item ul { margin:0; padding-left:1.2em; color:#3f5f6e; }
.privacy-item li { line-height:1.75; }
.privacy-item li + li { margin-top:5px; }
.privacy-purpose-grid { margin-top:22px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.privacy-purpose-grid section { padding:20px; border-radius:14px; background:#f3fafc; }
.privacy-purpose-grid section:nth-child(2) { background:#eef8fd; }
.privacy-consent-note { margin-top:18px; padding:16px 18px; border-left:4px solid #16a2d8; border-radius:9px; background:#eef9fd; }
.privacy-consent-note p { font-size:.82rem; }
.privacy-contact { padding-block:58px 76px; }
.privacy-contact__panel { padding:34px 38px; display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; border-radius:22px; background:linear-gradient(135deg,#075ca5,#0798cb); color:#fff; }
.privacy-contact__panel h2 { margin:7px 0 0; color:#fff; font-size:clamp(1.5rem,3vw,2.25rem); }
.privacy-contact__panel p:not(.sub-kicker) { margin:10px 0 0; font-size:.84rem; line-height:1.75; opacity:.88; }
.privacy-contact__panel address { padding:22px 24px; display:grid; gap:6px; border-radius:16px; background:rgba(255,255,255,.12); font-style:normal; }
.privacy-contact__panel address strong { font-size:1.1rem; }
.privacy-contact__panel address span { font-size:.76rem; opacity:.84; }
.privacy-contact__panel address a { margin-top:5px; color:#fff; font-size:1.35rem; font-weight:900; text-decoration:none; }
.privacy-updated { margin:14px 0 0; color:#758993; font-size:.7rem; text-align:right; }

@media (max-width:767px) {
    body.privacy-page-body .sub-hero { height:auto !important; min-height:0 !important; padding-block:38px !important; }
    .privacy-hero .sub-title { font-size:34px !important; letter-spacing:.01em !important; white-space:nowrap; }
    .privacy-intro { padding-block:34px; }
    .privacy-draft-note { padding:16px; }
    .privacy-draft-note strong { font-size:.9rem; }
    .privacy-draft-note p { font-size:.68rem; line-height:1.65; }
    .privacy-lead { margin-top:24px; font-size:.78rem; line-height:1.85; }
    .privacy-policy-section { padding-block:42px; }
    .privacy-policy-list { gap:11px; }
    .privacy-item { padding:20px 16px; grid-template-columns:38px minmax(0,1fr); gap:10px; border-radius:14px; }
    .privacy-item > span { width:36px; height:36px; font-size:.62rem; }
    .privacy-item h2 { margin:3px 0 10px; font-size:1.05rem; line-height:1.5; }
    .privacy-item h3 { font-size:.82rem; }
    .privacy-item p,.privacy-item li { font-size:.72rem; line-height:1.75; }
    .privacy-purpose-grid { grid-template-columns:1fr; gap:9px; margin-top:15px; }
    .privacy-purpose-grid section { padding:14px; }
    .privacy-consent-note { padding:13px; }
    .privacy-consent-note p { font-size:.68rem; }
    .privacy-contact { padding-block:38px 50px; }
    .privacy-contact__panel { padding:22px 18px; grid-template-columns:1fr; gap:16px; border-radius:17px; }
    .privacy-contact__panel p:not(.sub-kicker) { font-size:.72rem; }
    .privacy-contact__panel address { padding:16px; }
    .privacy-contact__panel address a { font-size:1.15rem; }
}

/* 2026-08-27 final information hierarchy, payment and contact refinements */
.header-contact-cta {
    min-width: 285px;
    padding: 8px 16px;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "label phone" "label address";
    column-gap: 12px;
    align-items: center;
    border: 1px solid #b9deec;
    border-radius: 999px;
    background: linear-gradient(135deg,#f7fdff,#eaf8fd);
    color: #164b64;
    text-align: left;
    text-decoration: none;
    box-shadow: 0 7px 20px rgba(15,105,145,.08);
}
.header-contact-cta__label { grid-area:label; color:#0875b8; font-size:.57rem; line-height:1.45; font-weight:900; letter-spacing:.06em; white-space:nowrap; }
.header-contact-cta__phone { grid-area:phone; display:flex; align-items:center; gap:6px; color:#164b64; white-space:nowrap; }
.header-contact-cta__phone b { color:#0875b8; font-size:1.08rem; line-height:1; }
.header-contact-cta__phone strong { font-size:1.3rem; line-height:1.1; letter-spacing:.025em; }
.header-contact-cta small { grid-area:address; margin-top:2px; color:#617986; font-size:.57rem; line-height:1.3; text-align:center; }
@media (max-width: 1320px) {
    .header-contact-cta { min-width:260px; padding-inline:11px; column-gap:8px; }
    .header-11 { gap: clamp(8px,1vw,20px); }
    .header-13 { font-size:.76rem; }
}
@media (min-width: 1024px) {
    .header-05 { width:100%; max-width:1500px!important; padding-inline:clamp(12px,1.4vw,24px)!important; gap:clamp(10px,1vw,18px); }
    .header-logo-image { height:58px; }
    .header-11 { flex:1 1 auto; min-width:0; justify-content:center; flex-wrap:nowrap; gap:clamp(9px,1.15vw,18px)!important; }
    .header-12 { flex:0 0 auto; }
    .header-13 { flex-wrap:nowrap; white-space:nowrap; word-break:keep-all; line-height:1.2; }
    .header-16 { flex:0 0 auto; }
}
@media (min-width:1024px) and (max-width:1320px) {
    .header-11 { gap:8px!important; }
    .header-13 { font-size:.7rem; }
    .header-contact-cta { min-width:250px; }
}

.hero-05 { overflow: visible; }
.hero-09 { z-index: 74; }
.hero-surgery-record { top:22%; z-index:75; min-width:300px; padding-left:24px; }
.hero-surgery-record > span { font-size:13px; }
.hero-surgery-record strong { margin-top:5px; font-size:21px; }
.hero-surgery-record b { font-size:54px; }
.hero-surgery-record small { font-size:11px; }
.trust-strip--hero { z-index:73; }
.today-hours { z-index:82; }
.top-gallery { z-index:32; }
.top-gallery__head { display:none !important; }
.hero-13 { top:auto !important; bottom:-154px; z-index:40; }
.top-gallery + .top-news { padding-top:64px; }

.top-news + .first-visit-summary {
    position:relative;
    z-index:8;
    margin-top:-24px;
    box-shadow:0 18px 42px rgba(15,86,120,.1);
}

.section-reveal { position:relative; }
.section-reveal::after {
    content:"";
    position:absolute;
    left:50%;
    bottom:-9px;
    width:42px;
    height:2px;
    border-radius:2px;
    background:linear-gradient(90deg,#18a7df,#8bd340);
    transform:translateX(-50%) scaleX(0);
    transform-origin:left;
    transition:transform .55s .12s ease;
}
.section-reveal.is-revealed::after { transform:translateX(-50%) scaleX(1); }

.top-concept__badge { display:none !important; }
.top-concept__word { color:rgba(15,122,177,.11) !important; opacity:1 !important; }
.top-concept__panel { position:relative; overflow:hidden; }
.top-concept__heading { position:relative; z-index:3; }
.top-concept__heading h2 span { white-space:nowrap; }
.top-concept__symbol {
    position:absolute;
    z-index:1;
    top:88px;
    right:clamp(22px,7vw,110px);
    width:clamp(120px,16vw,240px);
    aspect-ratio:1;
    overflow:hidden;
    opacity:.09;
    border-radius:50%;
}
.top-concept__symbol img { width:350%; max-width:none; height:100%; object-fit:contain; object-position:left center; }
.top-concept__photo,.top-concept__text-grid,.top-concept__philosophy-link { position:relative; z-index:2; }
.top-concept__text-grid--single { grid-template-columns:1fr; max-width:900px; }
.top-concept__text-grid--single .top-concept__text-item { display:block; text-align:center; }
.top-concept__text-item--merged-out { display:none !important; }
.top-concept__text-grid--single .top-concept__icon { display:none; }
.top-concept__text-grid--single p { font-size:.96rem; line-height:2; }

.top-director__badge {
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
@media (min-width: 1024px) {
    .top-director { min-height:0; padding-block:46px; }
    .top-director .news-02 { width:min(1180px,calc(100% - 64px)); }
    .top-director__grid { gap:32px; grid-template-columns:1.08fr .92fr; align-items:center; }
    .top-director__photo img { height:560px; }
    .top-director__message p + p { margin-top:8px; }
    .top-director__history { margin-top:15px; padding:14px 18px; }
    .top-director__history-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
    .top-director__history-list li { padding-block:7px; font-size:.76rem; }
    .top-director__history-list li:nth-child(n+5) { display:none; }
}

.top-surgery-record { grid-template-columns:.72fr .72fr .95fr 1.08fr .82fr; align-items:stretch; }
.top-surgery-record__heading small { display:block; margin-top:10px; color:#728a96; font-size:.68rem; line-height:1.5; }
.top-surgery-record__photo { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:16px; }
.top-surgery-record__photo img { width:100%; height:100%; min-height:170px; object-fit:cover; }
.top-surgery-record__photo figcaption { position:absolute; right:8px; bottom:7px; padding:4px 8px; border-radius:7px; background:rgba(3,45,65,.7); color:#fff; font-size:.62rem; }

.top-contact-feature { padding-block:50px; }
.top-contact-feature__inner { overflow:hidden; }
.top-contact-feature__hero { min-height:320px; }
.top-contact-feature__photo { position:relative; min-height:320px; }
.top-contact-feature__photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.contact-lens-illustration {
    position:absolute;
    right:24px;
    bottom:20px;
    width:126px;
    height:92px;
    display:grid;
    place-items:center;
    border-radius:20px;
    background:rgba(255,255,255,.9);
    box-shadow:0 12px 28px rgba(5,70,100,.18);
    color:#0875b8;
}
.contact-lens-illustration i { position:absolute; width:52px; height:52px; border:5px solid rgba(0,159,220,.55); border-radius:50%; box-shadow:inset 0 0 14px rgba(0,160,220,.13); }
.contact-lens-illustration i:first-child { left:16px; transform:rotateX(62deg); }
.contact-lens-illustration i:nth-child(2) { right:14px; transform:rotateX(62deg); }
.contact-lens-illustration b { position:relative; z-index:2; margin-top:54px; font-size:.48rem; letter-spacing:.12em; text-align:center; }

.top-payment { padding:64px 24px; background:linear-gradient(180deg,#fff,#f2fafc); }
.top-payment__inner { max-width:1180px; margin:auto; }
.top-payment__head { text-align:center; }
.top-payment__head > span,.top-phone-contact__inner > div > span { color:#0a8fc9; font-size:.68rem; font-weight:900; letter-spacing:.2em; }
.top-payment__head h2 { margin:7px 0 0; color:#164b64; font-size:clamp(1.7rem,3vw,2.7rem); }
.top-payment__head p { margin:10px 0 0; color:#526f7e; }
.top-payment__grid { margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.top-payment__grid article { padding:26px; border:1px solid #d5e9f1; border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(18,85,115,.07); }
.top-payment__grid h3 { margin:0; color:#164b64; font-size:1.15rem; }
.top-payment__grid p { margin:9px 0 0; color:#526b78; font-size:.78rem; line-height:1.7; }
.payment-brands { margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
.payment-brands span { min-height:38px; padding:7px 12px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #d7e5eb; border-radius:9px; background:#fff; color:#174c63; font-size:.72rem; font-weight:900; box-shadow:0 4px 10px rgba(20,72,95,.06); }
.payment-brands--cards span:nth-child(1) { color:#183b9b; font-size:1rem; font-style:italic; }
.payment-brands--cards span:nth-child(2) { color:#d94a2c; }
.payment-brands--cards span:nth-child(3) { color:#1463a5; font-size:1rem; }
.payment-brands--cards span:nth-child(4) { color:#1670a7; font-size:.58rem; }
.payment-brands--transit span:nth-child(3n+1) { color:#51953e; }
.payment-brands--transit span:nth-child(3n+2) { color:#2073a5; }
.payment-brands--transit span:nth-child(3n) { color:#db5187; }
.top-payment__note { margin:18px 0 0; color:#607987; font-size:.75rem; text-align:center; }
.top-payment__note a { color:#0875b8; font-weight:900; }
.top-payment__unavailable { margin:18px auto 0; padding:12px 16px; border-left:4px solid #d83b3b; border-radius:8px; background:#fff3f3; color:#7d3e3e; font-size:.76rem; line-height:1.65; text-align:center; }
.top-payment__unavailable strong { color:#c62828; }

.top-phone-contact { padding:24px 24px 64px; background:#f2fafc; }
.top-phone-contact__inner { max-width:1180px; margin:auto; padding:30px 36px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-radius:22px; background:linear-gradient(135deg,#075ca5,#0098cf); color:#fff; }
.top-phone-contact h2 { margin:6px 0 0; color:#fff; font-size:clamp(1.45rem,2.7vw,2.3rem); }
.top-phone-contact p { margin:8px 0 0; font-size:.84rem; opacity:.86; }
.top-phone-contact a { min-width:330px; padding:14px 24px; display:grid; grid-template-columns:1fr auto; border-radius:999px; background:#fff; color:#075ca5; text-decoration:none; box-shadow:0 12px 30px rgba(0,35,65,.18); }
.top-phone-contact a small { grid-column:1; font-size:.64rem; font-weight:800; }
.top-phone-contact a strong { grid-column:1; font-size:1.8rem; letter-spacing:.04em; }
.top-phone-contact a span { grid-column:2; grid-row:1 / 3; align-self:center; padding-left:18px; border-left:1px solid #cce4ed; font-size:.75rem; font-weight:900; }

@media (min-width:768px) {
    .schedule-01 { padding-block:38px 48px; }
    .schedule-01 .news-02 { width:min(1180px,calc(100% - 64px)); }
    .top-after-column-grid { gap:20px; }
    .top-after-column-grid .schedule-02,.top-quick-access { padding:22px !important; }
    .top-quick-access__map { min-height:180px; height:180px; }
    .top-schedule__image { height:155px; }
}

@media (max-width:1100px) {
    .header-contact-cta { display:none; }
    .top-surgery-record { grid-template-columns:1fr 1fr; }
    .top-surgery-record__photo { grid-column:1 / -1; height:190px; }
}

@media (max-width:767px) {
    .header-contact-cta { display:none; }
    .hero-surgery-record { top:23%; right:12px; min-width:0; padding-left:10px; }
    .hero-surgery-record > span { font-size:8px; }
    .hero-surgery-record strong { font-size:12px; }
    .hero-surgery-record b { font-size:30px; }
    .hero-surgery-record small { font-size:7px; }
    .hero-13 { bottom:-84px; }
    .top-gallery { z-index:32; margin-top:-16px; }
    .top-gallery__head { display:none !important; }
    .top-gallery + .top-news { padding-top:44px; }
    .top-news + .first-visit-summary { margin-top:-14px; }

    .top-concept__heading h2 { font-size:1.35rem; line-height:1.65; }
    .top-concept__heading h2 span { white-space:normal; }
    .top-concept__symbol { top:64px; right:-12px; width:150px; }
    .top-concept__text-grid--single p { font-size:.76rem; line-height:1.85; text-align:left; }

    .top-surgery-record__photo { grid-column:1 / -1; height:150px; }
    .top-surgery-record__photo img { min-height:150px; }

    .top-contact-feature { padding-block:34px; }
    .top-contact-feature__photo { height:190px; min-height:190px; }
    .contact-lens-illustration { right:12px; bottom:10px; width:98px; height:70px; }
    .contact-lens-illustration i { width:40px; height:40px; }
    .contact-lens-illustration b { margin-top:40px; }
    .top-contact-feature__footer p { font-size:.72rem; }

    .top-payment { padding:46px 14px; }
    .top-payment__grid { grid-template-columns:1fr; gap:12px; margin-top:20px; }
    .top-payment__grid article { padding:18px 15px; }
    .payment-brands span { min-height:32px; padding:5px 8px; font-size:.6rem; }
    .top-payment__note { text-align:left; line-height:1.65; }
    .top-payment__unavailable { text-align:left; }
    .top-surgery-record__heading p br { display:none; }
    .hero-13 { bottom:-116px; }
    .top-phone-contact { padding:10px 14px 44px; }
    .top-phone-contact__inner { padding:22px 18px; display:grid; gap:16px; }
    .top-phone-contact p { font-size:.72rem; line-height:1.65; }
    .top-phone-contact a { min-width:0; width:100%; padding:12px 16px; }
    .top-phone-contact a strong { font-size:1.35rem; }
    .top-phone-contact a span { font-size:.65rem; }

    .top-director { padding-block:34px; }
    .top-director__photo--mobile { margin-top:10px; }
    .top-director__photo img { height:220px; }
    .top-director__message p + p { display:none; }
    .top-director__history { display:none; }
    .top-director__link { margin-top:16px; justify-content:center; }

    .top-contact-feature__intro { padding:18px 18px; }
    .top-contact-feature__intro h2 { margin-top:8px; font-size:1.7rem; }
    .top-contact-feature__lead { margin-top:10px; padding-top:10px; line-height:1.55; }
    .top-contact-info > p { display:none; }
    .top-contact-info { padding-block:14px; }
    .top-contact-info--hours { padding:12px; }
    .top-contact-info--hours > p { display:block; font-size:.62rem; }
    .top-contact-feature__footer { padding:14px 12px; }
}

/* Medical hub and human-readable top-page link guide. */
.medical-anchor-target,
.lower-card[id],
.lower-card h3[id],
.sub-card[id],
.link-map-group { scroll-margin-top: 118px; }
.medical-hub-intro { background:linear-gradient(180deg,#f7fcfe,#eef8fc); }
.medical-anchor-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:28px 0 34px; }
.medical-anchor-nav a { padding:10px 16px; border:1px solid #bfe2f0; border-radius:999px; background:#fff; color:#0877ad; font-size:.78rem; font-weight:900; text-decoration:none; box-shadow:0 8px 20px rgba(10,111,158,.06); }
.medical-anchor-nav a:hover { border-color:#55b9df; background:#edf9fe; }
.medical-hub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.medical-hub-card { position:relative; padding:26px 28px; border:1px solid #cfe5ef; border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 14px 34px rgba(16,84,113,.07); }
.medical-hub-card>span { color:#39add8; font-size:.68rem; font-weight:900; letter-spacing:.16em; }
.medical-hub-card h3 { margin:5px 0 10px; color:#115777; font-size:1.25rem; }
.medical-hub-card p { margin:0; color:#486776; font-size:.78rem; line-height:1.8; }
.medical-hub-card div { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.medical-hub-card div a { padding:7px 10px; border-radius:9px; background:#edf8fc; color:#0877ad; font-size:.68rem; font-weight:800; text-decoration:none; }
.link-map-page .sub-hero { background:linear-gradient(135deg,#f1faff,#fff); }
.link-map-index { margin-top:0; }
.link-map-groups { display:grid; gap:26px; }
.link-map-group { padding:28px; border:1px solid #d3e7ef; border-radius:22px; background:#fff; box-shadow:0 14px 34px rgba(16,84,113,.06); }
.link-map-group h2 { margin:0; color:#115777; font-size:1.45rem; }
.link-map-group>p { margin:7px 0 0; color:#607b88; font-size:.76rem; }
.link-map-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.link-map-grid>a { min-height:78px; padding:14px 16px; display:flex; flex-direction:column; justify-content:center; border:1px solid #d6e9f1; border-radius:14px; background:linear-gradient(180deg,#fff,#f7fbfd); color:inherit; text-decoration:none; }
.link-map-grid>a:hover { border-color:#69bfdf; box-shadow:0 10px 24px rgba(8,119,173,.1); transform:translateY(-1px); }
.link-map-grid strong { color:#0877ad; font-size:.82rem; }
.link-map-grid span { margin-top:4px; color:#5c7581; font-size:.66rem; line-height:1.45; }
@media(max-width:767px){
  .medical-anchor-target,.lower-card[id],.lower-card h3[id],.sub-card[id],.link-map-group{scroll-margin-top:86px}
  .medical-anchor-nav{justify-content:flex-start;gap:7px;margin:20px 0 24px}
  .medical-anchor-nav a{padding:8px 11px;font-size:.66rem}
  .medical-hub-grid,.link-map-grid{grid-template-columns:1fr}
  .medical-hub-card,.link-map-group{padding:20px 17px;border-radius:16px}
  .link-map-grid>a{min-height:64px}
}

/* Lower-page readability and consistent contact guidance. */
.is-lower-page {
  --lower-ink:#183f52;
  --lower-copy:#3f6171;
  --lower-border:#d6e9f1;
  --lower-soft:#f4f9fc;
}
.is-lower-page :where(.sub-container,.doctor-container,.symptom-detail__inner) {
  width:min(1120px,calc(100% - 56px));
  margin-inline:auto;
}
.is-lower-page .sub-section {
  padding-block:clamp(56px,6.5vw,88px);
}
.is-lower-page .sub-section::before,
.is-lower-page .sub-section::after {
  display:none;
}
.is-lower-page .sub-section-muted {
  background-color:var(--lower-soft);
  background-image:none;
}
.is-lower-page :where(.lower-section-head,.condition-rich__head) {
  max-width:860px;
  margin:0 auto 34px;
  text-align:center;
}
.is-lower-page :where(.lower-section-head h2,.condition-rich__head h2,.sub-card>h2) {
  color:var(--lower-ink);
  font-size:clamp(1.75rem,3vw,2.45rem);
  line-height:1.42;
  letter-spacing:.035em;
}
.is-lower-page :where(.lower-section-head p,.condition-rich__head>p:last-child) {
  max-width:760px;
  margin-inline:auto;
}
.is-lower-page :where(.sub-card,.lower-card,.medical-hub-card,.link-map-group,.condition-rich__overview,.condition-rich__grid article) {
  border-color:var(--lower-border);
  border-radius:18px;
  box-shadow:0 12px 32px rgba(19,83,110,.07);
}
.is-lower-page :where(.sub-card p,.lower-card p,.lower-section-head p,.condition-rich__head p,.condition-rich__overview p,.condition-rich__grid li,.condition-rich__alert p,.facility-item p,.privacy-card p,.privacy-card li,.medical-hub-card p,.link-map-group>p) {
  max-width:72ch;
  color:var(--lower-copy)!important;
  font-size:16px!important;
  line-height:1.95!important;
  letter-spacing:.015em;
}
.is-lower-page :where(.sub-card,.lower-card,.condition-rich__overview) {
  padding:clamp(24px,3vw,34px);
}
.is-lower-page :where(.lower-grid,.condition-rich__grid,.medical-hub-grid,.link-map-groups) {
  gap:22px;
}
.is-lower-page .condition-rich__overview {
  max-width:920px;
  margin-inline:auto;
}
.is-lower-page .condition-rich__grid article {
  padding:28px;
}
.is-lower-page .doctor-message__text p,
.is-lower-page .doctor-community__content>p,
.is-lower-page .doctor-values__grid p,
.is-lower-page .doctor-profile__history li,
.is-lower-page .doctor-closing p {
  color:var(--lower-copy)!important;
  font-size:16px!important;
  line-height:2!important;
  letter-spacing:.015em;
}
.is-lower-page .doctor-message__body,
.is-lower-page .doctor-community__content {
  max-width:700px;
}
.is-lower-page .symptom-detail__hero-lead,
.is-lower-page .symptom-detail__section-head p,
.is-lower-page .symptom-detail__card p,
.is-lower-page .symptom-detail__card li,
.is-lower-page .symptom-detail__alert p,
.is-lower-page .symptom-detail__faq p,
.is-lower-page .symptom-detail__visit p {
  color:var(--lower-copy)!important;
  font-size:16px!important;
  line-height:1.95!important;
  letter-spacing:.015em;
}
.is-lower-page .symptom-detail__section {
  padding-block:clamp(54px,6vw,82px);
}
.is-lower-page .symptom-detail__section-head {
  max-width:820px;
}

.lower-contact-band {
  position:relative;
  z-index:2;
  overflow:hidden;
  padding:64px 24px;
  color:#fff;
  background:
    radial-gradient(circle at 10% 10%,rgba(124,220,249,.32),transparent 34%),
    linear-gradient(120deg,#075f90 0%,#078dca 58%,#43b9df 100%);
}
.lower-contact-band::after {
  content:"";
  position:absolute;
  right:-90px;
  bottom:-140px;
  width:360px;
  height:360px;
  border:58px solid rgba(255,255,255,.08);
  border-radius:50%;
  pointer-events:none;
}
.lower-contact-band__inner {
  position:relative;
  z-index:1;
  width:min(1120px,100%);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,440px);
  align-items:center;
  gap:64px;
}
.lower-contact-band__eyebrow {
  margin:0 0 10px;
  color:#bfeeff;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.24em;
}
.lower-contact-band__copy h2 {
  margin:0;
  color:#fff;
  font-size:clamp(1.75rem,3vw,2.5rem);
  line-height:1.45;
  letter-spacing:.045em;
}
.lower-contact-band__copy>p:last-child {
  margin:14px 0 0;
  color:rgba(255,255,255,.86);
  font-size:.92rem;
  line-height:1.8;
}
.lower-contact-band__actions {
  display:grid;
  gap:10px;
}
.lower-contact-band__phone,
.lower-contact-band__access {
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.lower-contact-band__phone:hover,
.lower-contact-band__access:hover {
  transform:translateY(-2px);
}
.lower-contact-band__phone {
  display:flex;
  min-height:116px;
  padding:20px 28px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  color:#076b9e;
  background:#fff;
  box-shadow:0 16px 36px rgba(0,55,88,.2);
}
.lower-contact-band__phone span {
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
}
.lower-contact-band__phone strong {
  margin-top:5px;
  font-family:"Arial",sans-serif;
  font-size:clamp(1.65rem,2.7vw,2.25rem);
  line-height:1.15;
  letter-spacing:.025em;
}
.lower-contact-band__phone small {
  margin-right:5px;
  font-size:.42em;
  letter-spacing:.08em;
  vertical-align:.25em;
}
.lower-contact-band__access {
  min-height:50px;
  padding:12px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:1px solid rgba(255,255,255,.46);
  border-radius:999px;
  color:#fff;
  font-size:.82rem;
  font-weight:800;
}
.lower-contact-band__access:hover {
  background:rgba(255,255,255,.1);
}
@media(max-width:767px) {
  .is-lower-page :where(.sub-container,.doctor-container,.symptom-detail__inner) {
    width:calc(100% - 32px);
  }
  .is-lower-page .sub-section,
  .is-lower-page .symptom-detail__section {
    padding-block:48px;
  }
  .is-lower-page :where(.sub-card,.lower-card,.condition-rich__overview,.condition-rich__grid article,.medical-hub-card,.link-map-group) {
    padding:20px 18px;
  }
  .is-lower-page :where(.sub-card p,.lower-card p,.lower-section-head p,.condition-rich__head p,.condition-rich__overview p,.condition-rich__grid li,.condition-rich__alert p,.facility-item p,.privacy-card p,.privacy-card li,.medical-hub-card p,.link-map-group>p),
  .is-lower-page .doctor-message__text p,
  .is-lower-page .doctor-community__content>p,
  .is-lower-page .doctor-values__grid p,
  .is-lower-page .doctor-profile__history li,
  .is-lower-page .doctor-closing p,
  .is-lower-page .symptom-detail__hero-lead,
  .is-lower-page .symptom-detail__section-head p,
  .is-lower-page .symptom-detail__card p,
  .is-lower-page .symptom-detail__card li,
  .is-lower-page .symptom-detail__alert p,
  .is-lower-page .symptom-detail__faq p,
  .is-lower-page .symptom-detail__visit p {
    font-size:15px!important;
    line-height:1.9!important;
  }
  .lower-contact-band {
    padding:48px 16px;
  }
  .lower-contact-band__inner {
    grid-template-columns:1fr;
    gap:28px;
    text-align:center;
  }
  .lower-contact-band__copy h2 br {
    display:none;
  }
  .lower-contact-band__phone {
    min-height:102px;
    padding:18px 16px;
  }
  .lower-contact-band__access {
    width:100%;
  }
}

/* Recruitment: editorial, optimistic and clinically clean. */
html .recruit-page {
  --recruit-ink:#123f58;
  --recruit-blue:#0798d0;
  --recruit-pale:#eef9fc;
  --recruit-mint:#e8f7f3;
}
html .recruit-page .recruit-hero {
  overflow:hidden;
  background:
    radial-gradient(circle at 91% 12%,rgba(255,255,255,.82) 0 7%,transparent 7.2%),
    linear-gradient(120deg,#eefaff 0%,#dff5fb 56%,#f8fdff 100%) !important;
}
html .recruit-page .recruit-hero::before {
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  right:-210px;
  top:-250px;
  border:1px solid rgba(7,152,208,.13);
  border-radius:50%;
  box-shadow:0 0 0 58px rgba(255,255,255,.28),0 0 0 116px rgba(7,152,208,.04);
}
html .recruit-page .recruit-hero__copy { position:relative; z-index:2; }
html .recruit-page .recruit-hero__copy::before {
  content:"採用ページ";
  position:absolute;
  top:-20px;
  right:18px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  color:#1389b7;
  box-shadow:0 10px 24px rgba(21,116,151,.1);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  transform:rotate(4deg);
}
html .recruit-page .recruit-hero__photo { overflow:visible; }
html .recruit-page .recruit-hero__photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  border-radius:26px 26px 26px 5px;
}
html .recruit-page .recruit-hero__photo figcaption {
  position:absolute;
  right:22px;
  bottom:-25px;
  width:min(310px,78%);
  padding:15px 20px 16px;
  border:1px solid rgba(7,152,208,.11);
  border-radius:16px 16px 4px 16px;
  background:rgba(255,255,255,.96);
  color:var(--recruit-ink);
  box-shadow:0 16px 35px rgba(18,92,123,.15);
  font-size:.83rem;
  font-weight:800;
  line-height:1.55;
}
html .recruit-page .recruit-hero__photo figcaption span {
  display:block;
  margin-bottom:3px;
  color:var(--recruit-blue);
  font-size:.59rem;
  letter-spacing:.16em;
}
html .recruit-page .lower-button { box-shadow:0 12px 28px rgba(7,143,195,.17); }

html .recruit-page .recruit-intro { padding:clamp(88px,9vw,138px) 0; background:#fff; }
html .recruit-page .recruit-intro>.sub-container {
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(520px,1.22fr);
  align-items:center;
  gap:clamp(55px,7vw,100px);
}
html .recruit-page .recruit-intro__copy h2,
html .recruit-page .recruit-environment h2,
html .recruit-page .recruit-status h2 {
  margin:12px 0 24px;
  color:var(--recruit-ink);
  font-size:clamp(2rem,3.3vw,3.25rem);
  line-height:1.45;
  letter-spacing:.02em;
}
html .recruit-page .recruit-intro__copy>p:not(.sub-kicker) {
  color:#456878;
  font-size:.96rem;
  line-height:2.05;
}
html .recruit-page .recruit-intro__copy .recruit-intro__note {
  margin-top:22px;
  padding:18px 20px;
  border-left:3px solid #42bcae;
  background:linear-gradient(90deg,var(--recruit-mint),rgba(232,247,243,0));
  color:#24675e;
  font-weight:700;
}
html .recruit-page .recruit-gallery {
  display:grid;
  grid-template-columns:1.24fr .76fr;
  grid-template-rows:185px 185px;
  gap:14px;
}
html .recruit-page .recruit-gallery figure {
  margin:0;
  overflow:hidden;
  border-radius:22px 22px 22px 6px;
  background:#e9f4f7;
  box-shadow:0 18px 40px rgba(19,92,119,.12);
}
html .recruit-page .recruit-gallery__main { grid-row:1/3; }
html .recruit-page .recruit-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
html .recruit-page .recruit-gallery figure:hover img { transform:scale(1.025); }

html .recruit-page .recruit-learning {
  padding:clamp(84px,9vw,132px) 0;
  color:#173f54;
  background:linear-gradient(145deg,#eff9fb 0%,#f8fcfd 54%,#fff 100%);
}
html .recruit-page .recruit-learning__head {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  column-gap:clamp(42px,7vw,100px);
  align-items:end;
  margin-bottom:42px;
}
html .recruit-page .recruit-learning__head .sub-kicker { grid-column:1/-1; }
html .recruit-page .recruit-learning__head h2 {
  margin:8px 0 0;
  font-size:clamp(2rem,3.4vw,3.25rem);
  line-height:1.38;
  letter-spacing:.04em;
}
html .recruit-page .recruit-learning__head>p:last-child { margin:0; color:#4c6e7d; line-height:1.95; }
html .recruit-page .recruit-learning__grid {
  display:grid;
  grid-template-columns:1.3fr .85fr .85fr;
  gap:18px;
  align-items:stretch;
}
html .recruit-page .recruit-learning-card {
  position:relative;
  min-height:430px;
  margin:0;
  overflow:hidden;
  border-radius:20px 20px 20px 6px;
  background:#dfeef1;
  box-shadow:0 16px 38px rgba(21,92,119,.1);
}
html .recruit-page .recruit-learning-card img { width:100%; height:100%; object-fit:cover; }
html .recruit-page .recruit-learning-card--trip img { object-position:50% 45%; }
html .recruit-page .recruit-learning-card figcaption {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  display:flex;
  gap:15px;
  align-items:center;
  padding:32px 25px 24px;
  color:#fff;
  background:linear-gradient(0deg,rgba(10,49,69,.92),rgba(10,49,69,0));
}
html .recruit-page .recruit-learning-card figcaption>span { color:#8fe1eb; font-size:.7rem; font-weight:900; letter-spacing:.16em; }
html .recruit-page .recruit-learning-card figcaption strong,
html .recruit-page .recruit-learning-card figcaption small { display:block; }
html .recruit-page .recruit-learning-card figcaption strong { font-size:1.08rem; letter-spacing:.05em; }
html .recruit-page .recruit-learning-card figcaption small { margin-top:4px; color:rgba(255,255,255,.82); font-size:.72rem; line-height:1.55; }
html .recruit-page .recruit-learning__conference {
  display:flex;
  gap:clamp(24px,4vw,60px);
  align-items:center;
  margin-top:18px;
  padding:24px clamp(24px,4vw,42px);
  border:1px solid #d6ebef;
  border-radius:15px 15px 15px 5px;
  background:rgba(255,255,255,.86);
}
html .recruit-page .recruit-learning__conference>span { flex:0 0 auto; color:#1798ad; font-size:.67rem; font-weight:900; letter-spacing:.17em; }
html .recruit-page .recruit-learning__conference>div { display:flex; gap:26px; align-items:baseline; }
html .recruit-page .recruit-learning__conference h3 { margin:0; font-size:1.05rem; }
html .recruit-page .recruit-learning__conference p { margin:0; color:#597582; font-size:.82rem; line-height:1.75; }

html .recruit-page .recruit-values {
  position:relative;
  overflow:hidden;
  padding:clamp(86px,9vw,132px) 0;
  background:linear-gradient(145deg,#f0fbfe,#e6f7fb 56%,#f7fcfd);
}
html .recruit-page .recruit-values::after {
  content:"CARE";
  position:absolute;
  right:-18px;
  bottom:-70px;
  color:rgba(23,139,181,.055);
  font:900 clamp(9rem,20vw,20rem)/1 sans-serif;
  letter-spacing:-.06em;
}
html .recruit-page .recruit-values .lower-section-head { position:relative; z-index:1; text-align:left; }
html .recruit-page .recruit-values .lower-section-head h2 { color:var(--recruit-ink); font-size:clamp(2rem,3vw,3rem); }
html .recruit-page .recruit-value-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:46px;
}
html .recruit-page .recruit-value-card {
  min-height:275px;
  padding:31px 29px;
  border:1px solid rgba(32,151,194,.12);
  border-radius:24px 24px 24px 7px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 38px rgba(31,112,140,.08);
}
html .recruit-page .recruit-value-card>span {
  display:inline-grid;
  width:46px;
  height:46px;
  place-items:center;
  border-radius:50%;
  background:#e3f6fb;
  color:var(--recruit-blue);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.08em;
}
html .recruit-page .recruit-value-card h3 { margin:24px 0 13px; color:var(--recruit-ink); font-size:1.15rem; }
html .recruit-page .recruit-value-card p { margin:0; color:#527180; font-size:.88rem; line-height:1.9; }

html .recruit-page .recruit-environment { padding:clamp(86px,9vw,132px) 0; background:#fff; }
html .recruit-page .recruit-environment>.sub-container {
  display:grid;
  grid-template-columns:minmax(500px,1.1fr) minmax(340px,.9fr);
  align-items:center;
  gap:clamp(50px,7vw,95px);
}
html .recruit-page .recruit-environment figure {
  position:relative;
  height:430px;
  margin:0;
  overflow:hidden;
  border-radius:30px 30px 30px 8px;
  box-shadow:0 25px 55px rgba(24,96,122,.14),18px 18px 0 #e6f6fa;
}
html .recruit-page .recruit-environment figure img { width:100%; height:100%; object-fit:cover; }
html .recruit-page .recruit-environment>div>div>p:not(.sub-kicker) { color:#496c7c; line-height:1.95; }
html .recruit-page .recruit-environment ul { display:grid; gap:9px; margin:25px 0 29px; padding:0; list-style:none; }
html .recruit-page .recruit-environment li {
  position:relative;
  padding:10px 12px 10px 39px;
  border-radius:10px;
  background:#f1fafc;
  color:#315f72;
  font-size:.88rem;
  font-weight:700;
}
html .recruit-page .recruit-environment li::before { content:"✓"; position:absolute; left:15px; color:#23aa9c; font-weight:900; }

html .recruit-page #open-positions { padding:clamp(70px,8vw,110px) 0; background:#f4fafc; }
html .recruit-page .recruit-status {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  align-items:center;
  gap:50px;
  padding:clamp(36px,5vw,65px);
  border-radius:30px 30px 30px 8px;
  background:linear-gradient(125deg,#0b688f,#0798d0);
  color:#fff;
  box-shadow:0 24px 55px rgba(7,105,146,.2);
}
html .recruit-page .recruit-status .sub-kicker,
html .recruit-page .recruit-status h2 { color:#fff; }
html .recruit-page .recruit-status h2 { margin-bottom:16px; }
html .recruit-page .recruit-status__copy>p:not(.sub-kicker) { max-width:680px; margin:0; color:rgba(255,255,255,.87); line-height:1.9; }
html .recruit-page .recruit-status__copy .lower-note {
  margin-top:17px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:rgba(255,255,255,.62);
  font-size:.73rem;
}
html .recruit-page .recruit-status__contact {
  padding:27px 26px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:20px;
  background:rgba(255,255,255,.12);
  text-align:center;
  backdrop-filter:blur(5px);
}
html .recruit-page .recruit-status__contact p { margin:0 0 10px; font-size:.82rem; font-weight:800; }
html .recruit-page .recruit-status__contact a { display:block; color:#fff; font-size:clamp(1.65rem,3vw,2.25rem); font-weight:900; text-decoration:none; line-height:1.25; }
html .recruit-page .recruit-status__contact a small { display:block; margin-bottom:4px; color:#a9e9ff; font-size:.58rem; letter-spacing:.2em; }
html .recruit-page .recruit-status__contact span { display:block; margin-top:9px; color:rgba(255,255,255,.7); font-size:.68rem; }

@media(max-width:900px) {
  html .recruit-page .recruit-intro>.sub-container,
  html .recruit-page .recruit-environment>.sub-container { grid-template-columns:1fr; }
  html .recruit-page .recruit-gallery { grid-template-rows:210px 210px; }
  html .recruit-page .recruit-learning__grid { grid-template-columns:1fr 1fr; }
  html .recruit-page .recruit-learning-card--wide { grid-column:1/3; }
  html .recruit-page .recruit-learning-card { min-height:360px; }
  html .recruit-page .recruit-learning__conference>div { display:block; }
  html .recruit-page .recruit-learning__conference h3 { margin-bottom:5px; }
  html .recruit-page .recruit-value-grid { grid-template-columns:1fr; }
  html .recruit-page .recruit-value-card { min-height:0; }
  html .recruit-page .recruit-environment figure { height:380px; }
}

@media(max-width:767px) {
  html .recruit-page .recruit-hero__copy::before { display:none; }
  html .recruit-page .recruit-hero__message span { white-space:normal; }
  html .recruit-page .recruit-hero__photo { margin-bottom:25px; }
  html .recruit-page .recruit-hero__photo figcaption { right:12px; bottom:-36px; width:calc(100% - 28px); padding:12px 15px; font-size:.76rem; }
  html .recruit-page .condition-hero-copy .lower-cta-row { align-items:stretch; }
  html .recruit-page .condition-hero-copy .lower-cta-row .lower-button { justify-content:center; }
  html .recruit-page .recruit-intro { padding:82px 0 68px; }
  html .recruit-page .recruit-intro>.sub-container,
  html .recruit-page .recruit-environment>.sub-container { gap:35px; }
  html .recruit-page .recruit-intro__copy h2,
  html .recruit-page .recruit-environment h2,
  html .recruit-page .recruit-status h2 { font-size:clamp(1.75rem,8.8vw,2.35rem); line-height:1.45; }
  html .recruit-page .recruit-gallery { grid-template-columns:1fr 1fr; grid-template-rows:245px 120px; gap:9px; }
  html .recruit-page .recruit-gallery__main { grid-column:1/3; grid-row:auto; }
  html .recruit-page .recruit-gallery figure { border-radius:15px 15px 15px 5px; }
  html .recruit-page .recruit-learning { padding:68px 0; }
  html .recruit-page .recruit-learning__head { display:block; margin-bottom:30px; }
  html .recruit-page .recruit-learning__head h2 { margin-bottom:17px; font-size:clamp(1.75rem,8.8vw,2.35rem); }
  html .recruit-page .recruit-learning__grid { grid-template-columns:1fr; gap:12px; }
  html .recruit-page .recruit-learning-card--wide { grid-column:auto; }
  html .recruit-page .recruit-learning-card { min-height:310px; border-radius:16px 16px 16px 5px; }
  html .recruit-page .recruit-learning-card--trip { min-height:390px; }
  html .recruit-page .recruit-learning__conference { display:block; margin-top:12px; padding:22px 20px; }
  html .recruit-page .recruit-learning__conference>span { display:block; margin-bottom:9px; }
  html .recruit-page .recruit-values { padding:68px 0; }
  html .recruit-page .recruit-value-grid { gap:13px; margin-top:30px; }
  html .recruit-page .recruit-value-card { padding:23px 21px; }
  html .recruit-page .recruit-value-card h3 { margin-top:17px; }
  html .recruit-page .recruit-environment { padding:68px 0; }
  html .recruit-page .recruit-environment figure { height:255px; border-radius:20px 20px 20px 6px; box-shadow:0 16px 36px rgba(24,96,122,.13),9px 9px 0 #e6f6fa; }
  html .recruit-page .recruit-status { grid-template-columns:1fr; gap:27px; padding:30px 20px; border-radius:22px 22px 22px 7px; }
  html .recruit-page .recruit-status__contact { padding:22px 14px; }
}

/* Refined visual language for condition and treatment page first views. */
.condition-page .sub-hero,
.recruit-page .sub-hero {
  isolation:isolate;
  padding-block:34px !important;
  border-bottom:1px solid rgba(65,170,210,.2);
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.9) 0 2px,transparent 3px),
    linear-gradient(125deg,#effaff 0%,#d9f3fa 55%,#f8fdff 100%) !important;
}
.condition-page .sub-hero::before,
.recruit-page .sub-hero::before {
  content:"";
  position:absolute;
  z-index:0;
  width:250px;
  height:250px;
  right:-92px;
  top:-126px;
  border:1px solid rgba(16,150,202,.18);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.24),0 0 0 76px rgba(34,169,215,.055);
  pointer-events:none;
}
.condition-page .sub-hero::after,
.recruit-page .sub-hero::after {
  display:block !important;
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:
    linear-gradient(90deg,transparent 49.7%,rgba(7,139,191,.035) 50%,transparent 50.3%),
    linear-gradient(0deg,transparent 49.7%,rgba(7,139,191,.035) 50%,transparent 50.3%);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 62%);
  mask-image:linear-gradient(90deg,#000,transparent 62%);
  pointer-events:none;
}
.condition-page .sub-hero .sub-container,
.recruit-page .sub-hero .sub-container {
  gap:clamp(32px,5vw,66px);
}
.condition-hero-copy {
  position:relative;
}
.condition-hero-copy .sub-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
  padding:7px 12px;
  border:1px solid rgba(20,154,205,.2);
  border-radius:999px;
  background:rgba(255,255,255,.66);
  box-shadow:0 8px 24px rgba(18,112,151,.06);
  backdrop-filter:blur(5px);
}
.condition-hero-copy .sub-kicker::before {
  content:"";
  width:18px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#16a5d9,#78cce9);
}
.condition-hero-copy h1 {
  position:relative;
  padding-bottom:15px;
  font-size:clamp(2rem,3.6vw,3.35rem);
  letter-spacing:.025em;
}
.condition-hero-copy h1::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:74px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#0798d0 0 72%,#7dcdea 72%);
  box-shadow:86px 0 0 -1px rgba(7,152,208,.18);
}
.condition-hero-copy > p:last-child {
  max-width:640px;
  margin-top:14px;
  color:#355f72;
}
.condition-hero-photo {
  position:relative;
  height:220px;
  border:7px solid rgba(255,255,255,.94);
  border-radius:25px 25px 25px 7px;
  box-shadow:0 20px 46px rgba(15,101,139,.18),18px 18px 0 rgba(79,190,226,.12);
}
.condition-hero-photo::after {
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(15,119,161,.1);
  border-radius:inherit;
  pointer-events:none;
}

@media(max-width:767px) {
  .condition-page .sub-hero,
  .recruit-page .sub-hero {
    padding-block:28px !important;
  }
  .condition-page .sub-hero::before,
  .recruit-page .sub-hero::before {
    width:170px;
    height:170px;
    right:-90px;
    top:-90px;
  }
  .condition-hero-copy .sub-kicker {
    margin-bottom:11px;
    padding:6px 10px;
  }
  .condition-hero-copy h1 {
    padding-bottom:11px;
    font-size:clamp(1.75rem,8vw,2.2rem);
  }
  .condition-hero-copy > p:last-child {
    margin-top:11px;
    font-size:.8rem;
    line-height:1.75;
  }
  .condition-hero-photo {
    height:180px;
    border-width:5px;
    border-radius:20px 20px 20px 6px;
    box-shadow:0 15px 34px rgba(15,101,139,.16),10px 10px 0 rgba(79,190,226,.12);
  }
}

/* Facility, equipment and surgery-day content. */
.equipment-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.equipment-card {
  overflow:hidden;
  border:1px solid #d4e8f1;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,84,113,.07);
}
.equipment-card>img {
  width:100%;
  height:260px;
  display:block;
  object-fit:cover;
}
.equipment-card>div { padding:26px 28px 30px; }
.equipment-card span { color:#139bd1; font-size:.72rem; font-weight:900; letter-spacing:.14em; }
.equipment-card h3 { margin:7px 0 10px; color:#145b7a; font-size:1.35rem; line-height:1.45; }
.equipment-card p { margin:0; color:#426372; font-size:16px; line-height:1.9; }
.equipment-card p.equipment-card__model {
  margin:-3px 0 12px;
  color:#78909b;
  font-size:.78rem;
  font-weight:800;
  line-height:1.55;
}
.equipment-card a { display:inline-block; margin-top:16px; color:#087cad; font-size:.82rem; font-weight:900; text-decoration:none; }
.equipment-card a:hover { color:#075d82; text-decoration:underline; text-underline-offset:4px; }
.equipment-note { margin:24px 0 0; color:#667e89; font-size:.78rem; line-height:1.7; }
.equipment-surgery-section {
  background:linear-gradient(180deg,#f5fbfd 0%,#edf7fb 100%);
}
.equipment-card--surgery,
.equipment-card--treatment { border-color:#c7e2ed; }
.equipment-faq-section { background:#fff; }
.equipment-faq-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:30px 54px; align-items:start; }
.equipment-faq-layout>.lower-section-head { position:sticky; top:110px; }
.equipment-faq-list { display:grid; gap:12px; }
.equipment-faq-list details {
  overflow:hidden;
  border:1px solid #d4e8f1;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,84,113,.045);
}
.equipment-faq-list summary {
  position:relative;
  padding:19px 52px 19px 22px;
  color:#145b7a;
  font-size:1rem;
  font-weight:900;
  line-height:1.65;
  cursor:pointer;
  list-style:none;
}
.equipment-faq-list summary::-webkit-details-marker { display:none; }
.equipment-faq-list summary::after {
  content:"＋";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  color:#1499cb;
  font-size:1.25rem;
}
.equipment-faq-list details[open] summary::after { content:"−"; }
.equipment-faq-list details p {
  margin:0;
  padding:0 22px 21px;
  color:#426372;
  font-size:15px;
  line-height:1.9;
}
.equipment-sources {
  grid-column:1/-1;
  margin-top:10px;
  padding:24px 28px;
  border:1px solid #d7e9f0;
  border-radius:18px;
  background:#f8fcfd;
}
.equipment-sources h2 { margin:0 0 7px; color:#145b7a; font-size:1.08rem; }
.equipment-sources p { margin:0; color:#617b87; font-size:.8rem; line-height:1.75; }
.equipment-sources ul { margin:15px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:9px; list-style:none; }
.equipment-sources a {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #cde3ec;
  border-radius:999px;
  color:#087cad;
  background:#fff;
  font-size:.74rem;
  font-weight:800;
  text-decoration:none;
}
.equipment-sources a::after { content:"↗"; margin-left:6px; }
.equipment-sources a:hover { border-color:#8ecce3; color:#075d82; }
.facility-hero-title { font-size:clamp(2.5rem,4vw,3.35rem); white-space:nowrap; }
.facility-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.facility-gallery article { overflow:hidden; border:1px solid #d4e8f1; border-radius:22px; background:#fff; box-shadow:0 14px 34px rgba(16,84,113,.07); }
.facility-gallery img { width:100%; height:310px; display:block; object-fit:cover; }
.facility-gallery .facility-gallery-duo { display:grid; grid-template-columns:1fr 1fr; gap:2px; height:310px; overflow:hidden; background:#e7f4f9; }
.facility-gallery .facility-gallery-duo img { width:100%; min-width:0; height:310px; object-fit:cover; }
.facility-gallery article>div { position:relative; padding:24px 28px 28px; }
.facility-gallery span { position:absolute; right:24px; top:20px; color:#c8eaf6; font-size:2rem; font-weight:900; }
.facility-gallery h3 { margin:0 0 8px; color:#145b7a; font-size:1.35rem; }
.facility-gallery p { max-width:58ch; margin:0; color:#426372; font-size:16px; line-height:1.9; }
.facility-comfort,.kids-space-panel,.surgery-day-intro,.surgery-day-after { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; }
.facility-comfort figure,.kids-space-panel figure,.surgery-day-intro figure,.surgery-day-after figure { margin:0; overflow:hidden; border-radius:24px; }
.facility-comfort img,.kids-space-panel img,.surgery-day-intro img,.surgery-day-after img { width:100%; height:380px; display:block; object-fit:cover; }
.facility-comfort h2,.kids-space-panel h2 { margin:6px 0 14px; color:#145b7a; font-size:clamp(1.8rem,3vw,2.45rem); line-height:1.45; }
.facility-comfort p,.kids-space-panel p { color:#426372; font-size:16px; line-height:1.95; }
.first-dx-panel { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:42px; padding:28px; border:1px solid #d4e8f1; border-radius:24px; background:#fff; box-shadow:0 14px 36px rgba(16,84,113,.07); }
.first-dx-panel figure { margin:0; overflow:hidden; border-radius:18px; }
.first-dx-panel img { width:100%; height:320px; display:block; object-fit:cover; }
.first-dx-panel h2 { margin:6px 0 14px; color:#145b7a; font-size:clamp(1.75rem,2.3vw,2.2rem); line-height:1.45; }
.first-dx-panel p:not(.sub-kicker) { margin:0 0 20px; color:#426372; font-size:16px; line-height:1.95; }
.surgery-day-section { background:linear-gradient(180deg,#fff,#f3f9fc); }
.surgery-day-intro { margin-bottom:38px; }
.surgery-day-intro h3,.surgery-day-after h3 { margin:0 0 12px; color:#145b7a; font-size:1.5rem; line-height:1.5; }
.surgery-day-intro p,.surgery-day-after p { color:#426372; font-size:16px; line-height:1.95; }
.surgery-day-steps { position:relative; margin:0; padding:0; display:grid; gap:14px; list-style:none; }
.surgery-day-steps::before { content:""; position:absolute; left:31px; top:42px; bottom:42px; width:2px; background:#bde3f2; }
.surgery-day-steps li { position:relative; padding:22px 26px 22px 84px; display:grid; min-height:130px; border:1px solid #d4e8f1; border-radius:18px; background:#fff; box-shadow:0 10px 26px rgba(16,84,113,.05); }
.surgery-day-steps li>span { position:absolute; z-index:1; left:12px; top:24px; width:40px; height:40px; display:grid; place-items:center; border:5px solid #edf8fc; border-radius:50%; color:#fff; background:#159fd2; font-size:.72rem; font-weight:900; }
.surgery-day-steps small { color:#1597c8; font-size:.68rem; font-weight:900; letter-spacing:.12em; }
.surgery-day-steps h3 { margin:4px 0 7px; color:#145b7a; font-size:1.2rem; }
.surgery-day-steps p { margin:0; color:#426372; font-size:16px; line-height:1.9; }
.surgery-day-after { margin-top:38px; padding:32px; border:1px solid #d4e8f1; border-radius:24px; background:#fff; }
.surgery-day-after img { height:300px; }
@media(max-width:767px) {
  .facility-hero-title { white-space:normal; }
  .equipment-grid,.facility-gallery,.facility-comfort,.kids-space-panel,.surgery-day-intro,.surgery-day-after,.first-dx-panel { grid-template-columns:1fr; }
  .equipment-card>img,.facility-gallery img { height:220px; }
  .facility-gallery .facility-gallery-duo { height:220px; }
  .facility-gallery .facility-gallery-duo img { height:220px; }
  .equipment-card>div,.facility-gallery article>div { padding:20px 18px 22px; }
  .equipment-card p,.facility-gallery p,.facility-comfort p,.kids-space-panel p,.surgery-day-intro p,.surgery-day-after p,.surgery-day-steps p { font-size:15px; line-height:1.85; }
  .equipment-card p.equipment-card__model { font-size:.74rem; line-height:1.55; }
  .equipment-faq-layout { grid-template-columns:1fr; gap:24px; }
  .equipment-faq-layout>.lower-section-head { position:static; }
  .equipment-faq-list summary { padding:17px 48px 17px 18px; font-size:.93rem; }
  .equipment-faq-list details p { padding:0 18px 18px; }
  .equipment-sources { grid-column:auto; padding:20px 18px; }
  .equipment-sources ul { display:grid; gap:8px; }
  .equipment-sources a { width:100%; justify-content:space-between; border-radius:12px; }
  .facility-comfort,.kids-space-panel,.surgery-day-intro,.surgery-day-after { gap:22px; }
  .first-dx-panel { gap:20px; padding:18px; }
  .first-dx-panel img { height:220px; }
  .first-dx-panel p:not(.sub-kicker) { font-size:15px; line-height:1.85; }
  .facility-comfort img,.kids-space-panel img,.surgery-day-intro img { height:230px; }
  .surgery-day-steps::before { left:25px; }
  .surgery-day-steps li { min-height:0; padding:18px 16px 18px 64px; }
  .surgery-day-steps li>span { left:7px; top:18px; width:38px; height:38px; }
  .surgery-day-after { padding:18px; }
  .surgery-day-after img { height:210px; }
}

/* Compact first view for photo-led lower pages. */
body:has(.sub-main) .sub-hero:has(.lower-hero-visual),
body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid,
body:has(.sub-main) .symptoms-fv,
body:has(.sub-main) .symptoms-fv > .sub-container {
  min-height:300px !important;
  height:300px;
}
body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid {
  padding:40px clamp(24px,11vw,240px) 34px !important;
}
body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-kicker,
body:has(.sub-main) .symptoms-fv__eyebrow {
  margin-bottom:12px;
  font-size:.82rem;
}
body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-title,
body:has(.sub-main) .symptoms-fv__panel h1 {
  font-size:clamp(2rem,4vw,3.25rem);
}
body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-breadcrumb {
  margin-top:22px;
}
body:has(.sub-main) .symptoms-fv__panel { top:50%; }
body:has(.sub-main) .symptoms-fv .sub-breadcrumb { top:calc(50% + 76px); }

@media(max-width:767px) {
  body:has(.sub-main) .sub-hero:has(.lower-hero-visual),
  body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid,
  body:has(.sub-main) .symptoms-fv,
  body:has(.sub-main) .symptoms-fv > .sub-container {
    min-height:250px !important;
    height:250px;
  }
  body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid {
    padding:30px 20px 26px !important;
  }
  body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-title,
  body:has(.sub-main) .symptoms-fv__panel h1 {
    font-size:clamp(1.8rem,9vw,2.5rem);
  }
  body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-breadcrumb {
    margin-top:16px;
  }
}

/* Editorial first view for policy, standards and important-information pages. */
body:has(.document-hero-grid) .sub-hero {
  isolation:isolate;
  height:auto !important;
  min-height:0 !important;
  padding:28px 24px !important;
  border-bottom:1px solid rgba(31,157,207,.16);
  background:linear-gradient(135deg,#eaf8fd 0%,#f7fcfe 52%,#e3f5fb 100%) !important;
}
body:has(.document-hero-grid) .sub-hero::before {
  content:"";
  position:absolute;
  z-index:0;
  width:300px;
  height:300px;
  left:-150px;
  bottom:-190px;
  border:1px solid rgba(25,161,211,.12);
  border-radius:50%;
  box-shadow:0 0 0 44px rgba(255,255,255,.28),0 0 0 88px rgba(32,171,218,.045);
  pointer-events:none;
}
body:has(.document-hero-grid) .sub-hero::after {
  display:block !important;
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:radial-gradient(circle at 86% 18%,rgba(46,183,226,.12),transparent 22%);
  pointer-events:none;
}
.document-hero-grid {
  position:relative;
  z-index:2;
  width:min(100%,1180px);
  min-height:236px;
  padding:25px 26px 25px 34px;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:clamp(34px,5vw,70px);
  overflow:hidden;
  border:1px solid rgba(58,161,201,.18);
  border-radius:30px;
  background:linear-gradient(115deg,rgba(255,255,255,.97),rgba(255,255,255,.82));
  box-shadow:0 22px 55px rgba(24,105,141,.12);
}
.document-hero-grid::before {
  content:"";
  position:absolute;
  inset:26px auto 26px 0;
  width:5px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg,#0f9fd5,#7acde9);
}
.document-hero-grid > div:first-child {
  position:relative;
  z-index:1;
}
.document-hero-grid .sub-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 13px;
  padding:6px 11px;
  border-radius:999px;
  background:#e9f7fc;
  color:#087eb4;
  font-size:.72rem;
  letter-spacing:.14em;
}
.document-hero-grid .sub-kicker::before {
  content:"";
  width:16px;
  height:2px;
  border-radius:999px;
  background:#18a4d7;
}
.document-hero-grid h1,
.document-hero-grid .sub-title {
  margin:0;
  color:#104f6d !important;
  font-size:clamp(1.75rem,2.8vw,2.65rem) !important;
  line-height:1.38;
  letter-spacing:.025em;
  font-weight:900;
}
.document-hero-grid > div > p:last-child,
.document-hero-grid .sub-lead {
  display:block !important;
  max-width:670px;
  margin:13px 0 0;
  color:#466a7b;
  font-size:.9rem;
  line-height:1.75;
  font-weight:500;
}
.document-hero-photo {
  position:relative;
  height:186px;
  border:0;
  border-radius:21px 21px 21px 7px;
  box-shadow:0 15px 34px rgba(22,97,130,.18),10px 10px 0 rgba(58,182,222,.11);
}
.document-hero-photo::after {
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(16,114,155,.1);
  border-radius:inherit;
  pointer-events:none;
}

@media(max-width:767px) {
  body:has(.document-hero-grid) .sub-hero {
    padding:18px 14px 22px !important;
  }
  .document-hero-grid {
    min-height:0;
    padding:22px 18px 18px 22px;
    grid-template-columns:1fr;
    gap:18px;
    border-radius:22px;
  }
  .document-hero-grid::before {
    inset:20px auto 20px 0;
    width:4px;
  }
  .document-hero-grid .sub-kicker {
    margin-bottom:10px;
    padding:5px 9px;
    font-size:.62rem;
  }
  .document-hero-grid h1,
  .document-hero-grid .sub-title {
    font-size:clamp(1.45rem,7vw,1.9rem) !important;
  }
  .document-hero-grid > div > p:last-child,
  .document-hero-grid .sub-lead {
    margin-top:9px;
    font-size:.74rem;
    line-height:1.7;
  }
  .document-hero-photo {
    height:145px;
    border-radius:17px 17px 17px 6px;
    box-shadow:0 12px 26px rgba(22,97,130,.16),7px 7px 0 rgba(58,182,222,.11);
  }
}

/* Final cascade: unified split first view for every photo-led destination. */
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) {
  height:auto !important;
  min-height:520px !important;
  padding:0 !important;
  border-bottom:1px solid rgba(35,151,197,.16);
  background:linear-gradient(125deg,#f2fbfe 0%,#e1f5fb 48%,#f9fdff 100%) !important;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual)::before {
  content:"";
  position:absolute;
  z-index:0;
  width:360px;
  height:360px;
  left:-190px;
  bottom:-240px;
  border:1px solid rgba(21,151,203,.13);
  border-radius:50%;
  box-shadow:0 0 0 54px rgba(255,255,255,.34),0 0 0 108px rgba(38,173,219,.045);
  pointer-events:none;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual)::after {
  display:block !important;
  background:radial-gradient(circle at 84% 20%,rgba(54,184,225,.12),transparent 26%) !important;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid {
  position:relative;
  z-index:1;
  width:min(1280px,calc(100% - 80px));
  min-height:520px !important;
  height:auto !important;
  max-width:none;
  margin-inline:auto;
  padding:54px 0 !important;
  display:grid;
  grid-template-columns:minmax(390px,.88fr) minmax(520px,1.12fr);
  place-items:center stretch;
  gap:clamp(48px,6vw,86px);
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid>div:first-child { width:100%; }
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid>div:first-child::before {
  left:-32px;
  top:-28px;
  width:min(520px,calc(100vw - 48px));
  height:230px;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-breadcrumb {
  order:0;
  margin:0 0 20px;
  color:#567685;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-kicker {
  order:1;
  margin-bottom:14px;
  color:#078fca;
  font-size:.76rem;
  letter-spacing:.2em;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-title {
  order:2;
  color:#123f58;
  font-size:clamp(2.35rem,4vw,3.75rem);
  line-height:1.18;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-lead {
  display:block;
  order:3;
  margin:22px 0 0;
  color:#416577;
  font-size:.96rem;
  line-height:1.9;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-cta-row {
  display:flex;
  order:4;
  margin-top:28px;
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-visual {
  position:relative;
  inset:auto;
  z-index:1;
  width:100%;
  height:390px;
  margin:0;
  overflow:hidden;
  border:8px solid rgba(255,255,255,.94);
  border-radius:34px 34px 34px 10px;
  background:#dceff5;
  box-shadow:0 26px 60px rgba(17,101,138,.18),22px 22px 0 rgba(77,188,226,.12);
}
html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:1;
}

html .recruit-page .sub-hero {
  min-height:520px !important;
  padding:0 !important;
}
html .recruit-page .sub-hero .sub-container {
  width:min(1280px,calc(100% - 80px));
  min-height:520px;
  max-width:none;
  margin-inline:auto;
  padding:54px 0;
  grid-template-columns:minmax(390px,.88fr) minmax(520px,1.12fr);
  gap:clamp(48px,6vw,86px);
}
html .recruit-page .condition-hero-copy .sub-title {
  margin:0;
  color:#0789bc;
  background:none;
  -webkit-text-fill-color:currentColor;
  font-size:clamp(3rem,4.6vw,4.6rem);
  font-weight:900;
  line-height:1.08;
  letter-spacing:.08em;
  text-shadow:none;
}
html .recruit-page .condition-hero-copy .sub-title::after {
  width:92px;
  box-shadow:106px 0 0 -1px rgba(7,152,208,.18);
}
html .recruit-page .recruit-hero__message {
  display:grid;
  gap:2px;
  margin:23px 0 0;
  color:#197a9d;
  font-size:clamp(1.25rem,2vw,1.65rem);
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.55;
}
html .recruit-page .recruit-hero__message span { display:block; white-space:nowrap; }
html .recruit-page .condition-hero-copy .sub-lead {
  display:block;
  margin:16px 0 0;
  color:#4d7d90;
  font-size:.96rem;
  line-height:1.9;
}
html .recruit-page .recruit-hero__tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:17px;
}
html .recruit-page .recruit-hero__tags span {
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:5px 11px;
  border:1px solid rgba(7,145,199,.2);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:#28708e;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.05em;
}
html .recruit-page .condition-hero-copy .lower-cta-row { display:flex; margin-top:28px; }
html .recruit-page .condition-hero-photo {
  width:100%;
  height:390px;
  border-width:8px;
  border-radius:34px 34px 34px 10px;
  box-shadow:0 26px 60px rgba(17,101,138,.18),22px 22px 0 rgba(77,188,226,.12);
}

@media(max-width:1023px) {
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual),
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid,
  html .recruit-page .sub-hero,
  html .recruit-page .sub-hero .sub-container { min-height:460px !important; }
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid,
  html .recruit-page .sub-hero .sub-container {
    width:min(100% - 48px,1040px);
    grid-template-columns:minmax(320px,.9fr) minmax(400px,1.1fr);
    gap:36px;
    padding:44px 0 !important;
  }
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-visual,
  html .recruit-page .condition-hero-photo { height:330px; }
}

@media(max-width:767px) {
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual),
  html .recruit-page .sub-hero { min-height:0 !important; height:auto !important; }
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid,
  html .recruit-page .sub-hero .sub-container {
    width:calc(100% - 30px);
    min-height:0 !important;
    height:auto !important;
    padding:34px 0 44px !important;
    grid-template-columns:1fr;
    gap:30px;
  }
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-grid>div:first-child::before {
    left:-14px;
    top:-18px;
    width:calc(100% + 28px);
    height:200px;
  }
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-title,
  html .recruit-page .condition-hero-copy .sub-title {
    font-size:clamp(2.7rem,14vw,3.4rem);
    line-height:1.25;
  }
  html .recruit-page .recruit-hero__message {
    margin-top:20px;
    font-size:clamp(1.2rem,6vw,1.45rem);
  }
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .sub-lead,
  html .recruit-page .condition-hero-copy .sub-lead {
    margin-top:17px;
    font-size:.86rem;
    line-height:1.8;
  }
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-cta-row,
  html .recruit-page .condition-hero-copy .lower-cta-row { margin-top:22px; }
  html body:has(.sub-main) .sub-hero:has(.lower-hero-visual) .lower-hero-visual,
  html .recruit-page .condition-hero-photo {
    height:230px;
    border-width:5px;
    border-radius:22px 22px 22px 7px;
    box-shadow:0 16px 38px rgba(17,101,138,.16),10px 10px 0 rgba(77,188,226,.12);
  }
}
