:root{--paper:#fff9f2;--ink:#503a33;--accent:#a35945;--soft:#f7e1d4;--line:#dfc4b5;--peach:#f7e1d4;--muted:#72584e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.95;letter-spacing:.035em}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a35945;outline-offset:6px}a:hover{color:#884431}p{margin:0 0 1.35em}h1,h2,h3{font-weight:500;margin:0}h1,h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif}h2{font-size:clamp(28px,3.1vw,42px);line-height:1.65;letter-spacing:.09em}h3{font-size:20px;line-height:1.7}small,.small{font-size:12px;color:var(--muted);line-height:1.9}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 4%;background:rgba(255,249,242,.96);position:sticky;top:0;z-index:30;border-bottom:1px solid #efddd1}.brand{flex-shrink:0}.brand img{width:140px}.brand span{display:block;font-size:9px;margin-top:5px}nav{display:flex;align-items:center;gap:25px;font-size:12px}.nav-contact{padding:12px 18px;background:var(--accent);color:white!important;border-radius:40px}.nav-contact span{margin-left:12px}.nav-toggle{display:none}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:white;z-index:50}.skip:focus{top:0}.hero{max-width:1600px;margin:auto;padding:40px 4% 65px 9%;display:grid;grid-template-columns:.88fr 1.12fr;gap:5%;align-items:center;min-height:710px}.hero-copy{padding:20px 0}.eyebrow{font-size:12px;letter-spacing:.15em;margin-bottom:24px}.hero h1{font-size:clamp(38px,4.1vw,60px);line-height:1.65;letter-spacing:.12em}.hero h1 span{background:linear-gradient(transparent 80%,#f0c6b2 0)}.hero-lead{font-size:14px;margin:28px 0;line-height:2.1}.button{display:inline-flex;padding:15px 24px;border:1px solid #b57863;border-radius:40px;align-items:center;gap:50px;font-size:13px;transition:background .25s}.button:hover{background:#f7e1d4}.hero-note{font-size:10px;margin:25px 0 0}.hero-visual{position:relative;padding:0 0 45px}.hero-visual>img{width:100%;height:510px;object-fit:cover;object-position:43% 50%;border-radius:47% 47% 10px 10px}.photo-caption{display:block;text-align:right;font-size:11px;margin-top:12px}.hero-circle{background:var(--peach);width:150px;height:150px;display:grid;place-content:center;position:absolute;bottom:5px;left:-45px;border-radius:50%;font-family:"Yu Mincho",serif;font-size:15px;transform:rotate(-8deg)}.intro-strip{display:flex;justify-content:center;align-items:center;gap:45px;padding:26px 5%;background:var(--soft);font-size:13px}.intro-strip i{width:5px;height:5px;border-radius:50%;background:#a35945}.section{padding:100px max(6%,calc((100% - 1120px)/2))}.section-marker{font-size:12px;letter-spacing:.14em;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:48px;color:var(--accent)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:center}.about-photo{padding:0 20px 25px 0;background:linear-gradient(135deg,transparent 45%,#f7e1d4 0);border-radius:160px 160px 10px 10px}.about-photo img{width:100%;height:460px;object-fit:cover;border-radius:160px 160px 7px 7px;object-position:50% 60%}:is(.about-text,.mobile-about-heading) h2{font-size:32px;margin-bottom:30px}.about-text p{font-size:14px}.signature{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.signature span{font-size:11px}.signature strong{font:24px "Yu Mincho",serif}.signature small{font-size:10px}.care{background:#faeee5}.section-heading{display:flex;justify-content:space-between;gap:7%;align-items:end;margin-bottom:48px}.section-heading>p{max-width:470px;flex:1;font-size:14px;margin:0 0 8px}.section-heading>h2,.section-heading>div{flex:1}.care-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}.care-main{width:100%;border-radius:8px 90px 8px 8px}.care-points article{display:flex;gap:22px;padding:25px 0;border-bottom:1px solid #dfc4b5}.care-points article:first-child{padding-top:0}.care-points article>span{color:#a35945;font-family:serif;font-size:24px}.care-points h3{margin-bottom:10px}.care-points p{font-size:13px;margin:0}.care-points>.small{margin-top:24px;font-size:11px}.device-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;margin-top:65px;align-items:center}.device-row p{font-size:13px}.device-row h3{margin-bottom:10px}figure{margin:0}figcaption{font-size:11px;margin-top:12px;color:var(--muted)}.device-row img{border-radius:10px;width:100%;aspect-ratio:4/3;object-fit:cover}.maternity{background:#fff9f2}.maternity-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}.maternity-gallery img{border-radius:80px 80px 8px 8px}.maternity-gallery figure:nth-child(2){padding-top:35px}.maternity-gallery figure:nth-child(3){padding-top:70px}.text-link{display:inline-flex;gap:50px;border-bottom:1px solid #a35945;padding:10px 0;font-size:13px}.offer{background:#f7e1d4;border-radius:8px 55px 8px 8px;padding:35px 40px;display:flex;gap:35px;align-items:center;justify-content:space-between;margin-bottom:45px}.pill{display:inline-block;font-size:11px;border:1px solid #b57863;border-radius:30px;padding:4px 14px;margin-bottom:12px}.offer h3{font-size:18px}.offer p{font-size:12px;margin:8px 0 0}.offer-price{min-width:175px}.offer-price>span{font-size:12px}.offer-price strong{display:block;font:46px Georgia,serif;letter-spacing:.01em;line-height:1.3}.offer-price small{font:15px sans-serif;color:var(--ink);margin-left:8px}.price-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px}.price-columns h3{padding-bottom:13px;border-bottom:2px solid #c7957e;font-size:18px;margin-top:18px}.price-list{margin:0 0 28px}.price-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}dt{font-size:15px}dt small{display:block;font-size:11px;margin-top:4px}dd{margin:0;font-size:26px;white-space:nowrap}dd>span{font-size:12px;margin-left:5px}.price-note{font-size:12px;background:#f7e1d4;padding:15px 18px;border-left:2px solid #b57863}.first{background:#faeee5}.flow{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:0;margin:0 0 55px}.flow li{border-top:1px solid #c7957e;padding-top:20px}.flow span{font:italic 34px Georgia,serif;color:#a35945}.flow h3{font-size:18px;margin:15px 0 10px}.flow p{font-size:13px}.faq{max-width:900px;margin:auto}.faq details{border-bottom:1px solid #dfc4b5}.faq summary{padding:23px 40px 23px 0;list-style:none;cursor:pointer;position:relative}.faq summary:after{content:'＋';position:absolute;right:5px}.faq details[open] summary:after{content:'−'}.faq details>div{padding:0 30px 22px 0;font-size:13px}.faq p:last-child{margin-bottom:0}summary::-webkit-details-marker{display:none}.voice{border-top:1px solid var(--line)}.voice:last-child{border-bottom:1px solid var(--line)}.voice summary{list-style:none;display:flex;align-items:center;gap:30px;padding:28px 0;cursor:pointer}.voice-number{font:italic 28px Georgia,serif;color:#a35945}.voice summary small{display:block;font-size:11px;margin-bottom:6px}.voice summary strong{font-size:16px;font-weight:500}.read{margin-left:auto;white-space:nowrap;font-size:11px}.voice[open] .read{font-size:0}.voice[open] .read:after{content:'閉じる −';font-size:11px}.voice-body{margin:0 55px 35px;max-width:800px;font-size:14px}.voice-body p{margin-bottom:1em}.access{background:#faeee5}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.access h2{margin-bottom:28px}.access p{font-size:14px}.info{margin:25px 0}.info>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.info dt,.info dd{font-size:13px;white-space:normal}.info dt{color:#72584e}.info small{font-size:11px}.access-photos{position:relative;padding:25px 0 170px}.access-photos>img:first-child{border-radius:100px 10px 10px 10px;height:330px;width:100%;object-fit:cover}.access-photos .entrance{position:absolute;right:-20px;top:290px;width:42%;height:220px;object-fit:cover;border:8px solid var(--paper);border-radius:70px 70px 5px 5px}.access-photos>span{font-size:11px;display:block;margin-top:22px;max-width:50%}.contact{text-align:center;background:#f7e1d4}.contact h2{font-size:40px;margin-bottom:25px}.contact>p{font-size:13px}.phone{display:inline-flex;align-items:center;gap:30px;font:42px Georgia,serif;letter-spacing:.05em;margin:8px 0 24px}.phone>span{font-size:25px}.form-status{max-width:620px;margin:35px auto 0;border-top:1px solid #dfc4b5;padding-top:30px}.form-status h3{font-size:14px}.form-status p{font-size:12px;margin:10px 0 0}footer{padding:55px 6% 30px;text-align:center;background:#f7e1d4}footer img{width:140px;margin:auto}footer p{font-size:12px;margin:18px 0}footer>div{display:flex;justify-content:center;gap:40px;font-size:11px;margin:25px 0}footer>small{font-size:10px}.mobile-contact{display:none}.reveal{animation:gentle-in .8s both}@keyframes gentle-in{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}@media(min-width:1400px){.hero{padding-top:65px;padding-bottom:80px}.hero-visual>img{height:580px}}@media(max-width:1150px){nav{gap:15px;font-size:11px}.brand img{width:115px}.brand span{font-size:8px}header{padding:16px 3%;gap:15px}.hero{padding-left:6%;gap:4%}.hero-visual>img{height:460px}.section{padding:75px 6%}.about-grid{gap:7%}:is(.about-text,.mobile-about-heading) h2{font-size:28px}.signature{gap:10px}}@media(max-width:900px){header{padding:14px 5%}.brand img{width:120px}.brand span{font-size:8px}.nav-toggle{display:flex;align-items:center;gap:15px;border:0;background:none;font-size:12px;padding:10px 0 10px 10px;color:var(--ink)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px 7% 28px;border-bottom:1px solid var(--line)}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}nav>a{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}nav>.nav-contact{padding:12px 18px;margin-top:14px;text-align:center;grid-column:1/-1}.hero{padding:40px 6% 45px;min-height:0;gap:5%}.hero h1{font-size:36px}.hero-lead{font-size:12px}.hero-visual>img{height:420px}.hero-note{font-size:9px}.hero-circle{width:120px;height:120px;font-size:12px;left:-20px}.intro-strip{gap:20px;font-size:11px}.section-heading{gap:35px}.section-heading>p{font-size:12px}h2{font-size:30px}.care-points h3{font-size:18px}.care-points article{gap:15px;padding:18px 0}.care-points p{font-size:12px}.device-row{gap:20px}.price-columns{gap:35px}.offer{padding:28px}.offer h3{font-size:16px}.access-grid{gap:7%}.access-photos .entrance{right:-10px}.about-photo img{height:400px}.about-text p{font-size:13px}.phone{font-size:36px}}@media(max-width:600px){html{scroll-padding-top:100px}body{font-size:14px}.hero{display:flex;flex-direction:column;padding:30px 6% 30px;gap:25px;align-items:stretch}.hero-copy{padding:0}.hero .eyebrow{font-size:10px;margin-bottom:15px}.hero h1{font-size:36px;line-height:1.55}.hero h1 br:nth-child(2){display:none}.hero-lead{font-size:12px;margin:20px 0}.button{padding:12px 22px;font-size:12px;gap:45px}.hero-note{font-size:9px;margin-top:18px;letter-spacing:0}.hero-visual{margin-left:9%;padding-bottom:30px}.hero-visual>img{height:270px;border-radius:100px 100px 8px 8px;object-position:40% 50%}.photo-caption{font-size:9px}.hero-circle{width:105px;height:105px;font-size:11px;left:-29px;bottom:4px}.intro-strip{flex-wrap:wrap;gap:8px 14px;padding:20px 6%;font-size:10px}.intro-strip i{width:3px;height:3px}.intro-strip span:last-child{flex-basis:100%;text-align:center}.intro-strip i:nth-last-child(2){display:none}.section{padding:60px 6%}.section-marker{margin-bottom:30px;font-size:10px;padding-bottom:12px}.about-grid{display:flex;flex-direction:column-reverse;gap:30px}:is(.about-text,.mobile-about-heading) h2{font-size:27px;margin-bottom:22px}.about-text p{font-size:13px}.about-text .eyebrow{font-size:10px}.signature strong{font-size:22px}.signature{gap:15px}.about-photo{width:78%;margin-right:auto;padding:0 12px 18px 0}.about-photo img{height:310px;object-position:50% 60%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:18px;font-size:12px}h2{font-size:28px}.care-grid{display:flex;flex-direction:column;gap:35px}.care-main{max-width:340px;border-radius:8px 70px 8px 8px}.care-points article{padding:22px 0}.care-points h3{font-size:18px}.care-points p{font-size:13px}.device-row{grid-template-columns:1fr 1fr;gap:18px;margin-top:45px}.device-row>div{grid-column:1/-1}.device-row .eyebrow{margin-bottom:10px}.device-row h3{font-size:20px}.device-row figcaption{font-size:10px}.maternity-gallery{grid-template-columns:1fr;gap:25px}.maternity-gallery figure{padding:0!important}.maternity-gallery img{border-radius:35px 35px 5px 5px;width:100%}.maternity-gallery figcaption{font-size:11px}.text-link{font-size:12px;gap:25px}.offer{display:block;border-radius:8px 40px 8px 8px;padding:25px}.offer-price{margin-top:20px}.offer-price strong{font-size:42px}.price-columns{display:block}.price-columns>div+div{margin-top:40px}.price-columns h3{font-size:18px}.price-list>div{padding:20px 0}.price-list dt{font-size:14px}.price-list dd{font-size:26px}.price-note{font-size:11px}.flow{display:block;margin-bottom:30px}.flow li{position:relative;padding:20px 0 20px 52px}.flow span{position:absolute;top:23px;left:0;font-size:26px}.flow h3{margin:0 0 8px;font-size:17px}.flow p{margin:0;font-size:12px}.faq summary{font-size:13px;padding:20px 30px 20px 0}.faq details>div{font-size:12px;padding-right:0}.voice summary{gap:15px;flex-wrap:wrap;padding:22px 0}.voice-number{font-size:24px}.voice summary>span:nth-child(2){width:calc(100% - 48px)}.voice summary strong{font-size:14px;line-height:1.8;display:block}.read{font-size:10px}.voice-body{margin:0 0 28px;font-size:13px}.access-grid{display:flex;flex-direction:column;gap:25px}.access-photos{width:100%;padding:0 0 140px}.access-photos>img:first-child{height:250px;border-radius:60px 8px 8px 8px}.access-photos .entrance{top:210px;height:180px;right:0}.access-photos>span{font-size:10px}.info dt,.info dd{font-size:12px}.info>div{grid-template-columns:70px 1fr;gap:16px}.contact h2{font-size:29px}.contact>p{font-size:12px}.phone{font-size:30px;gap:12px}.phone>span{font-size:20px}.contact>.small{font-size:10px;letter-spacing:0}.form-status p{font-size:11px}.form-status h3{font-size:13px}footer{padding-bottom:100px}.mobile-contact{position:fixed;bottom:12px;left:6%;right:6%;display:flex;justify-content:center;gap:35px;background:var(--accent);color:white!important;z-index:25;border-radius:40px;padding:12px 20px;font-size:13px;box-shadow:0 3px 18px #503a3325}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}*{transition:none!important}}@media print{header,.mobile-contact{position:static}details:not([open])>.voice-body{display:block}nav,.nav-toggle{display:none}.section{break-inside:avoid}}
/* 読点だけが折り返されないよう見出しの幅を調整 */
.hero h1{font-size:clamp(32px,3.1vw,48px);letter-spacing:.08em}
@media(max-width:900px) and (min-width:601px){.hero h1{font-size:30px;letter-spacing:.04em}}
@media(max-width:600px){.hero h1{font-size:34px;letter-spacing:.04em}.hero h1 br:nth-child(2){display:initial}}
.hero-circle{white-space:nowrap;text-align:center;font-size:13px;letter-spacing:0}
@media(max-width:900px){.hero-circle{font-size:11px}}
@media(max-width:600px){.hero-circle{font-size:10px}}
@media(max-width:600px){:is(.about-text,.mobile-about-heading) h2{font-size:23px;letter-spacing:.04em}}
@media(max-width:360px){h2{font-size:24px}:is(.about-text,.mobile-about-heading) h2{font-size:20px}.hero h1{font-size:29px}.contact h2{font-size:26px}.hero-note{font-size:8px}}

/* 文字と写真を大きくし、余白を調整（暖色版の内容・動作を保持） */
body{font-size:17px;line-height:1.85}
.section{padding:68px max(4%,calc((100% - 1280px)/2))}
.section-marker{font-size:14px;margin-bottom:32px;padding-bottom:14px}
h2{font-size:clamp(32px,3.4vw,48px);line-height:1.55}h3{font-size:23px}
nav{font-size:14px;gap:22px}.hero{padding:32px 4% 38px;gap:4%;grid-template-columns:.9fr 1.1fr;min-height:0}.hero h1{font-size:clamp(36px,3.4vw,50px);letter-spacing:.06em}.hero-lead{font-size:17px;margin:22px 0}.eyebrow{font-size:14px;margin-bottom:18px}.hero-note{font-size:12px;margin-top:20px}.button{font-size:15px}.hero-visual>img{height:600px}.hero-visual{padding-bottom:30px}.photo-caption,figcaption{font-size:13px}.intro-strip{padding:20px 4%;font-size:15px}.about-grid{gap:7%;grid-template-columns:.9fr 1.1fr}.about-photo img{height:500px}:is(.about-text,.mobile-about-heading) h2{font-size:36px;margin-bottom:22px}.about-text p,.section-heading>p,.access p{font-size:17px}.section-heading{margin-bottom:32px;gap:5%}.care-grid{gap:5%}.care-points p,.device-row p,.flow p,.faq details>div{font-size:16px}.care-points article{padding:20px 0}.care-points>.small{font-size:13px}.device-row{margin-top:40px;gap:24px}.maternity-gallery{gap:20px}.maternity-gallery figure:nth-child(2){padding-top:20px}.maternity-gallery figure:nth-child(3){padding-top:40px}.text-link{font-size:15px}.offer{padding:28px 32px;margin-bottom:28px}.offer h3{font-size:21px}.offer p,.offer-price>span,.pill{font-size:14px}.offer-price strong{font-size:52px}.price-columns{gap:45px}.price-columns h3{font-size:22px}.price-list dt{font-size:18px}.price-list dt small{font-size:13px}.price-list dd{font-size:30px}.price-list>div{padding:18px 0}.flow{gap:30px;margin-bottom:35px}.flow h3{font-size:21px}.faq{max-width:1080px}.faq summary{font-size:17px;padding-top:19px;padding-bottom:19px}.voice summary strong{font-size:19px}.voice summary small,.read{font-size:13px}.voice summary{padding:22px 0}.voice-body{font-size:17px;max-width:1000px}.access-grid{gap:6%}.info dt,.info dd{font-size:16px}.info small{font-size:13px}.access-photos>img:first-child{height:390px}.access-photos .entrance{top:335px;height:240px}.access-photos>span{font-size:13px}.contact h2{font-size:44px}.contact>p{font-size:16px}.form-status h3{font-size:17px}.form-status p{font-size:15px}footer{padding-top:30px}
@media(max-width:1150px){nav{font-size:12px;gap:14px}.hero-visual>img{height:510px}.section{padding:56px 4%}:is(.about-text,.mobile-about-heading) h2{font-size:31px}.about-photo img{height:450px}}
@media(max-width:900px){.hero h1{font-size:33px}.hero-lead{font-size:15px}.hero-visual>img{height:460px}.about-text p,.section-heading>p{font-size:15px}:is(.about-text,.mobile-about-heading) h2{font-size:28px}.care-points h3{font-size:21px}.care-points p{font-size:15px}.info>div{grid-template-columns:75px 1fr;gap:12px}}
@media(max-width:600px){body{font-size:16px}.hero{padding:24px 5% 22px;gap:20px}.hero h1{font-size:37px;letter-spacing:.02em}.hero .eyebrow{font-size:12px}.hero-lead{font-size:15px;margin:18px 0}.hero-note{font-size:10px}.button{font-size:14px;padding:12px 20px}.hero-visual{margin-left:0;padding-bottom:26px}.hero-visual>img{height:330px;object-position:40% 50%}.photo-caption{font-size:11px}.hero-circle{left:0;bottom:0}.intro-strip{padding:16px 5%;font-size:12px;gap:7px 12px}.section{padding:42px 5%}.section-marker{font-size:12px;margin-bottom:24px;padding-bottom:10px}h2{font-size:31px;letter-spacing:.04em}:is(.about-text,.mobile-about-heading) h2{font-size:25px;letter-spacing:.02em;margin-bottom:18px}.about-text p{font-size:16px}.about-text .eyebrow{font-size:12px}.about-grid{gap:24px}.about-photo{width:92%}.about-photo img{height:350px}.section-heading{margin-bottom:24px}.section-heading>p{font-size:15px;margin-top:15px}.care-grid{gap:25px}.care-main{max-width:none;width:100%}.care-points article{padding:18px 0}.care-points h3{font-size:21px}.care-points p{font-size:16px}.device-row{gap:14px;margin-top:30px}.device-row p{font-size:16px}.device-row figcaption{font-size:12px}.maternity-gallery{gap:20px}.maternity-gallery figcaption{font-size:13px}.text-link{font-size:15px}.offer{padding:23px}.offer h3{font-size:19px}.offer p{font-size:14px}.offer-price strong{font-size:48px}.price-columns h3{font-size:21px}.price-list dt{font-size:16px}.price-list dt small{font-size:12px}.price-list dd{font-size:29px}.price-list>div{padding:18px 0}.price-columns>div+div{margin-top:28px}.flow li{padding:18px 0 18px 44px}.flow h3{font-size:20px}.flow p{font-size:15px}.faq summary{font-size:16px;padding:18px 30px 18px 0}.faq details>div{font-size:15px}.voice summary{gap:12px;padding:20px 0}.voice summary strong{font-size:17px}.voice summary small{font-size:12px}.voice-body{font-size:16px}.read{font-size:12px}.access-grid{gap:22px}.access p{font-size:16px}.info dt,.info dd{font-size:15px}.info small{font-size:12px}.access-photos>img:first-child{height:290px}.access-photos .entrance{top:245px;height:195px}.access-photos>span{font-size:12px}.contact h2{font-size:32px}.contact>p{font-size:15px}.contact>.small{font-size:12px}.phone{font-size:32px}.form-status{margin-top:25px;padding-top:22px}.form-status h3{font-size:16px}.form-status p{font-size:14px}footer{padding-top:24px}footer p{font-size:14px}footer>div{font-size:13px}.mobile-contact{font-size:15px}}
@media(max-width:360px){.hero h1{font-size:32px}:is(.about-text,.mobile-about-heading) h2{font-size:22px}h2{font-size:27px}.contact h2{font-size:28px}.price-list dt{font-size:15px}.price-list dd{font-size:25px}.phone{font-size:28px}}
@media(max-width:600px){.hero-lead{font-size:14px;letter-spacing:0}.maternity h2{font-size:29px;letter-spacing:0}}
@media(max-width:360px){.maternity h2{font-size:24px}.hero-lead{font-size:14px;text-wrap:pretty}}
@media(max-width:600px){.first h2{font-size:29px;letter-spacing:0}}
@media(max-width:360px){.first h2{font-size:24px}}
@media(max-width:600px){.contact>p{text-wrap:balance}}
/* Hero: supplied photographs, right-hand copy and a soft white veil. */
.hero.hero-slideshow{position:relative;display:block;max-width:none;min-height:690px;padding:0;overflow:hidden;background:var(--paper);isolation:isolate}
.hero-slides,.hero-mist{position:absolute;inset:0;pointer-events:none}
.hero-slideshow .hero-slide{position:absolute;inset:0;width:78%;height:100%;object-fit:cover;object-position:50% 65%;opacity:0;transition:opacity 1.3s ease-in-out}
.hero-slideshow .hero-slide:nth-child(2){object-position:36% 57%}
.hero-slideshow .hero-slide:nth-child(3){object-position:50% 50%}
.hero-slideshow .hero-slide.is-current{opacity:1}
.hero-mist{background:linear-gradient(90deg,rgba(255,249,242,0) 25%,rgba(255,249,242,.12) 40%,rgba(255,252,248,.82) 58%,rgba(255,252,248,.97) 73%,#fffcf8 100%)}
.hero-slideshow .hero-copy{position:relative;z-index:1;width:46%;margin-left:auto;padding:48px 5% 36px 0;text-align:right}
.hero-slideshow h1{font-size:clamp(36px,3.45vw,50px);line-height:1.5;letter-spacing:.04em;text-shadow:0 2px 18px rgba(255,255,255,.8)}
.hero-slideshow .hero-lead{font-size:16px;line-height:1.9;margin:22px 0}
.hero-slideshow .hero-note{font-size:11px;letter-spacing:0;margin-top:18px}
.hero-slideshow .eyebrow{font-size:13px;margin-bottom:18px}
.hero-slideshow .button{background:rgba(255,252,248,.75)}
.hero-sentiment{font-size:12px;line-height:1.8;margin:18px 0 0;color:var(--muted)}
.hero-controls{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:20px}
.hero-controls[hidden]{display:none}.hero-choices{display:flex;gap:8px}.hero-dot,.hero-pause{border:0;background:transparent;color:var(--ink);cursor:pointer;min-height:44px;padding:8px;font-size:12px}
.hero-dot{min-width:44px;border-bottom:2px solid transparent}.hero-dot[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}.hero-pause{border:1px solid var(--line);border-radius:30px;padding:5px 14px}.hero-dot:hover,.hero-pause:hover{background:var(--soft)}
@media(max-width:1150px) and (min-width:601px){.hero-slideshow .hero-copy{width:49%;padding-right:4%}.hero-slideshow h1{font-size:36px}.hero-slideshow .hero-lead{font-size:15px}.hero.hero-slideshow{min-height:660px}}
@media(max-width:600px){.hero.hero-slideshow{min-height:0}.hero-slideshow .hero-slide{width:100%;height:360px;object-position:50% 52%}.hero-slideshow .hero-slide:nth-child(2){object-position:37% 55%}.hero-slideshow .hero-slide:nth-child(3){object-position:50% 50%}.hero-mist{background:linear-gradient(to bottom,rgba(255,252,248,0) 140px,rgba(255,252,248,.08) 220px,rgba(255,252,248,.85) 310px,#fffcf8 360px,#fffcf8 100%)}.hero-slideshow .hero-copy{width:100%;margin:0;padding:300px 5% 24px;text-align:right}.hero-slideshow h1{font-size:35px;line-height:1.5;letter-spacing:.02em}.hero-slideshow .eyebrow{font-size:11px;margin-bottom:15px}.hero-slideshow .hero-lead{font-size:14px;letter-spacing:0;line-height:1.9;margin:18px 0}.hero-slideshow .hero-note{font-size:10px;margin-top:16px}.hero-sentiment{font-size:11px;margin-top:14px}.hero-controls{margin-top:12px;gap:15px}.hero-slideshow .button{font-size:14px}.hero-slideshow .hero-copy:focus-within{scroll-margin-top:100px}}
@media(max-width:360px){.hero-slideshow h1{font-size:30px}.hero-slideshow .hero-lead{font-size:13px}.hero-slideshow .hero-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-slideshow .hero-slide{transition:none}}
/* Hero revision: copy reaches the center; controls removed. */
.hero-slideshow .hero-copy{width:52%;text-align:left;padding:48px 5% 36px 0}
.hero-mist{background:linear-gradient(90deg,rgba(255,249,242,0) 20%,rgba(255,252,248,.22) 32%,rgba(255,252,248,.82) 47%,rgba(255,252,248,.96) 62%,#fffcf8 100%)}
.hero-slideshow .hero-slide:nth-child(1){object-position:36% 57%}
.hero-slideshow .hero-slide:nth-child(2){object-position:50% 50%}
.hero-slideshow .hero-slide:nth-child(3){object-position:50% 65%}
@media(max-width:1150px) and (min-width:601px){.hero-slideshow .hero-copy{width:53%;padding-right:4%}.hero-slideshow h1{font-size:34px}}
@media(max-width:600px){.hero-slideshow .hero-copy{width:100%;padding:300px 5% 28px;text-align:center}.hero-mist{background:linear-gradient(to bottom,rgba(255,252,248,0) 125px,rgba(255,252,248,.12) 205px,rgba(255,252,248,.88) 300px,#fffcf8 360px,#fffcf8 100%)}.hero-slideshow .hero-slide:nth-child(1){object-position:37% 55%}.hero-slideshow .hero-slide:nth-child(2){object-position:50% 50%}.hero-slideshow .hero-slide:nth-child(3){object-position:50% 52%}}

/* Hero 5: two-line title and a full-width desktop lead, aligned to the right inset. */
@media(min-width:601px){
.hero-slideshow .hero-copy{width:66%;padding:76px 4% 48px 0;text-align:right}
.hero-slideshow h1{font-size:clamp(44px,4.45vw,72px);line-height:1.55;letter-spacing:.01em}
.hero-slideshow .hero-lead{font-size:clamp(18px,1.46vw,24px);line-height:1.9;margin:30px 0}
.hero-slideshow .eyebrow{font-size:15px;margin-bottom:26px}
.hero-slideshow .hero-note{font-size:12px;margin-top:24px}
.hero-slideshow .button{font-size:17px;padding:16px 28px}
.hero-slideshow .hero-lead-main{white-space:nowrap}
}
.hero-slideshow h1 .hero-title-line{display:block;background:none;white-space:nowrap}
.hero-slideshow .hero-lead-main,.hero-slideshow .hero-lead-support{display:block}
.hero-slideshow .hero-lead-support{font-size:.9em;margin-top:8px}
@media(min-width:601px) and (max-width:1150px){
.hero-slideshow .hero-copy{width:76%;padding-top:85px}
.hero-slideshow h1{font-size:clamp(36px,5.1vw,58px)}
.hero-slideshow .hero-lead{font-size:18px;letter-spacing:0}
}
@media(min-width:601px) and (max-width:800px){
.hero-slideshow .hero-copy{width:94%;padding-top:115px}
.hero-slideshow h1{font-size:clamp(34px,5.7vw,45px)}
.hero-slideshow .hero-lead{font-size:16px}
}
@media(max-width:600px){
.hero-slideshow h1{font-size:clamp(25px,7.4vw,40px);letter-spacing:0;line-height:1.65}
.hero-slideshow .hero-lead{font-size:15px;line-height:1.9;text-wrap:pretty}
.hero-slideshow .hero-lead-main{white-space:normal}
.hero-slideshow .hero-lead-support{font-size:14px;margin-top:10px}
}

/* Hero 6: first viewport includes the complete guidance strip. */
.hero.hero-slideshow{height:calc(100svh - var(--header-height,103px) - var(--strip-height,69px));min-height:0}
.hero-slideshow .hero-copy{height:100%;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding-top:24px;padding-bottom:24px}
@media(min-width:601px){.hero-slideshow h1{font-size:var(--aligned-title-size,50px)}.hero-slideshow .hero-copy{width:76%}.hero-slideshow .eyebrow{margin-bottom:16px}.hero-slideshow .hero-lead{margin:20px 0}.hero-slideshow .hero-note{margin-top:16px}}
@media(max-width:600px){
.hero.hero-slideshow{--mobile-photo-height:clamp(130px,22svh,210px);height:calc(100svh - var(--header-height,83px) - var(--strip-height,80px) - 72px)}
.hero-slideshow .hero-slide{height:var(--mobile-photo-height)}
.hero-mist{background:linear-gradient(to bottom,rgba(255,252,248,0) calc(var(--mobile-photo-height) - 85px),rgba(255,252,248,.65) calc(var(--mobile-photo-height) - 35px),#fffcf8 var(--mobile-photo-height),#fffcf8 100%)}
.hero-slideshow .hero-copy{width:100%;padding:calc(var(--mobile-photo-height) - 40px) 5% 10px;align-items:center;justify-content:center}
.hero-slideshow h1{line-height:1.45}.hero-slideshow .eyebrow{font-size:10px;margin-bottom:8px}
.hero-slideshow .hero-lead{font-size:15px;line-height:1.6;margin:8px 0}
.hero-slideshow .hero-lead-support{font-size:13px;line-height:1.6;margin-top:6px}
.hero-slideshow .button{font-size:13px;padding:8px 20px;min-height:44px;flex-shrink:0}
.hero-slideshow .hero-note{font-size:9px;margin-top:8px;line-height:1.6}
}

/* Gentle treatments, scoped below the approved hero and guidance strip. */
#about .about-photo img{box-shadow:0 14px 30px #503a3314;outline:1px solid #dfc4b580;outline-offset:5px}
#care .care-main{box-shadow:10px 12px 0 #f7e1d4,0 18px 32px #503a3312;outline:1px solid #dfc4b570;outline-offset:4px}
#care .device-row figure img{border-radius:24px 6px 24px 6px;box-shadow:0 9px 23px #503a3314;outline:1px solid #dfc4b590;outline-offset:4px}
.maternity-gallery figure img{box-shadow:0 10px 24px #503a3315;outline:1px solid #dfc4b580;outline-offset:5px}
.maternity-gallery figure:nth-child(2) img{border-radius:44px 8px 44px 8px;box-shadow:7px 8px 0 #f7e1d4,0 12px 24px #503a3310}
#price .offer{box-shadow:0 12px 28px #503a330e;outline:1px solid #dfc4b570;outline-offset:5px}
#first .flow li{border-top:1px solid #dfc4b580}
#voice details{transition:background-color .25s ease}#voice details[open]{background:#f7e1d433}
#access .access-photos>img:first-child{box-shadow:9px 10px 0 #f7e1d4,0 16px 28px #503a3312;outline:1px solid #dfc4b580;outline-offset:4px}
#access .entrance{box-shadow:0 12px 28px #503a3320;outline:1px solid #dfc4b5;outline-offset:4px}
#contact .form-status{border-top-color:#c99480}
@media(max-width:600px){#care .care-main,#access .access-photos>img:first-child{box-shadow:5px 7px 0 #f7e1d4,0 12px 24px #503a3312}.maternity-gallery figure:nth-child(2) img{box-shadow:4px 6px 0 #f7e1d4,0 10px 20px #503a3310}}

/* Initial hidden state exists only with working JavaScript; watchdog releases it. */
html.motion-pending :is(.section-marker,.section-heading,.maternity>h2,#contact>h2,#about .about-photo,#care .care-main,#access .access-grid>div:first-child,#about .about-text,#care .care-points,#access .access-photos,#care .device-row>div,.maternity>.eyebrow,.maternity>p,#first .faq,#contact>p,#contact>.phone,#contact>.form-status,#care .device-row figure,.maternity-gallery figure,#price .offer,#price .price-columns>div,#voice details,#first .flow li,.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-lead,.hero-copy>.hero-note),[data-motion-state="pending"]{opacity:0}
@media(prefers-reduced-motion:reduce){html.motion-pending :is(.section-marker,.section-heading,.maternity>h2,#contact>h2,#about .about-photo,#care .care-main,#access .access-grid>div:first-child,#about .about-text,#care .care-points,#access .access-photos,#care .device-row>div,.maternity>.eyebrow,.maternity>p,#first .faq,#contact>p,#contact>.phone,#contact>.form-status,#care .device-row figure,.maternity-gallery figure,#price .offer,#price .price-columns>div,#voice details,#first .flow li,.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-lead,.hero-copy>.hero-note),[data-motion-state]{opacity:1!important;filter:none!important;transform:none!important}}
/* Keep horizontal entrance offsets inside the viewport without clipping photo frames. */
main{overflow-x:clip}

/* MOCI hero motion only; dimensions, crop positions and veil remain unchanged. */
.hero-slideshow.hero-live .hero-slide{opacity:0;transition:opacity 4.5s ease;transform:none}
.hero-slideshow.hero-live .hero-slide.is-current{opacity:1}
.hero-slideshow.hero-live .hero-slide.is-pull{animation:heroPull9 12s linear forwards}
@keyframes heroPull9{from{transform:scale(1.1)}to{transform:scale(1)}}
html.hero-boot .hero-slideshow .hero-slide,html.hero-boot .hero-copy>:is(.eyebrow,h1,.hero-lead,.button,.hero-note){opacity:0}
@media(prefers-reduced-motion:reduce){.hero-slideshow.hero-live .hero-slide{transition:none;animation:none;transform:none}.hero-slideshow .hero-slide.is-current{opacity:1}html.hero-boot .hero-copy>:is(.eyebrow,h1,.hero-lead,.button,.hero-note){opacity:1}}

/* Quiet editorial emphasis: inline paint only, no font or layout changes. */
.tone-warm,.hero-slideshow h1 .tone-warm{color:#98503d;background:none}
.mark-peach{background:linear-gradient(transparent 72%,#f2d3c2 72%,#f2d3c2 94%,transparent 94%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.line-warm{background:linear-gradient(transparent calc(100% - 2px),#c59178 calc(100% - 2px),#c59178 calc(100% - 1px),transparent calc(100% - 1px))}
.hero-slideshow .eyebrow{color:#98503d}
.hero-slideshow .hero-lead-support{color:#72584e}
.price .offer-price strong{color:#98503d}

/* Section-scoped fixed photograph; no background-attachment dependency. */
#first{position:relative;isolation:isolate;background:transparent}
#first::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,252,248,.86),rgba(255,252,248,.80) 48%,rgba(255,252,248,.88)),url("assets/first-background.webp") center center/cover no-repeat;filter:blur(3px)}
@supports (clip-path:inset(0)){
 #first{clip-path:inset(0)}
 #first::before{position:fixed;inset:-6px}
}
@media(max-width:700px){#first::before{background-position:center,57% center}}

.access-map{grid-column:1/-1;margin-top:44px;min-width:0}
.access-map iframe{display:block;width:100%;height:400px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.access-map p{margin:14px 0 0;font-size:14px}
@media(max-width:700px){.access-map{margin-top:32px}.access-map iframe{height:320px;border-radius:16px}}

.access-address{white-space:nowrap;letter-spacing:0}
@media(max-width:700px){#access{padding-left:16px;padding-right:16px}.access-address{font-size:clamp(14px,4vw,16px)}}

.access-label{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 8px}
.access-icon{width:21px;height:21px;flex:0 0 21px;color:var(--accent);vertical-align:middle}
.access-contacts{display:grid;gap:22px;margin:25px 0 32px}
.access-contact-link{display:inline-flex;align-items:center;gap:22px;min-height:46px;padding:8px 20px;border:1px solid var(--accent);border-radius:28px;color:#884431;background:#fff9f2}

.access-contacts p.small{font-size:12px;margin:8px 0 0}
#access .info dt{display:flex;align-items:flex-start;gap:8px}
#access .info dt .access-icon{margin-top:4px}
@media(max-width:700px){.access-label{font-size:16px}#access .info dt{gap:5px}.access-icon{width:19px;height:19px;flex-basis:19px}}
#access .info>div{grid-template-columns:110px minmax(0,1fr)}
#access .info dt{white-space:nowrap}
@media(max-width:700px){#access .info>div{grid-template-columns:100px minmax(0,1fr)}}

/* Contact buttons follow the reference geometry, with readable brand colors. */
a.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;min-height:48px;max-width:100%;border:0;border-radius:16px;color:#fff;font:700 16px/24px "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.035em;text-decoration:none;transition:box-shadow .25s,filter .25s}
a.phone-button{background:#98503d}
a.instagram-button{background:linear-gradient(to top right,#f9ce34 0%,#ee2a7b 50%,#6228d7 100%);background:linear-gradient(to right top in oklab,#f9ce34 0%,#ee2a7b 50%,#6228d7 100%)}
a.contact-button:hover{color:#fff;filter:brightness(1.06);box-shadow:0 5px 14px #503a3324}
a.contact-button::before,a.contact-button::after{content:none}
a.contact-button .contact-glyph{width:20px;height:20px;flex:0 0 20px}
a.contact-button span{font:inherit;margin:0}
#contact>.phone.contact-button{padding:16px 32px;font-size:20px;line-height:30px;gap:12px}
#contact>.phone .contact-glyph{width:24px;height:24px;flex-basis:24px}
html.hero-boot .intro-strip>span{opacity:0}
@media(prefers-reduced-motion:reduce){html.hero-boot .intro-strip>span{opacity:1}}

/* v12: separate the access photographs and use the available column. */
#access .access-photos{display:flex;flex-direction:column;align-items:center;gap:24px;padding:12px 0 0;align-self:start}
#access .access-photos>img:first-child{height:auto;aspect-ratio:1.5;object-fit:contain}
#access .access-photos .entrance{position:static;width:68%;height:auto;aspect-ratio:3/4;object-fit:contain;border:6px solid var(--paper);border-radius:60px 60px 10px 10px;box-shadow:0 12px 24px #503a3312}
#access .access-photos>span{max-width:100%;margin:0;align-self:flex-start}
@media(max-width:760px){#access .access-photos{gap:18px;padding:0}#access .access-photos .entrance{width:66%;max-width:300px}}

/* Inquiry UI: local validation only until an approved endpoint is supplied. */
#contact .form-status{max-width:820px;margin:40px auto 0;padding:32px;background:var(--paper);border:1px solid #dfc4b5;border-radius:24px;text-align:left}
#contact .form-status h3{text-align:center;font-size:24px;margin:0 0 20px}.connection-note{padding:14px 16px;background:#f7e1d4;border-radius:10px;font-size:14px!important;line-height:1.8}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{margin-top:24px;min-width:0}.form-field label{display:block;font-weight:600;font-size:16px;margin-bottom:8px}.form-field label span{color:#98503d;font-size:12px;margin-left:8px}
.form-field input,.form-field textarea{display:block;width:100%;min-width:0;border:1px solid #b99b8b;background:#fffdfa;border-radius:10px;padding:12px 14px;font:inherit;font-size:16px;line-height:1.6;color:var(--ink)}.form-field input{min-height:50px}.form-field textarea{resize:vertical}.form-field :is(input,textarea):focus-visible{outline:3px solid #ddad96;outline-offset:2px}.form-field p,.privacy-note{font-size:13px!important;line-height:1.8;margin-top:10px}.privacy-note{margin-top:24px}.inquiry-submit{width:100%;justify-content:center;background:#98503d;color:#fff;border:1px solid #98503d;border-radius:16px;min-height:52px;margin-top:20px;cursor:pointer;font:inherit;font-weight:600}#inquiry-result{font-size:14px;margin-top:16px;color:#82432f}
@media(max-width:600px){#contact .form-status{padding:22px 18px;margin-top:28px}.form-pair{grid-template-columns:1fr;gap:0}#contact .form-status h3{font-size:21px}}

.inquiry-submit:hover,.inquiry-submit:focus-visible{background:#82432f;color:#fff}.inquiry-submit:focus-visible{outline:3px solid #ddad96;outline-offset:3px}

/* Preserve the access button footprint while correcting its label. */
#access a.instagram-button{width:218px}

/* Keep explicit backgrounds in every interaction state; override generic link rules. */
a.contact-button.phone-button:is(:hover,:focus-visible,:active){background:#98503d;color:#fff}
a.contact-button.instagram-button:is(:hover,:focus-visible,:active){background:linear-gradient(to top right,#f9ce34 0%,#ee2a7b 50%,#6228d7 100%);background:linear-gradient(to right top in oklab,#f9ce34 0%,#ee2a7b 50%,#6228d7 100%);color:#fff}
a.contact-button:is(:hover,:focus-visible){filter:none;box-shadow:0 4px 12px #503a3330,inset 0 0 0 1px #503a3330}
a.contact-button:focus-visible{outline:3px solid #82432f;outline-offset:4px}
a.contact-button:active{filter:brightness(.96);box-shadow:inset 0 0 0 2px #503a3340}
a.contact-button .contact-glyph{color:inherit;stroke:currentColor}

/* MOCI reference cursor: direct tracking, 24px softly wobbling glass sphere. */
#cursorDot{position:fixed;left:0;top:0;width:24px;height:24px;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s,height .25s;border-radius:46% 54% 52% 48% / 52% 46% 54% 48%;background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.5) 0%,rgba(255,255,255,.12) 18%,rgba(160,132,88,.14) 45%,rgba(132,107,68,.18) 100%);border:1px solid rgba(160,132,88,.55);box-shadow:inset -3px -4px 8px rgba(132,107,68,.35),inset 2px 3px 6px rgba(255,255,255,.6),0 4px 10px rgba(132,107,68,.25);animation:waterWobble 3.2s ease-in-out infinite}
#cursorDot[hidden]{display:none}
@keyframes waterWobble{0%,100%{border-radius:46% 54% 52% 48% / 52% 46% 54% 48%}25%{border-radius:54% 46% 48% 52% / 46% 54% 48% 52%}50%{border-radius:50% 50% 55% 45% / 55% 45% 50% 50%}75%{border-radius:48% 52% 46% 54% / 50% 52% 46% 54%}}
@media(min-width:901px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.cursor-active,html.cursor-active body,html.cursor-active a,html.cursor-active button,html.cursor-active summary{cursor:none}}
@media(max-width:900px),(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){#cursorDot{display:none!important;animation:none}}

/* v14: subtle page-button growth; the entire header is excluded. */
:is(main,footer) :is(.button,.contact-button,.text-link,button,summary),.mobile-contact{transition:background-color .25s,color .25s,box-shadow .25s,filter .25s,scale .25s ease;transform-origin:center}
@media(hover:hover) and (pointer:fine){:is(main,footer) :is(.button,.contact-button,.text-link,button,summary):hover,.mobile-contact:hover{scale:1.03}}
header :is(a,button):is(:hover,:focus-visible,:active){scale:1}
header nav a:is(:hover,:focus-visible){color:inherit;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:#a35945}
header nav a.nav-contact:is(:hover,:focus-visible){text-decoration-color:#fff}
@media(prefers-reduced-motion:reduce){:is(main,footer) :is(.button,.contact-button,.text-link,button,summary),.mobile-contact{transition:none;scale:1!important}}

/* v16: reservation button is the sole header growth exception. */
header nav a.nav-contact,header nav a.nav-contact:is(:hover,:focus-visible,:active){text-decoration:none;transition:scale .25s ease}
@media(min-width:901px){header nav a.nav-contact{width:170.03125px;text-align:center;flex-shrink:0}}
.hero .button{min-width:284px;justify-content:center}
@media(hover:hover) and (pointer:fine){header nav a.nav-contact:is(:hover,:active){scale:1.03}}
@media(prefers-reduced-motion:reduce){header nav a.nav-contact{scale:1!important;transition:none}}

/* v17: blur only the content behind the scrolled header, never its controls. */
header.is-scrolled{background:rgba(255,249,242,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@supports not ((backdrop-filter:blur(6px)) or (-webkit-backdrop-filter:blur(6px))){header.is-scrolled{background:rgba(255,249,242,.96)}}

#access .access-photos>span{align-self:stretch;text-align:center}

/* v21: phone-only header, first view and menu. Desktop rules remain untouched. */
.mobile-header-contact,.hamburger{display:none}
@media(max-width:600px){
 header{gap:8px;padding-left:5%;padding-right:5%}
 .brand{margin-right:auto}.brand img{width:112px}.brand span{font-size:7px;letter-spacing:0}
 .mobile-header-contact{display:flex;align-items:center;justify-content:center;white-space:nowrap;min-height:44px;padding:9px 12px;border-radius:30px;background:var(--accent);color:#fff;font-size:12px;letter-spacing:0}
 .nav-toggle{width:44px;height:44px;padding:10px;flex-shrink:0;justify-content:center}
 .nav-toggle .menu-label,.nav-toggle .menu-symbol{display:none}
 .hamburger{display:flex;flex-direction:column;gap:5px;width:24px}
 .hamburger i{display:block;height:1.5px;width:24px;background:currentColor}
 .nav-toggle[aria-expanded=true] .hamburger i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
 .nav-toggle[aria-expanded=true] .hamburger i:nth-child(2){opacity:0}
 .nav-toggle[aria-expanded=true] .hamburger i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
 .mobile-contact{display:none}
 .hero-slideshow .hero-lead-main .mark-peach{display:table;margin:auto;white-space:nowrap}
 .hero-slideshow .hero-lead-main{white-space:nowrap}
 .hero.hero-slideshow{height:calc(100svh - var(--header-height,83px) - var(--strip-height,80px));min-height:0;--mobile-photo-height:max(110px,calc(100svh - 460px))}
 .hero-slideshow .hero-copy{justify-content:flex-end;padding-top:calc(var(--mobile-photo-height) - 40px);padding-bottom:20px}
 html.mobile-menu-open{overflow:hidden}
 html.mobile-menu-open main,html.mobile-menu-open footer{filter:blur(9px);pointer-events:none;user-select:none}
 html.mobile-menu-open header{background:var(--paper)}
 header nav.open{max-height:calc(100svh - 83px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper)}
}

/* v22: mobile Instagram shortcuts; desktop remains unchanged. */
header a.mobile-header-instagram,header nav a.mobile-menu-instagram{display:none}
@media(max-width:600px){
 header a.mobile-header-instagram{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:44px;min-width:0;padding:0;border-radius:22px}
 header nav.open a.mobile-menu-instagram{display:flex;grid-column:1/-1;justify-content:center;gap:10px;min-height:48px;margin-top:12px;padding:10px 18px;border:0;border-radius:30px;font-size:14px;text-decoration:none;color:#fff}
 header nav.open a.mobile-menu-instagram:is(:hover,:focus-visible,:active){text-decoration:none;color:#fff}
}
@media(max-width:360px){
 header{gap:4px;min-height:78.390625px}
 header .brand img{width:84px}header .brand span{font-size:5.5px}
 .mobile-header-contact{font-size:11px;padding-left:8px;padding-right:8px}
 .nav-toggle{width:40px;padding:8px}
}

@media(max-width:600px){.about-grid{display:flex;flex-direction:column;gap:28px}.mobile-about-heading{width:100%}.mobile-about-heading h2{margin-bottom:0}.about-grid>.about-photo,.about-grid>.about-text{width:100%}}

@media(max-width:600px){#first::before{background-image:linear-gradient(rgba(255,252,248,.78),rgba(255,252,248,.78)),url("assets/first-background.webp");filter:none}}

/* v23: Nagamatsu square artwork, within the existing header-only tap target. */
@media(max-width:600px){
 header a.mobile-header-instagram,header a.mobile-header-instagram:is(:hover,:focus-visible,:active){height:48px;min-height:48px;background:none;box-shadow:none;border-radius:0;padding:0}
 header a.mobile-header-instagram .header-instagram-glyph{display:block;width:40px;height:40px;flex:0 0 40px;aspect-ratio:1}
}

/* v24: lighter phone-only scrolled glass, based on the supplied iPhone capture. */
@media(max-width:600px){
 html:not(.mobile-menu-open) header.is-scrolled{background:rgba(255,249,242,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
 @supports not ((backdrop-filter:blur(4px)) or (-webkit-backdrop-filter:blur(4px))){html:not(.mobile-menu-open) header.is-scrolled{background:rgba(255,249,242,.96)}}
}

/* v25: fit only the requested mobile introductory sentence. */
@media(max-width:600px){#voice .voice-intro-line{display:inline-block;white-space:nowrap;font-size:clamp(12px,3.9vw,16px);letter-spacing:0}}

/* PC treatment photograph: bring the pressure technique clear of the text veil. */
@media (min-width:601px){
 .hero-slideshow .hero-slide[src="assets/hero-slide-02.webp"]{transform-origin:50% 0%;left:-20px;width:60%;object-position:85% 35%;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
}

/* Therapist introduction, within the about section only. */
#about .therapist-profile{margin-top:48px;padding:32px clamp(22px,4vw,48px);border:1px solid var(--line);border-radius:24px;background:#faeee5}
#about .therapist-profile .eyebrow{margin-bottom:18px;line-height:1.9}
#about .therapist-facts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
#about .therapist-facts span{padding:6px 14px;border-radius:24px;background:var(--soft);color:#884431;font-size:15px}
#about .therapist-profile h3{font-family:"Yu Mincho",serif;font-size:clamp(22px,2.2vw,30px);line-height:1.7;margin-bottom:24px}
#about .therapist-story{max-width:900px;font-size:16px}
#about .therapist-message{border-top:1px solid var(--line);padding-top:20px;margin:22px 0 0;color:#98503d;font-size:clamp(18px,1.8vw,24px);font-family:"Yu Mincho",serif;line-height:1.8}
@media(max-width:600px){#about .therapist-profile{margin-top:30px;padding:24px 20px;border-radius:18px}#about .therapist-facts{gap:8px}#about .therapist-facts span{font-size:13px;padding:5px 10px}#about .therapist-profile h3{font-size:22px}}

/* Wider, more readable therapist copy on desktop; mobile sizing retained. */
@media(min-width:601px){
 #about .therapist-profile .eyebrow{font-size:16px;letter-spacing:.08em}
 #about .therapist-facts span{font-size:17px}
 #about .therapist-profile h3{font-size:clamp(30px,2.6vw,38px);line-height:1.65}
 #about .therapist-story{max-width:none;width:100%;font-size:clamp(18px,1.4vw,20px);line-height:1.95}
 #about .therapist-message{font-size:clamp(24px,2vw,29px)}
}

/* Keep the original photo/text layout with the new landscape photograph. */
#care .care-main{height:auto;aspect-ratio:auto;object-fit:contain;border-radius:24px}
@media(max-width:600px){#care .care-main{border-radius:16px}}

/* Testimonials: readable paragraphs and restrained emphasis; original words preserved. */
#voice .voice-body{max-width:none;line-height:2.05;overflow-wrap:anywhere}
#voice .voice-body p{margin:0 0 1.7em}
#voice .voice-body p:last-child{margin-bottom:0}
#voice .voice-body strong{font-weight:700;color:inherit}
@media(max-width:600px){#voice .voice-body p{margin-bottom:1.5em}}

/* Keep the original pixels: fixed mark/seal, centered name, hidden Season3.
   Alpha bounds: mark y=0..199; name y=5..120. Center offset: 37/199. */
.logo-lockup{position:relative;display:block;width:fit-content;margin-inline:auto}
.brand .logo-lockup{margin:0}
.logo-lockup .logo-mark{clip-path:inset(0 60% 0 0)}
.logo-lockup .logo-name{position:absolute;left:0;top:18.5929648241%;width:100%;max-width:none;height:auto;margin:0;clip-path:polygon(40% 0,100% 0,100% 70%,40% 70%)}

/* Mobile-only therapist line breaks; desktop typography and layout unchanged. */
@media(max-width:600px){
 #about .therapist-profile .therapist-name-mobile{display:block;white-space:nowrap;font-size:clamp(12px,calc(4.5vw - 2.5px),18px);letter-spacing:.02em}
 #therapist-title .therapist-description-mobile{font-size:clamp(14.5px,calc(5.4vw - 3px),20px)}
 #therapist-title .therapist-lead-mobile::after{content:"";display:block}
 #therapist-title .therapist-role-mobile{white-space:normal}
 #therapist-title .therapist-record-mobile{white-space:nowrap;font-size:min(22px,5vw)}
}

/* 迷惑投稿よけの隠し項目（画面に出さない） */
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
