@charset "UTF-8";
:root{--paper:#fcfeff;--ink:#153e5c;--muted:#526c80;--sage:#e5f4fc;--line:#cbdfea;--accent:#086aa8;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.95;letter-spacing:.04em}a{color:inherit;text-decoration:none}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #0874b6;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:6px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(28px,3vw,40px);line-height:1.65;letter-spacing:.1em;margin-bottom:26px}h3{font-size:24px;line-height:1.65}h2 small{font:16px var(--sans)}p{margin-bottom:24px}ul,ol{padding:0;list-style:none}small,.note,.micro{font-size:12px;line-height:1.9;color:var(--muted)}.skip{position:fixed;top:-100px;left:16px;z-index:10;padding:10px 22px;background:white}.skip:focus{top:16px}.prototype{padding:7px 20px;background:#e8f5fd;text-align:center;color:#375d78;font-size:11px;letter-spacing:.07em}.prototype span{margin:0 10px}.header{height:105px;margin:0 4.5%;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;line-height:1.5;white-space:nowrap}.brand-symbol{width:45px;height:45px;border:1px solid #77b4d8;border-radius:50% 50% 43% 50%;display:grid;place-items:center;font:italic 35px Georgia;line-height:1}.brand b{font-family:var(--serif);font-size:27px;font-weight:400}.brand b span{font-family:var(--sans);font-size:16px;letter-spacing:.09em}.brand small{display:block;font-size:10px;letter-spacing:.1em}.header nav{display:flex;gap:26px;font-size:12px}.header-cta{font-size:12px;border:1px solid #80bbdc;border-radius:30px;padding:12px 22px;white-space:nowrap}.header-cta span{margin-left:24px}.hero{min-height:690px;position:relative;overflow:hidden;padding:90px 9% 100px}.hero-content{position:relative;z-index:1;width:max-content;max-width:100%}.eyebrow{font:11px var(--sans);letter-spacing:.2em;margin-bottom:30px;line-height:1.7}.hero h1{font-size:clamp(36px,4.5vw,64px);letter-spacing:.12em;line-height:1.65;margin:0 0 27px}.hero-text{font-size:15px;line-height:2.3;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:40px;padding:17px 26px;border-radius:40px;background:var(--accent);color:#fff;font-size:12px}.button:hover{background:#07517e;text-decoration:none}.button span{font-size:19px}.micro{margin-top:11px;font-size:10px}.hero-art{position:absolute;inset:0 0 0 43%;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-sage{width:580px;height:580px;left:10%;top:8px;background:radial-gradient(circle at 32% 25%,#f0f3e6 0,#dee7d6 32%,#c0d0bb 65%,#9fb9a7 100%);box-shadow:inset -30px -10px 80px #a3b9a373;opacity:.85}.orb-cream{width:390px;height:390px;top:220px;left:-8%;background:radial-gradient(circle at 32% 26%,#fcfaf0,#e9e3cb 70%,#dbd3b8);opacity:.78;mix-blend-mode:multiply}.orb-small{width:110px;height:110px;top:55px;left:2%;background:radial-gradient(circle at 30% 20%,#eee8d8,#d7d2bd);opacity:.65}.orbit{position:absolute;border:1px solid #67b9e45e;border-radius:50%;width:670px;height:570px;left:-6%;top:45px;transform:rotate(-25deg)}.orbit-two{transform:rotate(18deg);top:82px;left:4%}.art-word{position:absolute;top:485px;left:38%;font:italic 28px Georgia;color:#126fa4;letter-spacing:.03em}.hero-bottom{position:absolute;left:4.5%;right:4.5%;bottom:25px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.17em}.hero-bottom a{font-size:11px;letter-spacing:.05em}.hero-bottom a span{margin-left:20px}.section{max-width:1180px;margin:auto;padding:110px 50px;scroll-margin-top:20px}.worries,.conditions,.fees,.clinic,.features{display:grid;grid-template-columns: .85fr 1.15fr;gap:65px}.worries{padding-top:115px}.worries .section-heading{padding-top:12px}.intro{line-height:2.2}.worry-list{margin:30px 0}.worry-list li{padding:20px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:18px}.worry-list li span{font:11px Georgia;color:#367ca6;margin-right:24px}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-top:40px}.about-visual{height:520px;background:#e7f5fe;border-radius:220px 220px 8px 8px;position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:70px 30px;font-family:var(--serif);font-size:26px;line-height:1.9;text-align:center;letter-spacing:.16em}.line-flower{position:absolute;top:105px;left:50%;width:1px;height:1px;transform:rotate(-13deg)}.line-flower i{position:absolute;width:140px;height:70px;border:1px solid #53a1cf;border-radius:100%;transform-origin:0 50%}.line-flower i:nth-child(1){transform:rotate(0deg)}.line-flower i:nth-child(2){transform:rotate(72deg)}.line-flower i:nth-child(3){transform:rotate(144deg)}.line-flower i:nth-child(4){transform:rotate(216deg)}.line-flower i:nth-child(5){transform:rotate(288deg)}.about-copy p{font-size:14px;line-height:2.2}.small-label{display:inline-block;border:1px solid #b4d4e7;border-radius:5px;padding:3px 10px;font:10px/1.7 var(--sans);color:#40647c}.features{display:block;padding-top:50px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:45px}.feature-grid article{border-top:1px solid #7db6d6;padding-top:25px}.number{font:italic 29px Georgia;color:#2789bd}.feature-grid h3{margin-top:26px;margin-bottom:18px}.feature-grid p{font-size:13px;line-height:2.1}.conditions{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.conditions-body>p{font-size:13px}.tags{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.tags li{font-size:12px;border:1px solid #bbd9eb;border-radius:20px;padding:6px 16px}.notice{border-left:2px solid #2b91c8;background:#edf8ff;padding:16px 20px;line-height:1.9}.doctor{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}.doctor-photo{background:#eaf4fa;min-height:440px;display:flex;align-items:center;flex-direction:column;justify-content:space-between;padding:40px 30px;color:#4c6c83;font-size:11px;position:relative}.portrait-placeholder{width:180px;height:200px;position:relative;opacity:.4;background:radial-gradient(ellipse at 50% 35%,#a2cde5 0 23%,transparent 24%),radial-gradient(ellipse at 50% 105%,#a2cde5 0 47%,transparent 48%)}.doctor-copy p{font-size:13px;line-height:2.1}.doctor-copy .doctor-name{font-size:17px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-top:30px}.doctor-name span{margin-left:16px}.flow{max-width:none;background:#edf8fe;padding:90px max(50px,calc((100vw - 1080px)/2))}.flow .section-heading{display:block}.flow .section-heading p:last-child{font-size:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}.steps li{border-top:1px solid #93c7e3;padding-top:24px}.steps span{font:italic 27px Georgia;color:#2479aa}.steps h3{font-size:20px;margin:25px 0 15px}.steps p{font-size:12px;line-height:2}.fees .section-heading p,.clinic .section-heading p{font-size:13px}dl{margin:0}dl>div{display:grid;grid-template-columns:1.5fr 1fr;gap:25px;border-bottom:1px solid var(--line);padding:21px 0;font-size:13px}dd{margin:0;color:var(--muted)}.fee-table dl>div{grid-template-columns:1fr auto}.fee-table>.note{margin-top:23px}.faq{padding-top:10px;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:13px;position:relative;padding:24px 30px 24px 0;display:flex;align-items:baseline;gap:17px}summary::-webkit-details-marker{display:none}summary span{font:italic 20px Georgia;color:#297eaf}summary:after{content:"+";position:absolute;right:2px;font:22px Georgia;top:24px}details[open] summary:after{content:"−"}details p{font-size:13px;padding:0 25px 0 36px;line-height:2}.reservation{background:#e0f3ff;text-align:center;padding:95px 24px;position:relative;overflow:hidden}.reservation h2{font-size:36px}.reservation>p{font-size:13px}.reservation-status{display:inline-flex;align-items:center;gap:12px;border:1px solid #6eb3db;border-radius:40px;padding:17px 40px;font-size:14px;margin:12px 0 16px}.status-dot{width:6px;height:6px;border-radius:50%;background:#0876b7}.reservation .note{font-size:11px}.text-link{font-size:12px;border-bottom:1px solid #75b4d9;padding-bottom:7px}.text-link span{margin-left:20px}.clinic dl>div{grid-template-columns:1fr 1fr;font-size:12px}footer{border-top:1px solid var(--line);padding:45px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>p{margin:0;font-family:var(--serif);font-size:18px}footer>small{font-size:10px}
@media(min-width:1500px){.hero{padding-left:calc((100vw - 1220px)/2)}}
@media(max-width:1050px){.header nav{display:none}.hero{padding-left:7%;min-height:650px}.hero-art{left:40%;opacity:.8}.orb-sage{width:500px;height:500px}.section{padding:80px 35px;gap:40px}.about-visual{height:470px}.about-copy br{display:none}.steps{gap:22px}.flow{padding:80px 35px}.hero h1{font-size:46px}}
@media(max-width:650px){body{font-size:14px}.prototype{font-size:9px;line-height:1.7;padding:8px 14px}.prototype span{margin:0 3px}.header{height:90px;margin:0 6%;gap:12px}.brand{gap:9px}.brand-symbol{width:34px;height:34px;font-size:27px}.brand b{font-size:23px}.brand b span{font-size:12px;letter-spacing:.03em}.brand small{font-size:8px}.header-cta{font-size:10px;padding:9px 12px}.header-cta span{display:none}.hero{padding:43px 8% 95px;min-height:660px}.hero h1{font-size:clamp(28px,7.9vw,43px);line-height:1.8;letter-spacing:.08em;margin-bottom:23px}.hero .eyebrow{font-size:10px;margin-bottom:23px}.hero-text{font-size:12px;line-height:2.25;margin-bottom:28px}.hero .button{font-size:11px;padding:14px 22px;gap:30px}.hero .micro{font-size:9px;max-width:250px}.hero-art{left:0;top:205px;opacity:.67}.orb-sage{width:335px;height:335px;left:54%;top:10px}.orb-cream{width:200px;height:200px;left:51%;top:165px}.orb-small{width:54px;height:54px;left:73%;top:-22px}.orbit{width:390px;height:320px;left:42%;top:50px}.orbit-two{left:50%;top:78px}.art-word{top:331px;left:62%;font-size:19px;white-space:nowrap}.hero-bottom{bottom:22px;left:8%;right:8%}.hero-bottom>span{font-size:8px}.hero-bottom>span:last-child{display:none}.hero-bottom a{font-size:9px}.hero-bottom a span{margin-left:10px}.section{padding:65px 8%;display:block}.section-heading{margin-bottom:30px}.eyebrow{font-size:10px;margin-bottom:20px}h2{font-size:27px;line-height:1.7;margin-bottom:22px}.worries{padding-top:55px}.worries .section-heading{padding-top:0}.intro{font-size:13px}.worry-list li{font-size:14px;padding:19px 0}.worry-list li span{margin-right:12px;font-size:10px}.note{font-size:11px}.about{padding-top:10px}.about-visual{height:330px;border-radius:160px 160px 6px 6px;font-size:21px;padding-bottom:35px;margin-bottom:45px}.line-flower{top:70px;transform:scale(.75) rotate(-13deg)}.about-copy p{font-size:13px}.feature-grid{display:block;margin-top:30px}.feature-grid article{margin-top:25px;padding-top:20px}.number{float:left;font-size:25px;width:48px;margin-top:3px}.feature-grid h3{margin:0 0 15px 48px;font-size:22px}.feature-grid p{margin-left:48px}.conditions{margin:0 8%;padding:60px 0}.tags{gap:8px}.tags li{font-size:11px;padding:5px 13px}.conditions-body>p{font-size:12px}.doctor-photo{min-height:280px;margin-bottom:38px;padding:25px}.portrait-placeholder{height:140px;width:140px}.doctor-photo .eyebrow{margin-bottom:5px}.doctor-copy p{font-size:12px}.flow{padding:65px 8%}.steps{display:block;margin-top:35px}.steps li{position:relative;padding:22px 0 10px 48px}.steps span{position:absolute;left:0;top:23px;font-size:23px}.steps h3{margin:0 0 12px;font-size:19px}.steps p{margin-bottom:12px}.fees dl>div{font-size:12px}.fees{padding-bottom:50px}.faq{padding-top:15px}.faq summary{font-size:12px;padding:22px 28px 22px 0;gap:12px}.faq details p{padding-left:28px;padding-right:10px;font-size:12px}.reservation{padding:65px 8%}.reservation h2{font-size:29px}.reservation>p{font-size:12px}.reservation-status{padding:15px 25px;font-size:13px}.clinic dl>div{grid-template-columns:1fr;gap:5px;padding:17px 0}.clinic dd{font-size:12px}footer{display:flex;flex-direction:column;align-items:flex-start;padding:35px 8%;gap:22px}footer>p{font-size:16px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the opening phrase on one line at narrow phone widths. */
@media(max-width:360px){.header{margin:0 5%;gap:6px}.header .brand{gap:6px}.header .brand b{font-size:20px}.header .brand b span{font-size:10px}.header .brand small{font-size:7px}.header .brand-symbol{width:28px;height:28px;font-size:23px}.header .header-cta{padding:9px;font-size:9px}}
@media(max-width:650px){.hero h1{font-size:clamp(23px,6.8vw,40px);letter-spacing:.05em}.hero-text,.about-copy p,.feature-grid p,.conditions-body>p,.doctor-copy p,.steps p,.faq summary,.faq details p,.reservation>p{font-size:14px}.note,.conditions-body>.note,.doctor-copy>.note,.reservation>.note{font-size:12px}.header-cta{min-height:44px;display:flex;align-items:center}.prototype{font-size:10px}.hero .micro{font-size:11px}}
