:root{--ink:#625b59;--paper:#fdfcf9;--ivory:#f5f1eb;--lavender:#a599af;--line:#e4ded8;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/2 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid #81708e;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:32px;line-height:1.8;letter-spacing:.12em}h3{font-size:21px;line-height:1.8;letter-spacing:.08em}.header{height:112px;padding:0 6.2%;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{font-family:Georgia,serif;font-size:46px;line-height:1;letter-spacing:.035em}.logo span{display:block;font:8px/2.5 var(--sans);letter-spacing:.2em}.header nav{display:flex;gap:32px;font-size:12px;letter-spacing:.06em}.header nav a:hover{color:#9b87a6}.header-book{font-size:12px;border-bottom:1px solid var(--lavender);padding:10px 0}.header-book span{margin-left:25px}.hero{max-width:1500px;margin:auto;padding:18px 6.2% 60px;display:grid;grid-template-columns:1fr 1.05fr;position:relative;align-items:center;min-height:685px}.hero-copy{padding-bottom:10px;z-index:1}.eyebrow{font:10px/1.8 var(--sans);letter-spacing:.23em;color:#8b7d91}.hero h1{font-size:clamp(30px,3.1vw,47px);line-height:1.85;letter-spacing:.13em;margin:25px 0}.hero-description{line-height:2.3;letter-spacing:.09em;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:#a295ab;color:white;padding:17px 28px;border-radius:2px;font-size:12px;letter-spacing:.07em;transition:background .3s,transform .3s}.button:hover{background:#87768f;transform:translateY(-2px)}.hero .button{margin-top:32px}.hero-foot{display:flex;align-items:center;gap:15px;margin-top:42px}.tiny-star{font-size:36px;color:#a89caf;font-weight:200}.hero-foot p{font-size:11px;letter-spacing:.08em}.hero-foot small{font-size:9px;letter-spacing:.02em}.hero-visual{position:relative;height:590px;border-radius:48% 48% 2px 2px;overflow:hidden;background:#ede7df}.hero-visual img{object-position:center}.image-script{position:absolute;bottom:36px;right:28px;font:italic 40px/1.5 Georgia,serif;color:white;text-shadow:0 1px 15px #9e8f7a}.photo-note{position:absolute;left:18px;bottom:12px;font-size:8px;color:#fff;text-shadow:0 1px 5px #625b59}.vertical-note{position:absolute;right:18px;top:45%;writing-mode:vertical-rl;letter-spacing:.25em;font-size:8px;color:#9c9190}.intro-strip{background:var(--ivory);padding:23px;display:flex;justify-content:center;gap:48px;align-items:center;font:italic 16px/1.5 Georgia,serif;color:#968b86}.intro-strip i{width:3px;height:3px;background:#b9aebc;border-radius:50%}.section{max-width:1200px;padding:105px 65px;margin:0 auto}.section-heading{text-align:center;margin-bottom:45px}.section-heading h2{margin-top:14px}.section-heading>p:last-child:not(.eyebrow){margin-top:16px;font-size:13px}.center{text-align:center}.concerns{padding-bottom:100px}.concern-list{max-width:800px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 46px}.concern-list p{border-bottom:1px solid var(--line);padding:20px 0;font-size:13px;letter-spacing:.03em}.concern-list span{font:italic 17px Georgia,serif;color:#aa9bae;margin-right:17px}.closing{margin-top:38px;font-family:var(--serif);font-size:16px;line-height:2.2;letter-spacing:.08em}.concept{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-top:55px}.concept-art{position:relative;padding:0 10px 35px}.arch{height:490px;overflow:hidden;border-radius:180px 180px 0 0}.arch img{object-position:70%;transform:scale(1.2)}.concept-word{position:absolute;bottom:6px;left:-14px;font:italic 53px Georgia,serif;color:#a298a8}.art-mark{position:absolute;right:-25px;top:38%;font-size:90px;font-weight:100;color:#d9d0db}.concept-copy h2{margin:18px 0 25px}.concept-copy>p:not(.eyebrow){font-size:12px;line-height:2.4;margin-bottom:20px}.text-link{display:inline-block;font-size:12px;padding:8px 0;border-bottom:1px solid #b7aabd;margin-top:12px}.text-link span{margin-left:40px}.care{max-width:none;background:#f6f3f0}.care-grid{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.care-grid article+article{border-left:1px solid var(--line);padding-left:45px}.line-icon{display:block;font:48px/1.3 Georgia,serif;color:#a296aa;margin-bottom:24px}.care-grid h3{margin:13px 0 17px}.care-grid article>p:last-child{font-size:12px;line-height:2.2}.note{font-size:10px;line-height:2;color:#817774}.care>.note{margin-top:43px}.menu{padding-top:110px}.menu-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:45px}.menu-top h2{margin-top:14px}.menu-top>p{font-size:12px;line-height:2.2}.menu-list{border-top:1px solid var(--line)}.menu-list article{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:27px 5px}.menu-number{font:italic 20px Georgia,serif;color:#ae9db5}.menu-list h3{font-size:22px}.menu-list article div p{font-size:11px;margin-top:5px}.menu-list article div small{font-size:10px;color:#8b7d91}.price{font:28px/1.4 Georgia,serif;text-align:right;white-space:nowrap;letter-spacing:.02em}.price small{display:block;font:11px/2 var(--sans);margin-bottom:5px}.price span{font:11px var(--sans);margin-left:5px}.menu-notes{font-size:10px;margin:22px 0 30px}.menu>.button{display:flex;max-width:300px;margin:auto}.flow{padding-top:50px}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.flow-grid article{position:relative}.flow-grid article:not(:last-child):after{content:'→';position:absolute;right:-20px;top:22px;color:#b6a9bb}.flow-grid article>span{display:flex;align-items:center;justify-content:center;border:1px solid #dbd3df;width:55px;height:55px;border-radius:50%;font:italic 20px Georgia,serif;color:#a194a8;margin-bottom:23px}.flow-grid h3{font-size:16px;margin-bottom:12px;letter-spacing:.03em}.flow-grid p{font-size:11px;line-height:2.2}.therapist{display:grid;grid-template-columns:.85fr 1fr;gap:90px;align-items:center;background:#f4f0ec;max-width:1070px;padding:70px;margin-top:15px;margin-bottom:30px}.profile-visual{text-align:center}.profile-symbol{height:295px;background:radial-gradient(ellipse at 70% 20%,#fffdf8,transparent 70%),#e8e0d9;border-radius:150px 150px 0 0;display:flex;flex-direction:column;justify-content:center;font:italic 100px Georgia,serif;color:#aa9fa6}.profile-symbol span{font:italic 21px Georgia,serif}.profile-visual>p{font:13px var(--serif);margin-top:23px;letter-spacing:.1em}.profile-copy h2{margin:15px 0 22px}.profile-copy>p:not(.eyebrow){font-size:12px;line-height:2.3;margin-bottom:17px}.credentials{display:flex;flex-wrap:wrap;gap:8px}.credentials span{font-size:9px;border:1px solid #d6cdd8;padding:4px 9px}.profile-copy .profile-sign{font-family:var(--serif);margin:23px 0 0}.faq{max-width:940px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:24px 40px 24px 39px;position:relative;font-size:13px}summary::-webkit-details-marker{display:none}summary:before{content:'Q';position:absolute;left:3px;font:italic 20px Georgia,serif;color:#a393ac}summary:after{content:'+';position:absolute;right:8px;font:21px Georgia,serif;color:#a393ac}details[open] summary:after{content:'−'}details>p{font-size:12px;line-height:2.2;padding:0 40px 25px}.reservation{max-width:none;text-align:center;background:#efebf0;padding-top:65px;padding-bottom:75px}.reservation-star{font-size:43px;color:#ad9eb6;display:block;margin-bottom:20px}.reservation h2{margin:20px 0;font-size:32px}.reservation>p:not(.eyebrow):not(.note):not(.booking-status){font-size:12px;line-height:2.4}.reservation .button{margin:28px 0 15px;min-width:300px}.booking-status{font-size:11px;margin:0 auto 8px;padding:6px;max-width:450px;transition:background .3s}.booking-status.emphasized{background:#fff9;outline:1px solid #cabccf}footer{text-align:center;padding:60px 20px 35px}footer .logo{display:inline-block}footer>p{font-size:10px;margin:20px 0 35px;letter-spacing:.1em}footer>small{font-size:9px;color:#a49994}.mobile-book{display:none}.skip{position:fixed;top:-100px;left:15px;background:#fff;padding:10px;z-index:20}.skip:focus{top:10px}.animate{opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s}.animate.visible{opacity:1;transform:none}@media(min-width:1500px){.header{max-width:1500px;margin:auto}}@media(max-width:900px){.header{padding:0 5%;height:95px}.header nav{gap:18px;font-size:10px}.hero{padding-left:5%;padding-right:5%;min-height:580px}.hero-visual{height:500px}.hero h1{font-size:30px}.hero-foot small{font-size:8px}.section{padding:80px 6%}.concept{gap:45px}.arch{height:410px}.care-grid{gap:25px}.care-grid article+article{padding-left:25px}.therapist{margin:10px 5%;gap:45px;padding:45px}.flow-grid{gap:22px}.flow-grid h3{font-size:14px}.vertical-note{right:8px}}@media(max-width:640px){html{scroll-padding-top:20px}body{font-size:13px}.header{height:88px;padding:0 7%}.logo{font-size:38px}.logo span{font-size:6px}.header nav{display:none}.header-book{font-size:10px;padding:7px 0}.header-book span{margin-left:14px}.hero{padding:8px 7% 35px;display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-copy{padding-top:18px}.hero .eyebrow{font-size:8px;letter-spacing:.2em}.hero h1{font-size:29px;letter-spacing:.08em;line-height:1.85;margin:19px 0 18px}.hero-description{font-size:11px;line-height:2.15}.hero .button{margin-top:23px;padding:13px 20px;font-size:10px;gap:30px}.hero-visual{height:370px;order:2;width:85%;margin:30px 0 0 auto;border-radius:150px 150px 0 0;overflow:visible}.hero-visual img{border-radius:150px 150px 0 0}.image-script{font-size:31px;bottom:18px;right:12px}.hero-foot{margin-top:25px;gap:10px}.tiny-star{font-size:28px}.hero-foot p{font-size:9px}.hero-foot small{font-size:7px}.photo-note{font-size:7px}.vertical-note{top:auto;bottom:80px;left:8%;right:auto;font-size:7px}.intro-strip{gap:15px;padding:21px 8px;font-size:12px}.intro-strip i{width:2px;height:2px}.section{padding:68px 7%}h2{font-size:25px;letter-spacing:.07em;line-height:1.8}.section-heading{margin-bottom:30px}.eyebrow{font-size:9px}.section-heading>p:last-child:not(.eyebrow){font-size:11px}.concern-list{display:block;padding:0 7px}.concern-list p{font-size:11px;padding:17px 0}.concern-list span{font-size:16px}.closing{font-size:13px;margin-top:28px}.concept{display:flex;flex-direction:column;gap:35px;padding-top:10px}.concept-art{width:85%;align-self:flex-start;padding-bottom:22px}.arch{height:330px}.concept-word{font-size:39px;bottom:0;left:0}.art-mark{font-size:65px;right:-40px}.concept-copy{align-self:flex-start}.concept-copy h2{margin:13px 0 20px}.concept-copy>p:not(.eyebrow){font-size:11px;margin-bottom:16px}.desktop{display:none}.care-grid{display:block}.care-grid article{position:relative;padding:26px 0 26px 70px}.care-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:70px}.line-icon{position:absolute;left:6px;top:28px;font-size:38px}.care-grid h3{font-size:20px;margin:10px 0 13px}.care-grid article>p:last-child{font-size:11px}.care>.note{font-size:9px;text-align:left;margin-top:20px}.menu-top{display:block;margin-bottom:30px}.menu-top>p{margin-top:20px;font-size:11px}.menu-list article{grid-template-columns:22px 1fr auto;gap:11px;padding:23px 0}.menu-number{font-size:14px}.menu-list h3{font-size:17px;letter-spacing:0}.menu-list article div p{font-size:9px;line-height:1.9;max-width:180px}.menu-list article div small{font-size:9px}.price{font-size:23px}.price small{font-size:9px}.price span{font-size:9px;margin-left:2px}.menu-notes{font-size:9px;margin:20px 0 26px}.menu>.button{font-size:11px;max-width:270px}.flow{padding-top:15px}.flow-grid{grid-template-columns:1fr;gap:22px}.flow-grid article{padding-left:68px;min-height:75px}.flow-grid article>span{position:absolute;left:0;top:0;width:44px;height:44px;font-size:17px}.flow-grid article:not(:last-child):after{content:'';width:1px;height:calc(100% - 38px);left:22px;top:50px;background:#e2dae5}.flow-grid h3{font-size:16px;margin:0 0 7px}.flow-grid p{font-size:11px}.therapist{display:flex;flex-direction:column;gap:34px;padding:35px 7%;margin:0 5%}.profile-visual{width:85%}.profile-symbol{height:240px}.profile-visual>p{font-size:11px}.profile-copy>p:not(.eyebrow){font-size:11px}.profile-copy h2{margin-top:10px}.credentials span{font-size:8px}.faq{padding-top:65px}summary{font-size:11px;padding:21px 27px 21px 29px;line-height:2}summary:before{font-size:18px}summary:after{right:0}details>p{font-size:11px;padding:0 20px 22px 29px}.reservation{padding:48px 6% 52px}.reservation h2{font-size:24px;letter-spacing:.05em}.reservation .button{min-width:270px;font-size:11px}.reservation>p:not(.eyebrow):not(.note):not(.booking-status){font-size:11px}.booking-status{font-size:9px}.reservation .note{font-size:9px}.mobile-book{display:flex;position:fixed;bottom:12px;left:7%;right:7%;background:#a295abf5;color:white;z-index:5;justify-content:center;align-items:center;gap:45px;padding:12px;border:1px solid #fff6;border-radius:3px;font-size:11px;box-shadow:0 4px 20px #625b5920;backdrop-filter:blur(10px)}footer{padding-bottom:95px}footer>p{font-size:9px}.reservation-star{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.animate{opacity:1;transform:none}}

.mobile-only{display:none}@media(max-width:640px){.mobile-only{display:inline}}

/* 読みやすさの調整：既存の配色・写真・構成を保持 */
body{font-size:18px;line-height:2}
.header nav,.header-book{font-size:14px}
.eyebrow{font-size:14px}
.hero-description{font-size:18px;line-height:2.1}
.button{font-size:16px;gap:22px}
.hero-foot p{font-size:16px}.hero-foot small{font-size:14px}
.photo-note,.vertical-note{font-size:14px}
.section-heading>p:last-child:not(.eyebrow),.concern-list p{font-size:18px}
.closing{font-size:20px}
.concept-copy>p:not(.eyebrow),.care-grid article>p:last-child,.menu-top>p,.flow-grid p,.profile-copy>p:not(.eyebrow),details>p{font-size:18px;line-height:2}
.text-link{font-size:16px}
.note,.care>.note,.menu-notes,.menu-list article div small,.price small,.price span,.credentials span,.reservation .note{font-size:14px}
.menu-list article div p{font-size:16px;max-width:none}
.flow-grid h3{font-size:18px}.flow-grid{gap:30px}
.profile-visual>p{font-size:16px}.credentials{gap:8px}
summary{font-size:18px}
.reservation>p:not(.eyebrow):not(.note):not(.booking-status){font-size:18px}
.booking-status{font-size:16px;max-width:650px}
footer>p,footer>small{font-size:14px}
.footer-links{display:block;font-size:16px;margin:0 0 26px;text-decoration:underline;text-underline-offset:6px}
@media(min-width:641px) and (max-width:1100px){.header nav{gap:14px}.hero{gap:25px}.hero-foot{align-items:flex-start}.flow-grid{grid-template-columns:1fr 1fr;gap:35px}.care-grid{gap:25px}.care-grid article+article{padding-left:22px}.concept,.therapist{gap:40px}.concept-copy br:not(.desktop){display:none}}
@media(max-width:640px){
 .header-book{font-size:14px}.logo span{font-size:9px;letter-spacing:.12em}
 .hero .eyebrow{font-size:14px}.hero-description{font-size:18px;line-height:2}
 .hero-description br{display:none}.hero h1{font-size:clamp(25px,7.4vw,32px);letter-spacing:.04em}
 .hero .button,.button,.menu>.button,.reservation .button{font-size:16px;padding:16px 20px;max-width:100%;gap:16px}
 .hero-foot p{font-size:16px}.hero-foot small{font-size:14px}.hero-foot{align-items:flex-start}.tiny-star{flex-shrink:0}
 .photo-note{font-size:14px;left:12px;bottom:8px}.image-script{bottom:35px}
 .vertical-note{display:none}.intro-strip{gap:9px;font-size:14px;flex-wrap:wrap}
 .eyebrow{font-size:14px;letter-spacing:.15em}.section-heading>p:last-child:not(.eyebrow),.concern-list p{font-size:18px}
 h2,.reservation h2{font-size:24px;letter-spacing:.04em}.concerns h2 .mobile-only{display:none}
 .concern-list p{display:flex;align-items:baseline;gap:14px}.concern-list span{font-size:18px;margin:0;flex-shrink:0}
 .closing{font-size:18px}.closing br{display:none}
 .concept-copy>p:not(.eyebrow),.care-grid article>p:last-child,.menu-top>p,.flow-grid p,.profile-copy>p:not(.eyebrow),details>p{font-size:18px;line-height:2}
 .concept-copy br{display:none}.concept-copy h2 br{display:inline}.text-link{font-size:16px}
 .care-grid article,.care-grid article+article{padding-left:52px}.line-icon{font-size:30px;left:0}.care-grid h3{font-size:22px}
 .care>.note,.note,.menu-notes{font-size:14px}
 .menu-list article{grid-template-columns:24px 1fr;gap:10px 12px;padding:26px 0}
 .menu-list h3{font-size:22px}.menu-number{font-size:18px;align-self:start;padding-top:10px}
 .menu-list article div p{font-size:16px;max-width:none}.menu-list article div small{font-size:14px}
 .menu-list .price{grid-column:2;display:flex;align-items:baseline;justify-content:flex-end;gap:7px;font-size:28px}
 .price small,.price span{font-size:16px;margin:0}.price small{margin-right:10px}
 .flow-grid h3{font-size:20px}.flow-grid p{font-size:18px}.flow-grid article{padding-left:61px}
 .profile-visual>p{font-size:16px}.credentials span{font-size:14px}.therapist{padding:35px 7%;margin:0 4%}
 summary{font-size:18px;padding-left:31px}details>p{font-size:18px;padding-right:0}.reservation>p:not(.eyebrow):not(.note):not(.booking-status){font-size:18px}
 .reservation .button{min-width:0;width:100%;max-width:420px}.booking-status{font-size:16px}.reservation .note{font-size:14px}
 .mobile-book{font-size:16px;padding:13px;gap:30px}.footer-links{font-size:16px}footer>p,footer>small{font-size:14px}
}

/* セラピストの本人写真。原本はそのまま、表示範囲だけを円形に設定 */
.therapist-portrait{width:240px;height:240px;border-radius:50%;overflow:hidden;margin:0 auto;flex-shrink:0}
.therapist-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;transform:scale(1.4);transform-origin:50% 0%}
.profile-visual>.portrait-name{font-family:var(--serif);font-size:20px;letter-spacing:.04em;line-height:1.8;margin-top:18px;text-align:center}
@media(max-width:640px){.therapist-portrait{width:180px;height:180px}.profile-visual>.portrait-name{font-size:18px}}
