:root{
  --purple:#8b70b5;--purple-dark:#6f588f;--lavender:#eee8f7;--pale:#faf8fc;
  --ink:#353238;--muted:#6e6973;--line:#e5dfeb;--white:#fff;
  --shadow:0 14px 42px rgba(83,65,102,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;background:#fff}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:100;background:#fff;padding:10px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(110,88,143,.10)}
.header-inner{height:105px;padding:0 28px;display:flex;align-items:center;gap:25px;max-width:1600px;margin:auto}
.brand{display:flex;align-items:center;gap:8px;margin-right:auto;flex-shrink:0}.brand img{width:75px;height:75px;object-fit:contain}
.brand strong{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:22px;letter-spacing:.08em;font-weight:500}.brand small{display:block;font-family:serif;letter-spacing:.15em;color:#817988}
.desktop-nav{display:flex;gap:27px;font-size:13px;white-space:nowrap}.desktop-nav a{padding:11px 0;border-bottom:2px solid transparent}.desktop-nav a:hover,.desktop-nav .active{color:var(--purple);border-color:var(--purple)}
.header-phone{display:flex;flex-direction:column;align-items:flex-end;color:var(--purple);white-space:nowrap}.header-phone strong{font-size:22px}.header-phone small{color:var(--ink);font-size:11px}
.header-contact{background:var(--purple);color:#fff;border-radius:8px;padding:18px 20px;white-space:nowrap}.menu-button{display:none;border:0;background:none;font-size:27px}.mobile-nav{display:none}
.hero{background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.93) 48%,rgba(255,255,255,.18) 72%),url("assets/hero-lilac.jpg");background-size:cover;background-position:center right}
.hero-inner{min-height:475px;max-width:1450px;margin:auto;padding:50px 72px;display:flex;align-items:center}.hero-copy{max-width:870px}
.hero h1{margin:0 0 18px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(38px,4.35vw,42px);font-weight:400;line-height:1.48;letter-spacing:.04em}.hero h1 span{color:var(--purple)}
.hero-copy>p{font-size:17px;letter-spacing:.04em}.hero-actions{display:flex;gap:17px;margin:30px 0 24px}.button{min-width:285px;min-height:70px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:700;font-size:19px}.button small{font-size:11px;font-weight:400}.primary{background:linear-gradient(135deg,#9478bf,#8365ad);color:#fff;box-shadow:var(--shadow)}.secondary{border:2px solid var(--purple);color:var(--purple);background:rgba(255,255,255,.78)}
.emergency{display:flex;align-items:center;gap:14px;color:var(--purple)}.emergency-icon,.info-icon.round{width:52px;height:52px;border:4px dotted var(--purple);border-radius:50%;display:grid;place-items:center;font-weight:800}.emergency strong{display:block;font-size:20px}.emergency small{display:block;color:var(--ink)}
.scene-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#fff}.scene-strip figure{margin:0;min-width:0}.scene-strip img{width:100%;aspect-ratio:2.1/1;object-fit:cover}.scene-strip figcaption{text-align:center;padding:8px 12px 13px;font-size:14px}
.key-info{margin:18px 26px 0;border-radius:12px;background:linear-gradient(90deg,#fbf9fd,#f1edf7);display:grid;grid-template-columns:repeat(4,1fr);padding:22px 28px;gap:0}.key-info>div{display:flex;align-items:center;gap:18px;padding:0 28px;border-right:1px solid #d9d0e4}.key-info>div:last-child{border:0}.info-icon{font-size:47px;color:var(--purple);line-height:1}.key-info p{margin:0;font-size:13px;line-height:1.7}.key-info strong{display:block;color:var(--purple);font-size:15px}
.section{max-width:1200px;margin:auto;padding:100px 30px}.section-heading{text-align:center;max-width:780px;margin:0 auto 52px}.eyebrow{color:var(--purple);font-weight:700;font-size:12px;letter-spacing:.18em}.section h2,.contact-section h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(31px,4vw,48px);font-weight:400;margin:.15em 0 .5em}
.tinted{max-width:none;background:var(--pale)}.tinted>*{max-width:1140px;margin-left:auto;margin-right:auto}
.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.three-cards article,.service-grid article{border:1px solid var(--line);border-radius:18px;padding:30px;background:#fff;box-shadow:0 8px 25px rgba(78,60,92,.06)}.three-cards span{font-family:serif;font-size:26px;color:#ad97c8}.three-cards h3,.service-grid h3{font-size:20px;margin:6px 0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{border-top:4px solid #c3b1d7}
.area-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.area-copy h2{font-family:"Yu Mincho",serif;font-size:46px;font-weight:400;margin:.2em 0}.area-box{background:var(--pale);padding:24px 28px;border-radius:16px;margin:22px 0}.area-box h3{color:var(--purple);margin-bottom:2px}.area-box p{margin-top:0}.note{font-size:12px;color:var(--muted)}
.area-graphic{height:470px;position:relative;background:#fbf9fd;border:1px solid var(--line);border-radius:30px;overflow:hidden}.ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #cbbbdc;border-radius:50%}.r1{width:200px;height:200px}.r2{width:330px;height:330px}.r3{width:455px;height:455px}.clinic-pin{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:50%;width:145px;height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow);font-size:12px}.clinic-pin img{width:82px}.tag{position:absolute;background:#fff;padding:6px 13px;border-radius:999px;font-size:12px;box-shadow:0 6px 18px rgba(70,50,80,.09)}.tag1{left:12%;top:25%}.tag2{left:9%;bottom:25%}.tag3{right:13%;top:20%}.tag4{right:10%;bottom:25%}.tag5{right:27%;top:6%}.tag6{left:28%;bottom:7%}
.flow-list{list-style:none;padding:0;max-width:900px!important}.flow-list li{display:grid;grid-template-columns:55px 1fr;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.flow-list li>span{width:50px;height:50px;border-radius:50%;background:#ded2ea;color:var(--purple-dark);display:grid;place-items:center;font-family:serif;font-size:20px}.flow-list h3{margin:0;font-size:20px}.flow-list p{margin:3px 0}
.doctor-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.doctor-photo{border-radius:160px 160px 28px 28px;overflow:hidden;max-height:630px}.doctor-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.role{color:var(--purple);font-weight:700}.doctor-copy h3{font-family:"Yu Mincho",serif;font-size:32px;font-weight:400}.doctor-copy h3 small{font-family:sans-serif;font-size:13px}.doctor-copy blockquote{border-left:4px solid #c4b1d8;margin:25px 0;padding:5px 0 5px 20px;font-family:"Yu Mincho",serif;font-size:20px}.career{display:grid;grid-template-columns:1fr 1fr;gap:9px 28px;padding-left:1.2em}.career li:first-child{grid-column:1/2}
.faq-list{max-width:900px!important}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:12px;margin:12px 0;padding:18px 22px}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{margin-bottom:0}
.partners{text-align:center}.partner-contact{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:20px;background:var(--pale);padding:25px;border-radius:16px}.partner-contact a:first-child{display:flex;flex-direction:column;color:var(--purple)}.partner-contact a:first-child strong{font-size:28px}.partner-contact small{color:var(--ink)}
.contact-section{text-align:center;background:linear-gradient(135deg,#9678bc,#74588e);color:#fff;padding:85px 25px}.contact-section>img{width:100px;margin:auto;background:#fff;border-radius:50%;padding:8px}.contact-section p{max-width:700px;margin:0 auto}.large-phone{display:flex;flex-direction:column;width:max-content;margin:25px auto;font-size:clamp(32px,5vw,56px);font-weight:700;line-height:1.25}.large-phone small{font-size:13px;font-weight:400}.contact-section>strong{display:block;font-size:20px}.contact-section>div{display:flex;gap:25px;justify-content:center;margin-top:18px}
footer{text-align:center;background:#343037;color:#ddd;padding:45px 25px}.footer-brand img{width:70px;margin:auto;background:#fff;border-radius:50%}.footer-brand strong,.footer-brand small{display:block}.footer-brand strong{font-family:"Yu Mincho",serif;font-size:21px}.footer-brand small{letter-spacing:.18em;color:#cbb7d7}footer address{font-style:normal;margin:15px}footer nav{display:flex;justify-content:center;gap:20px;margin-bottom:15px;font-size:12px}.floating-phone{display:none}
@media(max-width:1250px){.desktop-nav{gap:15px;font-size:12px}.header-contact{display:none}}
@media(max-width:980px){.desktop-nav,.header-phone{display:none}.menu-button{display:block}.header-inner{height:78px}.brand img{width:58px;height:58px}.mobile-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 24px 25px;background:#fff}.hero-inner{padding:45px 28px;min-height:500px}.hero{background-image:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.82)),url("assets/hero-lilac.jpg")}.scene-strip{grid-template-columns:1fr}.scene-strip img{aspect-ratio:2.3/1}.key-info{grid-template-columns:1fr 1fr}.key-info>div{border-bottom:1px solid #d9d0e4;padding:15px}.key-info>div:nth-child(2){border-right:0}.three-cards,.service-grid,.area-section,.doctor-section{grid-template-columns:1fr}.section{padding:75px 24px}.area-section,.doctor-section{gap:45px}.doctor-photo{max-width:500px;margin:auto}.floating-phone{position:fixed;right:15px;bottom:15px;z-index:60;width:72px;height:72px;border-radius:50%;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:var(--shadow);font-size:22px}.floating-phone small{font-size:10px}.career{grid-template-columns:1fr}}
@media(max-width:600px){.brand strong{font-size:18px}.brand small{font-size:10px}.header-inner{padding:0 15px}.hero-inner{padding:42px 20px}.hero h1{font-size:28px}.hero-copy>p{font-size:15px}.desktop-only{display:none}.hero-actions{flex-direction:column}.button{min-width:0;width:100%}.emergency strong{font-size:17px}.scene-strip img{aspect-ratio:1.65/1}.key-info{grid-template-columns:1fr;margin:15px 12px 0;padding:12px}.key-info>div{border-right:0}.three-cards,.service-grid{grid-template-columns:1fr}.area-graphic{height:350px}.r3{width:350px;height:350px}.contact-section>div{flex-direction:column;gap:4px}.section{padding:65px 20px}}
