:root{--orange:#ff7d00;--orange2:#ffb169;--blue:#1262b2;--green:#25c15a;--mint:#eaf8f5;--beige:#fcf2ea;--ink:#33343a;--gray:#55555a;--line:#fff0e5;--shadow:0 10px 28px rgba(223,128,42,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'Zen Maru Gothic','M PLUS Rounded 1c','Hiragino Maru Gothic ProN','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1200px,100%);margin-inline:auto;padding-inline:20px}.narrow{width:min(860px,100%)}.section-white,.section-beige{position:relative;padding:48px 0}.section-beige{background:var(--beige)}.card{position:relative;overflow:hidden;border-radius:24px;background:#fff;box-shadow:var(--shadow);padding:24px}.section-title{position:relative;z-index:1;margin-bottom:32px;text-align:center}.section-title h2{margin:0;color:var(--ink);font-size:clamp(20px,4vw,32px);font-weight:900;line-height:1.6;letter-spacing:.03em}.section-title h2 span{color:var(--orange)}.section-title p{max-width:600px;margin:14px auto 0;color:var(--gray);font-size:14px;font-weight:700;line-height:2}.point{display:flex;align-items:flex-end;justify-content:center;gap:4px;margin-bottom:6px;color:var(--orange)}.point small{font-size:18px;font-weight:900;letter-spacing:.16em;margin-bottom:12px}.point strong{font-size:72px;line-height:.9;font-weight:900;font-family:'M PLUS Rounded 1c','Zen Maru Gothic',sans-serif}.hero{position:relative;overflow:hidden;padding:16px 0 88px;background:#fff}.header-bar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.logo img{height:42px;width:auto}.menu-button,.drawer button{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--orange);color:#fff;font-size:28px;font-weight:900;box-shadow:0 8px 18px rgba(255,125,0,.24);cursor:pointer}.hero__grid{display:grid;align-items:center;gap:28px}.hero__copy{text-align:center;position:relative;z-index:2}.hero__copy h1{margin:0 0 22px;color:var(--ink);font-size:clamp(32px,9vw,52px);font-weight:900;line-height:1.28;letter-spacing:.02em}.hero__copy h1 span{position:relative;display:inline-block}.hero__copy h1 span:after{content:'';position:absolute;left:0;right:0;bottom:8px;height:12px;border-radius:20px;background:#dcf2f2;z-index:-1}.label-green{display:inline-block;margin:0 0 10px;padding:6px 16px;border:1px solid #34d399;border-radius:999px;background:#eef9e5;color:#34d399;font-size:15px;font-weight:900}.catch{display:inline-block;margin:0;color:var(--orange);font-size:24px;font-weight:900;border-bottom:2px dashed var(--orange)}.target-pill{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:9px 18px;border:2px solid var(--orange);border-radius:999px;background:#fff;color:var(--orange);font-size:15px;font-weight:900;box-shadow:0 3px 12px rgba(0,0,0,.05)}.target-pill img{height:32px;width:auto}.hero__photo{position:relative;isolation:isolate;width:280px;height:280px;margin-inline:auto;border:10px solid #fff4e8;border-radius:50%;overflow:visible;background:#fff;box-shadow:0 10px 30px rgba(245,130,32,.12)}.hero__photo>img:first-child{width:100%;height:100%;object-fit:cover;border-radius:50%}.hero__photo--pc{display:none}.badge--mobile{position:absolute;left:-22px;bottom:-18px;width:160px;z-index:2}.badge--pc{display:none}.wave{position:absolute;left:0;right:0;bottom:-1px;height:55px;background:var(--beige);clip-path:ellipse(70% 75% at 50% 100%)}.drawer{position:fixed;inset:0;z-index:100;display:none;background:var(--beige);overflow:auto}.drawer.is-open{display:block}.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:20px}.drawer__head img{height:42px}.drawer__head button{background:#fff;color:var(--orange)}.drawer ul{list-style:none;margin:28px auto;padding:0 32px;max-width:440px}.drawer li a{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,125,0,.24);font-size:20px;font-weight:900}.drawer li span{color:var(--orange);font-size:14px}.drawer__cta{padding:28px;background:#fff;text-align:center}.drawer__cta .tel{display:flex;align-items:center;justify-content:center;width:min(320px,100%);margin:0 auto 14px;padding:14px;border-radius:999px;background:var(--orange);color:#fff;font-size:22px;font-weight:900}.drawer__buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(320px,100%);margin:auto}.drawer__buttons a{padding:10px;border:2px solid currentColor;border-radius:999px;background:#fff;font-size:13px;font-weight:900}.drawer__buttons a:first-child{color:var(--green)}.drawer__buttons a:last-child{color:var(--orange)}.concerns__card:before,.concerns__card:after{content:'';position:absolute;border-radius:50%;background:#fff0e5;opacity:.7}.concerns__card:before{right:-30px;top:-30px;width:110px;height:110px}.concerns__card:after{left:-34px;top:50%;width:70px;height:70px;background:#eaf8f5}.concerns__visual{position:relative;z-index:1;width:160px;height:160px;margin:0 auto 16px}.concerns__visual img{width:100%;height:100%;object-fit:contain}.concerns h2{text-align:center;color:var(--orange);font-size:clamp(18px,4vw,24px);font-weight:900;line-height:1.7}.check-grid{position:relative;z-index:1;display:grid;gap:12px;list-style:none;max-width:640px;margin:18px auto 0;padding:0}.check-grid li{display:flex;align-items:center;gap:12px;color:#44444a;font-size:14px;font-weight:900}.check-grid li:before{content:'✓';display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#fff;color:var(--orange);box-shadow:0 2px 8px rgba(0,0,0,.14);font-weight:900}.intro-message{padding:42px 0 12px;text-align:center}.intro-message p{display:inline-block;margin:0 0 12px;padding:8px 22px;border-radius:999px;background:var(--orange);color:#fff;font-size:14px;font-weight:900;letter-spacing:.12em}.intro-message h2{margin:0;font-size:clamp(26px,6vw,38px);font-weight:900;line-height:1.6}.intro-message span{position:relative;color:var(--orange)}.intro-message span:after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:6px;border-radius:999px;background:rgba(255,125,0,.25)}.professionals{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:30px}.professionals div{text-align:center}.professionals img{width:86px;height:86px;margin:0 auto 8px;border-radius:50%;background:#eef4ff;object-fit:cover;box-shadow:0 2px 12px rgba(0,0,0,.06)}.professionals b{display:block;font-size:13px;font-weight:900}.professionals span{display:block;color:#686868;font-size:11px;font-weight:700}.vision-card{overflow:hidden;border-radius:18px;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;box-shadow:0 10px 20px rgba(255,125,0,.18)}.vision-card__img{height:130px}.vision-card__img img{width:100%;height:100%;object-fit:cover;mix-blend-mode:overlay;opacity:.85}.vision-card__text{padding:22px}.vision-card__text span{display:inline-block;margin-bottom:8px;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.2);font-size:11px;font-weight:900}.vision-card h3{margin:0 0 8px;font-size:20px;line-height:1.35;font-weight:900}.vision-card p{margin:0;font-size:13px;font-weight:700}.team-card{position:relative;overflow:hidden;border-radius:20px;height:200px;margin-bottom:12px}.team-card img{width:100%;height:100%;object-fit:cover}.team-card:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),transparent)}.team-card div{position:absolute;left:18px;bottom:18px;z-index:1;display:flex;align-items:center;gap:12px;color:#fff}.team-card span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:2px solid #fff;background:var(--blue);font-size:10px;font-weight:900;text-align:center;line-height:1.25}.team-card b{font-size:17px;font-weight:900}.link-card{display:flex;align-items:center;justify-content:space-between;margin:0 auto 28px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);font-size:13px;font-weight:800}.link-card span{font-size:24px;color:#aaa}.equipment{position:relative;overflow:hidden;border:2px solid #acacac;border-radius:18px;background:var(--beige);padding:22px;text-align:center}.tag{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:4px;background:var(--orange);color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em}.equipment h3{margin:0;font-size:17px;font-weight:900;line-height:1.6}.equipment em{color:var(--orange);font-style:normal;border-bottom:2px dashed var(--orange)}.play-list{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:28px 0}.play-list div{width:92px}.play-list img{width:82px;height:82px;margin:0 auto 8px;border:3px solid #fff0df;border-radius:50%;object-fit:cover}.play-list p{display:inline-block;margin:0;padding:4px 10px;border-radius:999px;background:#fff;color:#555;font-size:11px;font-weight:900;white-space:nowrap}.motion-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.6)}.motion-list span{color:#666;font-size:12px;font-weight:800}.program-grid{display:grid;gap:20px}.program-card{border:4px solid #acacac;border-radius:18px;background:#fff;padding:14px}.program-card h3{width:max-content;margin:-30px auto 12px;padding:8px 20px;border-radius:0 0 10px 10px;background:var(--orange);color:#fff;font-size:13px;font-weight:900}.program-card img{width:100%;height:118px;object-fit:cover;border-radius:12px;background:#fff3e6}.program-card ul{margin:14px 0 0;padding-left:20px;color:#444;font-size:12px;font-weight:800}.program-arrow{display:none;align-self:center;text-align:center;color:var(--orange);font-size:36px;font-weight:900}.multi-grid{display:grid;gap:24px;align-items:center}.multi-grid h3{margin:0 0 12px;font-size:20px;font-weight:900;line-height:1.7}.multi-grid h3 span{color:var(--orange)}.multi-grid p{margin:0;color:#555;font-size:13px;font-weight:800;line-height:2}.combine-box{border-radius:18px;background:#fff3df;padding:18px;text-align:center}.combine-box>p{margin-bottom:12px;color:var(--orange);font-weight:900}.combine-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.combine-grid div{border-radius:14px;background:#fff;padding:12px}.combine-grid small{display:block;font-size:10px;font-weight:900}.combine-grid b{display:block;margin-top:8px;color:var(--orange);font-weight:900}.combine-grid span{display:block;margin-top:8px;border-radius:999px;background:#fff3df;font-size:10px;font-weight:800}.combine-grid strong{color:var(--orange);font-size:28px}.location-scroll{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 20px}.location-card{flex:0 0 280px;overflow:hidden;border:2px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.04);scroll-snap-align:start}.map-placeholder{display:grid;place-items:center;height:160px;background:linear-gradient(135deg,#eaf8f5,#fff3df);color:var(--orange);font-weight:900}.location-card h3{margin:16px 16px 6px;font-size:16px;font-weight:900}.location-card p{margin:0 16px 14px;color:#555;font-size:12px;font-weight:800}.location-card a{display:block;margin:0 16px 16px;padding:10px;border:2px solid var(--orange);border-radius:12px;color:var(--orange);text-align:center;font-size:13px;font-weight:900}.cta-box{max-width:820px;margin:auto;padding:30px 24px;border:6px solid #fff;border-radius:30px;outline:4px dashed rgba(255,125,0,.2);background:var(--orange);color:#fff;text-align:center;box-shadow:0 18px 35px rgba(255,125,0,.24)}.cta-box p{display:inline-block;margin:0 0 10px;padding:4px 16px;border-radius:999px;background:#fff;color:var(--orange);font-size:14px;font-weight:900;letter-spacing:.1em}.cta-box h2{margin:0 0 20px;font-size:clamp(26px,7vw,36px);font-weight:900}.cta-tel{display:flex;align-items:center;justify-content:center;max-width:420px;margin:0 auto 14px;padding:14px;border-radius:999px;background:#fff;color:var(--orange);font-size:clamp(24px,7vw,34px);font-weight:900;box-shadow:0 8px 16px rgba(0,0,0,.12)}.cta-buttons{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:420px;margin:auto}.cta-buttons a{padding:12px;border-radius:999px;background:#fff;font-size:14px;font-weight:900}.cta-buttons a:first-child{color:var(--green)}.cta-buttons a:last-child{color:var(--orange)}.target h2{text-align:center;font-size:clamp(22px,5vw,30px);line-height:1.65;font-weight:900}.simple-box{border-radius:28px;background:#fff;padding:24px;box-shadow:0 6px 18px rgba(0,0,0,.03)}.simple-box p{margin:0;color:#444;font-size:15px;font-weight:800;line-height:2}.simple-box small{display:block;margin-top:10px;color:#777;font-weight:800}.table-wrap{overflow:auto;margin-top:20px}table{width:100%;min-width:500px;border-collapse:collapse;font-size:14px;font-weight:800}th{background:var(--beige);color:var(--orange)}th,td{padding:12px;border-bottom:1px solid #acacac;text-align:left}td:last-child,th:last-child{text-align:right;color:var(--orange);font-size:16px;font-weight:900}.flow-list{display:grid;gap:14px}.flow-list div{display:grid;grid-template-columns:52px 1fr;gap:4px 16px;align-items:center;padding:20px;border:2px solid var(--line);border-radius:18px;background:var(--beige)}.flow-list span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--orange);color:#fff;font-size:18px;font-weight:900}.flow-list h3{margin:0;font-size:16px;font-weight:900}.flow-list p{margin:0;color:#555;font-size:13px;font-weight:800}.company{position:relative;overflow:hidden;padding:64px 0;background:rgba(234,248,245,.42)}.company-card{display:grid;gap:22px;align-items:center;margin-bottom:24px;padding:28px;border-radius:30px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.04)}.company-card img{max-height:76px;width:auto;margin:auto}.company-card h3{margin:0 0 12px;font-size:18px;font-weight:900;line-height:1.65}.company-card p{margin:0;color:#555;font-size:14px;font-weight:800;line-height:2}.company-card small{display:block;margin-top:8px;color:#888}.company-card a{display:inline-flex;margin-top:18px;padding:12px 20px;border-radius:999px;background:var(--blue);color:#fff;font-size:14px;font-weight:900}.company-card a.orange{background:var(--orange)}.footer{padding:48px 0 32px;background:#fff}.footer-grid{display:grid;gap:36px}.footer img{height:46px;margin:auto}.footer p{margin:12px 0 0;text-align:center;color:#666;font-size:13px;font-weight:800}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.footer-links b{display:block;margin-bottom:12px;color:var(--orange);font-size:14px;font-weight:900}.footer-links a{display:block;margin:8px 0;color:#555;font-size:12px;font-weight:800}.copy{margin:34px auto 0;width:min(1200px,calc(100% - 40px));padding-top:20px;border-top:1px solid #acacac;color:#888;text-align:center;font-size:11px;font-weight:800}
@media (min-width:520px){.check-grid{grid-template-columns:repeat(2,1fr)}.professionals{grid-template-columns:repeat(4,1fr)}.program-grid{grid-template-columns:1fr 42px 1fr;align-items:center}.program-arrow{display:block}.multi-grid{grid-template-columns:1.05fr .95fr}.vision-card{display:grid;grid-template-columns:35% 1fr}.vision-card__img{height:auto}.location-card{flex-basis:320px}}
@media (min-width:900px){.section-white,.section-beige{padding:72px 0}.hero{padding:24px 0 116px}.logo img{height:50px}.header-bar{align-items:center;margin-bottom:46px}.hero__grid{grid-template-columns:1fr 480px;gap:40px}.hero__copy{text-align:left}.hero__photo--mobile{display:none}.hero__photo--pc{display:block;width:480px;height:480px;border-width:12px}.badge--pc{display:block;width:200px;margin-bottom:30px}.hero__lead{margin-bottom:10px}.target-pill{font-size:17px}.card{padding:34px}.team-card{height:250px}.link-card{width:340px}.footer-grid{grid-template-columns:1fr 2fr;align-items:start}.footer img{margin:0}.footer p{text-align:left}.footer-links{grid-template-columns:repeat(3,1fr)}.company-card{grid-template-columns:40% 1fr;padding:42px}.company-card img{margin:0}.flow-list div{grid-template-columns:52px 180px 1fr}.flow-list span{grid-row:auto}.flow-list h3{position:relative}.flow-list h3:after{content:'›';position:absolute;right:0;color:var(--orange);font-size:28px;line-height:1}.check-grid li{font-size:15px}}


/* 教室案内：スライダーカルーセル */
.locations{overflow:hidden}.location-carousel{position:relative}.location-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:min(82vw,340px);gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:20px;padding:4px 20px 24px;margin-inline:-20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.location-scroll::-webkit-scrollbar{display:none}.location-card{width:auto;min-width:0;scroll-snap-align:center;transition:transform .25s ease,box-shadow .25s ease}.location-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.08)}.location-nav{position:absolute;top:50%;z-index:3;display:none;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:var(--orange);color:#fff;font-size:36px;font-weight:900;line-height:1;box-shadow:0 8px 20px rgba(255,125,0,.24);cursor:pointer;transform:translateY(-50%)}.location-nav--prev{left:-4px}.location-nav--next{right:-4px}.location-dots{display:flex;justify-content:center;gap:9px;margin-top:2px}.location-dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:#ffd2aa;cursor:pointer;transition:width .2s ease,background .2s ease}.location-dots button.is-active{width:28px;background:var(--orange)}@media (min-width:780px){.location-scroll{grid-auto-columns:calc((100% - 36px)/3);margin-inline:0;padding-inline:0;scroll-padding-inline:0}.location-nav{display:grid}.location-nav--prev{left:-23px}.location-nav--next{right:-23px}}@media (min-width:1080px){.location-nav--prev{left:-12px}.location-nav--next{right:-12px}}

/* =========================================
   Vivid color theme inspired by kagayaki-machi LP
   - stronger contrast
   - brighter orange/yellow/blue/green
   - clear borders and CTA emphasis
========================================= */
:root{
  --orange:#ff7a00;
  --orange2:#ffb000;
  --yellow:#ffe100;
  --blue:#0068c9;
  --green:#00b85a;
  --mint:#dff8f1;
  --beige:#fff4cf;
  --ink:#252a34;
  --gray:#4d5563;
  --line:#ffd24a;
  --shadow:0 12px 0 rgba(255,122,0,.18),0 18px 34px rgba(0,0,0,.08);
}
body{background:#fffdf2;color:var(--ink)}
.section-beige{background:linear-gradient(180deg,#fff4cf 0%,#fff8dc 100%)}
.section-white{background:#fffdf6}
.card,.simple-box,.company-card{border:4px solid #fff;box-shadow:var(--shadow)}
.section-title{margin-bottom:38px}
.section-title h2{display:inline-block;padding:0 18px 10px;background:linear-gradient(transparent 62%,var(--yellow) 62%);color:var(--ink);text-shadow:0 2px 0 #fff;font-weight:900}
.section-title h2 span{color:var(--orange)}
.section-title p{color:#3d4652;font-weight:900}
.point{color:var(--blue)}
.point strong{color:var(--orange);text-shadow:3px 3px 0 var(--yellow)}
.header-bar{position:relative;z-index:3}.menu-button,.drawer button{background:var(--blue);box-shadow:0 6px 0 #004d96,0 12px 20px rgba(0,104,201,.22)}
.hero{background:linear-gradient(180deg,#fffdf2 0%,#fff5cf 100%)}
.hero:before{content:'';position:absolute;inset:auto -80px 50px auto;width:240px;height:240px;border-radius:50%;background:var(--yellow);opacity:.75;z-index:0}
.hero:after{content:'';position:absolute;left:-70px;top:140px;width:180px;height:180px;border-radius:50%;background:#7ddfff;opacity:.55;z-index:0}
.hero__copy h1{color:#222936;text-shadow:0 3px 0 #fff}
.hero__copy h1 span:after{height:16px;background:var(--yellow);bottom:5px}
.label-green{border:3px solid var(--green);background:#e6fff1;color:var(--green);box-shadow:0 4px 0 rgba(0,184,90,.2)}
.catch{color:var(--blue);border-bottom:4px dashed var(--blue)}
.target-pill{border:4px solid var(--orange);background:#fff;color:var(--orange);box-shadow:0 6px 0 #ffd24a,0 12px 20px rgba(255,122,0,.18)}
.hero__photo{border-color:#fff;background:#fff;box-shadow:0 0 0 8px var(--yellow),0 18px 34px rgba(0,0,0,.15)}
.wave{background:#fffdf6;clip-path:ellipse(80% 85% at 50% 100%)}
.drawer{background:#fff4cf}.drawer__head button{background:var(--blue);color:#fff}.drawer li a{border-bottom:3px dotted rgba(0,104,201,.22)}.drawer li span{color:var(--blue)}
.concerns__card{background:#fff;border-color:var(--yellow)}
.concerns__card:before{background:var(--yellow);opacity:.95}.concerns__card:after{background:#7ddfff;opacity:.7}
.concerns h2{color:var(--blue)}
.check-grid li{background:#fff8d6;border:3px solid #ffe36e;border-radius:999px;padding:8px 12px;box-shadow:0 4px 0 rgba(255,210,74,.35)}
.check-grid li:before{background:var(--orange);color:#fff;box-shadow:none}
.intro-message p{background:var(--blue);box-shadow:0 5px 0 #004d96}.intro-message span{color:var(--orange)}.intro-message span:after{background:var(--yellow);height:10px;z-index:-1}
.professionals img{background:#e7f7ff;border:4px solid #fff;box-shadow:0 7px 0 rgba(0,104,201,.15)}
.vision-card{background:linear-gradient(135deg,var(--blue) 0%,#00a0e9 52%,var(--green) 100%);box-shadow:0 10px 0 rgba(0,104,201,.16),0 18px 34px rgba(0,0,0,.08)}
.vision-card__text span{background:var(--yellow);color:#222936}.vision-card h3{color:#fff}.vision-card p{font-weight:900}
.team-card{box-shadow:0 8px 0 rgba(0,104,201,.16)}.team-card span{background:var(--orange);border:3px solid #fff}.link-card{border:3px solid var(--blue);box-shadow:0 6px 0 rgba(0,104,201,.16)}.link-card span{color:var(--blue)}
.equipment{border:5px solid var(--blue);background:#fff8d6;box-shadow:0 8px 0 rgba(0,104,201,.14)}.tag{background:var(--blue);box-shadow:0 4px 0 #004d96}.equipment em{color:var(--orange);border-bottom:4px solid var(--yellow)}
.play-list img{border:5px solid var(--yellow);box-shadow:0 6px 0 rgba(255,210,74,.55)}.play-list p{background:var(--blue);color:#fff}.motion-list{background:#fff;border:3px dashed var(--orange)}.motion-list span{color:#263142;font-weight:900}
.program-card{border:5px solid var(--blue);box-shadow:0 8px 0 rgba(0,104,201,.13)}.program-card h3{background:var(--orange);box-shadow:0 4px 0 #c85f00}.program-arrow{color:var(--orange);text-shadow:3px 3px 0 var(--yellow)}
.combine-box{background:#fff8d6;border:4px solid var(--yellow);box-shadow:0 8px 0 rgba(255,210,74,.35)}.combine-box>p,.combine-grid b,.combine-grid strong{color:var(--orange)}.combine-grid div{border:3px solid #ffe36e}.combine-grid span{background:var(--yellow)}
.location-card{border:5px solid #fff;background:#fff;box-shadow:0 8px 0 rgba(0,104,201,.16),0 15px 28px rgba(0,0,0,.08)}.map-placeholder{background:linear-gradient(135deg,var(--yellow),#7ddfff);color:var(--blue);font-size:18px}.location-card h3{color:var(--blue)}.location-card a{background:var(--orange);border:0;color:#fff;box-shadow:0 5px 0 #c85f00}.location-nav{background:var(--blue);box-shadow:0 6px 0 #004d96,0 12px 20px rgba(0,104,201,.2)}.location-dots button{background:#9bdcff}.location-dots button.is-active{background:var(--blue)}
.cta-box{border:7px solid #fff;outline:5px solid var(--yellow);background:linear-gradient(135deg,var(--orange) 0%,#ff9c00 100%);box-shadow:0 12px 0 rgba(200,95,0,.25),0 22px 38px rgba(0,0,0,.12)}.cta-box p{color:var(--blue);background:var(--yellow)}.cta-tel{color:var(--orange);box-shadow:0 7px 0 rgba(0,0,0,.13)}.cta-buttons a{box-shadow:0 5px 0 rgba(0,0,0,.13)}.cta-buttons a:first-child{background:var(--green);color:#fff}.cta-buttons a:last-child{background:var(--blue);color:#fff}
.target h2 span,.multi-grid h3 span{color:var(--orange)}
th{background:var(--blue);color:#fff}td:last-child,th:last-child{color:var(--orange)}th,td{border-bottom:3px solid #ffe36e}
.flow-list div{border:4px solid #fff;background:#fff8d6;box-shadow:0 6px 0 rgba(255,210,74,.4)}.flow-list span{background:var(--blue);box-shadow:0 4px 0 #004d96}.flow-list h3:after{color:var(--orange)}
.company{background:linear-gradient(180deg,#e7f7ff 0%,#fff4cf 100%)}.company-card a{background:var(--blue);box-shadow:0 5px 0 #004d96}.company-card a.orange{background:var(--orange);box-shadow:0 5px 0 #c85f00}
.footer{background:#fff}.footer-links b{color:var(--blue)}.copy{border-top:3px solid #ffe36e}
@media (min-width:900px){.section-white,.section-beige{padding:80px 0}.hero:before{width:340px;height:340px;right:-120px;bottom:80px}.hero:after{width:240px;height:240px;left:-90px;top:180px}}

/* =========================================
   Orange-main vivid theme revision
   - orange as primary color
   - yellow reduced to small highlight accents
   - green used sparingly, around 10% as sub accent
========================================= */
:root{
  --orange:#f57c00;
  --orange2:#ff9f1c;
  --orange3:#fff1e0;
  --yellow:#ffd84d;
  --blue:#1565c0;
  --green:#22a86b;
  --mint:#eaf8f0;
  --beige:#fff6ed;
  --ink:#282c34;
  --gray:#4d5563;
  --line:#ffd6ad;
  --shadow:0 10px 0 rgba(245,124,0,.16),0 18px 34px rgba(0,0,0,.08);
}
body{background:#fffaf4;color:var(--ink)}
.section-beige{background:linear-gradient(180deg,#fff1e3 0%,#fff8f1 100%)}
.section-white{background:#fffaf4}
.card,.simple-box,.company-card{border:3px solid #fff;box-shadow:var(--shadow)}
.section-title h2{background:none;color:var(--ink);text-shadow:none}
.section-title h2:after{content:'';display:block;width:86px;height:8px;margin:10px auto 0;border-radius:999px;background:linear-gradient(90deg,var(--orange),var(--orange2))}
.section-title h2 span{color:var(--orange)}
.point{color:var(--orange)}
.point strong{color:var(--orange);text-shadow:2px 2px 0 #ffe3c2}
.menu-button,.drawer button{background:var(--orange);box-shadow:0 6px 0 #c86200,0 12px 20px rgba(245,124,0,.22)}
.hero{background:linear-gradient(180deg,#fffaf4 0%,#fff0df 100%)}
.hero:before{background:#ffe6c4;opacity:.9}
.hero:after{background:#eaf8f0;opacity:.85}
.hero__copy h1{text-shadow:none}
.hero__copy h1 span:after{height:12px;background:#ffe0b8;bottom:6px}
.label-green{border:3px solid var(--green);background:#eefaf3;color:var(--green);box-shadow:0 4px 0 rgba(34,168,107,.16)}
.catch{color:var(--orange);border-bottom:4px dashed var(--orange)}
.target-pill{border:4px solid var(--orange);background:#fff;color:var(--orange);box-shadow:0 6px 0 #ffd6ad,0 12px 20px rgba(245,124,0,.18)}
.hero__photo{box-shadow:0 0 0 8px #ffe0b8,0 18px 34px rgba(0,0,0,.15)}
.wave{background:#fffaf4}
.drawer{background:#fff1e3}.drawer__head button{background:var(--orange);color:#fff}.drawer li a{border-bottom:3px dotted rgba(245,124,0,.24)}.drawer li span{color:var(--orange)}
.concerns__card{border-color:#fff;background:#fff}
.concerns__card:before{background:#ffe3c2;opacity:.95}.concerns__card:after{background:#eaf8f0;opacity:.9}
.concerns h2{color:var(--orange)}
.check-grid li{background:#fff7ef;border:3px solid #ffd6ad;border-radius:999px;padding:8px 12px;box-shadow:0 4px 0 rgba(245,124,0,.13)}
.check-grid li:before{background:var(--orange);color:#fff}
.intro-message p{background:var(--orange);box-shadow:0 5px 0 #c86200}.intro-message span{color:var(--orange)}.intro-message span:after{background:#ffe0b8;height:8px;z-index:-1}
.professionals img{background:#fff0df;border:4px solid #fff;box-shadow:0 7px 0 rgba(245,124,0,.14)}
.vision-card{background:linear-gradient(135deg,var(--orange) 0%,var(--orange2) 70%,#ffb347 100%);box-shadow:0 10px 0 rgba(245,124,0,.16),0 18px 34px rgba(0,0,0,.08)}
.vision-card__text span{background:#fff;color:var(--orange)}
.team-card{box-shadow:0 8px 0 rgba(245,124,0,.14)}.team-card span{background:var(--orange)}.link-card{border:3px solid #ffd6ad;box-shadow:0 6px 0 rgba(245,124,0,.12)}.link-card span{color:var(--orange)}
.equipment{border:5px solid var(--orange);background:#fff7ef;box-shadow:0 8px 0 rgba(245,124,0,.13)}.tag{background:var(--orange);box-shadow:0 4px 0 #c86200}.equipment em{color:var(--orange);border-bottom:4px solid #ffd6ad}
.play-list img{border:5px solid #ffd6ad;box-shadow:0 6px 0 rgba(245,124,0,.15)}.play-list p{background:var(--orange);color:#fff}.motion-list{background:#fff;border:3px dashed var(--orange)}
.program-card{border:5px solid var(--orange);box-shadow:0 8px 0 rgba(245,124,0,.13)}.program-card h3{background:var(--orange);box-shadow:0 4px 0 #c86200}.program-arrow{color:var(--orange);text-shadow:2px 2px 0 #ffe0b8}
.combine-box{background:#fff7ef;border:4px solid #ffd6ad;box-shadow:0 8px 0 rgba(245,124,0,.12)}.combine-grid div{border:3px solid #ffd6ad}.combine-grid span{background:#ffe0b8;color:var(--orange)}
.location-card{border:5px solid #fff;background:#fff;box-shadow:0 8px 0 rgba(245,124,0,.14),0 15px 28px rgba(0,0,0,.08)}.map-placeholder{background:linear-gradient(135deg,#fff1e0,#ffe0b8);color:var(--orange)}.location-card h3{color:var(--orange)}.location-card a{background:var(--orange);box-shadow:0 5px 0 #c86200}.location-nav{background:var(--orange);box-shadow:0 6px 0 #c86200,0 12px 20px rgba(245,124,0,.22)}.location-dots button{background:#ffd6ad}.location-dots button.is-active{background:var(--orange)}
.cta-box{border:7px solid #fff;outline:4px solid #ffd6ad;background:linear-gradient(135deg,var(--orange) 0%,var(--orange2) 100%);box-shadow:0 12px 0 rgba(200,98,0,.22),0 22px 38px rgba(0,0,0,.12)}.cta-box p{color:var(--orange);background:#fff}.cta-tel{color:var(--orange)}.cta-buttons a:first-child{background:var(--green);color:#fff}.cta-buttons a:last-child{background:var(--orange);color:#fff}
th{background:var(--orange);color:#fff}td:last-child,th:last-child{color:var(--orange)}th,td{border-bottom:3px solid #ffd6ad}
.flow-list div{border:4px solid #fff;background:#fff7ef;box-shadow:0 6px 0 rgba(245,124,0,.12)}.flow-list span{background:var(--orange);box-shadow:0 4px 0 #c86200}.flow-list h3:after{color:var(--orange)}
.company{background:linear-gradient(180deg,#fff7ef 0%,#fffaf4 100%)}.company-card a{background:var(--orange);box-shadow:0 5px 0 #c86200}.company-card a.orange{background:var(--orange2);box-shadow:0 5px 0 #d97706}
.footer-links b{color:var(--orange)}.copy{border-top:3px solid #ffd6ad}

/* KV image replacement */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hero--image {
  padding: 0;
  background: #fff;
  overflow: hidden;
}

.hero--image::before,
.hero--image::after {
  content: none;
}

.hero--image .kv-picture,
.hero--image .kv-picture img {
  display: block;
  width: 100%;
}

.hero--image .kv-picture img {
  height: auto;
}

@media (min-width: 768px) {
  .hero--image .kv-picture img {
    min-height: 520px;
    object-fit: cover;
    object-position: center top;
  }
}


/* === 2026-07-02 requested revisions === */

.concerns{padding-top:56px}
.concerns__card{position:relative;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}
.concerns__card::before,.concerns__card::after{content:none !important}
.concerns__visual{width:150px;height:150px;margin:0 auto 18px}
.concerns h2{margin:0 0 22px;color:var(--ink);font-size:clamp(26px,4.5vw,36px);line-height:1.5}
.intro-message{padding:54px 0 0}
.intro-message p{display:block;margin:0 0 18px;background:transparent;box-shadow:none;color:var(--orange);font-size:clamp(28px,6vw,46px);font-weight:900;letter-spacing:.02em}
.intro-message h2{font-size:clamp(28px,5.2vw,42px)}

.professionals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;align-items:start}
.professionals .professional-item{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.professionals img{width:128px;height:128px;margin:0 auto 14px;border-radius:50%;background:#fff5eb;border:4px solid #fff;object-fit:contain;box-shadow:0 8px 18px rgba(245,124,0,.12)}
.professionals b{display:block;font-size:clamp(18px,2vw,22px);font-weight:900;line-height:1.4}
.professionals span{display:block;margin-top:4px;font-size:clamp(15px,1.6vw,17px);font-weight:700;color:#555}
.vision-card__img{height:180px}
.vision-card__img img{mix-blend-mode:normal !important;opacity:1 !important;filter:none !important}
.vision-card__text{padding:24px}

#program .section-title{max-width:900px;margin-inline:auto}
#program .section-title h2{display:inline-block;padding:.8rem 1.8rem;border:3px solid var(--orange);border-radius:999px;background:#fff}
#program .section-title h2:after{display:none}
.program-intro{margin:16px auto 0;max-width:760px;color:var(--gray);font-size:15px;line-height:2;font-weight:700}
.program-grid{grid-template-columns:1fr;gap:26px}
.program-card{padding:18px 18px 20px}
.program-card img{height:190px}
.program-card ul{font-size:14px;line-height:1.9}

.multi-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.multi-copy p{font-size:15px;color:var(--gray);line-height:2;font-weight:700}
.combine-box--illustrated{padding:20px;background:#fffaf2}
.combine-box--illustrated img{width:min(100%,480px);margin:0 auto 12px;border-radius:18px}
.combine-note{margin:0;color:var(--gray);font-size:14px;line-height:1.9;text-align:center;font-weight:700}

.cta{padding:68px 0}
.cta-stage{position:relative}
.cta-visual{clip-path:polygon(14% 0, 82% 5%, 92% 18%, 100% 58%, 93% 100%, 6% 100%, 0 58%, 6% 18%);overflow:hidden;border-radius:24px;background:#f4ede5}
.cta-visual img{display:block;width:100%;height:520px;object-fit:cover;object-position:center}
.cta-panel{position:relative;z-index:2;width:min(980px,calc(100% - 40px));margin:-120px auto 0;padding:44px 46px;border-radius:0;background:#e9dfd2;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;box-shadow:0 18px 34px rgba(0,0,0,.08)}
.cta-panel__eyebrow{margin:0 0 8px;color:var(--ink);font-size:clamp(22px,3vw,28px);font-weight:900;line-height:1.5}
.cta-panel__lead h2{margin:0 0 18px;font-size:clamp(32px,4vw,46px);line-height:1.5;font-weight:900}
.cta-panel__desc{margin:0;color:#222;font-size:16px;line-height:2;font-weight:700}
.cta-panel__action{text-align:center}
.cta-panel__label{font-size:18px;font-weight:800;color:var(--ink);margin-bottom:10px}
.cta-panel__tel{display:block;color:#e48c3b;font-size:clamp(34px,5vw,64px);font-weight:900;line-height:1.1;margin-bottom:10px}
.cta-panel__hours{font-size:16px;color:#5e5e5e;font-weight:700;margin-bottom:24px}
.cta-panel__button{display:inline-flex;align-items:center;justify-content:center;min-width:320px;padding:18px 28px;border-radius:999px;background:#e48c3b;color:#fff;font-size:18px;font-weight:900;box-shadow:none}

@media (min-width: 900px){
  .program-grid{grid-template-columns:1fr auto 1fr;align-items:center}
  .program-arrow{display:block}
  .multi-grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 767px){
  .concerns{padding-top:42px}
  .concerns h2{font-size:24px}
  .check-grid{gap:10px}
  .check-grid li{font-size:13px}
  .intro-message p{font-size:32px;line-height:1.35}
  .professionals{gap:18px}
  .professionals img{width:112px;height:112px}
  .professionals b{font-size:17px}
  .professionals span{font-size:14px}
  .vision-card__img{height:150px}
  .program-card img{height:160px}
  .cta{padding:54px 0}
  .cta-visual{clip-path:none;border-radius:26px}
  .cta-visual img{height:280px}
  .cta-panel{width:calc(100% - 24px);margin:-42px auto 0;padding:28px 20px;border-radius:22px;grid-template-columns:1fr;gap:24px}
  .cta-panel__eyebrow{font-size:16px}
  .cta-panel__lead h2{font-size:30px;line-height:1.45}
  .cta-panel__desc{font-size:14px;line-height:1.9}
  .cta-panel__label{font-size:15px}
  .cta-panel__tel{font-size:38px}
  .cta-panel__hours{font-size:13px}
  .cta-panel__button{min-width:100%;font-size:16px;padding:16px 20px}
}


/* === 2026-07-02 therapist illustration swap === */
.professionals{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 20px;
  align-items:start;
}
.professionals .professional-item{
  min-width:0;
}
.professionals img{
  width:100%;
  max-width:180px;
  height:180px;
  padding:10px;
  border-radius:20px;
  background:#fff;
  border:0;
  object-fit:contain;
  object-position:center top;
  box-shadow:none;
}
.professionals b{
  margin-top:8px;
}
@media (min-width: 900px){
  .professionals{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
  }
  .professionals img{
    max-width:190px;
    height:190px;
  }
}
@media (max-width: 767px){
  .professionals{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 14px;
  }
  .professionals img{
    max-width:150px;
    height:150px;
    padding:8px;
  }
}


/* === 2026-07-02 point02 team feature refresh === */
.team-feature{
  display:grid;
  gap:22px;
  margin-bottom:28px;
}
.team-feature__visual{
  position:relative;
}
.team-feature__team-photo{
  overflow:hidden;
  border:4px solid #ffd6ad;
  border-radius:28px;
  background:#f7f7f7;
  box-shadow:0 8px 0 rgba(245,124,0,.12);
}
.team-feature__team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.team-feature__logo{
  position:absolute;
  right:16px;
  top:16px;
  width:110px;
  padding:10px 12px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.team-feature__children{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:16px;
}
.team-feature__children figure{
  margin:0;
  overflow:hidden;
  border-radius:24px;
  border:4px solid #fff3e6;
  background:#fff;
  box-shadow:0 6px 0 rgba(245,124,0,.1);
}
.team-feature__children figure.is-wide{
  grid-column:1 / -1;
}
.team-feature__children img{
  width:100%;
  height:100%;
  min-height:160px;
  object-fit:cover;
}
.team-feature__content{
  padding:24px;
  border:4px solid #ffd6ad;
  border-radius:28px;
  background:linear-gradient(180deg,#fffaf5 0%,#fff5ea 100%);
  box-shadow:0 8px 0 rgba(245,124,0,.1);
}
.team-feature__eyebrow{
  display:inline-block;
  margin:0 0 10px;
  padding:6px 14px;
  border-radius:999px;
  background:#fff;
  color:var(--blue);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}
.team-feature__content h3{
  margin:0 0 12px;
  color:var(--ink);
  font-size:clamp(24px,4vw,34px);
  line-height:1.45;
  font-weight:900;
}
.team-feature__lead{
  margin:0 0 14px;
  color:#555;
  font-size:14px;
  font-weight:800;
  line-height:2;
}
.team-feature__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.team-feature__list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#444;
  font-size:13px;
  font-weight:800;
  line-height:1.8;
}
.team-feature__list li::before{
  content:'✓';
  flex:0 0 24px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  margin-top:1px;
  border-radius:50%;
  background:var(--orange);
  color:#fff;
  font-size:14px;
  font-weight:900;
}
.team-feature .link-card{
  width:100%;
  max-width:360px;
  margin:18px 0 0;
}
@media (min-width:900px){
  .team-feature{
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);
    align-items:start;
    gap:28px;
  }
  .team-feature__team-photo{
    min-height:360px;
  }
  .team-feature__children{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .team-feature__children img{
    min-height:150px;
  }
  .team-feature__content{
    min-height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}
@media (max-width:767px){
  .team-feature__logo{
    width:92px;
    right:12px;
    top:12px;
    padding:8px 10px;
  }
  .team-feature__content{
    padding:20px;
  }
  .team-feature__children{
    gap:12px;
  }
  .team-feature__children img{
    min-height:120px;
  }
}


/* === 2026-07-02 lifull-inspired palette refresh === */
:root{
  --orange:#f36c21;
  --orange2:#ff8a4c;
  --beige:#FEF3EB;
  --ink:#252525;
  --gray:#5d5d5d;
  --line:#e8e8e8;
  --shadow:0 12px 30px rgba(0,0,0,.06);
}
body{background:#fff !important;color:var(--ink)}
.section-white,.hero--image,.company{background:#fff !important}
.section-beige,#approach01,.multi-class,#contact,.pricing,.company,.cta.section-beige{background:var(--beige) !important}
#approach02,.locations,.target,.flow,.concerns{background:#fff !important}
.section-white,.section-beige{padding:64px 0}

.card,.company-card,.simple-box,.vision-card,.program-card,.location-card,.combine-box,.cta-panel,.team-feature__content,.team-feature__team-photo,.team-feature__children figure,.link-card,.equipment,.check-grid li{
  border:0 !important;
  outline:0 !important;
  box-shadow:var(--shadow) !important;
}

.section-title{margin-bottom:36px}
.section-title h2{
  color:var(--ink) !important;
  text-shadow:none !important;
}
.section-title h2:after{
  width:72px !important;
  height:6px !important;
  margin-top:12px !important;
  border-radius:999px !important;
  background:var(--orange) !important;
}
.section-title h2 span,
.point,
.point small,
.point strong,
.concerns h2,
.intro-message p,
.intro-message span,
.multi-grid h3 span,
.location-card h3,
.team-feature__content h3,
.team-feature__eyebrow{
  color:var(--orange) !important;
  text-shadow:none !important;
}
.section-title p,.program-intro,.multi-copy p,.combine-note,.team-feature__lead,.team-feature__list li,.cta-panel__desc,.cta-panel__hours{
  color:var(--gray) !important;
}
.point strong{font-weight:900}

.intro-message{padding:54px 0 0}
.intro-message p{
  display:block !important;
  margin:0 0 18px !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:clamp(30px,6vw,48px) !important;
  letter-spacing:.02em !important;
}
.intro-message h2{font-size:clamp(28px,5.2vw,42px)}

.check-grid{gap:14px}
.check-grid li{
  background:#fff !important;
  border-radius:18px !important;
  padding:14px 16px !important;
}
.check-grid li:before{background:var(--orange) !important;color:#fff !important;box-shadow:none !important}

.vision-card{
  background:#fff !important;
  color:var(--ink) !important;
}
.vision-card__img{height:180px}
.vision-card__text span{background:var(--beige) !important;color:var(--orange) !important}
.vision-card h3{color:var(--ink) !important}
.vision-card p{color:var(--gray) !important;line-height:1.9}

.link-card,
.location-card a,
.cta-panel__button,
.drawer__buttons a:last-child,
.drawer__cta .tel,
.menu-button,
.drawer button,
.tag{
  background:var(--orange) !important;
  color:#fff !important;
}
.link-card{
  justify-content:center !important;
  gap:10px !important;
  font-weight:900 !important;
  border-radius:999px !important;
  padding:14px 20px !important;
}
.link-card span{color:#fff !important}
.drawer__head button{background:var(--orange) !important;color:#fff !important}
.drawer{background:#fff !important}
.drawer__cta{background:var(--beige) !important}

#program .section-title h2{
  display:block !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
}
.program-intro{
  max-width:760px;
  margin:18px auto 0 !important;
  padding:16px 20px !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:var(--shadow) !important;
  font-size:15px !important;
  line-height:2 !important;
}
.program-grid{grid-template-columns:1fr !important;gap:26px !important}
.program-card{
  background:#fff !important;
  padding:24px !important;
  border-radius:24px !important;
}
.program-card h3{
  width:auto !important;
  margin:0 0 14px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:none !important;
  color:var(--orange) !important;
  font-size:clamp(20px,3vw,26px) !important;
  box-shadow:none !important;
}
.program-card img{
  height:220px !important;
  border-radius:16px !important;
  background:#f5f5f5 !important;
}
.program-card ul{font-size:14px !important;line-height:1.9 !important}
.program-arrow{color:var(--orange) !important;text-shadow:none !important}
.equipment,.combine-box--illustrated{background:#fff !important}
.tag{box-shadow:none !important}

.multi-grid{gap:28px !important}
.multi-grid h3{font-size:clamp(24px,4vw,34px) !important}
.combine-box--illustrated{
  padding:24px !important;
  border-radius:28px !important;
}
.combine-box--illustrated img{
  width:min(100%,500px) !important;
  margin:0 auto 14px !important;
  border-radius:22px !important;
}
.combine-note{font-size:15px !important;line-height:2 !important}

.team-feature{
  gap:28px !important;
}
.team-feature__team-photo,
.team-feature__content,
.team-feature__children figure{
  background:#fff !important;
  border-radius:28px !important;
}
.team-feature__team-photo{
  min-height:320px;
}
.team-feature__logo{
  width:108px !important;
  padding:10px 12px !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08) !important;
}
.team-feature__eyebrow{
  background:var(--beige) !important;
  padding:7px 14px !important;
  border-radius:999px !important;
}
.team-feature__lead{
  font-size:14px !important;
  line-height:2 !important;
}
.team-feature__list{
  gap:12px !important;
}
.team-feature__list li::before{
  background:var(--orange) !important;
}
.team-feature__children{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:16px !important;
}
.team-feature__children figure{
  margin:0 !important;
  overflow:hidden !important;
}
.team-feature__children img{
  width:100% !important;
  height:180px !important;
  min-height:0 !important;
  object-fit:cover !important;
}
.team-feature__children .child-photo--1 img{object-position:center 58% !important}
.team-feature__children .child-photo--2 img{object-position:center 46% !important}
.team-feature__children .child-photo--3 img{object-position:center 46% !important}
.team-feature__children .child-photo--4 img{object-position:center 40% !important}

.location-card,.company-card,.cta-panel{
  background:#fff !important;
}
.location-nav,.location-dots button.is-active{background:var(--orange) !important}
.location-dots button{background:#d9d9d9 !important}
.map-placeholder{background:#f5f5f5 !important;color:var(--orange) !important}

.cta{padding:72px 0 !important}
.cta-visual{background:#f5f5f5 !important;clip-path:polygon(12% 0, 82% 4%, 92% 18%, 100% 58%, 94% 100%, 6% 100%, 0 58%, 6% 18%) !important}
.cta-panel{
  border-radius:32px !important;
  background:#fff !important;
  gap:40px !important;
}
.cta-panel__eyebrow,.cta-panel__label{color:var(--ink) !important}
.cta-panel__lead h2{color:var(--ink) !important}
.cta-panel__tel{color:var(--orange) !important}
.cta-panel__button{box-shadow:var(--shadow) !important}

.target .card,.pricing .card,.flow .card,.company-card{background:#fff !important}
.flow-list div{border:0 !important;background:#fff !important;box-shadow:var(--shadow) !important}
.flow-list span{background:var(--orange) !important;box-shadow:none !important}
th{background:var(--orange) !important;color:#fff !important}
th,td{border-bottom:1px solid #ececec !important}

.company{background:var(--beige) !important}
.company-card a{background:var(--orange) !important;color:#fff !important;box-shadow:none !important}
.company-card a.orange{background:var(--beige) !important;color:var(--orange) !important}
.copy{border-top:1px solid #ececec !important}

@media (min-width:900px){
  .program-grid{grid-template-columns:1fr auto 1fr !important;align-items:center !important}
  .program-arrow{display:block !important}
  .team-feature{
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.92fr) !important;
    align-items:start !important;
  }
  .team-feature__children img{height:170px !important}
}

@media (max-width:767px){
  .section-white,.section-beige{padding:52px 0 !important}
  .check-grid li{padding:12px 14px !important;border-radius:16px !important}
  .program-card{padding:20px !important}
  .program-card img{height:180px !important}
  .team-feature__children{gap:12px !important}
  .team-feature__children img{height:132px !important}
  .team-feature__logo{width:88px !important;right:12px !important;top:12px !important}
  .cta-panel{
    width:min(980px,calc(100% - 24px)) !important;
    margin-top:-70px !important;
    padding:24px !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .cta-visual img{height:340px !important}
  .cta-panel__button{min-width:100% !important}
}


/* === 2026-07-02 v5 refinements === */
/* CHIBA DOT block: move logo into text area and remove duplicate-looking shadows */
.team-feature{
  gap:32px !important;
}
.team-feature__visual,
.team-feature__content{
  box-shadow:none !important;
}
.team-feature__team-photo,
.team-feature__children figure{
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}
.team-feature__content{
  background:#fff !important;
  box-shadow:none !important;
  padding:10px 8px 8px !important;
}
.team-feature__brand-logo{
  display:flex;
  justify-content:center;
  margin:0 0 20px;
}
.team-feature__brand-logo img{
  width:150px;
  height:auto;
}
.team-feature__eyebrow{
  display:block !important;
  width:max-content;
  max-width:100%;
  margin:0 auto 12px !important;
  text-align:center;
  background:transparent !important;
  padding:0 !important;
  letter-spacing:.08em;
}
.team-feature__content h3{
  text-align:center;
}
.team-feature__lead{
  text-align:left;
}
.team-feature .link-card{
  margin:22px auto 0 !important;
}

/* Vision banner: separate from white background without heavy borders */
.vision-card{
  background:linear-gradient(135deg,#FEF3EB 0%,#fff 100%) !important;
  box-shadow:0 10px 26px rgba(243,108,33,.10) !important;
  border-radius:26px !important;
}
.vision-card__text{
  background:var(--orange) !important;
  color:#fff !important;
}
.vision-card__text span{
  background:#fff !important;
  color:var(--orange) !important;
}
.vision-card h3,
.vision-card p{
  color:#fff !important;
}

/* Program intro: remove white framed box */
.program-intro{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* Multi-class section: reduce nested frame/shadow confusion */
.multi-class .card.multi-grid{
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
}
.combine-box--illustrated{
  box-shadow:none !important;
  background:#fff !important;
  padding:22px !important;
}
.combine-box--illustrated img{
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}

/* Google Map cards */
.map-embed{
  overflow:hidden;
  height:180px;
  background:#f5f5f5;
}
.map-embed iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.location-card{
  box-shadow:0 10px 28px rgba(0,0,0,.06) !important;
}

/* Target copy: remove box */
.target .simple-box{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.target .simple-box p,
.target .simple-box small{
  text-align:center;
}

/* CTA image replacement */
.cta-visual img{
  object-position:center !important;
}
@media (min-width:900px){
  .cta-visual img{
    height:560px !important;
  }
}
@media (max-width:767px){
  .team-feature__brand-logo img{width:120px}
  .team-feature__content{padding:8px 0 0 !important}
  .map-embed{height:170px}
  .cta-visual img{height:320px !important}
}


/* === 2026-07-02 v6 updates === */
.menu-button--floating{
  position:fixed;
  top:16px;
  right:16px;
  z-index:90;
  width:52px;
  height:52px;
  font-size:24px;
  line-height:1;
}

.play-list{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px !important;
  align-items:start;
}
.play-list div{
  width:auto !important;
}
.play-list img{
  width:100% !important;
  max-width:160px;
  aspect-ratio:1/1;
  height:auto !important;
  margin:0 auto 10px !important;
  border-radius:20px !important;
  object-fit:cover !important;
  box-shadow:0 8px 20px rgba(0,0,0,.08) !important;
}
.play-list p{
  display:block !important;
  width:max-content;
  margin:0 auto !important;
}
.motion-list{
  justify-content:center;
}

.company-card--dotline img{
  max-height:150px !important;
  width:auto;
  margin:auto !important;
}
.company-card--dotline{
  align-items:center;
}
.company-card--dotline > div{
  text-align:left;
}

.cta-panel__action{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.cta-panel__button{
  margin-top:0;
}
.cta-panel__button + .cta-panel__button{
  margin-top:14px;
}
.cta-panel__button--line{
  background:#22c55e !important;
}

.footer-links{
  grid-template-columns:repeat(3,1fr) !important;
}

@media (max-width: 899px){
  .play-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .play-list div:last-child{
    grid-column:1 / -1;
    justify-self:center;
    width:min(220px,100%);
  }
}

@media (max-width: 767px){
  .menu-button--floating{
    top:10px;
    right:10px;
    width:48px;
    height:48px;
  }
  .play-list img{
    max-width:none;
    width:100% !important;
  }
  .company-card--dotline img{
    max-height:120px !important;
  }
  .footer-links{
    grid-template-columns:1fr !important;
  }
}

/* === 2026-07-02 v7 smartphone-only fixes === */
@media (max-width: 767px){
  /* Intro message: reduce mobile font size to prevent awkward wrapping */
  .intro-message p{
    font-size:26px !important;
    line-height:1.35 !important;
    margin-bottom:12px !important;
  }
  .intro-message h2{
    font-size:24px !important;
    line-height:1.55 !important;
  }

  /* Section titles in POINT 01 / POINT 02 */
  #approach01 .section-title h2,
  #approach02 .section-title h2{
    font-size:24px !important;
    line-height:1.55 !important;
    letter-spacing:.01em !important;
  }
  #approach01 .section-title p,
  #approach02 .section-title p{
    font-size:13px !important;
    line-height:1.9 !important;
  }

  /* Remove extra white gap under CHIBA DOT team image on mobile */
  .team-feature__team-photo{
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
    line-height:0 !important;
    margin-bottom:0 !important;
  }
  .team-feature__team-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
  .team-feature__children{
    margin-top:12px !important;
  }

  /* Keep all play images the same square size, including swing */
  .play-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:start !important;
  }
  .play-list div,
  .play-list div:last-child{
    grid-column:auto !important;
    justify-self:stretch !important;
    width:auto !important;
  }
  .play-list img{
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    max-width:none !important;
    object-fit:cover !important;
  }

  /* Center company buttons only on smartphone */
  .company-card a{
    display:flex !important;
    width:max-content !important;
    max-width:100% !important;
    margin:18px auto 0 !important;
    text-align:center !important;
    justify-content:center !important;
  }
}


/* === 2026-07-09 requested coding update === */
.site-header{
  position:sticky;
  top:0;
  z-index:95;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  box-shadow:0 2px 18px rgba(0,0,0,.04);
}
.site-header__inner{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-header__logo img{height:44px;width:auto}
.site-header__nav{display:flex;align-items:center;gap:34px;font-weight:900;color:#2b1a16}
.site-header__nav a{position:relative;font-size:15px;letter-spacing:.03em}
.site-header__nav a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:3px;border-radius:999px;background:var(--orange);transform:scaleX(0);transition:.2s}
.site-header__nav a:hover::after{transform:scaleX(1)}
.site-header__menu{display:none !important;position:static !important;box-shadow:none !important}
.hero--image{margin-top:0}
.hero--image .kv-picture img{width:100%;height:auto;min-height:0 !important;object-fit:contain !important;object-position:center top !important}

.three-points{background:#fff;padding:38px 0 44px;position:relative;overflow:hidden}
.three-points::before,.three-points::after{content:"";position:absolute;border-radius:50%;background:#FEF3EB;z-index:0}.three-points::before{width:120px;height:120px;left:-40px;top:24px}.three-points::after{width:180px;height:180px;right:-80px;bottom:-60px}
.three-points .container{position:relative;z-index:1}
.three-points__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;align-items:center;justify-items:center}
.three-point{width:min(300px,100%);aspect-ratio:1/1;border:3px solid var(--orange);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;color:#2b1a16;padding:28px 24px;box-shadow:0 12px 30px rgba(243,108,33,.08)}
.three-point__lead{margin:0 0 4px;font-size:17px;font-weight:900;line-height:1.5}.three-point strong{display:block;color:var(--orange);font-size:clamp(42px,5vw,68px);line-height:1;font-weight:900}.three-point__body{white-space:pre-line;margin:8px 0 0;font-size:16px;font-weight:900;line-height:1.65}.three-point small{margin-top:8px;color:#666;font-size:10px;font-weight:700}.point-expert strong,.point-pro strong{font-size:clamp(24px,3vw,38px);line-height:1.25}.point-expert .three-point__body,.point-pro .three-point__body{font-size:clamp(22px,2.6vw,34px);color:var(--orange)}

.intro-message h2{font-size:clamp(24px,4vw,36px) !important}.intro-message p{font-size:clamp(28px,4.5vw,44px) !important}.intro-message span{color:var(--orange) !important}
.experience-heading{text-align:center;margin:0 auto 36px}.experience-heading p{margin:0 0 4px;font-size:clamp(18px,2.3vw,26px);font-weight:900;letter-spacing:.04em}.experience-heading h2{margin:0;font-size:clamp(28px,4vw,48px);font-weight:900;line-height:1.2}.experience-heading h2 span{display:inline-block;margin:0 10px;color:var(--orange);font-size:clamp(64px,9vw,108px);line-height:.8}

#approach01 .card{overflow:visible !important}.professionals{margin-bottom:32px !important}.professional-item{position:relative;padding-top:10px}.professional-badge{position:absolute;left:14px;top:8px;z-index:2;width:58px;height:58px;display:grid !important;place-items:center;border-radius:50%;color:#fff !important;font-size:15px !important;font-weight:900 !important;box-shadow:0 7px 16px rgba(0,0,0,.10)}.badge-green{background:#78be45}.badge-blue{background:#4d9be6}.badge-orange{background:#ff9a28}.badge-pink{background:#ef6ba6}.professionals .professional-item img{background:#fff !important;border-radius:24px !important}.professional-worry{display:inline-block !important;margin-top:10px !important;padding:6px 16px;border-radius:999px;font-size:14px !important;font-weight:900 !important;color:#222 !important}.highlight-green{background:#e8f7dc}.highlight-blue{background:#dceeff}.highlight-orange{background:#fff0d7}.highlight-pink{background:#ffe2f0}

.doctor-profile{display:grid;grid-template-columns:220px 1fr 310px;gap:28px;align-items:center;margin-top:28px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#FEF3EB 100%);box-shadow:0 12px 30px rgba(0,0,0,.06)}.doctor-profile__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px;box-shadow:0 12px 24px rgba(0,0,0,.10)}.doctor-profile__body h3{white-space:pre-line;margin:0 0 12px;color:var(--orange);font-size:clamp(22px,2.5vw,31px);font-weight:900;line-height:1.45}.doctor-profile__meta{white-space:pre-line;margin:0 0 14px;color:#252525;font-weight:900;line-height:1.7}.doctor-profile__body p:not(.doctor-profile__meta){margin:0 0 16px;color:#4b4b4b;font-size:14px;font-weight:700;line-height:2}.doctor-profile__link{display:inline-flex;align-items:center;gap:8px;color:var(--orange);font-size:15px;font-weight:900}.doctor-profile__link::before{content:"🌐"}.doctor-books{border-left:2px dotted rgba(243,108,33,.35);padding-left:26px}.doctor-books h4{margin:0 0 16px;color:var(--orange);font-size:18px;font-weight:900}.doctor-book{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;margin-bottom:16px}.doctor-book img{width:72px;border-radius:8px;box-shadow:0 5px 14px rgba(0,0,0,.09)}.doctor-book p{margin:0;color:#333;font-size:13px;font-weight:900;line-height:1.65}.doctor-book small{display:block;margin-top:4px;color:#555;font-weight:800}

@media (max-width: 899px){
  .site-header__inner{min-height:64px}.site-header__logo img{height:36px}.site-header__nav{display:none}.site-header__menu{display:grid !important}.three-points{padding:24px 0 34px}.three-points__grid{grid-template-columns:1fr;gap:18px}.three-point{width:min(260px,86vw);padding:24px}.three-point__lead{font-size:15px}.three-point__body{font-size:14px}.point-expert .three-point__body,.point-pro .three-point__body{font-size:24px}.intro-message p{font-size:30px !important}.intro-message h2{font-size:24px !important;line-height:1.65}.experience-heading{margin-bottom:24px}.experience-heading p{font-size:17px}.experience-heading h2{font-size:26px}.experience-heading h2 span{font-size:72px}.professional-badge{width:46px;height:46px;font-size:13px !important;left:8px;top:6px}.professional-worry{font-size:12px !important;padding:5px 12px}.doctor-profile{grid-template-columns:1fr;gap:20px;padding:22px}.doctor-profile__photo img{width:min(220px,70%);margin:0 auto}.doctor-profile__body h3{text-align:left;font-size:22px}.doctor-books{border-left:0;border-top:2px dotted rgba(243,108,33,.35);padding-left:0;padding-top:18px}.doctor-book{grid-template-columns:66px 1fr}.doctor-book img{width:66px}
}
@media (max-width: 767px){.hero--image .kv-picture img{display:block;width:100%;height:auto}.concerns{padding-top:36px !important}#approach01 .section-title h2,#approach02 .section-title h2{font-size:23px !important;line-height:1.55}.professionals{grid-template-columns:1fr 1fr !important;gap:16px !important}.professionals img{height:136px !important;max-width:136px !important;padding:6px !important}.doctor-profile__body p:not(.doctor-profile__meta){font-size:13px;line-height:1.9}.doctor-profile__link{font-size:13px}.site-header{position:sticky}.site-header__inner{padding-inline:14px}.drawer{z-index:200}}


/* === 2026-07-09 v9 refinements === */
@media (min-width: 768px){
  .hero--image .kv-picture img{
    height:700px !important;
    max-height:700px !important;
    width:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
}

/* KV lower three point badge typography */
.three-point .point-em{display:inline-block;font-weight:900;line-height:1.1}
.three-point .point-em--orange{color:var(--orange);font-size:clamp(24px,3vw,38px)}
.three-point .point-small{display:inline-block;margin-left:4px;font-size:14px;color:#2b1a16;font-weight:900;vertical-align:middle}
.three-point .hl-yellow{display:inline-block;padding:0 .28em .08em;border-radius:.25em;background:linear-gradient(transparent 55%, #ffe47a 55%);color:var(--orange);font-weight:900}
.point-expert .three-point__lead{margin-bottom:4px}
.point-expert strong{font-size:clamp(24px,2.8vw,34px) !important;color:var(--orange) !important}
.point-expert .three-point__body{color:#2b1a16 !important;font-size:clamp(18px,2.1vw,25px) !important;line-height:1.45 !important;margin-top:8px !important}
.point-pro-team{font-size:clamp(20px,2.5vw,31px) !important;color:var(--orange) !important;line-height:1.35 !important;margin-bottom:10px !important}
.point-pro strong{font-size:clamp(16px,1.8vw,22px) !important;color:#2b1a16 !important;line-height:1.45 !important}
.point-pro .three-point__body{font-size:clamp(17px,1.9vw,23px) !important;color:#2b1a16 !important;line-height:1.5 !important;margin-top:8px !important}

/* POINT01 and doctor area: closer to approved mockup/screenshot */
.approach-experience{background:#FEF3EB !important;padding-top:74px !important}
.approach-experience .container{max-width:1180px}
.experience-heading{
  position:relative;
  max-width:1020px;
  margin:0 auto 0 !important;
  padding:26px 36px 18px;
  border-radius:24px 24px 0 0;
  background:linear-gradient(180deg,#fff8f2 0%,#fff 100%);
  box-shadow:0 12px 30px rgba(0,0,0,.045);
}
.experience-heading p{font-size:22px !important;letter-spacing:.08em !important;color:#2b1a16 !important}
.experience-heading h2{display:inline-flex;align-items:flex-end;gap:8px;color:#2b1a16 !important}
.experience-heading h2 span{font-size:96px !important;color:var(--orange) !important;text-shadow:none !important}
.approach-experience .section-title{
  position:relative;
  max-width:1020px;
  margin:0 auto !important;
  padding:24px 46px 20px 170px;
  background:#fff;
  text-align:left;
  box-shadow:0 8px 20px rgba(0,0,0,.03);
}
.approach-experience .point{
  position:absolute;
  left:42px;
  top:18px;
  display:block;
  width:78px;
  height:116px;
  margin:0;
  padding-top:12px;
  background:linear-gradient(180deg,#ff9b2f 0%,#ff7a00 100%);
  color:#fff !important;
  text-align:center;
  clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);
}
.approach-experience .point small{display:block;margin:0;font-size:14px !important;letter-spacing:.08em;color:#fff !important;line-height:1.1}
.approach-experience .point strong{display:block;margin-top:2px;color:#fff !important;font-size:42px !important;line-height:1;font-weight:900}
.approach-experience .section-title h2{font-size:29px !important;line-height:1.65 !important;color:#2b1a16 !important}
.approach-experience .section-title h2 span{font-size:32px !important;color:var(--orange) !important}
.approach-experience .section-title p{max-width:none;margin:8px 0 0 !important;font-size:15px !important;color:#2b1a16 !important;font-weight:900 !important;line-height:1.8 !important}
.experience-card{
  max-width:1020px;
  margin:0 auto !important;
  padding:0 46px 38px !important;
  border-radius:0 0 24px 24px !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.05) !important;
}
.experience-card .professionals{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:24px !important;
  margin:0 0 28px !important;
  padding-top:4px;
}
.experience-card .professional-item{
  min-height:260px;
  padding:18px 16px 16px !important;
  border:1px solid #ffd8bd;
  border-radius:16px;
  background:#fff;
  box-shadow:none !important;
  text-align:center;
}
.experience-card .professional-item img{
  height:132px !important;
  max-width:132px !important;
  margin:0 auto 10px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.experience-card .professional-item b{font-size:20px !important;line-height:1.35 !important;color:#2b1a16 !important}
.professional-badge{width:48px !important;height:48px !important;left:10px !important;top:10px !important;font-size:13px !important}
.professional-worry{font-size:14px !important;line-height:1.35 !important;margin-top:10px !important;padding:7px 16px !important;box-shadow:none !important}

.doctor-profile{
  max-width:1020px;
  margin:24px auto 0 !important;
  grid-template-columns:220px 1fr 300px !important;
  gap:26px !important;
  padding:28px 30px !important;
  border-radius:18px !important;
  background:#fffaf6 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.055) !important;
}
.doctor-profile__photo img{border-radius:12px !important;box-shadow:0 8px 20px rgba(0,0,0,.08) !important}
.doctor-profile__body h3{font-size:23px !important;line-height:1.55 !important;color:var(--orange) !important;margin-bottom:10px !important}
.doctor-profile__meta{font-size:15px !important;line-height:1.65 !important}
.doctor-profile__body p:not(.doctor-profile__meta){font-size:12.5px !important;line-height:1.9 !important;color:#333 !important}
.doctor-books{border-left:2px solid rgba(243,108,33,.5) !important;padding-left:26px !important}
.doctor-books h4{position:relative;font-size:16px !important;margin-bottom:14px !important}
.doctor-books h4::after{content:"";display:block;height:2px;width:100%;margin-top:6px;background:repeating-linear-gradient(90deg, rgba(243,108,33,.55) 0 4px, transparent 4px 8px)}
.doctor-book{grid-template-columns:70px 1fr !important;gap:12px !important;margin-bottom:14px !important}
.doctor-book p{font-size:12.5px !important;line-height:1.55 !important}
.doctor-book small{font-size:11.5px !important}
.doctor-profile__link{font-size:14px !important;color:var(--orange) !important}

@media (max-width: 899px){
  .experience-heading{padding:22px 20px 14px;border-radius:20px 20px 0 0}.experience-heading p{font-size:16px !important}.experience-heading h2 span{font-size:68px !important}.approach-experience .section-title{padding:22px 18px 18px 84px}.approach-experience .point{left:16px;top:18px;width:54px;height:82px;padding-top:8px}.approach-experience .point small{font-size:11px !important}.approach-experience .point strong{font-size:30px !important}.approach-experience .section-title h2{font-size:21px !important}.approach-experience .section-title h2 span{font-size:23px !important}.approach-experience .section-title p{font-size:12.5px !important}.experience-card{padding:0 16px 24px !important}.experience-card .professionals{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}.experience-card .professional-item{min-height:210px;padding:14px 10px 12px !important}.experience-card .professional-item img{height:104px !important;max-width:112px !important}.experience-card .professional-item b{font-size:16px !important}.professional-badge{width:42px !important;height:42px !important;left:8px !important;top:8px !important;font-size:12px !important}.professional-worry{font-size:12px !important;padding:5px 10px !important}.doctor-profile{grid-template-columns:1fr !important;padding:20px !important;gap:18px !important}.doctor-profile__photo img{width:min(210px,70%) !important;margin:0 auto}.doctor-books{border-left:0 !important;border-top:2px solid rgba(243,108,33,.35) !important;padding:16px 0 0 !important}.doctor-book{grid-template-columns:62px 1fr !important}.doctor-book img{width:62px !important}
}

@media (max-width: 767px){
  .three-point .point-em--orange{font-size:30px}.point-pro-team{font-size:22px !important}.point-expert strong{font-size:26px !important}.point-expert .three-point__body,.point-pro .three-point__body{font-size:22px !important}.approach-experience{padding-top:48px !important}
}

/* === 2026-07-09 content revisions === */
#approach02 .section-title p,
#approach03 .section-title p,
#program .program-intro,
.whole-life-support__copy p,
.multi-grid--revised p{max-width:880px;margin-inline:auto}

.innovation-grid{display:grid;gap:24px}
.innovation-card{display:grid;gap:24px;align-items:center}
.innovation-card__media img{width:100%;border-radius:20px;object-fit:cover;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.innovation-card__media--stack{display:grid;gap:18px}
.innovation-card__body h3{margin:0 0 14px;font-size:clamp(22px,3.1vw,34px);font-weight:900;line-height:1.5;color:#2b1a16}
.innovation-card__body p{margin:0;color:#555;font-size:15px;font-weight:700;line-height:2}
.innovation-card__eyebrow{display:inline-block;margin:0 0 10px;padding:7px 14px;border-radius:999px;background:#fff3df;color:var(--orange) !important;font-size:13px !important;font-weight:900 !important}
.button-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:14px 24px;border-radius:999px;background:var(--orange);color:#fff;font-size:14px;font-weight:900;box-shadow:0 10px 20px rgba(255,125,0,.18)}
.button-link::after{content:'›';font-size:18px;line-height:1}
.button-link--outline{background:#fff;color:var(--orange);border:2px solid var(--orange);box-shadow:none}
.section-untei{margin-top:6px}
.section-untei .tag{background:#7b4f22}

.program-overview{display:grid;gap:26px;align-items:center}
.program-overview__copy{text-align:center}
.program-overview__copy h3{margin:0 0 10px;font-size:clamp(24px,3vw,34px);font-weight:900;color:#2b1a16}
.program-overview__copy p{max-width:760px;margin:0 auto;color:#555;font-size:15px;font-weight:700;line-height:2}
.feature-circles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.feature-circles span{display:grid;place-items:center;min-height:120px;padding:16px;border-radius:999px;background:#fff;border:3px solid #ffd3ae;color:#2b1a16;font-size:15px;font-weight:900;line-height:1.5;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.04)}

.multi-grid--revised{grid-template-columns:1.1fr .9fr}
.multi-grid--revised h3{font-size:clamp(25px,3vw,38px);line-height:1.55}
.multi-grid--revised .combine-box--illustrated{background:linear-gradient(180deg,#fff9f2 0%,#fff1e0 100%)}
.multi-grid--revised .combine-box img{width:100%;max-width:420px;margin:0 auto 14px}
.combine-note{margin:0 !important;color:#6a584c !important;font-size:14px !important;line-height:1.9 !important}

.whole-life-support__card{display:grid;gap:30px;align-items:center;background:#fff}
.whole-life-support__visual{display:grid;place-items:center;padding:12px}
.whole-life-support__visual img{width:min(360px,100%);height:auto}
.whole-life-support__copy h2{margin:0 0 16px;font-size:clamp(24px,3.2vw,40px);font-weight:900;line-height:1.55;color:#2b1a16}
.whole-life-support__copy p{margin:0;color:#555;font-size:15px;font-weight:700;line-height:2}
.whole-life-support__copy small{display:block;margin-top:10px;color:#777;font-size:12px;font-weight:800}

@media (min-width: 900px){
  .innovation-card{grid-template-columns:1.03fr .97fr;padding:30px}
  .innovation-card--untei{grid-template-columns:.95fr 1.05fr}
  .innovation-card--untei .innovation-card__body{order:1}
  .innovation-card--untei .innovation-card__media{order:2}
  .program-overview{padding:34px 38px}
  .program-overview__copy{text-align:left}
  .feature-circles{grid-template-columns:repeat(5,1fr)}
  .feature-circles span{aspect-ratio:1/1;min-height:0;border-radius:50%;padding:18px}
  .whole-life-support__card{grid-template-columns:.9fr 1.1fr;padding:34px 38px}
}

@media (max-width: 899px){
  .innovation-card__body h3{font-size:25px}
  .innovation-card__body p{font-size:14px}
  .feature-circles span{min-height:104px;font-size:14px}
  .multi-grid--revised{grid-template-columns:1fr}
  .whole-life-support__copy h2{font-size:27px}
}

@media (max-width: 767px){
  #approach03 .section-title h2{font-size:23px !important;line-height:1.55}
  .innovation-grid{gap:18px}
  .innovation-card{padding:20px !important;gap:18px}
  .innovation-card__eyebrow{font-size:12px !important}
  .innovation-card__body h3{font-size:23px;line-height:1.5}
  .button-link{width:100%;padding:13px 18px;font-size:13px}
  .feature-circles{grid-template-columns:1fr 1fr;gap:12px}
  .feature-circles span{min-height:96px;padding:12px 10px;font-size:13px}
  .program-overview{padding:20px !important}
  .multi-grid--revised h3{font-size:24px}
  .whole-life-support__card{padding:22px !important}
  .whole-life-support__visual img{width:min(260px,80vw)}
}

/* === 2026-07-09 additional revision set === */
.hero--image .kv-picture img{width:100%;height:auto;display:block}

/* put '3つの体験' in the pale orange header area */
.approach-experience .experience-heading{
  background:#fff1e7 !important;
  box-shadow:none !important;
  border:2px solid rgba(243,108,33,.12);
}
.approach-experience .experience-heading p{
  display:inline-block;
  margin-bottom:10px;
  padding:7px 14px;
  border-radius:999px;
  background:#fff;
  color:var(--orange) !important;
  font-size:15px !important;
  font-weight:900;
}
.approach-experience .experience-heading h2{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  font-size:clamp(28px,4vw,44px) !important;
  line-height:1.05;
}
.approach-experience .experience-heading h2 span{
  font-size:clamp(72px,10vw,112px) !important;
  line-height:.82;
}

/* POINT02 / POINT03 to same flag layout as POINT01 */
#approach02 .section-title,
#approach03 .section-title{
  position:relative;
  max-width:1020px;
  margin:0 auto 24px !important;
  padding:24px 46px 20px 170px;
  background:#fff;
  text-align:left;
  border-radius:24px;
  box-shadow:0 10px 26px rgba(0,0,0,.04);
}
#approach02 .point,
#approach03 .point{
  position:absolute;
  left:42px;
  top:18px;
  display:block;
  width:78px;
  height:116px;
  margin:0;
  padding-top:12px;
  background:linear-gradient(180deg,#ff9b2f 0%,#ff7a00 100%);
  color:#fff !important;
  text-align:center;
  clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);
}
#approach02 .point small,
#approach03 .point small{display:block;margin:0;font-size:14px !important;letter-spacing:.08em;color:#fff !important;line-height:1.1}
#approach02 .point strong,
#approach03 .point strong{display:block;margin-top:2px;color:#fff !important;font-size:42px !important;line-height:1;font-weight:900}
#approach02 .section-title h2,
#approach03 .section-title h2{font-size:29px !important;line-height:1.65 !important;color:#2b1a16 !important}
#approach02 .section-title h2 span,
#approach03 .section-title h2 span{font-size:32px !important;color:var(--orange) !important}
#approach02 .section-title p,
#approach03 .section-title p{margin:8px 0 0 !important;font-size:15px !important;color:#2b1a16 !important;font-weight:900 !important;line-height:1.8 !important}
#approach02 .innovation-grid,
#approach03 .card{max-width:1020px;margin-inline:auto}

/* professional image balance */
.experience-card .professional-item img{object-fit:contain}
.experience-card .professional-item:nth-child(1) img,.experience-card .professional-item:nth-child(2) img,
.experience-card .professional-item:nth-child(4) img{height:118px !important;max-width:118px !important}
.experience-card .professional-item:nth-child(3) img{height:126px !important;max-width:126px !important}

/* Neurotracker image */
.innovation-card--neuro .innovation-card__media img{aspect-ratio:16/9}

/* Uuntei layout */
.innovation-card--untei .innovation-card__media{order:1}
.innovation-card--untei .innovation-card__body{order:2}
.innovation-card--untei .innovation-card__media img:first-child{aspect-ratio:4/3}
.innovation-card__media .untei-strip{
  width:100%;
  border-radius:18px;
  border:1px solid #ffe0c2;
  box-shadow:0 6px 16px rgba(0,0,0,.05);
}
.innovation-card--untei .innovation-card__body{
  align-self:center;
}

/* Program example tags smaller, tag-like */
.program-overview{max-width:1020px;margin-inline:auto}
.feature-circles{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 12px !important;
}
.feature-circles span{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:auto !important;
  aspect-ratio:auto !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  background:#fff7ef !important;
  border:2px solid #ffd3ae !important;
  box-shadow:none !important;
  font-size:14px !important;
  line-height:1.4 !important;
}

@media (min-width:900px){
  .innovation-card--untei{grid-template-columns:1fr 1fr !important}
}

@media (max-width:899px){
  #approach02 .section-title,
  #approach03 .section-title{padding:22px 18px 18px 84px;border-radius:20px;margin-bottom:18px !important}
  #approach02 .point,
  #approach03 .point{left:16px;top:18px;width:54px;height:82px;padding-top:8px}
  #approach02 .point small,
  #approach03 .point small{font-size:11px !important}
  #approach02 .point strong,
  #approach03 .point strong{font-size:30px !important}
  #approach02 .section-title h2,
  #approach03 .section-title h2{font-size:21px !important}
  #approach02 .section-title h2 span,
  #approach03 .section-title h2 span{font-size:23px !important}
  #approach02 .section-title p,
  #approach03 .section-title p{font-size:12.5px !important}
  .approach-experience .experience-heading{padding:22px 20px 16px !important}
  .approach-experience .experience-heading p{font-size:12px !important;padding:6px 12px}
  .approach-experience .experience-heading h2{font-size:24px !important}
  .approach-experience .experience-heading h2 span{font-size:62px !important}
}

@media (max-width:767px){
  .feature-circles{justify-content:flex-start}
  .feature-circles span{font-size:13px !important;padding:9px 14px !important}
}


/* === 2026-07-09 v13 requested adjustments === */

/* PC KV height */
@media (min-width: 768px){
  .hero--image .kv-picture img{
    height:750px !important;
    max-height:750px !important;
    width:100% !important;
    object-fit:contain !important;
    object-position:center top !important;
    background:#fff !important;
  }
}

/* Bigger heading, no pale orange border line */
.approach-experience .experience-heading{
  border:0 !important;
  box-shadow:none !important;
  background:#FEF3EB !important;
  padding-top:34px !important;
}
.approach-experience .experience-heading p{
  font-size:clamp(22px,3.2vw,36px) !important;
  line-height:1.4 !important;
  letter-spacing:.05em !important;
  background:transparent !important;
  padding:0 !important;
  margin-bottom:4px !important;
  color:#2b1a16 !important;
}
.approach-experience .experience-heading h2{
  margin-top:0 !important;
}

/* Center POINT1-3 headings */
.approach-experience .section-title,
#approach02 .section-title,
#approach03 .section-title{
  text-align:center !important;
}
.approach-experience .section-title h2,
.approach-experience .section-title p,
#approach02 .section-title h2,
#approach02 .section-title p,
#approach03 .section-title h2,
#approach03 .section-title p{
  text-align:center !important;
}

/* POINT2 section background and connected heading/content card */
#approach02{
  background:#FEF3EB !important;
}
#approach02 .section-title{
  margin-bottom:0 !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
}
#approach02 .innovation-grid{
  margin-top:0 !important;
  padding:0 46px 38px !important;
  border-radius:0 0 24px 24px !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.055) !important;
}
#approach02 .innovation-grid .card{
  box-shadow:none !important;
  border:1px solid rgba(243,108,33,.12) !important;
  background:#fffaf6 !important;
}

/* POINT3 connected heading/content */
#approach03 .section-title{
  margin-bottom:0 !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
}
#approach03 .section-title + .card{
  max-width:1020px !important;
  margin:0 auto !important;
  border-radius:0 0 24px 24px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.055) !important;
  background:#fff !important;
}

/* Multi-class orange note above heading */
.section-title__orange-note{
  margin:0 0 10px !important;
  color:var(--orange) !important;
  font-size:clamp(19px,2.7vw,30px) !important;
  font-weight:900 !important;
  line-height:1.55 !important;
  letter-spacing:.03em !important;
}

/* Mobile adjustments for connected POINT cards */
@media (max-width:899px){
  .approach-experience .experience-heading p{
    font-size:22px !important;
  }
  #approach02 .innovation-grid{
    padding:0 16px 24px !important;
  }
  #approach02 .section-title,
  #approach03 .section-title{
    border-radius:20px 20px 0 0 !important;
  }
  #approach02 .innovation-grid,
  #approach03 .section-title + .card{
    border-radius:0 0 20px 20px !important;
  }
}

@media (max-width:767px){
  .approach-experience .experience-heading p{
    font-size:20px !important;
  }
  .section-title__orange-note{
    font-size:19px !important;
  }
}


/* === Header balance fix v14 === */
.site-header{
  z-index:300 !important;
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid #f0ede9 !important;
  box-shadow:0 2px 12px rgba(51,33,22,.035) !important;
}
.site-header__inner{
  min-height:58px !important;
  height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding-left:0 !important;
}
.site-header__brand{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  min-width:0 !important;
  height:58px !important;
}
.site-header__mark{
  display:block !important;
  flex:0 0 96px !important;
  width:96px !important;
  height:58px !important;
  overflow:hidden !important;
  position:relative !important;
}
.site-header__mark img{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:116px !important;
  max-width:none !important;
  height:auto !important;
}
.site-header__logo img{
  height:24px !important;
  width:auto !important;
  max-width:none !important;
}
.site-header__nav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:28px !important;
  margin-left:auto !important;
}
.site-header__nav a{
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  letter-spacing:.02em !important;
}
.site-header__nav a::after{bottom:-5px !important;height:2px !important}

@media (max-width: 900px){
  .site-header__nav{display:none !important}
  .site-header__menu{display:grid !important}
}
@media (max-width: 767px){
  .site-header__inner{height:54px !important;min-height:54px !important;padding-right:12px !important}
  .site-header__brand{height:54px !important;gap:12px !important}
  .site-header__mark{width:78px !important;flex-basis:78px !important;height:54px !important}
  .site-header__mark img{width:96px !important}
  .site-header__logo img{height:21px !important}
}

/* === Header key graphic full-fit fix v15 === */
.site-header__inner{
  min-height:96px !important;
  height:96px !important;
  align-items:center !important;
}
.site-header__brand{
  height:96px !important;
  align-items:center !important;
  gap:18px !important;
}
.site-header__mark{
  flex:0 0 150px !important;
  width:150px !important;
  height:74px !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  position:static !important;
}
.site-header__mark img{
  position:static !important;
  transform:none !important;
  width:150px !important;
  height:auto !important;
  max-width:150px !important;
  max-height:74px !important;
  object-fit:contain !important;
}
.site-header__logo img{
  height:25px !important;
}
.site-header__nav a{
  font-size:12px !important;
}

@media (max-width: 900px){
  .site-header__inner{min-height:78px !important;height:78px !important}
  .site-header__brand{height:78px !important;gap:12px !important}
  .site-header__mark{width:120px !important;flex-basis:120px !important;height:60px !important}
  .site-header__mark img{width:120px !important;max-width:120px !important;max-height:60px !important}
}

@media (max-width: 767px){
  .site-header__inner{min-height:70px !important;height:70px !important;padding-right:12px !important}
  .site-header__brand{height:70px !important;gap:10px !important}
  .site-header__mark{width:96px !important;flex-basis:96px !important;height:50px !important}
  .site-header__mark img{width:96px !important;max-width:96px !important;max-height:50px !important}
  .site-header__logo img{height:20px !important}
}


/* === 2026-07-09 header/logo/note/OT adjustments v17 === */
.site-header{
  padding:0 !important;
}
.site-header__inner{
  min-height:100px !important;
  height:100px !important;
  align-items:flex-end !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.site-header__brand{
  height:100px !important;
  gap:20px !important;
  align-items:flex-end !important;
}
.site-header__mark{
  flex:0 0 220px !important;
  width:220px !important;
  height:100px !important;
  overflow:hidden !important;
  align-items:flex-end !important;
}
.site-header__mark img{
  width:auto !important;
  height:100px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left bottom !important;
  display:block !important;
}
.site-header__logo{
  display:flex !important;
  align-items:center !important;
  height:100px !important;
  padding-bottom:18px !important;
}
.site-header__logo img{
  height:38px !important;
  width:auto !important;
  max-width:none !important;
}
.site-header__nav{
  align-self:center !important;
}
.section-title__orange-note{
  width:100% !important;
  max-width:none !important;
  text-align:center !important;
  color:var(--orange) !important;
}
.whole-life-support__copy h2{
  font-size:clamp(18px,2.2vw,28px) !important;
  line-height:1.55 !important;
}

@media (max-width: 900px){
  .site-header__inner{
    min-height:88px !important;
    height:88px !important;
  }
  .site-header__brand{
    height:88px !important;
    gap:14px !important;
  }
  .site-header__mark{
    width:178px !important;
    flex-basis:178px !important;
    height:88px !important;
  }
  .site-header__mark img{
    height:88px !important;
  }
  .site-header__logo{
    height:88px !important;
    padding-bottom:16px !important;
  }
  .site-header__logo img{
    height:32px !important;
  }
}

@media (max-width: 767px){
  .site-header__inner{
    min-height:76px !important;
    height:76px !important;
    padding-right:12px !important;
  }
  .site-header__brand{
    height:76px !important;
    gap:10px !important;
  }
  .site-header__mark{
    width:132px !important;
    flex-basis:132px !important;
    height:76px !important;
  }
  .site-header__mark img{
    height:76px !important;
  }
  .site-header__logo{
    height:76px !important;
    padding-bottom:14px !important;
  }
  .site-header__logo img{
    height:24px !important;
  }
  .whole-life-support__copy h2{
    font-size:20px !important;
    line-height:1.5 !important;
  }
}

.section-title__orange-note .accent-number{color:var(--orange) !important;font-weight:900 !important;}


/* === 2026-07-09 smartphone-only fixes v19 === */
.sp-only{display:none !important;}
.button-link--mobile-after-image{display:none !important;}

@media (max-width: 767px){
  /* Header: keep colorful mark fully visible, enlarge logo, center hamburger */
  .site-header__inner{
    min-height:76px !important;
    height:76px !important;
    align-items:center !important;
    padding-left:0 !important;
    padding-right:12px !important;
  }
  .site-header__brand{
    height:76px !important;
    align-items:center !important;
    gap:10px !important;
    min-width:0 !important;
  }
  .site-header__mark{
    width:132px !important;
    flex:0 0 132px !important;
    height:76px !important;
    overflow:visible !important;
    display:flex !important;
    align-items:center !important;
  }
  .site-header__mark img{
    width:132px !important;
    height:auto !important;
    max-width:132px !important;
    max-height:none !important;
    object-fit:contain !important;
  }
  .site-header__logo{
    height:76px !important;
    padding-bottom:0 !important;
    align-items:center !important;
  }
  .site-header__logo img{
    height:30px !important;
    width:auto !important;
  }
  .site-header__menu,
  .menu-button.site-header__menu{
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    align-self:center !important;
    margin:0 !important;
    display:grid !important;
    place-items:center !important;
    line-height:1 !important;
    font-size:24px !important;
  }

  /* KV below three points: compact 3-across */
  .three-points{padding:12px 0 20px !important;}
  .three-points .container{padding-inline:8px !important;}
  .three-points__grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    align-items:stretch !important;
  }
  .three-point{
    width:auto !important;
    min-width:0 !important;
    aspect-ratio:1/1 !important;
    padding:9px 5px !important;
    border-width:2px !important;
    box-shadow:0 4px 10px rgba(0,0,0,.04) !important;
  }
  .three-point__lead{font-size:9px !important;line-height:1.25 !important;margin-bottom:2px !important;}
  .three-point strong{font-size:15px !important;line-height:1.15 !important;}
  .point-no1 strong{font-size:28px !important;}
  .three-point__body{font-size:9px !important;line-height:1.35 !important;}
  .three-point small{font-size:7px !important;line-height:1.2 !important;}
  .three-point .point-em--orange{font-size:12px !important;line-height:1.2 !important;}
  .point-expert strong{font-size:11px !important;}
  .point-expert .three-point__body,
  .point-pro .three-point__body{font-size:9px !important;}
  .point-pro-team{font-size:10px !important;line-height:1.25 !important;}
  .hl-yellow{padding:1px 3px !important;}

  /* POINT flag layout: flag overlaps white card; text uses full width and left align */
  .approach-experience .section-title,
  #approach02 .section-title,
  #approach03 .section-title{
    position:relative !important;
    padding:56px 18px 18px !important;
    text-align:left !important;
    border-radius:20px 20px 0 0 !important;
  }
  .approach-experience .point,
  #approach02 .point,
  #approach03 .point{
    position:absolute !important;
    left:18px !important;
    top:-26px !important;
    width:52px !important;
    height:78px !important;
    margin:0 !important;
    z-index:3 !important;
  }
  .approach-experience .point small,
  #approach02 .point small,
  #approach03 .point small{font-size:10px !important;}
  .approach-experience .point strong,
  #approach02 .point strong,
  #approach03 .point strong{font-size:29px !important;}
  .approach-experience .section-title h2,
  .approach-experience .section-title p,
  #approach02 .section-title h2,
  #approach02 .section-title p,
  #approach03 .section-title h2,
  #approach03 .section-title p{
    text-align:left !important;
    margin-left:0 !important;
    max-width:none !important;
  }
  .approach-experience .section-title h2,
  #approach02 .section-title h2,
  #approach03 .section-title h2{font-size:21px !important;line-height:1.55 !important;}
  .approach-experience .section-title h2 span,
  #approach02 .section-title h2 span,
  #approach03 .section-title h2 span{font-size:22px !important;}
  .approach-experience .section-title p,
  #approach02 .section-title p,
  #approach03 .section-title p{font-size:12.5px !important;line-height:1.75 !important;}

  /* Support result note line break on SP only */
  .sp-only{display:inline !important;}
  .section-title__orange-note{font-size:18px !important;line-height:1.55 !important;text-align:center !important;}

  /* Program example tags: compact 3 + 2 layout */
  .feature-circles{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    justify-content:stretch !important;
  }
  .feature-circles span{
    min-height:0 !important;
    width:100% !important;
    padding:8px 6px !important;
    border-radius:999px !important;
    border:2px solid var(--orange) !important;
    background:#fff !important;
    color:var(--orange) !important;
    font-size:11px !important;
    line-height:1.35 !important;
    text-align:center !important;
    white-space:normal !important;
  }
  .feature-circles span:nth-child(4){grid-column:1 / span 1;}
  .feature-circles span:nth-child(5){grid-column:2 / span 1;}

  /* Multi-class: image before button on smartphone only */
  .multi-grid--revised{display:flex !important;flex-direction:column !important;}
  .multi-grid--revised .multi-copy{display:contents !important;}
  .multi-grid--revised .multi-copy h3{order:1 !important;}
  .multi-grid--revised .multi-copy p{order:2 !important;}
  .multi-grid--revised .multi-copy > .button-link{display:none !important;}
  .multi-grid--revised .combine-box{order:3 !important;}
  .button-link--mobile-after-image{
    display:inline-flex !important;
    order:4 !important;
    width:100% !important;
    margin-top:14px !important;
  }

  /* Drawer close usability */
  .drawer{z-index:9999 !important;}
  .drawer__head{position:sticky !important;top:0 !important;z-index:2 !important;background:var(--beige) !important;}
  .drawer__head button{
    width:48px !important;
    height:48px !important;
    display:grid !important;
    place-items:center !important;
    line-height:1 !important;
    font-size:28px !important;
    cursor:pointer !important;
  }
  body.drawer-open{overflow:hidden !important;}
}

/* === 2026-07-09 smartphone-only fixes v20 === */
.sp-only{display:none !important;}
.multi-mobile-button{display:none !important;}

@media (max-width: 767px){
  /* Header: keep mark full width, enlarge logo, center hamburger */
  .site-header__inner{
    min-height:68px !important;
    height:68px !important;
    align-items:center !important;
    padding-right:10px !important;
    gap:8px !important;
  }
  .site-header__brand{
    height:68px !important;
    align-items:center !important;
    gap:8px !important;
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  .site-header__mark{
    flex:0 0 106px !important;
    width:106px !important;
    height:auto !important;
    overflow:visible !important;
    display:block !important;
    align-items:center !important;
  }
  .site-header__mark img{
    width:106px !important;
    max-width:106px !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:left center !important;
    position:static !important;
    transform:none !important;
  }
  .site-header__logo{
    height:68px !important;
    display:flex !important;
    align-items:center !important;
    padding-bottom:0 !important;
    min-width:0 !important;
  }
  .site-header__logo img{
    height:28px !important;
    width:auto !important;
    max-width:175px !important;
  }
  .site-header__menu{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    display:grid !important;
    place-items:center !important;
    align-self:center !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
    font-size:22px !important;
  }

  /* Drawer close usability */
  .drawer__head button[data-menu-close]{
    display:grid !important;
    place-items:center !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    line-height:1 !important;
    position:relative !important;
    z-index:3 !important;
  }
  body.drawer-open{overflow:hidden !important;}

  /* Three badges under KV: compact 3-column mobile layout */
  .three-points{
    padding:14px 0 22px !important;
  }
  .three-points .container{
    padding-inline:10px !important;
  }
  .three-points__grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:6px !important;
  }
  .three-point{
    width:100% !important;
    min-width:0 !important;
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    padding:8px 4px !important;
    border-width:2px !important;
    box-shadow:0 5px 12px rgba(243,108,33,.08) !important;
  }
  .three-point__lead{
    font-size:10px !important;
    line-height:1.25 !important;
    margin:0 0 2px !important;
  }
  .three-point strong{
    font-size:20px !important;
    line-height:1.05 !important;
  }
  .three-point__body{
    font-size:9.5px !important;
    line-height:1.35 !important;
    margin-top:2px !important;
  }
  .three-point small{
    font-size:6.8px !important;
    line-height:1.2 !important;
    margin-top:2px !important;
  }
  .three-point .point-em--orange,
  .point-expert strong{
    font-size:15px !important;
  }
  .point-expert .three-point__body,
  .point-pro .three-point__body{
    font-size:12px !important;
  }
  .point-pro-team{
    font-size:11px !important;
    margin-bottom:2px !important;
  }
  .point-pro strong{
    font-size:10px !important;
  }
  .hl-yellow{
    padding:0 .15em .04em !important;
  }

  /* POINT headings: flag overlaps card, content readable full width */
  .approach-experience .section-title,
  #approach02 .section-title,
  #approach03 .section-title{
    text-align:left !important;
    padding:56px 16px 18px 16px !important;
    margin-inline:12px !important;
    width:auto !important;
    border-radius:18px 18px 0 0 !important;
  }
  .approach-experience .point,
  #approach02 .point,
  #approach03 .point{
    position:absolute !important;
    left:16px !important;
    top:-22px !important;
    width:48px !important;
    height:72px !important;
    padding-top:8px !important;
    z-index:2 !important;
  }
  .approach-experience .point small,
  #approach02 .point small,
  #approach03 .point small{
    font-size:10px !important;
  }
  .approach-experience .point strong,
  #approach02 .point strong,
  #approach03 .point strong{
    font-size:28px !important;
  }
  .approach-experience .section-title h2,
  #approach02 .section-title h2,
  #approach03 .section-title h2{
    text-align:left !important;
    font-size:21px !important;
    line-height:1.55 !important;
    margin:0 !important;
  }
  .approach-experience .section-title h2 span,
  #approach02 .section-title h2 span,
  #approach03 .section-title h2 span{
    font-size:22px !important;
  }
  .approach-experience .section-title p,
  #approach02 .section-title p,
  #approach03 .section-title p{
    text-align:left !important;
    max-width:none !important;
    margin-top:10px !important;
    font-size:12.5px !important;
    line-height:1.85 !important;
  }
  .experience-card,
  #approach02 .innovation-grid,
  #approach03 .section-title + .card{
    margin-inline:12px !important;
    width:auto !important;
  }

  /* Orange support note line break only on mobile */
  .sp-only{display:block !important;}
  .section-title__orange-note{
    text-align:center !important;
    font-size:18px !important;
    line-height:1.55 !important;
  }

  /* Program example tags: 3 + 2 compact rows */
  .feature-circles{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:8px !important;
    justify-content:center !important;
  }
  .feature-circles span{
    width:100% !important;
    min-height:0 !important;
    padding:8px 6px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1.35 !important;
    text-align:center !important;
    border:2px solid var(--orange) !important;
    background:#fff !important;
  }
  .feature-circles span:nth-child(4){
    grid-column:1 / 2;
  }
  .feature-circles span:nth-child(5){
    grid-column:2 / 3;
  }

  /* Multi-class: text -> image -> official site button */
  .multi-grid--revised{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
  }
  .multi-grid--revised .multi-copy{
    order:1 !important;
  }
  .multi-grid--revised .combine-box{
    order:2 !important;
  }
  .multi-grid--revised .multi-copy > .button-link{
    display:none !important;
  }
  .multi-mobile-button{
    display:flex !important;
    order:3 !important;
    width:100% !important;
    margin-top:0 !important;
  }
}


/* === PDF revision annotations 2026-07-14 v21 === */
.site-header__actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:18px;
  flex:0 0 auto;
}
.header-action,
.header-phone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  white-space:nowrap;
}
.header-action--trial{background:var(--orange);color:#fff;box-shadow:0 4px 0 rgba(200,98,0,.18)}
.header-action--line{background:#06c755;color:#fff;box-shadow:0 4px 0 rgba(0,130,60,.15)}
.header-phone{color:var(--orange);border:2px solid var(--orange);background:#fff}
.hero--image{position:relative}
.hero-cta{position:absolute;right:7%;top:32%;z-index:3}
.hero-cta a{
  display:grid;
  place-items:center;
  width:190px;
  height:190px;
  border-radius:50%;
  background:#fff;
  color:var(--orange);
  border:5px solid var(--orange);
  text-align:center;
  font-size:20px;
  font-weight:900;
  line-height:1.45;
  box-shadow:0 16px 30px rgba(245,124,0,.18);
  padding:22px;
}
.three-points__grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;max-width:1120px;margin-inline:auto}
.three-point{border-width:4px !important}
.point-order{border-color:var(--orange) !important;background:#fffaf5 !important}
.point-order strong{font-size:clamp(24px,2.8vw,36px) !important;color:var(--orange) !important;line-height:1.3 !important}
.point-order .three-point__body{font-size:clamp(16px,1.8vw,22px) !important;font-weight:900 !important;color:#2b1a16 !important}
.check-grid li:last-child::before{content:'✓'}
.intro-message p{
  color:var(--orange) !important;
  font-size:clamp(24px,3.2vw,40px) !important;
  letter-spacing:.02em !important;
}
.intro-message__lead{
  max-width:900px;
  margin:0 auto !important;
  font-size:clamp(18px,2.4vw,26px) !important;
  color:#2b1a16 !important;
  line-height:1.85 !important;
}
.approach-experience .experience-heading p{color:var(--orange) !important}
.experience-card .professionals{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:860px;margin-inline:auto}
.experience-card .professional-badge{background:var(--orange) !important;color:#fff !important}
.doctor-profile__link{display:none !important}
.innovation-card--neuro .button-link,
#approach03 .link-card,
.multi-class .button-link,
.whole-life-support__copy .button-link{display:none !important}
.innovation-card--untei .innovation-card__eyebrow{background:#fff1e4 !important;color:var(--orange) !important;border:2px solid #ffd7b6 !important}
.feature-circles span:first-child{border-color:var(--orange) !important;background:#fff7ef !important;color:var(--orange) !important}

@media (max-width:1100px){
  .site-header__actions{display:none}
  .three-points__grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

@media (max-width:767px){
  .hero-cta{position:static;margin:10px auto 0;display:flex;justify-content:center}
  .hero-cta a{width:auto;height:auto;min-height:0;border-radius:999px;padding:10px 16px;font-size:14px;border-width:3px}
  .three-points__grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:6px !important}
  .three-point{width:auto !important;min-height:92px !important;padding:8px 4px !important;border-width:2px !important;border-radius:16px !important;box-shadow:0 4px 0 rgba(245,124,0,.1) !important}
  .three-point__lead{font-size:9px !important;line-height:1.25 !important;margin-bottom:2px !important}
  .three-point strong{font-size:15px !important;line-height:1.2 !important}
  .three-point__body{font-size:8px !important;line-height:1.35 !important}
  .three-point small{font-size:6px !important;line-height:1.2 !important}
  .point-order strong{font-size:11px !important}
  .point-order .three-point__body{font-size:8px !important}
  .experience-card .professionals{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important}
  .experience-card .professional-item{min-height:174px !important;padding:12px 6px 10px !important}
  .experience-card .professional-item img{height:86px !important;max-width:88px !important}
  .experience-card .professional-item b{font-size:13px !important}
  .professional-worry{font-size:10px !important;padding:4px 6px !important}
  .header-action,.header-phone{display:none !important}
}


/* === 2026-07-14 revision v22 === */
.site-header__inner{align-items:center !important;}
.site-header__brand{align-items:center !important;}
.site-header__actions{align-self:center !important;transform:translateY(0) !important;gap:10px !important;}
.header-action,.header-phone{min-height:40px !important;padding:9px 14px !important;align-items:center !important;}
.header-phone{font-size:13px !important;}

.hero--image{position:relative !important;}
.hero-copy-bubble{position:absolute;right:5.5%;top:14%;z-index:3;background:rgba(255,255,255,.95);border:4px solid var(--orange);border-radius:28px;padding:18px 24px;box-shadow:0 14px 28px rgba(245,124,0,.15);max-width:360px;}
.hero-copy-bubble p{margin:0 0 6px;color:#2b1a16;font-size:22px;font-weight:900;line-height:1.45;}
.hero-copy-bubble strong{display:block;color:var(--orange);font-size:34px;line-height:1.35;font-weight:900;}
.hero-cta{top:40% !important;right:4.5% !important;}
.hero-cta a{width:214px !important;height:214px !important;padding:28px !important;font-size:24px !important;line-height:1.42 !important;box-shadow:0 18px 34px rgba(245,124,0,.22) !important;cursor:pointer;}

.three-points{padding:18px 0 30px !important;}
.three-points__grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:18px !important;max-width:1140px !important;}
.three-point{display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;min-height:250px !important;padding:20px !important;border-radius:50% !important;text-align:center !important;transition:transform .18s ease, box-shadow .18s ease;cursor:pointer !important;}
.three-point:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(245,124,0,.16) !important;}
.three-point__lead{margin-bottom:8px !important;}
.three-point strong{font-size:clamp(28px,2.8vw,38px) !important;line-height:1.2 !important;}
.three-point__body{margin-top:8px !important;font-size:clamp(16px,1.4vw,20px) !important;line-height:1.55 !important;}
.three-point small{margin-top:8px !important;font-size:11px !important;}
.point-no1 strong{font-size:clamp(44px,4vw,60px) !important;}
.point-order{background:#fff !important;border-color:#ffd5b3 !important;}
.point-order .three-point__lead{font-size:clamp(18px,1.6vw,22px) !important;color:var(--orange) !important;font-weight:900 !important;}
.point-order strong{font-size:clamp(22px,2vw,28px) !important;color:#2b1a16 !important;line-height:1.35 !important;}
.point-order .three-point__body{font-size:clamp(18px,1.6vw,22px) !important;color:#2b1a16 !important;}

.pre-program-intro{margin:0 auto 28px;padding:24px 28px;border-radius:24px;background:#fff1e4;text-align:center;max-width:980px;}
.pre-program-intro h2{margin:0 0 12px;color:var(--orange);font-size:clamp(28px,3vw,42px);line-height:1.5;font-weight:900;}
.pre-program-intro__line2{display:block;}
.pre-program-intro__highlight{display:inline-block;position:relative;margin:0 .04em;padding:0 .16em;color:var(--orange);font-size:1.45em;line-height:1;font-weight:900;background:linear-gradient(transparent 42%, #ffd8a8 42%, #ffd8a8 92%, transparent 92%);border-radius:14px;}
.pre-program-intro p{margin:0;color:#222 !important;font-size:clamp(14px,1.2vw,16px);line-height:1.9;font-weight:700;}

.innovation-card__subeyebrow{margin:0 0 6px !important;color:#2b1a16 !important;font-size:15px !important;font-weight:900 !important;line-height:1.5 !important;}
.innovation-card__body h3{margin-bottom:12px !important;}

.program-overview__copy p{max-width:820px !important;}
.feature-circles{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:16px !important;}
.feature-circle{display:flex;flex-direction:column;justify-content:flex-start;min-height:210px;padding:20px 18px;border:3px solid #ffd3ae;border-radius:26px;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.04);text-align:left;}
.feature-circle h4{margin:0 0 10px;color:var(--orange);font-size:18px;font-weight:900;line-height:1.5;}
.feature-circle p{margin:0;color:#555;font-size:13px;font-weight:700;line-height:1.8;}

.cta-panel__desc p{margin:0 0 14px;}
.cta-panel__desc p:last-child{margin-bottom:0;}
.cta-panel__buttons-grid{display:grid;gap:12px;margin-top:6px;}
.cta-panel__button{min-width:0 !important;width:100%;}
.cta-panel__button--line{background:#06c755 !important;color:#fff !important;}

.sticky-footer-cta{position:fixed;left:16px;right:16px;bottom:16px;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.98);border:2px solid #ffd6ad;box-shadow:0 16px 30px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(24px);transition:all .2s ease;pointer-events:none;}
.sticky-footer-cta.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}
.sticky-footer-cta__copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.sticky-footer-cta__copy span{color:var(--orange);font-size:13px;font-weight:900;line-height:1.3;}
.sticky-footer-cta__copy strong{color:#2b1a16;font-size:16px;font-weight:900;line-height:1.4;}
.sticky-footer-cta__button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:12px 18px;border-radius:999px;background:var(--orange);color:#fff;font-size:15px;font-weight:900;white-space:nowrap;}

@media (max-width:1100px){
  .feature-circles{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .three-point{min-height:220px !important;}
}
@media (max-width:767px){
  .site-header__inner{min-height:72px !important;height:72px !important;gap:8px !important;}
  .site-header__mark{flex:0 0 112px !important;width:112px !important;height:auto !important;overflow:visible !important;}
  .site-header__mark img{width:112px !important;max-width:112px !important;height:auto !important;}
  .site-header__logo img{height:30px !important;max-width:190px !important;}
  .site-header__menu,.menu-button.site-header__menu{display:grid !important;place-items:center !important;align-self:center !important;}
  .hero-copy-bubble{position:static !important;margin:12px auto 0;max-width:calc(100% - 24px);text-align:center;padding:16px 18px;}
  .hero-copy-bubble p{font-size:18px !important;}
  .hero-copy-bubble strong{font-size:28px !important;}
  .hero-cta{position:static !important;margin:12px auto 0 !important;display:flex;justify-content:center;}
  .hero-cta a{width:100% !important;max-width:320px !important;height:auto !important;min-height:64px !important;border-radius:999px !important;font-size:18px !important;padding:14px 18px !important;}
  .three-points .container{padding-inline:12px !important;}
  .three-points__grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
  .three-point{min-height:148px !important;aspect-ratio:auto !important;padding:20px !important;border-radius:24px !important;}
  .three-point__lead{font-size:12px !important;}
  .three-point strong{font-size:20px !important;}
  .point-no1 strong{font-size:30px !important;}
  .three-point__body{font-size:12px !important;line-height:1.5 !important;}
  .point-order .three-point__lead{font-size:15px !important;}
  .point-order strong{font-size:18px !important;}
  .point-order .three-point__body{font-size:14px !important;}
  .pre-program-intro{margin:0 12px 22px !important;padding:20px 16px !important;text-align:left !important;}
  .pre-program-intro h2{font-size:24px !important;line-height:1.5 !important;}
  .pre-program-intro__highlight{font-size:1.38em !important;border-radius:10px !important;padding:0 .12em !important;}
  .pre-program-intro p{font-size:13px !important;line-height:1.85 !important;}
  .innovation-card__subeyebrow{font-size:13px !important;}
  .feature-circles{grid-template-columns:1fr !important;gap:12px !important;}
  .feature-circle{min-height:0 !important;padding:16px !important;border-radius:18px !important;}
  .feature-circle h4{font-size:16px !important;}
  .feature-circle p{font-size:12px !important;line-height:1.75 !important;}
  .cta-panel{padding:24px 18px !important;}
  .cta-panel__tel{font-size:34px !important;}
  .sticky-footer-cta{left:10px;right:10px;bottom:10px;padding:10px 12px;gap:10px;border-radius:14px;}
  .sticky-footer-cta__copy span{font-size:11px;}
  .sticky-footer-cta__copy strong{font-size:12px;line-height:1.35;}
  .sticky-footer-cta__button{padding:10px 12px;font-size:12px;}
}


/* === 2026-07-14 campaign CTA redesign v23 === */
.campaign-contact{
  position:relative;
  padding:78px 0;
  background:#fffaf5;
}
.campaign-contact__shell{
  position:relative;
  overflow:visible;
  max-width:1180px;
  margin:0 auto;
  padding:70px 54px 56px;
  border-radius:42px;
  background:linear-gradient(135deg,#f06419 0%,#f37820 52%,#ef4f13 100%);
  box-shadow:0 20px 50px rgba(184,72,8,.18);
  color:#fff;
}
.campaign-contact__shell::before,
.campaign-contact__shell::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  pointer-events:none;
}
.campaign-contact__shell::before{
  width:170px;
  height:170px;
  right:-42px;
  top:30px;
}
.campaign-contact__shell::after{
  width:110px;
  height:110px;
  left:38%;
  top:18px;
}
.campaign-contact__badge{
  position:absolute;
  left:13%;
  top:-28px;
  z-index:3;
  display:grid;
  place-items:center;
  min-width:230px;
  min-height:78px;
  padding:16px 28px;
  border:4px solid #fff;
  border-radius:44% 56% 46% 54% / 57% 47% 53% 43%;
  background:#0ca47f;
  color:#fff;
  font-size:22px;
  font-weight:900;
  line-height:1.35;
  text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,.13);
}
.campaign-contact__head{
  position:relative;
  z-index:2;
  max-width:760px;
  margin:0 auto 28px;
  text-align:center;
}
.campaign-contact__kicker{
  display:inline-block;
  margin:0 0 10px;
  padding:7px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  font-size:17px;
  font-weight:900;
  letter-spacing:.05em;
}
.campaign-contact__head h2{
  margin:0;
  color:#fff;
  font-size:clamp(32px,4.5vw,56px);
  font-weight:900;
  line-height:1.4;
  letter-spacing:.03em;
  text-shadow:0 3px 0 rgba(151,42,0,.14);
}
.campaign-contact__lead{
  max-width:820px;
  margin:20px auto 0;
  color:#fff;
  font-size:16px;
  font-weight:800;
  line-height:2;
}
.campaign-contact__gift{
  display:inline-block;
  margin:16px 0 0;
  padding:8px 16px;
  border-radius:999px;
  background:#fff6dc;
  color:#d84410;
  font-size:15px;
  font-weight:900;
}
.campaign-contact__visual{
  position:absolute;
  left:32px;
  bottom:56px;
  z-index:1;
  width:210px;
  height:260px;
  overflow:hidden;
  border-radius:28px;
  opacity:.96;
  box-shadow:0 12px 28px rgba(0,0,0,.14);
}
.campaign-contact__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.campaign-contact__actions{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  max-width:980px;
  margin:34px auto 0;
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 36px rgba(98,31,0,.18);
}
.campaign-contact__panel{
  min-height:330px;
  padding:38px 42px;
  color:#392f2a;
  text-align:center;
}
.campaign-contact__panel + .campaign-contact__panel{
  border-left:2px solid #f06b26;
}
.campaign-contact__panel h3{
  margin:0 0 20px;
  font-size:26px;
  line-height:1.4;
  font-weight:900;
}
.campaign-contact__panel h3 span{
  color:#f05a18;
}
.campaign-contact__panel-note{
  margin:0 0 22px;
  color:#665b55;
  font-size:14px;
  font-weight:800;
  line-height:1.8;
}
.campaign-contact__tel{
  display:block;
  color:#ef5c1a;
  font-size:clamp(36px,4vw,52px);
  font-weight:900;
  line-height:1.2;
  letter-spacing:.02em;
}
.campaign-contact__hours{
  margin:8px 0 0;
  color:#655a54;
  font-size:13px;
  font-weight:800;
}
.campaign-contact__web-buttons{
  display:grid;
  gap:14px;
  max-width:360px;
  margin:0 auto;
}
.campaign-contact__button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:14px 22px;
  border-radius:16px;
  color:#fff;
  font-size:16px;
  font-weight:900;
  box-shadow:0 7px 0 rgba(0,0,0,.10);
}
.campaign-contact__button--form{
  background:#4a3e37;
}
.campaign-contact__button--line{
  background:#06c755;
}

@media (max-width:1100px){
  .campaign-contact__visual{display:none;}
}

@media (max-width:767px){
  .campaign-contact{
    padding:54px 0 88px;
  }
  .campaign-contact .container{
    padding-inline:12px;
  }
  .campaign-contact__shell{
    padding:58px 14px 18px;
    border-radius:28px;
  }
  .campaign-contact__badge{
    left:50%;
    top:-26px;
    transform:translateX(-50%);
    min-width:208px;
    min-height:68px;
    padding:12px 22px;
    font-size:18px;
  }
  .campaign-contact__head{
    margin-bottom:20px;
  }
  .campaign-contact__kicker{
    font-size:13px;
  }
  .campaign-contact__head h2{
    font-size:22px;
    line-height:1.5;
  }
  .campaign-contact__lead{
    margin-top:14px;
    padding-inline:8px;
    font-size:13px;
    line-height:1.9;
    text-align:left;
  }
  .campaign-contact__gift{
    margin-top:12px;
    border-radius:18px;
    font-size:12px;
    line-height:1.6;
  }
  .campaign-contact__actions{
    grid-template-columns:1fr;
    margin-top:22px;
    border-radius:20px;
  }
  .campaign-contact__panel{
    min-height:0;
    padding:26px 18px;
  }
  .campaign-contact__panel + .campaign-contact__panel{
    border-left:0;
    border-top:2px solid #f06b26;
  }
  .campaign-contact__panel h3{
    margin-bottom:14px;
    font-size:21px;
  }
  .campaign-contact__panel-note{
    margin-bottom:14px;
    font-size:12px;
  }
  .campaign-contact__tel{
    font-size:36px;
  }
  .campaign-contact__button{
    min-height:52px;
    font-size:14px;
  }
}


/* === 2026-07-14 red-frame revision v24 === */
/* Header phone number should be plain text with phone icon, not a button */
.site-header__actions{align-items:center !important;}
.header-phone{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  min-height:auto !important;
  border-radius:0 !important;
  color:#2b1a16 !important;
  font-size:15px !important;
  font-weight:900 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}
.header-phone::before{
  content:'☎';
  color:var(--orange);
  font-size:17px;
  line-height:1;
}

/* Removed KV extra copy bubble */
.hero-copy-bubble{display:none !important;}

/* Make KV circular CTA easier to click and more visible */
.hero-cta{right:3.8% !important;top:43% !important;z-index:5 !important;}
.hero-cta a{
  width:230px !important;
  height:230px !important;
  padding:28px !important;
  border-width:6px !important;
  background:#fffaf4 !important;
  color:var(--orange) !important;
  font-size:25px !important;
  line-height:1.38 !important;
  box-shadow:0 20px 42px rgba(245,124,0,.28),0 0 0 10px rgba(255,125,0,.10) !important;
}

/* KV lower circles: keep at least 20px padding and prevent text overflow */
.three-point{
  padding:24px !important;
  overflow:hidden !important;
  word-break:keep-all !important;
}
.point-expert .point-em--orange{font-size:24px !important;line-height:1.18 !important;}
.point-expert strong{font-size:25px !important;line-height:1.25 !important;}
.point-expert .three-point__body{font-size:17px !important;line-height:1.5 !important;}
.point-pro-team{font-size:19px !important;line-height:1.35 !important;}
.point-pro strong{font-size:23px !important;line-height:1.28 !important;}
.point-pro .three-point__body{font-size:17px !important;line-height:1.5 !important;}
.point-order{
  border-color:var(--orange) !important;
  background:#fff !important;
}
.point-order .three-point__lead{font-size:21px !important;}
.point-order strong{font-size:25px !important;}
.point-order .three-point__body{font-size:20px !important;}

@media (max-width:1100px){
  .header-phone{display:none !important;}
}
@media (max-width:767px){
  .hero-cta a{
    width:100% !important;
    max-width:340px !important;
    height:auto !important;
    min-height:68px !important;
    border-radius:999px !important;
    font-size:18px !important;
    padding:14px 20px !important;
    box-shadow:0 12px 24px rgba(245,124,0,.22) !important;
  }
  .three-point{padding:20px !important;}
  .point-expert .point-em--orange{font-size:13px !important;}
  .point-expert strong{font-size:15px !important;}
  .point-expert .three-point__body{font-size:12px !important;}
  .point-pro-team{font-size:11px !important;}
  .point-pro strong{font-size:11px !important;}
  .point-pro .three-point__body{font-size:12px !important;}
  .point-order .three-point__lead{font-size:13px !important;}
  .point-order strong{font-size:16px !important;}
  .point-order .three-point__body{font-size:13px !important;}
}


/* === 2026-07-14 KV animated CTA v26 === */
.hero-cta.hero-cta--animated{
  right:5.2% !important;
  top:31% !important;
  z-index:8 !important;
  animation:heroCtaFloat 2.8s ease-in-out infinite;
  filter:drop-shadow(0 14px 18px rgba(226,92,24,.22));
}
.hero-cta.hero-cta--animated a{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:238px !important;
  height:142px !important;
  padding:24px 24px 22px !important;
  border:4px solid var(--orange) !important;
  border-radius:34px 42px 32px 44px / 40px 30px 44px 34px !important;
  background:#fffaf3 !important;
  color:var(--orange) !important;
  font-weight:900 !important;
  line-height:1.26 !important;
  text-align:center !important;
  box-shadow:0 0 0 7px rgba(255,125,0,.10), inset 0 0 0 2px rgba(255,255,255,.95) !important;
  transform:rotate(-5deg) !important;
  overflow:visible !important;
}
.hero-cta.hero-cta--animated a::before,
.hero-cta.hero-cta--animated a::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.hero-cta.hero-cta--animated a::before{
  left:50%;
  top:-38px;
  width:88px;
  height:28px;
  transform:translateX(-50%);
  background:
    radial-gradient(circle at 8px 22px, var(--orange) 0 3px, transparent 4px),
    radial-gradient(circle at 24px 11px, var(--orange) 0 3px, transparent 4px),
    radial-gradient(circle at 44px 6px, var(--orange) 0 3px, transparent 4px),
    radial-gradient(circle at 64px 12px, var(--orange) 0 3px, transparent 4px),
    radial-gradient(circle at 80px 22px, var(--orange) 0 3px, transparent 4px);
  opacity:.7;
  animation:heroCtaSpark 1.6s ease-in-out infinite;
}
.hero-cta.hero-cta--animated a::after{
  right:-17px;
  bottom:-16px;
  width:34px;
  height:34px;
  border-right:4px solid var(--orange);
  border-bottom:4px solid var(--orange);
  background:#fffaf3;
  transform:rotate(45deg);
  border-radius:0 0 9px 0;
}
.hero-cta__main,
.hero-cta__sub,
.hero-cta__arrow{
  position:relative;
  z-index:1;
  display:block;
  text-shadow:1px 1px 0 #fff;
}
.hero-cta__main{
  font-size:23px;
  letter-spacing:.02em;
  animation:heroCtaText 2.8s ease-in-out infinite;
}
.hero-cta__sub{
  margin-top:2px;
  font-size:20px;
  letter-spacing:.01em;
}
.hero-cta__arrow{
  margin-top:6px;
  font-size:22px;
  line-height:1;
  color:#fff;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--orange);
  animation:heroCtaArrow 1.2s ease-in-out infinite;
}
.hero-cta.hero-cta--animated:hover{
  animation-play-state:paused;
}
.hero-cta.hero-cta--animated:hover a{
  transform:rotate(-5deg) translateY(-2px) scale(1.04) !important;
}

@keyframes heroCtaFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  45%{transform:translateY(-10px) rotate(2deg)}
}
@keyframes heroCtaSpark{
  0%,100%{opacity:.45; transform:translateX(-50%) translateY(2px) scale(.92)}
  50%{opacity:.95; transform:translateX(-50%) translateY(-2px) scale(1.05)}
}
@keyframes heroCtaText{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
@keyframes heroCtaArrow{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(5px)}
}

@media (max-width: 767px){
  .hero-cta.hero-cta--animated{
    position:static !important;
    margin:14px auto 0 !important;
    display:flex !important;
    justify-content:center !important;
    filter:drop-shadow(0 8px 12px rgba(226,92,24,.16));
  }
  .hero-cta.hero-cta--animated a{
    width:min(330px, calc(100vw - 34px)) !important;
    height:auto !important;
    min-height:94px !important;
    padding:16px 44px 14px 22px !important;
    border-radius:24px 30px 24px 30px / 28px 22px 30px 24px !important;
    transform:rotate(-3deg) !important;
  }
  .hero-cta.hero-cta--animated a::before{
    top:-28px;
    transform:translateX(-50%) scale(.78);
  }
  .hero-cta.hero-cta--animated a::after{
    right:18px;
    bottom:-13px;
    width:25px;
    height:25px;
  }
  .hero-cta__main{font-size:18px;}
  .hero-cta__sub{font-size:17px;}
  .hero-cta__arrow{
    position:absolute;
    right:12px;
    top:50%;
    margin-top:0;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    font-size:18px;
  }
}


/* === 2026-07-14 image badges and fixed CTA v27 === */
.three-points{
  overflow:visible !important;
  padding:28px 0 38px !important;
  background:#fffaf4 !important;
}
.three-points__grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:center !important;
  max-width:1180px !important;
  margin-inline:auto !important;
}
.three-point.three-point--image{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  overflow:hidden !important;
  background:transparent !important;
  box-shadow:0 12px 25px rgba(238,91,0,.18) !important;
  transform:translateY(0);
  transition:transform .2s ease,box-shadow .2s ease !important;
}
.three-point.three-point--image:hover{
  transform:translateY(-5px) scale(1.015) !important;
  box-shadow:0 18px 34px rgba(238,91,0,.25) !important;
}
.three-point.three-point--image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  border-radius:50% !important;
}

/* Desktop: vertical side banner. Existing JS still reveals it after KV. */
.sticky-footer-cta{
  position:fixed !important;
  left:auto !important;
  right:16px !important;
  top:50% !important;
  bottom:auto !important;
  width:clamp(118px,10vw,158px) !important;
  padding:0 !important;
  border:0 !important;
  border-radius:26px !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:translate(24px,-50%) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  z-index:700 !important;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease !important;
}
.sticky-footer-cta.is-visible{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate(0,-50%) !important;
  pointer-events:auto !important;
}
.sticky-footer-cta__image-link,
.sticky-footer-cta__image-link picture,
.sticky-footer-cta__image-link img{
  display:block !important;
  width:100% !important;
}
.sticky-footer-cta__image-link{
  border-radius:26px !important;
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.22));
  transition:transform .18s ease,filter .18s ease;
}
.sticky-footer-cta__image-link:hover{
  transform:translateY(-3px) scale(1.02);
  filter:drop-shadow(0 16px 26px rgba(0,0,0,.26));
}
.sticky-footer-cta__image-link img{
  height:auto !important;
  border-radius:26px !important;
}

@media (max-width:1100px){
  .three-points__grid{
    gap:12px !important;
    padding-inline:12px !important;
  }
  .sticky-footer-cta{
    width:118px !important;
    right:8px !important;
  }
}

@media (max-width:767px){
  .three-points{
    padding:16px 0 24px !important;
  }
  .three-points .container{
    padding-inline:10px !important;
  }
  .three-points__grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    padding-inline:0 !important;
  }
  .three-point.three-point--image{
    border-radius:50% !important;
    aspect-ratio:1 / 1 !important;
    box-shadow:0 8px 18px rgba(238,91,0,.16) !important;
  }

  /* Smartphone: horizontal bottom banner. */
  .sticky-footer-cta{
    left:8px !important;
    right:8px !important;
    top:auto !important;
    bottom:8px !important;
    width:auto !important;
    max-width:none !important;
    border-radius:16px !important;
    transform:translateY(24px) !important;
  }
  .sticky-footer-cta.is-visible{
    transform:translateY(0) !important;
  }
  .sticky-footer-cta__image-link,
  .sticky-footer-cta__image-link img{
    border-radius:16px !important;
  }
  .sticky-footer-cta__image-link img{
    width:100% !important;
    height:auto !important;
    max-height:110px !important;
    object-fit:contain !important;
  }
  body{
    padding-bottom:94px;
  }
}


/* === 2026-07-14 KV swap + Takutora-style CTA v28 === */
.hero--image{position:relative;background:#fff !important;padding:0 !important;overflow:visible !important;}
.hero--image .kv-picture{display:block;line-height:0;}
.hero--image .kv-picture img{display:block;width:100%;height:auto !important;object-fit:contain !important;min-height:0 !important;}
@media (min-width:768px){
  .hero--image .kv-picture img{min-height:0 !important;object-fit:contain !important;}
}

.hero-cta.hero-cta--takutora{
  position:absolute !important;
  right:2.4% !important;
  top:52% !important;
  z-index:10 !important;
  animation:takutoraCtaFloat 3s ease-in-out infinite;
  filter:drop-shadow(0 18px 30px rgba(192,63,32,.28));
}
.hero-cta.hero-cta--takutora a{
  position:relative !important;
  display:block !important;
  width:212px !important;
  height:212px !important;
  border-radius:50% !important;
  background:radial-gradient(circle at 32% 28%, #ff8a6c 0%, #ef5532 32%, #d63e1e 68%, #c43116 100%) !important;
  color:#fff !important;
  overflow:hidden !important;
  transform:rotate(-10deg) !important;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.20), inset 0 0 0 10px rgba(255,255,255,.08);
}
.hero-cta__ring{position:absolute;inset:8px;display:block;animation:takutoraSpin 10s linear infinite;}
.hero-cta__ring svg{display:block;width:100%;height:100%;overflow:visible;}
.hero-cta__ring text{fill:#fff9de;font-size:15px;font-weight:900;letter-spacing:.11em;text-transform:none;}
.hero-cta__inner{
  position:absolute;
  inset:27px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:radial-gradient(circle at 35% 30%, #fff4b2 0%, #ffea8b 38%, #ffd95d 100%);
  color:#c53b18;
  box-shadow:0 0 0 6px rgba(255,255,255,.16);
  padding:16px 16px 22px;
}
.hero-cta__eyebrow{display:block;font-size:20px;font-weight:900;line-height:1.18;letter-spacing:.04em;}
.hero-cta__headline{display:block;margin-top:5px;font-size:25px;font-weight:900;line-height:1.12;letter-spacing:.02em;}
.hero-cta__mini{display:block;margin-top:8px;font-size:11px;font-weight:800;line-height:1.35;letter-spacing:.04em;color:#a4371e;}
.hero-cta__arrow{display:grid;place-items:center;margin-top:10px;width:34px;height:34px;border-radius:50%;background:#fff;color:#d94722;font-size:14px;font-weight:900;animation:takutoraArrow 1.2s ease-in-out infinite;}
.hero-cta.hero-cta--takutora:hover{animation-play-state:paused;}
.hero-cta.hero-cta--takutora:hover a{transform:rotate(-10deg) scale(1.03) !important;}

@keyframes takutoraSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes takutoraCtaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes takutoraArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

@media (max-width: 767px){
  .hero-cta.hero-cta--takutora{
    top:auto !important;
    right:14px !important;
    bottom:138px !important;
    filter:drop-shadow(0 12px 18px rgba(192,63,32,.22));
  }
  .hero-cta.hero-cta--takutora a{
    width:132px !important;
    height:132px !important;
    transform:rotate(-8deg) !important;
  }
  .hero-cta__ring{inset:6px;}
  .hero-cta__ring text{font-size:10px;letter-spacing:.08em;}
  .hero-cta__inner{inset:18px;padding:10px 10px 12px;box-shadow:0 0 0 4px rgba(255,255,255,.16);}
  .hero-cta__eyebrow{font-size:13px;}
  .hero-cta__headline{margin-top:3px;font-size:15px;line-height:1.18;}
  .hero-cta__mini{margin-top:5px;font-size:7px;letter-spacing:.02em;}
  .hero-cta__arrow{margin-top:7px;width:22px;height:22px;font-size:9px;}
}

@media (max-width: 420px){
  .hero-cta.hero-cta--takutora{right:10px !important;bottom:130px !important;}
  .hero-cta.hero-cta--takutora a{width:124px !important;height:124px !important;}
}


/* === 2026-07-14 readable rotating burst CTA v29 === */
.hero-cta.hero-cta--burst{
  position:absolute !important;
  right:2.6% !important;
  top:51% !important;
  z-index:12 !important;
  width:220px !important;
  height:220px !important;
  animation:heroBurstFloat 3s ease-in-out infinite !important;
  filter:drop-shadow(0 16px 24px rgba(117,28,20,.30));
}
.hero-cta.hero-cta--burst a{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:rotate(-6deg) !important;
  overflow:visible !important;
}
.hero-cta__orbit{
  position:absolute;
  inset:-5px;
  z-index:0;
  border-radius:50%;
  background:repeating-conic-gradient(
    from 0deg,
    #0d9d91 0deg 7deg,
    transparent 7deg 13deg
  );
  -webkit-mask:radial-gradient(circle,transparent 0 76%,#000 77% 84%,transparent 85%);
  mask:radial-gradient(circle,transparent 0 76%,#000 77% 84%,transparent 85%);
  animation:heroBurstSpin 9s linear infinite;
}
.hero-cta__burst{
  position:absolute;
  inset:14px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:29px 24px 23px;
  background:linear-gradient(145deg,#ff3b37 0%,#ee282c 48%,#d81924 100%);
  color:#fff;
  text-align:center;
  clip-path:polygon(
    50% 0%,57% 5%,65% 2%,70% 10%,79% 8%,82% 17%,91% 18%,90% 27%,98% 32%,94% 41%,100% 50%,94% 58%,98% 68%,90% 73%,91% 82%,82% 83%,79% 92%,70% 90%,65% 98%,57% 95%,50% 100%,43% 95%,35% 98%,30% 90%,21% 92%,18% 83%,9% 82%,10% 73%,2% 68%,6% 58%,0% 50%,6% 41%,2% 32%,10% 27%,9% 18%,18% 17%,21% 8%,30% 10%,35% 2%,43% 5%
  );
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.16);
}
.hero-cta__burst::before{
  content:"";
  position:absolute;
  inset:17px;
  border:2px dashed rgba(255,255,255,.42);
  border-radius:50%;
  pointer-events:none;
}
.hero-cta__eyebrow,
.hero-cta__headline,
.hero-cta__mini,
.hero-cta__click{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  text-shadow:0 2px 0 rgba(107,13,16,.26);
}
.hero-cta__eyebrow{
  font-size:20px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.03em;
}
.hero-cta__headline{
  margin-top:3px !important;
  font-size:33px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:.03em;
}
.hero-cta__mini{
  margin-top:5px !important;
  font-size:17px !important;
  line-height:1.3 !important;
  font-weight:900 !important;
  letter-spacing:.02em;
}
.hero-cta__click{
  margin-top:10px !important;
  color:#1d1717 !important;
  font-family:Arial,sans-serif;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.12em;
  text-shadow:none !important;
}
.hero-cta.hero-cta--burst:hover{
  animation-play-state:paused !important;
}
.hero-cta.hero-cta--burst:hover a{
  transform:rotate(-6deg) scale(1.045) !important;
}

@keyframes heroBurstSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes heroBurstFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-9px)}
}

@media (max-width:767px){
  .hero-cta.hero-cta--burst{
    right:10px !important;
    top:auto !important;
    bottom:126px !important;
    width:138px !important;
    height:138px !important;
    filter:drop-shadow(0 10px 16px rgba(117,28,20,.24));
  }
  .hero-cta.hero-cta--burst a{
    transform:rotate(-5deg) !important;
  }
  .hero-cta__orbit{
    inset:-3px;
  }
  .hero-cta__burst{
    inset:9px;
    padding:18px 14px 14px;
  }
  .hero-cta__burst::before{
    inset:11px;
    border-width:1px;
  }
  .hero-cta__eyebrow{
    font-size:12px !important;
  }
  .hero-cta__headline{
    margin-top:2px !important;
    font-size:21px !important;
  }
  .hero-cta__mini{
    margin-top:3px !important;
    font-size:10px !important;
  }
  .hero-cta__click{
    margin-top:6px !important;
    font-size:8px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-cta.hero-cta--burst,
  .hero-cta__orbit{
    animation:none !important;
  }
}


/* === 2026-07-14 soft rotating CTA + always-visible fixed banner v30 === */
/* PC only: place the CTA directly on the KV with no white plate. */
.hero-cta.hero-cta--burst{
  right:3.2% !important;
  top:46% !important;
  width:226px !important;
  height:226px !important;
  background:transparent !important;
  filter:drop-shadow(0 16px 26px rgba(104,29,18,.32)) !important;
}
.hero-cta.hero-cta--burst a{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.hero-cta__orbit{
  inset:-8px !important;
  border-radius:50% !important;
  background:conic-gradient(
    from 0deg,
    rgba(255,238,128,.95) 0deg 18deg,
    rgba(255,255,255,.25) 18deg 28deg,
    rgba(255,170,92,.98) 28deg 48deg,
    rgba(255,255,255,.22) 48deg 58deg
  ) !important;
  -webkit-mask:radial-gradient(circle,transparent 0 74%,#000 75% 88%,transparent 89%) !important;
  mask:radial-gradient(circle,transparent 0 74%,#000 75% 88%,transparent 89%) !important;
  animation:heroBurstSpin 7.5s linear infinite !important;
  opacity:.95;
}
.hero-cta__burst{
  inset:15px !important;
  padding:30px 25px 24px !important;
  border-radius:48% 52% 50% 50% / 52% 48% 52% 48% !important;
  clip-path:none !important;
  overflow:hidden !important;
  background:#e7332b !important;
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.20),
    inset 0 -18px 28px rgba(137,20,18,.18) !important;
}
/* The red/orange background itself rotates gently. */
.hero-cta__burst::after{
  content:"";
  position:absolute;
  inset:-42%;
  z-index:0;
  border-radius:44%;
  background:
    conic-gradient(
      from 0deg,
      rgba(255,98,61,.00) 0deg 35deg,
      rgba(255,166,72,.48) 35deg 88deg,
      rgba(255,255,255,.12) 88deg 118deg,
      rgba(192,35,31,.20) 118deg 185deg,
      rgba(255,122,66,.52) 185deg 245deg,
      rgba(255,255,255,.10) 245deg 282deg,
      rgba(178,26,27,.18) 282deg 360deg
    );
  animation:heroBurstBackgroundSpin 11s linear infinite;
  pointer-events:none;
}
.hero-cta__burst::before{
  inset:18px !important;
  z-index:1 !important;
  border:2px dashed rgba(255,244,196,.62) !important;
  border-radius:50% !important;
}
.hero-cta__eyebrow,
.hero-cta__headline,
.hero-cta__mini,
.hero-cta__click{
  z-index:2 !important;
}
.hero-cta__click{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:82px;
  padding:7px 14px;
  border-radius:999px;
  background:#fff3a6;
  color:#2b1711 !important;
  box-shadow:0 4px 0 rgba(92,25,15,.16);
}
@keyframes heroBurstBackgroundSpin{
  from{transform:rotate(0deg) scale(1.02)}
  to{transform:rotate(360deg) scale(1.02)}
}

/* Fixed banner is visible immediately, without waiting for scroll. */
.sticky-footer-cta,
.sticky-footer-cta.is-visible{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
@media (min-width:768px){
  .sticky-footer-cta,
  .sticky-footer-cta.is-visible{
    transform:translate(0,-50%) !important;
  }
}

/* Smartphone: hide the KV circle CTA, keep the bottom fixed banner. */
@media (max-width:767px){
  .hero-cta.hero-cta--burst{
    display:none !important;
  }
  .sticky-footer-cta,
  .sticky-footer-cta.is-visible{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-cta__orbit,
  .hero-cta__burst::after{
    animation:none !important;
  }
}


/* === 2026-07-14 compact Takutora-inspired CTA, no overlap v31 === */
/* Hide previous KV CTA variants completely. */
.hero-cta.hero-cta--burst,
.hero-cta.hero-cta--takutora,
.hero-cta.hero-cta--animated{display:none !important;}

.hero-cta.hero-cta--compact{
  position:absolute !important;
  right:calc(clamp(116px, 7.5vw, 132px) + 54px) !important;
  top:55% !important;
  z-index:12 !important;
  display:block !important;
  width:164px !important;
  height:164px !important;
  margin:0 !important;
  filter:drop-shadow(0 12px 18px rgba(109,28,19,.28));
  animation:compactCtaFloat 2.8s ease-in-out infinite;
}
.hero-cta.hero-cta--compact a{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  overflow:hidden !important;
  background:#e93528 !important;
  color:#fff !important;
  box-shadow:
    0 0 0 5px #ff8a35,
    0 0 0 10px rgba(255,138,53,.18),
    inset 0 0 0 2px rgba(255,255,255,.24) !important;
  transform:rotate(-5deg) !important;
  transition:transform .18s ease,filter .18s ease;
}
.hero-cta.hero-cta--compact a::after{
  content:"";
  position:absolute;
  inset:9px;
  z-index:1;
  border:2px dashed rgba(255,248,215,.68);
  border-radius:50%;
  pointer-events:none;
}
.hero-cta__rotating-bg{
  position:absolute;
  inset:-34%;
  z-index:0;
  display:block;
  border-radius:46%;
  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(255,219,94,.34) 0deg 18deg,
      rgba(255,255,255,.05) 18deg 34deg,
      rgba(176,26,23,.18) 34deg 58deg,
      rgba(255,121,49,.36) 58deg 82deg
    );
  animation:compactCtaSpin 8s linear infinite;
  pointer-events:none;
}
.hero-cta__content{
  position:absolute;
  inset:19px;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:50%;
  color:#fff;
  text-shadow:0 2px 0 rgba(104,17,14,.20);
}
.hero-cta__limit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:5px;
  padding:4px 9px;
  border-radius:999px;
  background:#fff1a8;
  color:#c92d20;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  text-shadow:none;
}
.hero-cta--compact .hero-cta__eyebrow{
  display:block;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:.03em;
}
.hero-cta--compact .hero-cta__headline{
  display:block;
  margin-top:2px !important;
  font-size:28px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:.02em;
}
.hero-cta--compact .hero-cta__mini{
  display:block;
  margin-top:3px !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
}
.hero-cta--compact .hero-cta__click{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:66px;
  margin-top:8px !important;
  padding:5px 12px;
  border-radius:999px;
  background:#fff;
  color:#d63324 !important;
  font-family:Arial,sans-serif;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.14em;
  text-shadow:none !important;
  box-shadow:0 3px 0 rgba(85,21,16,.14);
}
.hero-cta.hero-cta--compact:hover{animation-play-state:paused;}
.hero-cta.hero-cta--compact:hover a{transform:rotate(-5deg) scale(1.045) !important;}

@keyframes compactCtaSpin{
  from{transform:rotate(0deg) scale(1.02)}
  to{transform:rotate(360deg) scale(1.02)}
}
@keyframes compactCtaFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

/* Keep the fixed side banner clearly separated on desktop. */
@media (min-width:768px){
  .sticky-footer-cta,
  .sticky-footer-cta.is-visible{
    right:14px !important;
    width:clamp(108px,6.8vw,124px) !important;
    transform:translate(0,-50%) !important;
  }
}

/* Smartphone: no KV circular CTA; bottom fixed banner remains visible. */
@media (max-width:767px){
  .hero-cta.hero-cta--compact{display:none !important;}
}

@media (prefers-reduced-motion:reduce){
  .hero-cta.hero-cta--compact,
  .hero-cta__rotating-bg{animation:none !important;}
}


/* === 2026-07-14 full-width PC KV + reference-style scalloped CTA v32 === */
/* Retire older KV CTA implementations. */
.hero-cta.hero-cta--compact,
.hero-cta.hero-cta--burst,
.hero-cta.hero-cta--takutora,
.hero-cta.hero-cta--animated{display:none !important;}

@media (min-width:768px){
  .hero--image{
    position:relative !important;
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .hero--image .kv-picture,
  .hero--image .kv-picture img{
    display:block !important;
    width:100vw !important;
    max-width:none !important;
  }
  .hero--image .kv-picture img{
    height:auto !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

.hero-cta.hero-cta--seal{
  position:absolute !important;
  right:clamp(158px,10vw,215px) !important;
  top:52% !important;
  z-index:20 !important;
  display:block !important;
  width:178px !important;
  height:178px !important;
  margin:0 !important;
  transform:translateY(-50%) !important;
  filter:drop-shadow(0 14px 22px rgba(92,22,19,.27));
  animation:heroSealFloat 2.8s ease-in-out infinite;
}
.hero-cta.hero-cta--seal a{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  overflow:visible !important;
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  transform:rotate(-4deg) !important;
  transition:transform .18s ease,filter .18s ease;
}
.hero-cta__seal-svg{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.hero-cta__seal-base{fill:#f2222d;}
.hero-cta__seal-motion{
  transform-origin:100px 100px;
  animation:heroSealSpin 7.5s linear infinite;
  opacity:.42;
}
.hero-cta__seal-motion path:nth-child(1){fill:#ff5a4e;}
.hero-cta__seal-motion path:nth-child(2){fill:#df121e;}
.hero-cta__seal-motion path:nth-child(3){fill:#ff3b43;}
.hero-cta__seal-outline{
  fill:none;
  stroke:rgba(145,0,15,.24);
  stroke-width:2.2;
}
.hero-cta__seal-content{
  position:absolute;
  inset:23px 21px 21px;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  text-shadow:0 2px 0 rgba(117,0,8,.18);
}
.hero-cta__seal-small{
  display:block;
  font-size:17px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.04em;
}
.hero-cta__seal-content strong{
  display:block;
  margin-top:1px;
  font-size:30px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:.02em;
}
.hero-cta__seal-status{
  display:block;
  margin-top:2px;
  font-size:17px;
  line-height:1.1;
  font-weight:900;
}
.hero-cta__seal-limit{
  display:block;
  margin-top:7px;
  padding:3px 9px;
  border-radius:999px;
  background:#fff;
  color:#e51f2b;
  font-size:9px;
  line-height:1.1;
  font-weight:900;
  text-shadow:none;
  box-shadow:0 2px 0 rgba(111,0,9,.14);
}
.hero-cta__seal-click{
  display:block;
  margin-top:5px;
  color:#111;
  font-family:Arial,sans-serif;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  text-shadow:none;
}
.hero-cta__sketch{
  position:absolute;
  z-index:3;
  right:-13px;
  width:24px;
  height:2px;
  border-radius:999px;
  background:#111;
  transform-origin:left center;
  opacity:.75;
}
.hero-cta__sketch--1{top:56px;transform:rotate(38deg);}
.hero-cta__sketch--2{top:67px;right:-17px;transform:rotate(31deg);}
.hero-cta__sketch--3{top:79px;right:-12px;transform:rotate(26deg);}
.hero-cta.hero-cta--seal:hover{animation-play-state:paused;}
.hero-cta.hero-cta--seal:hover a{transform:rotate(-4deg) scale(1.045) !important;}

@keyframes heroSealSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes heroSealFloat{
  0%,100%{transform:translateY(-50%)}
  50%{transform:translateY(calc(-50% - 8px))}
}

@media (max-width:1100px) and (min-width:768px){
  .hero-cta.hero-cta--seal{
    right:142px !important;
    width:154px !important;
    height:154px !important;
  }
  .hero-cta__seal-content{inset:20px 18px 18px;}
  .hero-cta__seal-small{font-size:14px;}
  .hero-cta__seal-content strong{font-size:25px;}
  .hero-cta__seal-status{font-size:14px;}
}

@media (max-width:767px){
  .hero-cta.hero-cta--seal{display:none !important;}
}

@media (prefers-reduced-motion:reduce){
  .hero-cta.hero-cta--seal,
  .hero-cta__seal-motion{animation:none !important;}
}


/* === 2026-07-14 PC KV height + CTA visibility/rotation fix v33 === */
@media (min-width:768px){
  .hero--image{
    width:100vw !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .hero--image .kv-picture{
    display:block !important;
    width:100vw !important;
    height:auto !important;
    aspect-ratio:1672 / 941 !important;
    overflow:hidden !important;
  }
  .hero--image .kv-picture img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

.hero-cta.hero-cta--seal{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.hero-cta.hero-cta--seal a{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.hero-cta__seal-svg{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  transform-origin:50% 50%;
  animation:heroSealWholeSpin 9s linear infinite !important;
}
.hero-cta__seal-motion{
  animation:none !important;
  opacity:.32 !important;
}
.hero-cta__seal-content{
  inset:18px 18px 16px !important;
}
.hero-cta__seal-limit{
  order:-1;
  display:flex !important;
  align-items:baseline;
  justify-content:center;
  gap:3px;
  margin:0 0 4px !important;
  padding:4px 10px 5px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#e51f2b !important;
  line-height:1 !important;
  box-shadow:0 3px 0 rgba(111,0,9,.16) !important;
  text-shadow:none !important;
  white-space:nowrap;
}
.hero-cta__seal-limit b{
  font-size:18px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.01em;
}
.hero-cta__seal-limit small{
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
.hero-cta__seal-small{
  font-size:15px !important;
}
.hero-cta__seal-content strong{
  font-size:28px !important;
}
.hero-cta__seal-status{
  font-size:15px !important;
}
.hero-cta__seal-click{
  margin-top:4px !important;
}

@keyframes heroSealWholeSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

@media (max-width:1100px) and (min-width:768px){
  .hero-cta__seal-limit b{font-size:15px !important;}
  .hero-cta__seal-limit small{font-size:9px !important;}
  .hero-cta__seal-small{font-size:13px !important;}
  .hero-cta__seal-content strong{font-size:24px !important;}
  .hero-cta__seal-status{font-size:13px !important;}
}

@media (prefers-reduced-motion:reduce){
  .hero-cta__seal-svg{animation:none !important;}
}


/* === 2026-07-14 final display fixes v34 === */
/* Restore the whole-life support logo. */
.whole-life-support__visual img{
  display:block !important;
  width:min(100%, 920px) !important;
  height:auto !important;
  margin-inline:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* PC KV: maximum width 1900px, centered, with the entire artwork visible. */
@media (min-width:768px){
  .hero--image{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }
  .hero--image .kv-picture{
    display:block !important;
    width:min(100%, 1900px) !important;
    max-width:1900px !important;
    height:auto !important;
    aspect-ratio:auto !important;
    margin-inline:auto !important;
    overflow:visible !important;
  }
  .hero--image .kv-picture img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
}

/* Make the first campaign CTA headline more restrained. */
.campaign-contact__head h2{
  font-size:clamp(28px, 3.1vw, 42px) !important;
  line-height:1.45 !important;
}
@media (max-width:767px){
  .campaign-contact__head h2{
    font-size:22px !important;
    line-height:1.5 !important;
  }
}

/* Desktop: hidden initially and revealed after the KV by JavaScript. */
@media (min-width:768px){
  .sticky-footer-cta{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translate(24px,-50%) !important;
  }
  .sticky-footer-cta.is-visible{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translate(0,-50%) !important;
  }
}
/* Smartphone: keep the bottom banner visible from page load. */
@media (max-width:767px){
  .sticky-footer-cta,
  .sticky-footer-cta.is-visible{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }
}


/* === 2026-07-14 KV/badge/campaign/header fixes v35 === */
/* Remove the campaign photograph completely. */
.campaign-contact__visual{
  display:none !important;
}

/* PC KV height restored to 750px. */
@media (min-width:768px){
  .hero--image{
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    overflow:hidden !important;
  }
  .hero--image .kv-picture{
    display:block !important;
    width:min(100%,1900px) !important;
    max-width:1900px !important;
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    margin-inline:auto !important;
    overflow:hidden !important;
  }
  .hero--image .kv-picture img{
    display:block !important;
    width:100% !important;
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  /* Phone number: up to twice the previous 15px size without overflowing narrower PCs. */
  .header-phone{
    flex:0 0 auto !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:0 !important;
    font-size:clamp(20px,1.58vw,30px) !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    white-space:nowrap !important;
  }
  .header-phone::before{
    flex:0 0 auto !important;
    font-size:clamp(20px,1.4vw,27px) !important;
  }
  .site-header__actions{
    flex:0 1 auto !important;
    gap:8px !important;
    min-width:0 !important;
  }
}

@media (min-width:768px) and (max-width:1120px){
  .site-header__inner{
    gap:10px !important;
  }
  .site-header__brand{
    gap:8px !important;
  }
  .site-header__nav{
    gap:10px !important;
  }
  .site-header__nav a{
    font-size:11px !important;
  }
  .header-action{
    padding-inline:10px !important;
    font-size:11px !important;
  }
  .header-phone{
    font-size:20px !important;
  }
}


/* === 2026-07-14 header/KV widths + unified feature badge typography v36 === */
@media (min-width:1200px){
  .site-header .container,
  .site-header__inner.container{
    min-width:1500px !important;
    width:1500px !important;
    max-width:none !important;
  }
  .hero--image .kv-picture{
    min-width:1550px !important;
    width:min(1900px, 100vw) !important;
    max-width:1900px !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }
}

/* Rebuilt as HTML so all four circles use the same Japanese gothic face. */
.three-point.three-point--html{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  max-width:276px !important;
  aspect-ratio:1 / 1 !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  overflow:hidden !important;
  color:#fff !important;
  background:
    linear-gradient(151deg, rgba(255,255,255,.10) 0 47%, rgba(210,54,0,.15) 47% 100%),
    radial-gradient(circle at 34% 25%, #ff9a18 0%, #ff6a00 42%, #f44a00 76%, #e83c00 100%) !important;
  box-shadow:0 13px 25px rgba(229,74,0,.20), inset 0 0 0 6px rgba(255,255,255,.26) !important;
  font-family:'Tsukushi A Round Gothic','Tsukushi B Round Gothic','Noto Sans JP','Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-style:normal !important;
  text-align:center !important;
  text-shadow:0 2px 3px rgba(128,37,0,.24) !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
}
.three-point.three-point--html::before{
  content:"";
  position:absolute;
  inset:10px;
  border:2px dotted rgba(255,255,255,.95);
  border-radius:50%;
  pointer-events:none;
}
.three-point.three-point--html:hover{
  transform:translateY(-5px) scale(1.015) !important;
  box-shadow:0 18px 34px rgba(229,74,0,.27), inset 0 0 0 6px rgba(255,255,255,.30) !important;
}
.feature-badge__inner{
  position:relative;
  z-index:1;
  display:flex;
  width:84%;
  height:84%;
  padding:16px 10px 12px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1.18;
}
.feature-badge__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  margin-bottom:5px;
  padding:4px 18px 5px;
  border:2px solid rgba(255,255,255,.85);
  border-radius:999px;
  background:linear-gradient(180deg,#ffc21f,#ff9f00);
  color:#fff;
  font-size:17px;
  font-weight:800;
  box-shadow:0 4px 8px rgba(113,39,0,.18);
}
.feature-badge__top{
  display:block;
  color:#fff;
  font-size:21px;
  font-weight:800;
  letter-spacing:.02em;
}
.feature-badge__top small{
  display:inline;
  margin-left:3px;
  font-size:.62em;
  font-weight:700;
}
.feature-badge__top--small{font-size:16px;white-space:nowrap;}
.feature-badge__main{
  display:block;
  margin-top:5px;
  color:#fff86a;
  font-size:34px;
  font-weight:900;
  letter-spacing:-.035em;
  line-height:1.08;
  text-shadow:0 4px 5px rgba(151,42,0,.32);
}
.feature-badge__main--no1{
  margin:0;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:80px;
  font-weight:700;
  letter-spacing:-.08em;
  line-height:.92;
  background:linear-gradient(180deg,#fff 0%,#fffad7 35%,#fff422 78%,#f7df00 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.feature-badge__main--team{font-size:31px;}
.feature-badge__main--program{font-size:30px;white-space:nowrap;}
.feature-badge__sub{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:23px;
  font-weight:800;
}
.feature-badge__sub--single{font-size:27px;line-height:1;}
.feature-badge__rule{
  display:block;
  width:74%;
  height:0;
  margin:7px auto 5px;
  border-top:3px dotted rgba(255,255,255,.95);
}
.feature-badge__bottom{
  display:block;
  color:#fff;
  font-size:18px;
  font-weight:800;
}
.feature-badge__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:7px;
  padding:5px 14px 6px;
  border-radius:999px;
  background:#fff8ae;
  color:#ef5a00;
  font-size:19px;
  font-weight:900;
  text-shadow:none;
  box-shadow:0 3px 7px rgba(116,38,0,.18);
}
.feature-badge__pill--white{background:#fff;color:#f05a00;}
.feature-badge__inner > small{
  display:block;
  margin-top:5px;
  color:#fff4e8;
  font-size:8px;
  font-weight:600;
  letter-spacing:.03em;
}
.feature-badge__sprout{
  display:block;
  margin-top:7px;
  color:#fff;
  font-size:30px;
  line-height:1;
  transform:rotate(45deg);
}

@media (max-width:1199px) and (min-width:768px){
  .three-point.three-point--html{max-width:238px !important;}
  .feature-badge__inner{padding:14px 8px 10px;}
  .feature-badge__main{font-size:29px;}
  .feature-badge__main--no1{font-size:66px;}
  .feature-badge__main--team{font-size:26px;}
  .feature-badge__main--program{font-size:25px;}
  .feature-badge__top{font-size:18px;}
  .feature-badge__top--small{font-size:13px;}
  .feature-badge__sub{font-size:20px;}
  .feature-badge__pill{font-size:16px;}
}
@media (max-width:767px){
  .three-point.three-point--html{max-width:none !important;}
  .three-point.three-point--html::before{inset:7px;border-width:1.5px;}
  .feature-badge__inner{width:88%;height:88%;padding:10px 5px 8px;}
  .feature-badge__tag{min-width:76px;padding:3px 10px;font-size:12px;}
  .feature-badge__top{font-size:14px;}
  .feature-badge__top--small{font-size:10px;}
  .feature-badge__main{font-size:22px;}
  .feature-badge__main--no1{font-size:48px;}
  .feature-badge__main--team{font-size:19px;}
  .feature-badge__main--program{font-size:18px;}
  .feature-badge__sub{font-size:15px;}
  .feature-badge__sub--single{font-size:17px;}
  .feature-badge__bottom{font-size:12px;}
  .feature-badge__rule{margin:4px auto;border-top-width:2px;}
  .feature-badge__pill{margin-top:4px;padding:3px 8px 4px;font-size:12px;}
  .feature-badge__inner > small{font-size:5px;}
  .feature-badge__sprout{font-size:20px;margin-top:3px;}
}

/* === 2026-07-14 Zen Maru Gothic + uncropped PC KV v37 === */
/* Use Zen Maru Gothic consistently for every character inside the four feature buttons. */
.three-point.three-point--html,
.three-point.three-point--html *{
  font-family:'Zen Maru Gothic','M PLUS Rounded 1c','Hiragino Maru Gothic ProN','Yu Gothic',Meiryo,sans-serif !important;
}

/* Keep the PC KV at 750px high while showing the complete artwork without cropping. */
@media (min-width:1200px){
  .hero--image{
    width:100% !important;
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    overflow:visible !important;
    background:#fff !important;
  }
  .hero--image .kv-picture{
    display:block !important;
    width:calc(100vw - 140px) !important;
    min-width:1550px !important;
    max-width:1750px !important;
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    margin-inline:auto !important;
    position:relative !important;
    left:auto !important;
    transform:none !important;
    overflow:hidden !important;
    line-height:0 !important;
  }
  .hero--image .kv-picture img{
    display:block !important;
    width:100% !important;
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    object-fit:fill !important;
    object-position:center center !important;
  }
}


/* === 2026-07-14 PC KV aspect-ratio fix v38 === */
@media (min-width:1200px){
  .hero--image{
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    overflow:visible !important;
  }
  .hero--image .kv-picture{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    margin:0 auto !important;
    overflow:visible !important;
    line-height:0 !important;
  }
  .hero--image .kv-picture img{
    display:block !important;
    width:auto !important;
    height:750px !important;
    min-height:750px !important;
    max-height:750px !important;
    max-width:min(100%, 1920px) !important;
    object-fit:contain !important;
    object-position:center top !important;
    margin:0 auto !important;
  }
}

/* === 2026-07-14 smartphone-only fixes v39 === */
.experience-heading__break{display:none;}
.pre-program-intro__line1{display:block;}
.whole-life-support__copy small span{display:inline-block;}

@media (max-width:767px){
  html,body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  body{
    position:relative;
  }
  .site,
  main,
  section,
  .container{
    max-width:100% !important;
  }
  .site{
    overflow-x:hidden !important;
  }
  .container{
    padding-inline:16px !important;
    box-sizing:border-box !important;
  }
  .hero--image,
  .hero--image .kv-picture,
  .hero--image .kv-picture img{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .sticky-footer-cta{
    max-width:calc(100vw - 20px) !important;
  }

  /* 「大切なのは〜今なんです！」を中央寄せ & 1行崩れ防止 */
  .pre-program-intro{
    margin:0 12px 22px !important;
    padding:20px 14px !important;
    text-align:center !important;
  }
  .pre-program-intro h2{
    margin:0 0 12px !important;
    text-align:center !important;
    line-height:1.45 !important;
  }
  .pre-program-intro__line1{
    display:block !important;
    white-space:nowrap !important;
    font-size:clamp(16px,4.4vw,18px) !important;
    line-height:1.45 !important;
  }
  .pre-program-intro__line2{
    display:block !important;
    margin-top:4px !important;
    font-size:clamp(22px,6.2vw,26px) !important;
    line-height:1.2 !important;
    text-align:center !important;
  }
  .pre-program-intro__highlight{
    font-size:1.28em !important;
  }
  .pre-program-intro p{
    text-align:center !important;
    font-size:13px !important;
    line-height:1.85 !important;
  }

  /* 「ドットジュニアパーソナルの／プログラムは」 */
  .experience-heading{
    text-align:center !important;
    padding:22px 18px 14px !important;
  }
  .experience-heading p{
    font-size:15px !important;
    line-height:1.45 !important;
    letter-spacing:.03em !important;
    text-align:center !important;
  }
  .experience-heading__break{
    display:block !important;
  }
  .experience-heading h2{
    justify-content:center !important;
  }

  /* 常勤バッジとイラストの重なり解消 + 高さ揃え */
  .experience-card .professionals{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
    align-items:stretch !important;
    margin:0 0 24px !important;
  }
  .experience-card .professional-item{
    min-height:176px !important;
    height:100% !important;
    padding:16px 8px 12px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    border-radius:18px !important;
    position:relative !important;
    overflow:hidden !important;
  }
  .experience-card .professional-item img{
    height:76px !important;
    max-width:76px !important;
    width:auto !important;
    margin:10px auto 8px !important;
    object-fit:contain !important;
    flex:0 0 auto !important;
  }
  .experience-card .professional-item b{
    display:block !important;
    margin-top:0 !important;
    font-size:12px !important;
    line-height:1.35 !important;
    min-height:2.8em !important;
  }
  .experience-card .professional-badge,
  .professional-badge{
    width:38px !important;
    height:38px !important;
    left:8px !important;
    top:8px !important;
    font-size:11px !important;
    line-height:1 !important;
  }
  .professional-worry{
    margin-top:auto !important;
    padding:5px 8px !important;
    font-size:10px !important;
    line-height:1.25 !important;
    white-space:nowrap !important;
  }

  /* 注釈の変な改行を防止 */
  .whole-life-support__copy small{
    margin-top:8px !important;
    font-size:10px !important;
    line-height:1.2 !important;
    text-align:center !important;
  }
  .whole-life-support__copy small span{
    white-space:nowrap !important;
  }
}
@media (max-width:767px){
  .feature-badge__inner > small{
    font-size:4.6px !important;
    letter-spacing:0 !important;
  }
  .feature-badge__inner > small span{
    display:inline-block !important;
    white-space:nowrap !important;
  }
}

/* === 2026-07-23 requested revisions: five feature badges === */
.three-points__grid{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  max-width:1180px !important;
  margin-inline:auto !important;
}
.three-point.three-point--html{
  width:100% !important;
  max-width:220px !important;
  min-width:0 !important;
  aspect-ratio:1 / 1 !important;
}
.three-point.three-point--html .feature-badge__inner{
  width:88% !important;
  height:88% !important;
  padding:12px 8px 10px !important;
}
.three-point.three-point--html .feature-badge__top{
  font-size:15px !important;
  line-height:1.25 !important;
}
.three-point.three-point--html .feature-badge__top--small{
  font-size:13px !important;
  white-space:normal !important;
}
.three-point.three-point--html .feature-badge__main{
  font-size:27px !important;
  line-height:1.12 !important;
}
.three-point.three-point--html .feature-badge__main--no1{
  font-size:64px !important;
}
.three-point.three-point--html .feature-badge__main--doctor{
  font-size:22px !important;
  line-height:1.3 !important;
  color:#fff86a !important;
}
.three-point.three-point--html .feature-badge__main--program{
  font-size:24px !important;
  white-space:nowrap !important;
}
.three-point.three-point--html .feature-badge__main--team{
  margin-top:5px !important;
  font-size:23px !important;
  line-height:1.2 !important;
}
.three-point.three-point--html .feature-badge__sub{
  font-size:17px !important;
  line-height:1.25 !important;
}
.three-point.three-point--html .feature-badge__sub--single{
  font-size:19px !important;
}
.three-point.three-point--html .feature-badge__pill{
  margin-top:6px !important;
  padding:5px 11px 6px !important;
  font-size:15px !important;
  white-space:nowrap !important;
}
.feature-badge__team-desc{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:6px;
  padding:5px 10px 6px;
  border-radius:999px;
  background:#fff;
  color:#f05a00;
  font-size:14px;
  font-weight:900;
  line-height:1.25;
  text-align:center;
  text-shadow:none;
  box-shadow:0 3px 7px rgba(116,38,0,.18);
}
.feature-badge__sprout{
  display:none !important;
}

@media (max-width:1199px) and (min-width:768px){
  .three-points__grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:14px !important;
    max-width:760px !important;
  }
  .three-point.three-point--html{
    max-width:220px !important;
    grid-column:span 2;
  }
  .three-point.three-point--html:nth-child(4){grid-column:2 / span 2;}
  .three-point.three-point--html:nth-child(5){grid-column:4 / span 2;}
}

@media (max-width:767px){
  .three-points__grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    max-width:100% !important;
  }
  .three-point.three-point--html{
    max-width:none !important;
  }
  .three-point.three-point--html:nth-child(5){
    grid-column:1 / -1 !important;
    width:calc(50% - 5px) !important;
    justify-self:center !important;
  }
  .three-point.three-point--html .feature-badge__inner{
    width:90% !important;
    height:90% !important;
    padding:8px 4px 6px !important;
  }
  .three-point.three-point--html .feature-badge__top{
    font-size:12px !important;
  }
  .three-point.three-point--html .feature-badge__top--small{
    font-size:9px !important;
  }
  .three-point.three-point--html .feature-badge__main{
    font-size:19px !important;
  }
  .three-point.three-point--html .feature-badge__main--no1{
    font-size:43px !important;
  }
  .three-point.three-point--html .feature-badge__main--doctor{
    font-size:15px !important;
  }
  .three-point.three-point--html .feature-badge__main--program{
    font-size:16px !important;
  }
  .three-point.three-point--html .feature-badge__main--team{
    font-size:16px !important;
  }
  .three-point.three-point--html .feature-badge__sub{
    font-size:13px !important;
  }
  .three-point.three-point--html .feature-badge__sub--single{
    font-size:15px !important;
  }
  .three-point.three-point--html .feature-badge__pill{
    margin-top:4px !important;
    padding:3px 7px 4px !important;
    font-size:10px !important;
  }
  .feature-badge__team-desc{
    margin-top:4px !important;
    padding:3px 7px 4px !important;
    font-size:9px !important;
  }
}

/* === 2026-07-23 PC location cards: center two locations === */
@media (min-width:780px){
  .locations .location-scroll{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,360px)) !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    justify-content:center !important;
    gap:24px !important;
    overflow:visible !important;
    margin-inline:0 !important;
    padding:4px 0 24px !important;
    scroll-snap-type:none !important;
  }
  .locations .location-card{
    width:100% !important;
    min-width:0 !important;
    scroll-snap-align:none !important;
  }
  .locations .location-nav,
  .locations .location-dots{
    display:none !important;
  }
}
.doctor-profile__meta span {
    font-weight: normal;
    font-size: .8em;
}

/* WordPress contact page / Contact Form 7 */
.contact-page{padding:72px 0 96px;background:var(--beige,#fef3eb)}
.contact-page__intro{max-width:820px;margin:0 auto 32px;text-align:center}
.contact-page__intro h1{margin:0 0 16px;color:var(--ink,#252525);font-size:clamp(28px,5vw,46px);font-weight:900;line-height:1.45}
.contact-page__intro h1 span{color:var(--orange,#f36c21)}
.contact-page__intro p{margin:0;color:var(--gray,#5d5d5d);font-size:15px;font-weight:700;line-height:2}
.contact-page__form{max-width:860px;margin:0 auto;padding:36px;border-radius:28px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.06)}
.contact-page__form .wpcf7-form>p{margin:0 0 22px}
.contact-page__form label{display:block;color:var(--ink,#252525);font-size:15px;font-weight:900;line-height:1.7}
.contact-page__form .required{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--orange,#f36c21);color:#fff;font-size:11px}
.contact-page__form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.contact-page__form select,
.contact-page__form textarea{width:100%;margin-top:8px;padding:14px 16px;border:2px solid #eadfd7;border-radius:14px;background:#fff;color:#252525;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-page__form input:focus,
.contact-page__form select:focus,
.contact-page__form textarea:focus{border-color:var(--orange,#f36c21);box-shadow:0 0 0 4px rgba(243,108,33,.12)}
.contact-page__form textarea{min-height:180px;resize:vertical}
.contact-page__form input[type="submit"]{display:flex;justify-content:center;width:min(100%,420px);margin:28px auto 0;padding:17px 28px;border:0;border-radius:999px;background:var(--orange,#f36c21);color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(243,108,33,.24)}
.contact-page__form .wpcf7-list-item{margin:0 18px 8px 0}
.contact-page__form .wpcf7-not-valid-tip{margin-top:6px;font-size:13px;font-weight:700}
.contact-page__form .wpcf7-response-output{margin:24px 0 0!important;padding:14px 16px!important;border-radius:12px;font-weight:700}
.contact-page__alternatives{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:860px;margin:24px auto 0}
.contact-page__alternative{padding:22px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.05)}
.contact-page__alternative h2{margin:0 0 8px;font-size:18px;font-weight:900}
.contact-page__alternative a{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:12px 22px;border-radius:999px;background:var(--orange,#f36c21);color:#fff;font-weight:900}
.contact-page__alternative--line a{background:#06c755}
@media(max-width:767px){
  .contact-page{padding:48px 0 72px}
  .contact-page__form{padding:24px 18px;border-radius:20px}
  .contact-page__alternatives{grid-template-columns:1fr}
}

/* WordPress contact form fields v1.0.2 */
.contact-page__form .contact-field{
  margin:0 0 22px;
  padding:0;
  border:0;
  min-width:0;
}
.contact-page__form .contact-field legend{
  display:block;
  width:100%;
  margin:0 0 10px;
  padding:0;
  color:var(--ink,#252525);
  font-size:15px;
  font-weight:900;
  line-height:1.7;
}
.contact-page__form .optional{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  background:#eee7e2;
  color:#665f5a;
  font-size:11px;
  font-weight:900;
}
.contact-page__form .contact-subfield{
  margin-top:14px;
  font-size:14px;
}
.contact-page__form .form-note{
  display:block;
  margin:7px 0 0;
  color:#766e68;
  font-size:12px;
  font-weight:700;
  line-height:1.7;
}
.contact-page__form .wpcf7-checkbox.contact-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
}
.contact-page__form .wpcf7-checkbox.contact-checks .wpcf7-list-item{
  margin:0;
}
.contact-page__form .wpcf7-checkbox.contact-checks label{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:11px 12px;
  border:1px solid #eadfd7;
  border-radius:12px;
  background:#fffaf7;
  font-size:14px;
  line-height:1.5;
  cursor:pointer;
}
.contact-page__form .wpcf7-checkbox.contact-checks input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:var(--orange,#f36c21);
}
@media(max-width:600px){
  .contact-page__form .wpcf7-checkbox.contact-checks{
    grid-template-columns:1fr;
  }
}

/* === 2026-08-20 POINT grouping, original-style fixed banner and SP width refinements === */
.feature-point{
  width:min(100%,1080px);
  margin:34px auto 0;
  padding:30px;
  border:1px solid #f8d9c4;
  border-radius:30px;
  background:linear-gradient(145deg,#fff 0%,#fffaf6 100%);
  box-shadow:0 12px 30px rgba(72,39,22,.06);
}
.feature-point:first-of-type{
  margin-top:0;
}
.feature-point > .section-title,
.feature-point .doctor-profile,
.feature-point .experience-card,
.feature-point .program-overview,
.feature-point .multi-grid,
.feature-point .whole-life-support__card{
  width:100%;
  max-width:none;
}
.feature-point > .section-title{
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.feature-point--doctor .doctor-profile{
  margin:12px 0 0 !important;
  padding-top:22px !important;
  border-top:1px solid #f8d9c4;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.feature-point--program .feature-section-title{
  margin-top:0 !important;
}
.feature-point--program .experience-card{
  margin-bottom:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.point-program-content{
  margin-top:30px;
  padding-top:30px;
  border-top:1px solid #f8d9c4;
}
.point-program-content__title{
  padding-left:0 !important;
  text-align:center;
}
.point-program-content__title h2{
  margin-bottom:14px !important;
}
.feature-point--support .multi-grid,
.feature-point--support .whole-life-support__card{
  box-shadow:none !important;
}
.feature-point--support .whole-life-support__card{
  margin-top:24px;
  border-top:1px solid #f8d9c4;
}
.sticky-footer-cta__image-link img{
  object-fit:contain !important;
}

@media(max-width:767px){
  .approach-experience .container,
  #approach02 .container,
  #approach03 .container,
  .feature-point-section .container{
    width:100% !important;
    max-width:none !important;
    padding-inline:6px !important;
  }
  .feature-point{
    width:100%;
    margin-top:20px;
    padding:18px 8px;
    border-radius:22px;
  }
  .feature-point > .section-title{
    padding-inline:8px !important;
  }
  .feature-point--doctor .doctor-profile{
    padding:18px 6px 0 !important;
  }
  .feature-point--program .experience-card,
  .feature-point--program .program-overview,
  .feature-point--support .multi-grid,
  .feature-point--support .whole-life-support__card{
    padding-inline:8px !important;
  }
  .point-program-content{
    margin-top:22px;
    padding-top:22px;
  }
  .point-program-content__title{
    padding-inline:6px !important;
  }
  .point-program-content__title h2{
    font-size:22px !important;
    line-height:1.55 !important;
  }
  .point-program-content__title p{
    font-size:13px !important;
    line-height:1.9 !important;
    text-align:left !important;
  }
  #approach02 .innovation-grid{
    width:100% !important;
    gap:18px !important;
  }
  #approach02 .innovation-card{
    width:100% !important;
    padding:8px !important;
    border-radius:22px !important;
  }
  #approach02 .innovation-card__body{
    padding:16px 8px 18px !important;
  }
  #approach02 .innovation-card__media{
    width:100% !important;
  }
  #approach02 .innovation-card__media img{
    width:100% !important;
    max-width:none !important;
  }
  #approach03 .card{
    width:100% !important;
    padding-inline:8px !important;
  }
  .feature-point--support .section-title{
    padding-inline:8px !important;
  }
  .sticky-footer-cta__image-link img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
  }
}


/* WordPress contact form refinements v1.0.3 */
.contact-page__form .optional{display:none!important;}
.contact-page__form fieldset.contact-field,
.contact-page__form fieldset.contact-field legend{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.contact-page__form .wpcf7-form>p{margin:0!important;}
.contact-page__form .contact-question{
  margin:60px 0 0!important;
  padding:0!important;
}
.contact-page__form .contact-question:first-child{margin-top:0!important;}
.contact-page__form .contact-form-submit{margin-top:60px!important;text-align:center;}
.contact-page__form .contact-form-submit .wpcf7-submit{margin-top:0!important;}
.phone-desk-label{
  margin:8px 0 4px!important;
  color:#6d665f!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.5!important;
  letter-spacing:.04em!important;
  text-align:center!important;
}
.campaign-contact__panel .phone-desk-label,
.cta-panel__action .phone-desk-label,
.contact-page__alternative .phone-desk-label{display:block!important;}
@media(max-width:767px){
  .contact-page__form .contact-question{margin-top:48px!important;}
  .contact-page__form .contact-question:first-child{margin-top:0!important;}
}
/* Fallback for forms already registered with the v1.0.2 markup */
.contact-page__form .wpcf7-form > fieldset.contact-field,
.contact-page__form .wpcf7-form > p{
  margin-top:60px!important;
  margin-bottom:0!important;
}
.contact-page__form .wpcf7-form > :first-child{margin-top:0!important;}
@media(max-width:767px){
  .contact-page__form .wpcf7-form > fieldset.contact-field,
  .contact-page__form .wpcf7-form > p{margin-top:48px!important;}
  .contact-page__form .wpcf7-form > :first-child{margin-top:0!important;}
}

/* WordPress contact form browser reset / postcode fix v1.0.4 */
.contact-page__form fieldset,
.contact-page__form .wpcf7-form fieldset,
.contact-page__form fieldset.contact-field,
.wpcf7 form fieldset.contact-field {
  display:block!important;
  min-width:0!important;
  min-inline-size:0!important;
  margin:0!important;
  margin-inline:0!important;
  padding:0!important;
  padding-block:0!important;
  padding-inline:0!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  border-color:transparent!important;
  border-image:none!important;
  outline:0!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.contact-page__form fieldset > legend,
.contact-page__form fieldset.contact-field > legend,
.wpcf7 form fieldset.contact-field > legend {
  width:100%!important;
  max-width:100%!important;
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* === WordPress contact reliability fixes v1.0.5 === */
.header-phone-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 0 auto;
  min-width:0;
  line-height:1;
}
.header-phone-block__label{
  display:block;
  margin:0;
  color:#6d665f;
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.035em;
  text-align:center;
  white-space:nowrap;
}
.header-phone-block .header-phone{
  margin:0!important;
}
@media(max-width:1100px){
  .header-phone-block{display:none!important;}
}

/* Remove the browser's fieldset/legend UI even when an older CF7 form is still registered. */
.wpcf7 fieldset,
.wpcf7-form fieldset,
form.wpcf7-form fieldset,
.contact-page__form fieldset{
  all:unset!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-inline-size:0!important;
  box-sizing:border-box!important;
  margin:60px 0 0!important;
  padding:0!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  border-color:transparent!important;
  border-image:none!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.wpcf7 fieldset:first-child,
.wpcf7-form fieldset:first-child,
.contact-page__form fieldset:first-child{
  margin-top:0!important;
}
.wpcf7 fieldset > legend,
.wpcf7-form fieldset > legend,
.contact-page__form fieldset > legend{
  all:unset!important;
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  color:var(--ink,#252525)!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.7!important;
}
.contact-page__form .contact-field-reset,
.contact-page__form .contact-field{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.contact-page__form .contact-question-title{
  display:block;
  width:100%;
  margin:0 0 10px;
  padding:0;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--ink,#252525);
  font-size:15px;
  font-weight:900;
  line-height:1.7;
}
.contact-page__form .js-postcode-status{
  margin-top:7px!important;
}
.contact-page__form .js-postcode-status[data-state="success"]{
  color:#147a3d!important;
}
.contact-page__form .js-postcode-status[data-state="error"]{
  color:#c52828!important;
}
.contact-page__form .js-postcode-status[data-state="loading"],
.contact-page__form .js-postcode-status[data-state="waiting"]{
  color:#766e68!important;
}
@media(max-width:767px){
  .wpcf7 fieldset,
  .wpcf7-form fieldset,
  form.wpcf7-form fieldset,
  .contact-page__form fieldset{
    margin-top:48px!important;
  }
  .wpcf7 fieldset:first-child,
  .wpcf7-form fieldset:first-child,
  .contact-page__form fieldset:first-child{
    margin-top:0!important;
  }
}

/* === 2026-08-20 SP conversion and consultation campaign revisions === */
.feature-section-title{
  margin-top:64px;
}
.doctor-profile__meta span{
  display:block;
  margin-top:4px;
}
.three-point.three-point--html .feature-badge__main--equipment,
.three-point.three-point--html .feature-badge__main--support{
  font-size:25px !important;
  line-height:1.2 !important;
}
.drawer__phone-info{
  margin:0 0 8px;
  color:#5d5d5d;
  font-size:13px;
  font-weight:800;
  line-height:1.6;
}
.drawer__buttons a:first-child{
  border-color:#06c755 !important;
  background:#06c755 !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(6,199,85,.28);
}
.sticky-footer-cta__text-link{
  display:grid !important;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:86px;
  padding:14px 18px;
  border:3px solid #fff;
  border-radius:18px;
  background:linear-gradient(135deg,#ff8a00 0%,#f45b19 100%);
  color:#fff;
  box-shadow:0 12px 28px rgba(218,78,15,.3),inset 0 0 0 2px rgba(255,255,255,.3);
  text-align:center;
}
.sticky-footer-cta__speed{
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  color:#ed5b13;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.sticky-footer-cta__text-link strong{
  font-size:21px;
  font-weight:900;
  line-height:1.3;
  white-space:nowrap;
}
.sticky-footer-cta__status{
  padding:5px 9px;
  border-radius:8px;
  background:#ffe63b;
  color:#b33b00;
  font-size:15px;
  font-weight:900;
  white-space:nowrap;
}
.sticky-footer-cta__arrow{
  font-size:32px;
  font-weight:900;
  line-height:1;
}
.contact-page__phone-cta{
  max-width:860px;
  margin:0 auto 24px;
  padding:22px;
  border-radius:24px;
  background:linear-gradient(135deg,#fff 0%,#fff7eb 100%);
  box-shadow:0 12px 30px rgba(0,0,0,.06);
  text-align:center;
}
.contact-page__phone-cta p{
  margin:0 0 4px;
  color:#252525;
  font-size:17px;
  font-weight:900;
}
.contact-page__phone-cta span{
  display:block;
  color:#6d665f;
  font-size:13px;
  font-weight:800;
}
.contact-page__phone-cta a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(100%,430px);
  margin:12px auto 0;
  padding:14px 18px;
  border-radius:999px;
  background:var(--orange,#f36c21);
  color:#fff;
  font-size:clamp(26px,6vw,34px);
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(243,108,33,.25);
}

@media(max-width:767px){
  .site{
    padding-top:72px;
  }
  .site-header{
    position:fixed !important;
    top:0;
    right:0;
    left:0;
    z-index:1500 !important;
    width:100%;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 4px 18px rgba(0,0,0,.1);
  }
  .drawer{
    z-index:2000 !important;
  }
  body.drawer-open{
    overflow:hidden;
  }
  .drawer__cta{
    padding:22px 16px 28px;
  }
  .drawer__buttons{
    grid-template-columns:1fr;
    width:min(360px,100%);
  }
  .drawer__buttons a{
    padding:13px 12px;
    font-size:15px;
  }
  .feature-section-title{
    margin-top:44px !important;
  }
  .doctor-profile{
    width:100% !important;
    margin-inline:0 !important;
    padding:18px 14px !important;
  }
  .doctor-profile__body h3,
  .doctor-profile__body p{
    text-align:left !important;
  }
  .three-point.three-point--html .feature-badge__main--equipment,
  .three-point.three-point--html .feature-badge__main--support{
    font-size:16px !important;
  }
  .multi-class .section-title{
    padding-inline:6px;
  }
  .campaign-contact .container{
    padding-inline:6px !important;
  }
  .campaign-contact__shell{
    width:100% !important;
    padding:32px 10px 16px !important;
    border-radius:22px !important;
  }
  .campaign-contact__badge{
    width:calc(100% - 20px) !important;
    max-width:360px;
    padding:8px 10px !important;
    font-size:12px !important;
    text-align:center;
  }
  .campaign-contact__head{
    padding-inline:4px !important;
  }
  .campaign-contact__head h2{
    font-size:23px !important;
  }
  .campaign-contact__lead{
    max-width:none !important;
    font-size:13px !important;
    text-align:left !important;
  }
  .campaign-contact__actions{
    width:100% !important;
    margin-inline:0 !important;
    padding:0 !important;
  }
  .campaign-contact__panel{
    width:100% !important;
    padding:18px 10px !important;
    border-radius:16px !important;
  }
  .campaign-contact__web-buttons{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .campaign-contact__button--line{
    order:1;
    background:#06c755 !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(6,199,85,.25);
  }
  .campaign-contact__button--form{
    order:2;
  }
  .contact-page{
    padding-top:32px;
  }
  .contact-page .container{
    padding-inline:10px !important;
  }
  .contact-page__intro{
    margin-bottom:18px;
    padding-inline:4px;
  }
  .contact-page__intro h1{
    font-size:26px;
  }
  .contact-page__phone-cta{
    margin-bottom:18px;
    padding:18px 12px;
    border-radius:18px;
  }
  .contact-page__phone-cta p{
    font-size:15px;
  }
  .contact-page__phone-cta a{
    font-size:28px;
  }
  .contact-page__form{
    width:100%;
    padding:22px 12px;
  }
  .sticky-footer-cta,
  .sticky-footer-cta.is-visible{
    left:6px !important;
    right:6px !important;
    bottom:6px !important;
    width:auto !important;
    max-width:calc(100vw - 12px) !important;
    padding:0 !important;
    border:0 !important;
    border-radius:16px !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .sticky-footer-cta__text-link{
    grid-template-columns:auto 1fr auto;
    gap:6px;
    min-height:64px;
    padding:8px 10px;
    border-width:2px;
    border-radius:14px;
  }
  .sticky-footer-cta__speed{
    padding:5px 7px;
    font-size:10px;
  }
  .sticky-footer-cta__text-link strong{
    font-size:15px;
    white-space:normal;
  }
  .sticky-footer-cta__status{
    padding:4px 6px;
    font-size:11px;
  }
  .sticky-footer-cta__arrow{
    display:none;
  }
}

/* === 2026-08-20 drawer contact layout based on supplied reference === */
.drawer__contact-title{
  margin:0 0 14px;
  color:#252525;
  font-size:16px;
  font-weight:900;
  line-height:1.5;
  text-align:center;
}
.drawer__office-name{
  margin:0 0 5px;
  color:#777;
  font-size:12px;
  font-weight:800;
  line-height:1.5;
  text-align:center;
}
.drawer__phone-number{
  display:block;
  width:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--orange,#f36c21);
  font-size:clamp(28px,8vw,34px);
  font-weight:900;
  line-height:1.25;
  letter-spacing:-.03em;
  text-align:center;
  box-shadow:none;
}
.drawer__phone-hours{
  margin:5px 0 20px;
  color:#777;
  font-size:12px;
  font-weight:800;
  line-height:1.5;
  text-align:center;
}

@media(max-width:767px){
  .drawer__cta{
    padding:24px 8px 30px !important;
  }
  .drawer__buttons{
    gap:10px !important;
    width:100% !important;
    max-width:420px;
  }
  .drawer__buttons a{
    width:100%;
    padding:15px 16px !important;
    border:0 !important;
    border-radius:999px !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:1.4;
  }
  .drawer__buttons a:first-child{
    background:#06c755 !important;
    box-shadow:none !important;
  }
  .drawer__buttons a:last-child{
    background:var(--orange,#f36c21) !important;
    color:#fff !important;
    box-shadow:none !important;
  }
}

/* Final cascade guards for the revised test LP. */
@media(max-width:767px){
  .approach-experience > .container,
  #approach02 > .container,
  #approach03 > .container,
  #approach05 > .container{
    width:100% !important;
    max-width:none !important;
    padding-right:6px !important;
    padding-left:6px !important;
  }
  .approach-experience .feature-point{
    padding-right:8px !important;
    padding-left:8px !important;
  }
  .feature-point--doctor .doctor-profile{
    padding-right:6px !important;
    padding-left:6px !important;
  }
  #approach02 .innovation-card{
    padding:8px !important;
  }
  #approach02 .innovation-card__body{
    padding:16px 8px 18px !important;
  }
  .sticky-footer-cta__image-link img{
    max-height:none !important;
  }
}

/* === 2026-08-21 point visual unification and campaign badge refinement === */
.feature-point,
#approach02 .section-title,
#approach03 .section-title,
#approach05 .feature-point{
  background:#fff !important;
}
.point-program-content__title{
  background:transparent !important;
  box-shadow:none !important;
}
.feature-point .professional-item,
.feature-point .program-overview,
#approach02 .innovation-card,
#approach03 .card,
#approach05 .multi-grid,
#approach05 .whole-life-support__card,
#approach05 .combine-box{
  background:#fff !important;
}
.feature-point .professional-item img,
#approach02 .innovation-card__media,
#approach02 .innovation-card__media img,
#approach03 .team-feature__visual,
#approach03 .team-feature__visual img,
#approach05 .combine-box img,
#approach05 .whole-life-support__visual{
  background:#fff !important;
}

/* POINT05: use the same flag heading treatment as POINT01–04. */
#approach05 .section-title{
  position:relative;
  max-width:1020px;
  margin:0 auto 24px !important;
  padding:24px 46px 20px 170px !important;
  border-radius:24px;
  background:transparent !important;
  text-align:left;
  box-shadow:none !important;
}
#approach05 .point{
  position:absolute;
  left:42px;
  top:18px;
  display:block;
  width:78px;
  height:116px;
  margin:0;
  padding-top:12px;
  background:linear-gradient(180deg,#ff9b2f 0%,#ff7a00 100%);
  color:#fff !important;
  text-align:center;
  clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);
}
#approach05 .point small{
  display:block;
  margin:0;
  color:#fff !important;
  font-size:14px !important;
  letter-spacing:.08em;
  line-height:1.1;
}
#approach05 .point strong{
  display:block;
  margin-top:2px;
  color:#fff !important;
  font-size:42px !important;
  font-weight:900;
  line-height:1;
}
#approach05 .section-title h2{
  color:#2b1a16 !important;
  font-size:29px !important;
  line-height:1.65 !important;
}
#approach05 .section-title h2 span{
  color:var(--orange) !important;
  font-size:32px !important;
}
#approach05 .section-title p{
  max-width:none;
  margin:8px 0 0 !important;
  color:#2b1a16 !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.8 !important;
}

.campaign-contact__badge{
  border-radius:30px !important;
}

@media(max-width:899px){
  #approach05 .section-title{
    margin-bottom:18px !important;
    padding:22px 18px 18px 84px !important;
    border-radius:20px;
  }
  #approach05 .point{
    left:16px;
    top:18px;
    width:54px;
    height:82px;
    padding-top:8px;
  }
  #approach05 .point small{
    font-size:11px !important;
  }
  #approach05 .point strong{
    font-size:30px !important;
  }
  #approach05 .section-title h2{
    font-size:21px !important;
  }
  #approach05 .section-title h2 span{
    font-size:23px !important;
  }
  #approach05 .section-title p{
    font-size:12.5px !important;
  }
}

/* === 2026-08-21 POINT02, POINT05 and consultation copy refinements === */
.feature-point--program{
  background:#fff !important;
}
.feature-point--program#program{
  background:#fff !important;
}
#approach05 .section-title{
  text-align:center !important;
}
#approach05 .multi-grid{
  margin-bottom:0 !important;
  padding-bottom:30px !important;
  border-radius:24px 24px 0 0 !important;
}
#approach05 .whole-life-support__card{
  margin-top:0 !important;
  padding-top:30px !important;
  border-top:1px solid #f8d9c4 !important;
  border-radius:0 0 24px 24px !important;
}
.campaign-contact__kicker{
  margin-bottom:18px !important;
  padding:10px 26px !important;
  border-radius:18px !important;
  background:#fff !important;
  color:var(--orange,#f36c21) !important;
  font-size:clamp(30px,3.5vw,42px) !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  box-shadow:0 8px 20px rgba(151,42,0,.14);
}
.campaign-contact__lead strong{
  font-weight:900;
}

@media(max-width:899px){
  #approach05 .section-title{
    text-align:center !important;
  }
}

@media(max-width:767px){
  #approach05 .multi-grid{
    padding-bottom:22px !important;
    border-radius:18px 18px 0 0 !important;
  }
  #approach05 .whole-life-support__card{
    padding-top:22px !important;
    border-radius:0 0 18px 18px !important;
  }
  .campaign-contact__kicker{
    margin-bottom:14px !important;
    padding:9px 14px !important;
    border-radius:16px !important;
    font-size:25px !important;
    line-height:1.35 !important;
  }
}

/* === 2026-08-21 test contact phone guidance refinement === */
.contact-page__phone-cta{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

@media(max-width:767px){
  .contact-page__phone-cta{
    padding:0 !important;
    border-radius:0 !important;
  }
}

/* === 2026-08-21 POINT05 inner spacing and illustration cleanup === */
#approach05 .multi-grid{
  padding:30px 36px !important;
}
#approach05 .whole-life-support__card{
  padding:30px 36px !important;
}
#approach05 .combine-box--illustrated{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#approach05 .combine-box--illustrated img{
  background:transparent !important;
  box-shadow:none !important;
}

@media(max-width:767px){
  #approach05 .multi-grid,
  #approach05 .whole-life-support__card{
    padding:22px 16px !important;
  }
}

/* === 2026-08-21 POINT03 card and thumbnail cleanup === */
#approach02 .innovation-grid .card{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#approach02 .innovation-card__media .untei-strip{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

@media(max-width:767px){
  .pc-only-break{
    display:none !important;
  }
  .innovation-card__body h3{
    font-size:21px !important;
  }
}

/* === 2026-08-21 POINT05 heading aligned with POINT01-04 === */
#approach05 .section-title{
  text-align:left !important;
}

@media(max-width:767px){
  .campaign-contact__badge{
    top:-20px !important;
    display:inline-flex !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:calc(100% - 32px) !important;
    min-height:0 !important;
    padding:8px 18px !important;
    border-width:3px !important;
    border-radius:30px !important;
    font-size:14px !important;
    line-height:1.3 !important;
    white-space:nowrap;
  }
  .campaign-contact__panel + .campaign-contact__panel{
    border:0 !important;
  }
}

/* === 2026-08-21 SP POINT03 media width and POINT05 heading parity === */
@media(max-width:767px){
  #approach02 .innovation-grid{
    width:100% !important;
    margin-inline:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  #approach02 .innovation-card{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  #approach02 .innovation-card__media{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
  }
  #approach02 .innovation-card__media img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    background:transparent !important;
  }
  #approach02 .innovation-card__body{
    padding:18px 10px 22px !important;
  }

  #approach05 .feature-point--support{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  #approach05 .section-title{
    width:auto !important;
    margin:0 12px !important;
    padding:56px 16px 18px !important;
    border-radius:18px 18px 0 0 !important;
    background:#fff !important;
    text-align:left !important;
    box-shadow:none !important;
  }
  #approach05 .point{
    position:absolute !important;
    left:16px !important;
    top:-22px !important;
    width:48px !important;
    height:72px !important;
    margin:0 !important;
    padding-top:8px !important;
    z-index:2 !important;
  }
  #approach05 .point small{
    font-size:10px !important;
  }
  #approach05 .point strong{
    font-size:28px !important;
  }
  #approach05 .section-title h2{
    margin:0 !important;
    color:#2b1a16 !important;
    font-size:21px !important;
    line-height:1.55 !important;
    text-align:left !important;
  }
  #approach05 .section-title h2 span{
    font-size:22px !important;
  }
  #approach05 .section-title p{
    max-width:none !important;
    margin-top:10px !important;
    font-size:12.5px !important;
    line-height:1.85 !important;
    text-align:left !important;
  }
  #approach05 .multi-grid,
  #approach05 .whole-life-support__card{
    margin-inline:12px !important;
    width:auto !important;
  }
}

/* === 2026-08-21 constrain POINT03 grid to its container === */
#approach02 .innovation-grid{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:min(1020px,100%) !important;
  margin-right:auto !important;
  margin-left:auto !important;
  overflow:hidden !important;
  background:#fff !important;
}
#approach02 .innovation-grid > .innovation-card{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

@media(max-width:767px){
  #approach02 .innovation-grid{
    width:100% !important;
    max-width:100% !important;
    margin-inline:0 !important;
    background:#fff !important;
  }
}

.point-program-content{
  margin-top:40px !important;
  padding-top:0 !important;
  border-top:0 !important;
}

@media(max-width:767px){
  .feature-point--program .experience-card{
    padding-bottom:0 !important;
  }
  .feature-point--program .experience-card .professionals{
    margin-bottom:0 !important;
  }
}

#approach02 .innovation-card__media{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
#approach02 .innovation-card__media img{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
}

#approach05 .section-title > p{
  text-align:center !important;
}

/* === 2026-08-21 POINT renumbering, split support sections and doctor placement === */
@media(min-width:768px){
  #approach05 .feature-point--combined > .section-title,
  #approach05 .feature-point--combined > .section-title h2,
  #approach05 .feature-point--lifelong > .section-title,
  #approach05 .feature-point--lifelong > .section-title h2{
    text-align:center !important;
  }
}

#approach05 .feature-point--doctor-after > .section-title,
#approach05 .feature-point--doctor-after > .section-title h2{
  text-align:center !important;
}

@media(max-width:767px){
  #approach05 .feature-point--doctor-after{
    width:auto !important;
    margin-inline:12px !important;
    padding:18px 8px !important;
    background:#fff !important;
    border-radius:22px !important;
  }
  #approach05 .feature-point--doctor-after > .section-title{
    width:100% !important;
    margin:0 !important;
    padding:8px !important;
    border-radius:0 !important;
  }
  #approach05 .feature-point--doctor-after > .section-title h2{
    font-size:22px !important;
    line-height:1.55 !important;
  }
}


/* 5つの特徴：メインビジュアル下を1枚画像に差し替え */
.three-points--overview{
  padding:28px 0 36px !important;
  background:#fff !important;
  overflow:visible;
}
.three-points--overview::before,
.three-points--overview::after{
  display:none !important;
}
.three-points--overview .container{
  width:min(1480px,100%);
  padding-inline:20px !important;
}
.feature-overview-image{
  width:100%;
  margin:0 auto;
}
.feature-overview-image img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
}
@media (max-width: 767px){
  .three-points--overview{
    padding:14px 0 22px !important;
  }
  .three-points--overview .container{
    padding-inline:10px !important;
  }
}

/* === 2026-08-21 responsive feature overview v2 === */
.three-points--overview .container{
  width:100% !important;
  max-width:none !important;
}
.feature-overview-image{
  width:100% !important;
  max-width:1200px !important;
  margin:0 auto !important;
}
.feature-overview-image picture{
  display:block;
  width:100%;
}
.feature-overview-image img{
  display:block;
  width:100% !important;
  max-width:1200px !important;
  height:auto !important;
  margin:0 auto !important;
}
@media(max-width:767px){
  .three-points--overview .container{
    padding-inline:8px !important;
  }
  .feature-overview-image{
    max-width:520px !important;
  }
  .feature-overview-image img{
    max-width:520px !important;
  }
}

@media (max-width: 767px) {
    #approach05 .feature-point--support.feature-point--lifelong {
        margin-top: 50px !important;
    }
}

@media (max-width: 767px) {
    #approach02 .innovation-grid {
       
        margin: 0 12px !important;
    }
}

/* === 2026-08-25 POINT05 transportation support === */
#approach05 .transport-support__card{
  display:grid !important;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) !important;
  align-items:center;
  gap:30px;
  padding:34px 38px !important;
}
#approach05 .transport-support__media{
  min-width:0;
  margin:0;
}
#approach05 .transport-support__media img{
  display:block;
  width:100%;
  height:auto;
  border-radius:20px;
}
#approach05 .transport-support__copy{
  width:100%;
  max-width:880px;
  margin:0 auto;
}
#approach05 .transport-support__copy p{
  max-width:none;
  margin:0;
}
@media(max-width:767px){
  #approach05 .transport-support__card{
    grid-template-columns:1fr !important;
    gap:20px;
    padding:22px !important;
  }
  #approach05 .transport-support__media img{
    border-radius:16px;
  }
}

/* === 2026-08-26 test LP overview and doctor placement === */
#approach01 .feature-point--doctor-inline{
  width:100%;
  margin:32px 0 0;
  padding:32px 0 0;
  border:0;
  border-top:1px solid #f8d9c4;
  border-radius:0;
  background:transparent !important;
  box-shadow:none;
}
#approach01 .feature-point--doctor-inline > .section-title,
#approach01 .feature-point--doctor-inline > .section-title h2{
  text-align:center !important;
}
#approach01 .point-program-content--test-divider{
  border-top:2px solid var(--orange,#f36c21) !important;
}
@media(max-width:767px){
  #approach01 .feature-point--doctor-inline{
    margin-top:24px;
    padding:24px 0 0;
  }
  #approach01 .feature-point--doctor-inline > .section-title{
    padding-inline:6px !important;
  }
  #approach01 .feature-point--doctor-inline > .section-title h2{
    font-size:22px !important;
    line-height:1.55 !important;
  }
}

#approach01 .point-program-content--test-divider {
    border-top: 1px solid #f8d9c4 !important;
}

/* === 2026-08-28 requested feature order / revised FV / mobile contact dock === */
.site--test .hero--image{
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  overflow:hidden;
  background:#fffaf6 !important;
}
.site--test .hero-revised__layout{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  min-height:clamp(540px,39vw,760px);
  background:#fffaf6;
}
.site--test .hero-revised__copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:68px clamp(34px,4vw,86px) 72px;
  text-align:center;
  background:
    radial-gradient(circle at 7% 10%,rgba(249,160,66,.25) 0 22px,transparent 23px),
    radial-gradient(circle at 88% 31%,rgba(249,160,66,.18) 0 9px,transparent 10px),
    radial-gradient(circle at 11% 82%,rgba(249,160,66,.16) 0 14px,transparent 15px),
    #fffaf6;
}
.site--test .hero-revised__proof{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:center;
  gap:3px 7px;
  width:min(100%,560px);
  margin:0 auto 34px;
  padding:12px 18px;
  border:2px solid var(--orange,#f36c21);
  border-radius:22px;
  color:#2c2420;
  font-weight:800;
  line-height:1.35;
  background:rgba(255,255,255,.86);
}
.site--test .hero-revised__proof strong{
  color:var(--orange,#f36c21);
  font-size:clamp(26px,2vw,40px);
  font-weight:900;
}
.site--test .hero-revised__proof b{
  width:100%;
  color:#4a403a;
  font-size:clamp(16px,1.25vw,22px);
}
.site--test .hero-revised__proof b::first-letter{color:var(--orange,#f36c21);}
.site--test .hero-revised__kicker{
  margin:0 0 5px;
  color:#3a3939;
  font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;
  font-size:clamp(24px,2.2vw,42px);
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.35;
}
.site--test .hero-revised__title{
  margin:0;
  color:var(--orange,#f36c21);
  font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;
  font-size:clamp(50px,4.9vw,92px);
  font-weight:900;
  letter-spacing:.055em;
  line-height:1.14;
}
.site--test .hero-revised__sub{
  width:min(100%,520px);
  margin:28px 0 22px;
  padding:16px 10px;
  border-top:3px dotted #f59a50;
  border-bottom:3px dotted #f59a50;
  color:#2f2724;
  font-size:clamp(20px,1.7vw,32px);
  font-weight:800;
  line-height:1.55;
}
.site--test .hero-revised__sub em{
  color:var(--orange,#f36c21);
  font-style:normal;
  font-weight:900;
}
.site--test .hero-revised__age{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0;
  padding:12px 22px;
  border:2px solid var(--orange,#f36c21);
  border-radius:999px;
  background:#fff;
  color:var(--orange,#f36c21);
  font-size:clamp(22px,1.8vw,34px);
  font-weight:900;
  line-height:1;
}
.site--test .hero-revised__age strong{font-size:1.28em;}
.site--test .hero-revised__age-icon{display:block;width:56px;height:36px;color:#503b32;}
.site--test .hero-revised__age-icon svg{width:100%;height:100%;fill:#fff5ea;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.site--test .hero-revised__photo{
  min-width:0;
  min-height:100%;
  background-image:url('../images/kvpc1.png');
  background-size:auto 100%;
  background-position:right center;
  background-repeat:no-repeat;
}
.site--test .hero-cta--seal{z-index:4;}

/* Five feature summary cards */
.site--test .three-points--overview{
  padding:48px 0 54px !important;
  background:#fff !important;
}
.site--test .feature-overview-v4{width:min(1240px,100%);margin:0 auto;}
.site--test .feature-overview-v4__heading{text-align:center;margin-bottom:28px;}
.site--test .feature-overview-v4__heading p{margin:0 0 4px;color:#544941;font-size:16px;font-weight:800;}
.site--test .feature-overview-v4__heading h2{margin:0;color:#2f2824;font-size:clamp(28px,2.6vw,42px);font-weight:900;line-height:1.35;}
.site--test .feature-overview-v4__heading h2::after{content:"";display:block;width:54px;height:4px;margin:14px auto 0;border-radius:999px;background:var(--orange,#f36c21);}
.site--test .feature-overview-v4__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch;}
.site--test .feature-overview-v4__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  padding:22px 12px 18px;
  border:2px solid #f4a46f;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#fffaf6 100%);
  color:#332923;
  text-align:center;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(131,70,34,.06);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.site--test .feature-overview-v4__item:hover{transform:translateY(-3px);border-color:var(--orange,#f36c21);box-shadow:0 12px 28px rgba(131,70,34,.12);}
.site--test .feature-overview-v4__icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 12px;border-radius:50%;background:#fff2e7;color:var(--orange,#f36c21);}
.site--test .feature-overview-v4__icon svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.site--test .feature-overview-v4__item strong{display:block;margin:auto 0 8px;color:#2f2824;font-size:clamp(15px,1.2vw,18px);font-weight:900;line-height:1.55;}
.site--test .feature-overview-v4__item small{display:block;color:#76685e;font-size:12px;font-weight:700;line-height:1.55;}

/* Requested detail order and tone */
.site--test .feature-detail-section{padding-top:70px;padding-bottom:70px;}
.site--test .transport-section .feature-point--lifelong{margin-top:0 !important;}
.site--test #approach05 .feature-point--lifelong > .section-title,
.site--test #approach04 .feature-point--combined > .section-title{
  text-align:center !important;
}
.site--test #approach04 .section-title > p,
.site--test #approach05 .section-title > p{text-align:center !important;}
.site--test #approach04 .feature-point--support{width:100%;}
.site--test #approach04 .multi-grid{margin-bottom:0 !important;border-radius:24px !important;}
.site--test .transport-section .transport-support__card{margin-top:24px;}
.site--test .transport-section .transport-support__copy p{font-size:17px;line-height:2;}
.site--test .combined-section .multi-copy p{font-size:16px;line-height:1.95;}
.site--test .combined-section .combine-note{line-height:1.8;}
.site--test .feature-detail-section .section-title > p{max-width:900px;margin-left:auto;margin-right:auto;line-height:1.9;}
.site--test .feature-detail-section .section-title h2 span{display:inline;}

/* Desktop keeps the existing consultation banner. Smartphone uses direct phone + LINE. */
.site--test .mobile-contact-dock{display:none;}

@media(max-width:1100px){
  .site--test .feature-overview-v4__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media(max-width:767px){
  .site--test{padding-bottom:88px;}
  .site--test .hero--image{padding-top:0 !important;}
  .site--test .hero-revised__layout{display:block;min-height:0;}
  .site--test .hero-revised__copy{padding:30px 18px 24px;background:#fffaf6;}
  .site--test .hero-revised__proof{width:100%;margin-bottom:22px;padding:10px 8px;border-radius:18px;gap:2px 5px;font-size:12px;}
  .site--test .hero-revised__proof strong{font-size:25px;}
  .site--test .hero-revised__proof b{font-size:14px;}
  .site--test .hero-revised__kicker{font-size:clamp(21px,6vw,27px);letter-spacing:.04em;}
  .site--test .hero-revised__title{font-size:clamp(47px,13vw,66px);line-height:1.15;letter-spacing:.035em;}
  .site--test .hero-revised__sub{width:100%;margin:21px 0 18px;padding:12px 4px;font-size:clamp(18px,5vw,23px);}
  .site--test .hero-revised__age{gap:8px;padding:10px 18px;font-size:clamp(20px,5.8vw,26px);}
  .site--test .hero-revised__age-icon{width:48px;height:31px;}
  .site--test .hero-revised__photo{height:clamp(390px,116vw,520px);min-height:0;background-image:url('../images/kvsp1.png');background-size:150% auto;background-position:center 76%;}
  .site--test .hero-cta--seal{transform:scale(.82);transform-origin:right bottom;right:4px !important;bottom:10px !important;}

  .site--test .three-points--overview{padding:32px 0 38px !important;}
  .site--test .three-points--overview .container{padding-inline:16px !important;}
  .site--test .feature-overview-v4__heading{margin-bottom:20px;}
  .site--test .feature-overview-v4__heading p{font-size:14px;}
  .site--test .feature-overview-v4__heading h2{font-size:29px;}
  .site--test .feature-overview-v4__grid{grid-template-columns:1fr;gap:12px;}
  .site--test .feature-overview-v4__item{display:grid;grid-template-columns:66px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:16px 15px;text-align:left;align-items:center;}
  .site--test .feature-overview-v4__icon{grid-row:1/3;width:62px;height:62px;margin:0;}
  .site--test .feature-overview-v4__icon svg{width:47px;height:47px;}
  .site--test .feature-overview-v4__item strong{grid-column:2;margin:0 0 2px;font-size:16px;line-height:1.45;}
  .site--test .feature-overview-v4__item small{grid-column:2;font-size:11.5px;line-height:1.5;}

  .site--test .feature-detail-section{padding-top:48px;padding-bottom:48px;}
  .site--test .transport-section .pre-program-intro{margin-top:0 !important;}
  .site--test #approach05 .feature-point--support.feature-point--lifelong{margin-top:26px !important;}
  .site--test #approach05 .transport-support__card{grid-template-columns:1fr !important;gap:18px;padding:20px !important;}
  .site--test #approach05 .transport-support__copy p{font-size:14px;line-height:1.9;}
  .site--test #approach04 .feature-point--support{margin-top:0 !important;}
  .site--test #approach04 .multi-grid{padding:20px !important;border-radius:18px !important;}
  .site--test #approach04 .section-title{padding-inline:10px !important;}
  .site--test #approach04 .section-title h2{font-size:21px !important;line-height:1.55 !important;}
  .site--test #approach04 .section-title p{font-size:13px !important;line-height:1.75 !important;}

  .site--test .sticky-footer-cta--desktop{display:none !important;}
  .site--test .mobile-contact-dock{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1200;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    background:rgba(255,255,255,.97);
    border-top:1px solid rgba(0,0,0,.08);
    box-shadow:0 -8px 24px rgba(0,0,0,.12);
  }
  .site--test .mobile-contact-dock__item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:64px;
    padding:8px 10px;
    border-radius:14px;
    color:#fff;
    text-decoration:none;
    box-shadow:0 5px 12px rgba(0,0,0,.12);
  }
  .site--test .mobile-contact-dock__item--phone{background:var(--orange,#f36c21);}
  .site--test .mobile-contact-dock__item--line{background:#06c755;}
  .site--test .mobile-contact-dock__icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;}
  .site--test .mobile-contact-dock__icon svg{width:30px;height:30px;fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .site--test .mobile-contact-dock__item--phone .mobile-contact-dock__icon svg{fill:#fff;stroke:none;}
  .site--test .mobile-contact-dock__item--line .mobile-contact-dock__icon svg{fill:#fff;stroke:#06c755;stroke-width:1;}
  .site--test .mobile-contact-dock__item--line .mobile-contact-dock__icon .line-mark{fill:none;stroke:#06c755;stroke-width:2.5;}
  .site--test .mobile-contact-dock__copy{display:flex;flex-direction:column;line-height:1.15;}
  .site--test .mobile-contact-dock__copy small{font-size:10px;font-weight:800;opacity:.92;}
  .site--test .mobile-contact-dock__copy strong{margin-top:3px;font-size:15px;font-weight:900;white-space:nowrap;}
}



/* === 2026-08-28 v1.0.43 TEST: pricing / standard DotJunior banner / official FV logo === */
.site--test .hero-revised__proof{
  flex-direction:column;
  align-items:center;
  gap:9px;
}
.site--test .hero-revised__proof-stats{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:center;
  gap:3px 7px;
}
.site--test .hero-revised__operator{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding-top:8px;
  border-top:1px solid rgba(243,108,33,.22);
  color:#4a403a;
  font-size:clamp(14px,1.12vw,20px);
  font-weight:900;
  line-height:1;
}
.site--test .hero-revised__operator img{
  display:block;
  width:clamp(112px,10vw,176px);
  height:auto;
  margin:0;
}

/* Classroom guidance -> pricing should read as one continuous information sequence. */
.site--test .locations{padding-bottom:36px !important;}
.site--test .pricing--wide{
  padding-top:34px !important;
  padding-bottom:64px !important;
}
.site--test .pricing--wide .container{
  width:min(1200px,100%) !important;
  max-width:1200px !important;
}
.site--test .pricing--wide .section-title{margin-bottom:24px !important;}
.site--test .pricing--wide .simple-box{
  width:100%;
  max-width:none;
  margin:0 auto;
  padding:30px clamp(22px,3.2vw,44px) 34px;
  border:1px solid rgba(243,108,33,.13);
  border-radius:28px;
  background:#fff;
  box-shadow:0 10px 30px rgba(91,57,35,.06);
}
.site--test .pricing--wide .simple-box > p{
  max-width:940px;
  margin:0 auto;
  text-align:center;
}
.site--test .pricing--wide .table-wrap{margin-top:24px;}
.site--test .pricing--wide table{min-width:640px;font-size:15px;}
.site--test .pricing--wide th,
.site--test .pricing--wide td{padding:15px 18px;}

/* Related DotJunior banner: keep it distinct, but harmonize with the Personal LP palette. */
.site--test .standard-service-promo{
  position:relative;
  padding:72px 0;
  background:
    radial-gradient(circle at 8% 15%,rgba(255,189,84,.14) 0 46px,transparent 47px),
    radial-gradient(circle at 92% 78%,rgba(255,146,64,.10) 0 70px,transparent 71px),
    #fffaf3;
}
.site--test .standard-service-banner{
  position:relative;
  display:block;
  overflow:hidden;
  width:100%;
  border:1px solid rgba(238,151,59,.22);
  border-radius:34px;
  background:#fff;
  color:#3a302a;
  text-decoration:none;
  box-shadow:0 18px 46px rgba(139,88,42,.10);
  transition:transform .2s ease,box-shadow .2s ease;
}
.site--test .standard-service-banner:hover{
  transform:translateY(-3px);
  box-shadow:0 23px 54px rgba(139,88,42,.14);
}
.site--test .standard-service-banner::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:8px;
  background:linear-gradient(180deg,#f4b33e,#f47a24);
}
.site--test .standard-service-banner__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:17px 30px 16px 38px;
  background:linear-gradient(90deg,#ffe3a3,#ffd17d);
  color:#55422f;
}
.site--test .standard-service-banner__different{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
}
.site--test .standard-service-banner__different::before{
  content:"別サービス";
  display:inline-block;
  padding:4px 9px;
  border-radius:999px;
  background:#fff;
  color:#e56f19;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
}
.site--test .standard-service-banner__operator-proof{
  font-size:13px;
  font-weight:800;
  opacity:.92;
}
.site--test .standard-service-banner__operator-proof sup{font-size:9px;}
.site--test .standard-service-banner__body{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  gap:38px;
  align-items:center;
  padding:38px 40px 30px 46px;
}
.site--test .standard-service-banner__eyebrow{
  margin:0 0 10px;
  color:#df721f;
  font-size:15px;
  font-weight:900;
  letter-spacing:.06em;
}
.site--test .standard-service-banner__logo{
  width:min(340px,80%);
  height:auto;
  margin:0 0 10px;
}
.site--test .standard-service-banner__service{
  display:inline-block;
  margin:0 0 14px;
  padding:5px 12px;
  border-radius:999px;
  background:#fff2dc;
  color:#a96021;
  font-size:12px;
  font-weight:900;
}
.site--test .standard-service-banner__intro h2{
  margin:0 0 13px;
  color:#40352e;
  font-size:clamp(26px,2.3vw,38px);
  font-weight:900;
  letter-spacing:.02em;
  line-height:1.45;
}
.site--test .standard-service-banner__description{
  margin:0;
  color:#675c54;
  font-size:14px;
  font-weight:700;
  line-height:1.9;
}
.site--test .standard-service-banner__facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.site--test .standard-service-banner__fact{
  min-width:0;
  padding:18px 16px 16px;
  border:1px solid #f4dfc2;
  border-radius:19px;
  background:linear-gradient(180deg,#fffdf9 0%,#fff8ee 100%);
  text-align:center;
}
.site--test .standard-service-banner__fact > span{
  display:block;
  margin-bottom:4px;
  color:#806b59;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.site--test .standard-service-banner__fact strong{
  display:block;
  color:#44362c;
  font-size:clamp(17px,1.35vw,22px);
  font-weight:900;
  line-height:1.35;
}
.site--test .standard-service-banner__fact strong em{
  color:#ed7b1f;
  font-size:1.46em;
  font-style:normal;
  font-weight:900;
}
.site--test .standard-service-banner__fact small{
  display:block;
  margin-top:7px;
  color:#897969;
  font-size:10.5px;
  font-weight:800;
  line-height:1.55;
}
.site--test .standard-service-banner__fact small sup{font-size:8px;}
.site--test .standard-service-banner__fact--services strong{font-size:16px;line-height:1.55;}
.site--test .standard-service-banner__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 40px 26px 46px;
}
.site--test .standard-service-banner__chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.site--test .standard-service-banner__chips span{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:#fff2df;
  color:#a8662f;
  font-size:10px;
  font-weight:900;
}
.site--test .standard-service-banner__cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:11px 20px;
  border-radius:999px;
  background:linear-gradient(90deg,#f59a2d,#f27c24);
  color:#fff;
  font-size:13px;
  font-weight:900;
  box-shadow:0 7px 18px rgba(242,124,36,.20);
}
.site--test .standard-service-banner__cta b{font-size:20px;line-height:1;}
.site--test .standard-service-banner__note{
  margin:0;
  padding:0 40px 22px 46px;
  color:#9a8d82;
  font-size:9.5px;
  font-weight:700;
  line-height:1.6;
}

@media(max-width:980px){
  .site--test .standard-service-banner__body{grid-template-columns:1fr;gap:28px;}
  .site--test .standard-service-banner__footer{align-items:flex-start;flex-direction:column;}
  .site--test .standard-service-banner__cta{align-self:stretch;}
}

@media(max-width:767px){
  .site--test .hero-revised__proof{gap:7px;}
  .site--test .hero-revised__proof-stats{gap:2px 5px;}
  .site--test .hero-revised__operator{gap:8px;padding-top:7px;font-size:13px;}
  .site--test .hero-revised__operator img{width:118px;}

  .site--test .locations{padding-bottom:24px !important;}
  .site--test .pricing--wide{padding-top:24px !important;padding-bottom:48px !important;}
  .site--test .pricing--wide .container{padding-inline:16px !important;}
  .site--test .pricing--wide .simple-box{padding:22px 16px 24px;border-radius:20px;}
  .site--test .pricing--wide .simple-box > p{text-align:left;font-size:13px;line-height:1.85;}
  .site--test .pricing--wide .table-wrap{margin-top:18px;}
  .site--test .pricing--wide table{min-width:570px;font-size:13px;}
  .site--test .pricing--wide th,
  .site--test .pricing--wide td{padding:12px 13px;}

  .site--test .standard-service-promo{padding:48px 0;}
  .site--test .standard-service-promo .container{padding-inline:14px !important;}
  .site--test .standard-service-banner{border-radius:24px;}
  .site--test .standard-service-banner::before{width:5px;}
  .site--test .standard-service-banner__topline{
    display:block;
    padding:14px 17px 13px 20px;
  }
  .site--test .standard-service-banner__different{font-size:12px;}
  .site--test .standard-service-banner__operator-proof{display:block;margin-top:7px;font-size:10px;line-height:1.5;}
  .site--test .standard-service-banner__body{display:block;padding:24px 18px 22px 22px;}
  .site--test .standard-service-banner__eyebrow{font-size:12px;}
  .site--test .standard-service-banner__logo{width:220px;max-width:82%;margin-bottom:8px;}
  .site--test .standard-service-banner__service{margin-bottom:12px;font-size:10px;}
  .site--test .standard-service-banner__intro h2{font-size:24px;line-height:1.5;}
  .site--test .standard-service-banner__description{font-size:12.5px;line-height:1.85;}
  .site--test .standard-service-banner__facts{grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;}
  .site--test .standard-service-banner__fact{padding:14px 9px 12px;border-radius:15px;}
  .site--test .standard-service-banner__fact > span{font-size:9px;}
  .site--test .standard-service-banner__fact strong{font-size:14px;}
  .site--test .standard-service-banner__fact strong em{font-size:1.34em;}
  .site--test .standard-service-banner__fact small{font-size:9px;line-height:1.45;}
  .site--test .standard-service-banner__fact--services strong{font-size:12.5px;}
  .site--test .standard-service-banner__footer{display:block;padding:0 18px 20px 22px;}
  .site--test .standard-service-banner__chips{gap:5px;margin-bottom:14px;}
  .site--test .standard-service-banner__chips span{padding:5px 8px;font-size:9px;}
  .site--test .standard-service-banner__cta{display:flex;width:100%;min-height:50px;padding:10px 12px;font-size:11.5px;text-align:center;}
  .site--test .standard-service-banner__note{padding:0 18px 18px 22px;font-size:8.5px;}
}


/* === 2026-08-28 v1.0.44 TEST: top section aligned to current site design via updated image assets === */


/* === 2026-08-29 v1.0.48 standard-service banner redesign === */
.site--test .standard-service-promo{padding-top:30px;padding-bottom:12px;background:#fff !important;}
.site--test .standard-service-promo .container{max-width:1120px;}
.site--test .standard-service-banner--refined{
  display:block;
  position:relative;
  color:#1e1e1e;
  text-decoration:none;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.site--test .standard-service-banner--refined::before,
.site--test .standard-service-banner--refined::after{content:none !important;}
.site--test .standard-service-banner__bubble{
  position:relative;
  max-width:760px;
  margin:0 auto 20px;
  padding:18px 26px;
  background:#fffdf8;
  border:3px solid #f2c444;
  border-radius:22px;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}
.site--test .standard-service-banner__bubble::after{
  content:"";
  position:absolute;
  left:50%;bottom:-15px;
  width:24px;height:24px;
  margin-left:-12px;
  background:#fffdf8;
  border-right:3px solid #f2c444;
  border-bottom:3px solid #f2c444;
  transform:rotate(45deg);
}
.site--test .standard-service-banner__bubble p{
  margin:0;
  text-align:center;
  font-size:18px;
  line-height:1.55;
  font-weight:900;
  color:#262626;
}
.site--test .standard-service-banner__bubble strong{color:#f08a00;}
.site--test .standard-service-banner__panel{
  position:relative;
  padding:42px 32px 30px;
  border-radius:26px;
  background:linear-gradient(180deg,#fefdf9 0%, #fbf7ef 100%);
  border:1px solid rgba(234,198,98,.35);
  box-shadow:0 14px 34px rgba(0,0,0,.06);
  overflow:hidden;
}
.site--test .standard-service-banner__panel::before,
.site--test .standard-service-banner__panel::after{
  content:"";
  position:absolute;
  border-radius:999px;
  background:rgba(242,196,68,.22);
}
.site--test .standard-service-banner__panel::before{width:76px;height:76px;right:52px;top:22px;}
.site--test .standard-service-banner__panel::after{width:34px;height:34px;left:32px;top:32px;}
.site--test .standard-service-banner__hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) 300px;
  gap:24px;
  align-items:center;
  margin-bottom:24px;
}
.site--test .standard-service-banner__intro{position:relative;z-index:1;}
.site--test .standard-service-banner__logo{width:315px;max-width:100%;margin-bottom:6px;}
.site--test .standard-service-banner__service{
  display:inline-block;
  margin:0 0 16px;
  padding:4px 12px;
  border-radius:999px;
  background:#eaf1f1;
  color:#444;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
}
.site--test .standard-service-banner__intro h2{
  margin:0;
  font-size:54px;
  line-height:1.28;
  letter-spacing:.02em;
  font-weight:900;
  color:#1f1f1f;
}
.site--test .standard-service-banner__intro h2 span{
  background:linear-gradient(transparent 64%, rgba(246,220,122,.55) 64%);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:0 .1em;
}
.site--test .standard-service-banner__photo-wrap{
  position:relative;
  width:300px;height:300px;
  justify-self:end;
}
.site--test .standard-service-banner__photo-wrap::before,
.site--test .standard-service-banner__photo-wrap::after{
  content:"";position:absolute;border-radius:999px;z-index:0;
}
.site--test .standard-service-banner__photo-wrap::before{width:42px;height:42px;left:-18px;top:50%;transform:translateY(-50%);background:radial-gradient(circle, rgba(154,199,114,.9) 2px, transparent 3px);background-size:14px 14px;}
.site--test .standard-service-banner__photo-wrap::after{width:64px;height:64px;right:-8px;bottom:10px;background:rgba(246,220,122,.55);}
.site--test .standard-service-banner__photo{
  position:relative;z-index:1;
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  border-radius:999px;
  box-shadow:0 10px 26px rgba(0,0,0,.08);
}
.site--test .standard-service-banner__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:0;
}
.site--test .standard-service-banner__fact{
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 18px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(242,196,68,.4);
  box-shadow:none;
  text-align:center;
}
.site--test .standard-service-banner__fact > span,
.site--test .standard-service-banner__fact small{display:none !important;}
.site--test .standard-service-banner__fact strong{
  margin:0;
  font-size:19px;
  line-height:1.55;
  font-weight:800;
  color:#282828;
}
.site--test .standard-service-banner__fact strong em{
  font-style:normal;
  color:#f08a00;
  font-size:1.25em;
}
.site--test .standard-service-banner__fact--no1 strong em{font-size:1.55em;}
.site--test .standard-service-banner__cta-wrap{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:98px;
  margin-top:24px;
  padding:16px 28px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffd75f 0%, #f2c232 100%);
  box-shadow:0 12px 28px rgba(235,182,19,.24);
}
.site--test .standard-service-banner__cta-icon{
  flex:0 0 72px;
  width:72px;height:72px;
  display:grid;place-items:center;
  border-radius:999px;
  background:#fff;
  color:#e2b020;
  font-size:32px;
  line-height:1;
}
.site--test .standard-service-banner__cta-text{
  flex:1 1 auto;
  font-size:23px;
  line-height:1.45;
  font-weight:900;
  color:#201600;
}
.site--test .standard-service-banner__cta-arrow{
  font-size:52px;
  line-height:1;
  color:#fff7d4;
  margin-right:4px;
}
.site--test .standard-service-banner__note{
  margin:12px auto 0;
  max-width:1040px;
  padding:0 8px;
  color:#7d776d;
  font-size:11px;
  line-height:1.7;
}
@media (max-width: 899px){
  .site--test .standard-service-banner__hero{grid-template-columns:minmax(0,1fr) 240px;}
  .site--test .standard-service-banner__intro h2{font-size:40px;}
  .site--test .standard-service-banner__photo-wrap{width:240px;height:240px;}
  .site--test .standard-service-banner__cta-text{font-size:19px;}
}
@media (max-width: 767px){
  .site--test .standard-service-promo{padding-top:24px;}
  .site--test .standard-service-banner__bubble{
    max-width:none;
    margin:0 12px 14px;
    padding:14px 16px;
    border-width:2px;
    border-radius:18px;
  }
  .site--test .standard-service-banner__bubble::after{
    width:18px;height:18px;bottom:-11px;margin-left:-9px;border-right-width:2px;border-bottom-width:2px;
  }
  .site--test .standard-service-banner__bubble p{font-size:15px;line-height:1.6;}
  .site--test .standard-service-banner__panel{
    padding:20px 14px 16px;
    border-radius:20px;
    margin:0 12px;
  }
  .site--test .standard-service-banner__panel::before{width:48px;height:48px;right:18px;top:22px;}
  .site--test .standard-service-banner__panel::after{width:26px;height:26px;left:12px;top:14px;}
  .site--test .standard-service-banner__hero{
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:14px;
  }
  .site--test .standard-service-banner__intro{text-align:center;}
  .site--test .standard-service-banner__logo{width:220px;margin:0 auto 6px;}
  .site--test .standard-service-banner__service{margin-bottom:12px;font-size:10px;padding:3px 10px;}
  .site--test .standard-service-banner__intro h2{font-size:26px;line-height:1.45;}
  .site--test .standard-service-banner__photo-wrap{width:160px;height:160px;justify-self:center;}
  .site--test .standard-service-banner__photo-wrap::before{width:34px;height:34px;left:-10px;background-size:12px 12px;}
  .site--test .standard-service-banner__photo-wrap::after{width:44px;height:44px;right:-4px;bottom:2px;}
  .site--test .standard-service-banner__facts{
    grid-template-columns:1fr;
    gap:8px;
  }
  .site--test .standard-service-banner__fact{
    min-height:0;
    padding:13px 12px;
    border-radius:14px;
  }
  .site--test .standard-service-banner__fact strong{font-size:13px;line-height:1.55;}
  .site--test .standard-service-banner__cta-wrap{
    gap:12px;
    min-height:0;
    margin-top:16px;
    padding:10px 12px;
  }
  .site--test .standard-service-banner__cta-icon{flex-basis:44px;width:44px;height:44px;font-size:20px;}
  .site--test .standard-service-banner__cta-text{font-size:12px;line-height:1.55;}
  .site--test .standard-service-banner__cta-arrow{font-size:28px;margin-right:0;}
  .site--test .standard-service-banner__note{font-size:8.5px;padding:0 16px;}
}
@media (min-width: 768px){
  .u-sp-only{display:none;}
}


/* === 2026-08-29 POINT03 flag heading fix === */
#approach04 .section-title{
  position:relative !important;
  max-width:1020px !important;
  margin:0 auto 24px !important;
  padding:24px 46px 20px 170px !important;
  background:#fff !important;
  text-align:left !important;
  border-radius:24px !important;
  box-shadow:0 10px 26px rgba(0,0,0,.04) !important;
}
#approach04 .point{
  position:absolute !important;
  left:42px !important;
  top:18px !important;
  display:block !important;
  width:78px !important;
  height:116px !important;
  margin:0 !important;
  padding-top:12px !important;
  background:linear-gradient(180deg,#ff9b2f 0%,#ff7a00 100%) !important;
  color:#fff !important;
  text-align:center !important;
  clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%) !important;
}
#approach04 .point small{display:block !important;margin:0 !important;font-size:14px !important;letter-spacing:.08em !important;color:#fff !important;line-height:1.1 !important;}
#approach04 .point strong{display:block !important;margin-top:2px !important;color:#fff !important;font-size:42px !important;line-height:1 !important;font-weight:900 !important;}
#approach04 .section-title h2{margin:0 !important;font-size:29px !important;line-height:1.65 !important;color:#2b1a16 !important;}
#approach04 .section-title h2 span{font-size:32px !important;color:var(--orange) !important;}
#approach04 .section-title p{margin:8px 0 0 !important;font-size:15px !important;color:#2b1a16 !important;font-weight:900 !important;line-height:1.8 !important;}
#approach04 .card{max-width:1020px !important;margin-inline:auto !important;}

@media (max-width: 767px){
  #approach04 .section-title{
    text-align:left !important;
    padding:56px 16px 18px 16px !important;
    margin-inline:12px !important;
    width:auto !important;
    border-radius:18px 18px 0 0 !important;
  }
  #approach04 .point{
    position:absolute !important;
    left:16px !important;
    top:-22px !important;
    width:48px !important;
    height:72px !important;
    padding-top:8px !important;
    z-index:2 !important;
  }
  #approach04 .point small{font-size:10px !important;}
  #approach04 .point strong{font-size:28px !important;}
  #approach04 .section-title h2{
    text-align:left !important;
    font-size:21px !important;
    line-height:1.55 !important;
    margin:0 !important;
  }
  #approach04 .section-title h2 span{font-size:22px !important;}
  #approach04 .section-title p{
    text-align:left !important;
    max-width:none !important;
    margin-top:10px !important;
    font-size:12.5px !important;
    line-height:1.85 !important;
  }
  #approach04 .section-title + .card,
  #approach04 .card{
    margin-inline:12px !important;
    width:auto !important;
  }
}


/* === 2026-08-29 v1.0.52 standard-service image banner + sharper mobile features === */
.site--test .standard-service-promo--image{
  padding:36px 0 24px !important;
  background:#fff !important;
}
.site--test .standard-service-promo--image .container{
  width:min(1200px,100%);
  margin-inline:auto;
  padding-inline:20px;
}
.site--test .standard-service-image-banner{
  display:block;
  width:100%;
  max-width:1120px;
  margin:0 auto;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(88,55,25,.08);
  transition:transform .18s ease,box-shadow .18s ease;
}
.site--test .standard-service-image-banner:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(88,55,25,.12);
}
.site--test .standard-service-image-banner img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
}
@media(max-width:767px){
  .site--test .standard-service-promo--image{padding:24px 0 18px !important;}
  .site--test .standard-service-promo--image .container{padding-inline:10px !important;}
  .site--test .standard-service-image-banner{border-radius:16px;box-shadow:0 8px 20px rgba(88,55,25,.08);}
}


/* === 2026-08-29 v1.0.53 mobile footer / point image fixes === */
@media (max-width: 767px){
  /* Prevent the Neurotracker image card from bleeding outside the card on smartphones. */
  #approach02 .innovation-grid,
  #approach02 .innovation-grid > .innovation-card,
  #approach02 .innovation-card__media{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  #approach02 .innovation-grid > .innovation-card{
    border-radius:18px !important;
  }
  #approach02 .innovation-card__media img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    object-fit:cover !important;
  }

  .site--test .mobile-contact-dock__item{
    min-height:68px;
    padding:8px 10px;
  }
  .site--test .mobile-contact-dock__icon{
    flex:0 0 34px;
    width:34px;
    height:34px;
  }
  .site--test .mobile-contact-dock__icon svg{
    width:30px;
    height:30px;
  }
  .site--test .mobile-contact-dock__icon img{
    display:block;
    width:30px;
    height:30px;
    object-fit:contain;
  }
  .site--test .mobile-contact-dock__copy small{
    font-size:10px;
    letter-spacing:.01em;
  }
  .site--test .mobile-contact-dock__copy strong{
    margin-top:4px;
    font-size:14px;
  }
}

/* === 2026-08-29 v1.0.54 mobile POINT04 spacing alignment === */
@media (max-width: 767px){
  /* POINT04 should follow the same mobile card width and inner spacing as POINT03 */
  .site--test #approach04 .section-title,
  #approach04 .section-title{
    padding:56px 16px 18px 16px !important;
    margin-inline:12px !important;
    width:auto !important;
  }

  .site--test #approach04 .section-title + .card,
  .site--test #approach04 .card,
  .site--test #approach04 .multi-grid,
  #approach04 .section-title + .card,
  #approach04 .card,
  #approach04 .multi-grid{
    margin-inline:12px !important;
    width:auto !important;
    padding:24px !important;
    border-radius:24px !important;
  }
}

/* === 2026-08-29 v1.0.55 mobile POINT04 width / overflow correction === */
@media (max-width: 767px){
  /* POINT04 = #approach02. Match POINT03's white-card width and side margins. */
  .site--test #approach02 .section-title{
    width:auto !important;
    max-width:none !important;
    margin:0 12px !important;
    padding:56px 16px 18px !important;
    border-radius:18px 18px 0 0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .site--test #approach02 .innovation-grid{
    width:auto !important;
    max-width:none !important;
    margin:0 12px !important;
    padding:24px !important;
    border-radius:0 0 18px 18px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 14px 34px rgba(0,0,0,.055) !important;
    gap:18px !important;
  }

  .site--test #approach02 .innovation-grid > .innovation-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border-radius:18px !important;
  }

  .site--test #approach02 .innovation-card__media{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border-radius:18px !important;
  }

  .site--test #approach02 .innovation-card__media img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    box-sizing:border-box !important;
    object-fit:cover !important;
  }
}


/* === 2026-08-30 v1.0.56 requested test-page revisions === */
@media (max-width:767px){
  /* Show both locations vertically on SP for equal visibility. */
  .site--test .locations{overflow:visible !important;}
  .site--test .location-carousel{overflow:visible !important;}
  .site--test .location-scroll{
    display:grid !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    overflow:visible !important;
    scroll-snap-type:none !important;
    margin:0 !important;
    padding:0 !important;
  }
  .site--test .location-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    scroll-snap-align:none !important;
  }
  .site--test .location-nav,
  .site--test .location-dots{display:none !important;}

  /* Combined-use card: keep copy and image simple after removed heading/note. */
  .site--test #approach04 .multi-copy p{margin-top:0 !important;}
  .site--test #approach04 .combine-box--illustrated{padding:16px !important;}
  .site--test #approach04 .combine-box--illustrated img{margin-bottom:0 !important;}
}


/* === 2026-08-31 v1.0.58 mobile POINT02 refinement + approved 5-features image === */
@media (max-width: 767px){
  .site--test #approach04 .section-title{
    box-shadow:none !important;
    text-align:center !important;
    padding:56px 20px 18px !important;
  }
  .site--test #approach04 .section-title h2,
  .site--test #approach04 .section-title p{
    text-align:center !important;
  }
  .site--test #approach04 .multi-copy,
  .site--test #approach04 .multi-copy p{
    width:100% !important;
    max-width:none !important;
  }
  .site--test #approach04 .multi-copy p{
    font-size:16px !important;
    line-height:2 !important;
  }
  .site--test #approach04 .combine-box--illustrated{
    padding:10px !important;
  }
  .site--test #approach04 .combine-box--illustrated img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
  }
}

/* === 2026-08-31 v1.0.60 POINT02 mobile card layout refinement === */
@media (max-width: 767px){
  .site--test #approach04{
    background:#fff !important;
    padding:0 0 30px !important;
  }
  .site--test #approach04 > .container{
    width:100% !important;
    max-width:none !important;
    padding-inline:10px !important;
  }
  .site--test #approach04 .feature-point--combined{
    width:100% !important;
    margin:0 !important;
  }

  /* Heading card */
  .site--test #approach04 .section-title{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    min-height:245px !important;
    margin:0 0 10px !important;
    padding:72px 24px 44px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
    border:1px solid #f3dfd2 !important;
    border-radius:18px !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    text-align:center !important;
  }
  .site--test #approach04 .point{
    left:20px !important;
    top:0 !important;
    width:58px !important;
    height:78px !important;
    padding-top:7px !important;
  }
  .site--test #approach04 .point small{
    font-size:9px !important;
    line-height:1.05 !important;
  }
  .site--test #approach04 .point strong{
    margin-top:3px !important;
    font-size:28px !important;
  }
  .site--test #approach04 .section-title h2{
    width:100% !important;
    margin:0 !important;
    font-size:20px !important;
    line-height:1.7 !important;
    text-align:center !important;
  }
  .site--test #approach04 .section-title h2 span{
    display:inline !important;
    font-size:21px !important;
  }
  .site--test #approach04 .section-title h2::after{
    content:"";
    display:block;
    width:52px;
    height:4px;
    margin:16px auto 0;
    border-radius:999px;
    background:var(--orange) !important;
  }

  /* Split the copy and image into their own white cards, like the reference. */
  .site--test #approach04 .card.multi-grid,
  .site--test #approach04 .multi-grid--revised{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  .site--test #approach04 .multi-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:28px 28px 30px !important;
    background:#fff !important;
    border:1px solid #f3e4da !important;
    border-radius:18px !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }
  .site--test #approach04 .multi-copy p{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:2.05 !important;
    letter-spacing:.01em !important;
    color:#4d4d4d !important;
    text-align:left !important;
  }

  .site--test #approach04 .combine-box--illustrated{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:10px 10px 12px !important;
    background:#fff !important;
    border:1px solid #f3e4da !important;
    border-radius:18px !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  .site--test #approach04 .combine-box--illustrated img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 auto !important;
    border-radius:14px !important;
  }
}

/* === 2026-08-31 v1.0.61 POINT02 border/shadow cleanup === */
/* PC: remove the shadow from the POINT02 heading block. */
.site--test #approach04 .section-title{
  box-shadow:none !important;
}

@media (max-width: 767px){
  /* SP: remove the heading outline while keeping the layout/spacing. */
  .site--test #approach04 .section-title{
    border:0 !important;
    box-shadow:none !important;
  }

  /* SP: remove the outer frame/background around the combined-use image. */
  .site--test #approach04 .combine-box--illustrated{
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  .site--test #approach04 .combine-box--illustrated img{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
}

/* === 2026-09-01 v1.0.65 consolidated revisions === */
.pricing-table--sp{display:none;}

/* PC: unify POINT01-05 widths, typography and spacing without changing the established visual language. */
@media (min-width: 768px){
  .site--test #approach05 > .container,
  .site--test #approach04 > .container,
  .site--test #approach01 > .container,
  .site--test #approach02 > .container,
  .site--test #approach03 > .container{
    width:min(1120px,100%) !important;
    padding-inline:30px !important;
  }

  .site--test #approach05 .feature-point,
  .site--test #approach04 .feature-point,
  .site--test #approach01 .feature-point,
  .site--test #approach02 .section-title,
  .site--test #approach02 .innovation-grid,
  .site--test #approach03 .section-title,
  .site--test #approach03 .card{
    width:100% !important;
    max-width:1040px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .site--test .feature-detail-section{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }
  .site--test .feature-detail-section .section-title{
    box-shadow:none !important;
    border:0 !important;
    margin-bottom:18px !important;
  }
  .site--test .feature-detail-section .section-title h2{
    color:#2b1a16 !important;
    font-weight:800 !important;
    letter-spacing:.02em !important;
  }
  .site--test .feature-detail-section .section-title p{
    color:#555 !important;
    font-weight:600 !important;
    line-height:1.9 !important;
  }
  .site--test .feature-detail-section .section-title h2::after{
    display:none !important;
  }

  /* POINT02: make the illustration readable on desktop. */
  .site--test #approach04 .multi-grid--revised{
    grid-template-columns:minmax(0,.75fr) minmax(520px,1.25fr) !important;
    gap:30px !important;
    align-items:center !important;
  }
  .site--test #approach04 .combine-box--illustrated{
    padding:18px !important;
  }
  .site--test #approach04 .combine-box--illustrated img{
    width:100% !important;
    max-width:680px !important;
    margin:0 auto !important;
  }

  /* POINT03: never split the word プログラム mid-word. */
  .site--test #approach01 .no-break-word{
    white-space:nowrap !important;
    display:inline-block !important;
  }

  /* Larger, more legible desktop phone number. */
  .site--test .header-phone-block .header-phone{
    font-size:22px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
  }
  .site--test .header-phone-block__label{
    font-size:11px !important;
  }

  /* Keep section rhythm consistent and remove accidental large gaps from accumulated overrides. */
  .site--test .locations{
    padding-top:40px !important;
    padding-bottom:48px !important;
  }
  .site--test .three-points--overview{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
  .site--test .standard-service-promo--image{
    display:block !important;
  }
}

@media (max-width: 767px){
  /* POINT02: tighten title-to-copy spacing. */
  .site--test #approach04 .section-title{
    min-height:190px !important;
    margin-bottom:3px !important;
    padding:58px 20px 20px !important;
  }
  .site--test #approach04 .card.multi-grid,
  .site--test #approach04 .multi-grid--revised{
    gap:4px !important;
  }
  .site--test #approach04 .multi-copy{
    padding:22px 24px 24px !important;
  }

  /* Mobile dock: LINE left, phone right; make LINE mark visibly larger. */
  .site--test .mobile-contact-dock__item--line{order:1 !important;}
  .site--test .mobile-contact-dock__item--phone{order:2 !important;}
  .site--test .mobile-contact-dock__icon{
    flex-basis:46px !important;
    width:46px !important;
    height:46px !important;
  }
  .site--test .mobile-contact-dock__item--line .mobile-contact-dock__icon img{
    width:44px !important;
    height:44px !important;
  }
  .site--test .mobile-contact-dock__copy small{
    font-size:9.5px !important;
    line-height:1.25 !important;
  }
  .site--test .mobile-contact-dock__copy strong{
    font-size:13px !important;
    line-height:1.25 !important;
  }

  /* Pricing: SP uses only 区分 / 負担上限月額 and stays inside viewport. */
  .site--test .pricing-table--pc{display:none !important;}
  .site--test .pricing-table--sp{
    display:block !important;
    overflow:visible !important;
    width:100% !important;
    margin-top:14px !important;
  }
  .site--test .pricing-table--sp table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    font-size:13px !important;
  }
  .site--test .pricing-table--sp th,
  .site--test .pricing-table--sp td{
    width:50% !important;
    padding:10px 8px !important;
    white-space:normal !important;
  }

  .site--test .locations{
    padding-top:28px !important;
    padding-bottom:36px !important;
  }
}

/* === 2026-09-01 v1.0.66 NG-only follow-up fixes === */
@media (min-width: 1200px){
  /* PC header: make the phone number approximately twice as prominent without changing the approved brand/logo layout. */
  .site--test .site-header__nav{
    transform:translateX(-36px) !important;
    gap:22px !important;
  }
  .site--test .site-header__actions{
    gap:6px !important;
  }
  .site--test .header-action{
    padding:8px 10px !important;
    font-size:11px !important;
  }
  .site--test .header-phone-block .header-phone{
    font-size:40px !important;
    line-height:.95 !important;
    font-weight:900 !important;
    letter-spacing:-.035em !important;
    white-space:nowrap !important;
  }
  .site--test .header-phone-block__label{
    font-size:11px !important;
    margin-bottom:4px !important;
  }

  /* Remove only the unwanted shadow around the approved program-example card. */
  .site--test .program-overview{
    box-shadow:none !important;
  }
}

@media (max-width: 767px){
  /* Keep approved LINE-left / phone-right order, but make the official LINE mark substantially larger. */
  .site--test .mobile-contact-dock__item{
    min-height:74px !important;
  }
  .site--test .mobile-contact-dock__icon{
    flex:0 0 58px !important;
    width:58px !important;
    height:58px !important;
  }
  .site--test .mobile-contact-dock__item--line .mobile-contact-dock__icon img{
    width:56px !important;
    height:56px !important;
    max-width:56px !important;
    max-height:56px !important;
    object-fit:contain !important;
  }
}


/* === 2026-09-01 v1.0.67 targeted follow-up only === */
@media (min-width: 1200px){
  /* Keep approved phone size; enlarge only consultation and LINE actions. */
  .site--test .site-header__nav{
    transform:translateX(-72px) !important;
    gap:17px !important;
  }
  .site--test .site-header__actions{
    gap:7px !important;
  }
  .site--test .header-action{
    padding:10px 14px !important;
    font-size:20px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .site--test .header-action--line{
    min-width:78px !important;
    justify-content:center !important;
  }
}

@media (min-width:768px){
  /* PC hero seal: 個別相談会 must stay on one line. */
  .site--test .hero-cta__seal-content > strong{
    white-space:nowrap !important;
    font-size:26px !important;
    letter-spacing:-.02em !important;
  }
}

@media (max-width:767px){
  /* LINE-left layout remains approved; halve the unused left spacing. */
  .site--test .mobile-contact-dock__item--line{
    justify-content:flex-start !important;
    padding-left:5px !important;
    padding-right:8px !important;
    gap:5px !important;
  }
  .site--test .mobile-contact-dock__item--phone{
    gap:5px !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }
  .site--test .mobile-contact-dock__item--phone .mobile-contact-dock__copy small{
    white-space:nowrap !important;
    font-size:8.5px !important;
    letter-spacing:-.02em !important;
  }

  /* POINT02 flag exactly matches POINT01's mobile placement and dimensions. */
  .site--test #approach04 .point{
    left:16px !important;
    top:18px !important;
    width:54px !important;
    height:82px !important;
    padding-top:8px !important;
  }
  .site--test #approach04 .point small{
    font-size:11px !important;
    line-height:1.1 !important;
  }
  .site--test #approach04 .point strong{
    margin-top:2px !important;
    font-size:30px !important;
    line-height:1 !important;
  }

  /* Keep the approved doctor copy but prevent the Aoki-supervision phrase from breaking mid-phrase. */
  .site--test #approach01 .feature-point--doctor-inline > .section-title h2 span{
    display:inline-block !important;
    white-space:nowrap !important;
    font-size:17px !important;
    letter-spacing:-.02em !important;
  }
}


/* === 2026-09-02 v1.0.68 targeted follow-up only === */
@media (min-width:1200px){
  /* Keep the approved phone size and move only the phone block upward. */
  .site--test .header-phone-block{
    transform:translateY(-20px) !important;
  }
}

/* === 2026-09-02 v1.0.72 PC header phone position only === */
@media (min-width:1200px){
  /* Move the approved phone block 15px downward from the v1.0.71 position. */
  .site--test .header-phone-block{
    transform:translateY(-5px) !important;
  }
}

@media (max-width:767px){
  /* Match the phone dock item's left alignment to the approved LINE item. */
  .site--test .mobile-contact-dock__item--phone{
    justify-content:flex-start !important;
    padding-left:5px !important;
    padding-right:8px !important;
    gap:5px !important;
  }
  .site--test .mobile-contact-dock__item--phone .mobile-contact-dock__copy{
    text-align:left !important;
  }
}

/* === 2026-09-02 v1.0.69 SP POINT02 flag alignment only === */
@media (max-width:767px){
  /* Match POINT01 (#approach05) flag placement and size exactly. */
  .site--test #approach04 .point{
    position:absolute !important;
    left:16px !important;
    top:-22px !important;
    width:48px !important;
    height:72px !important;
    margin:0 !important;
    padding-top:8px !important;
    z-index:2 !important;
  }
  .site--test #approach04 .point small{
    font-size:10px !important;
    line-height:1.1 !important;
  }
  .site--test #approach04 .point strong{
    margin-top:2px !important;
    font-size:28px !important;
    line-height:1 !important;
  }
}


/* === 2026-09-02 v1.0.74 TEST-only usability revisions === */
@media (max-width:767px){
  /* Larger, balanced floating contact copy. Keep approved LINE-left / phone-right arrangement. */
  .site--test .mobile-contact-dock__copy small{
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
  }
  .site--test .mobile-contact-dock__copy strong{
    margin-top:2px !important;
    font-size:16px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
  }
  .site--test .mobile-contact-dock__item--phone .mobile-contact-dock__copy small{
    font-size:12px !important;
    letter-spacing:-.06em !important;
    white-space:nowrap !important;
  }
  .site--test .mobile-contact-dock__item--phone .mobile-contact-dock__copy strong{
    font-size:15px !important;
    white-space:nowrap !important;
  }
}

@media (min-width:768px){
  /* Four-item desktop navigation: improve legibility without colliding with the approved action buttons/phone. */
  .site--test .site-header__nav{
    gap:20px !important;
  }
  .site--test .site-header__nav a{
    font-size:18px !important;
    line-height:1.2 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }

  /* Make the two classroom cards substantial enough to read before opening Maps. */
  .site--test .locations .location-scroll{
    display:grid !important;
    grid-auto-flow:unset !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-columns:auto !important;
    gap:28px !important;
    overflow:visible !important;
    margin:0 !important;
    padding:6px 0 12px !important;
  }
  .site--test .locations .location-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  .site--test .locations .map-embed{
    height:240px !important;
  }
  .site--test .locations .location-card h3{
    margin:22px 22px 8px !important;
    font-size:25px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
  }
  .site--test .locations .location-card p{
    margin:0 22px 16px !important;
    font-size:18px !important;
    line-height:1.65 !important;
    font-weight:700 !important;
  }
  .site--test .locations .location-card > a{
    display:inline-flex !important;
    margin:0 22px 24px !important;
    padding:11px 20px !important;
    font-size:16px !important;
  }
  .site--test .locations .location-nav,
  .site--test .locations .location-dots{
    display:none !important;
  }
}


/* === 2026-09-02 v1.0.76 TEST-only map click + desktop banner legibility === */
.site--test .map-embed--clickable{
  position:relative !important;
}
.site--test .map-embed--clickable iframe{
  pointer-events:none !important;
}
.site--test .map-embed__click-target{
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  display:block !important;
  cursor:pointer !important;
}
@media (min-width:768px){
  .site--test .sticky-footer-cta--desktop{
    width:clamp(150px,12vw,190px) !important;
  }
}


/* === 2026-09-02 v1.0.77 TEST-only: transparent map click layer + approved desktop banner === */
.site--test .locations .map-embed__click-target{
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:transparent !important;
  opacity:1 !important;
  cursor:pointer !important;
}

/* === 2026-09-11 v1.0.83 test-only final CTA wording adjustments === */
.site--test .hero-cta__seal-small,
.site--test .hero-cta__seal-content > strong{
  font-size:30px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
}
@media (max-width:767px){
  .site--test .hero-cta__seal-small,
  .site--test .hero-cta__seal-content > strong{font-size:24px !important;}
}
