:root{--paper:#f7f4ed;--cream:#fbfaf6;--white:#fffdfa;--blush:#f0e5e1;--rose:#ae777a;--rose-dark:#966467;--ink:#343a35;--muted:#6c716b;--line:#dcd8ce;--sage:#525f54;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans;--latin:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.95;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:#e7d0ca;color:var(--ink)}
.wrap{width:min(100% - 112px,1240px);margin-inline:auto}
.topline{height:5px;background:var(--rose)}
.site-header{position:relative;z-index:20;background:var(--paper)}
.header-inner{height:95px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;color:var(--rose-dark)}
.brand-flower{width:38px;height:38px;flex:none}
.brand-type{display:flex;flex-direction:column;gap:0;line-height:1}
.brand-name{font:500 23px/1.35 var(--serif);letter-spacing:.1em;white-space:nowrap}
.brand-sub{font:500 9px/1.3 var(--latin);letter-spacing:.2em;margin-top:3px;color:#8f8b83}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,42px);margin-left:auto}
.desktop-nav a{font-size:12px;white-space:nowrap;letter-spacing:.04em;transition:color .25s}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--rose)}
.header-contact{border:1px solid var(--rose);padding:12px 18px;font-size:12px;letter-spacing:.02em;color:var(--rose-dark);white-space:nowrap;transition:background .25s,color .25s}
.header-contact span{display:inline-block;margin-left:11px;font-size:16px;line-height:0}
.header-contact:hover,.header-contact:focus-visible{background:var(--rose);color:white}
.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;overflow:hidden;background:var(--paper)}
.hero::before{content:"";position:absolute;left:-10%;bottom:2%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,#f2e9e5 0%,rgba(242,233,229,0) 70%);pointer-events:none}
.hero-grid{min-height:650px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(48px,7vw,110px);padding-top:52px;padding-bottom:50px}
.hero-copy{position:relative;z-index:2;padding:30px 0 24px 4.5%;animation:rise-in .8s ease both}
.eyebrow,.section-overline,.section-num,.hero-bottom,.hero-image-label,.photo-caption,.location-label,.art-caption,.counselor-art-small{font-family:var(--latin);font-weight:600;letter-spacing:.16em}
.eyebrow{font-size:12px;color:var(--rose);display:flex;align-items:center;gap:12px;white-space:nowrap}
.hero-credential-spacer{display:block;height:18px;margin-top:4px}
.hero-credential{position:absolute;right:25px;bottom:-8px;font:500 12px/1.5 var(--serif);letter-spacing:.07em;color:#867a74;white-space:nowrap}
.small-diamond{width:6px;height:6px;background:var(--rose);transform:rotate(45deg)}
.hero-kicker{font-family:var(--serif);font-size:15px;letter-spacing:.16em;color:var(--rose-dark);margin:34px 0 18px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
h1{font-size:clamp(40px,4.25vw,66px);line-height:1.48;letter-spacing:.075em;margin-bottom:26px;white-space:nowrap}
h1 em,h2 em{font-style:normal;color:var(--rose-dark)}
.hero-rule{width:62px;height:1px;background:var(--rose);margin:0 0 28px}
.hero-lead{font-size:14px;line-height:2.35;letter-spacing:.065em;color:#555b55;margin-bottom:35px}
.text-link{display:inline-flex;align-items:center;gap:28px;justify-content:space-between;border-bottom:1px solid var(--rose);padding:0 0 11px;color:var(--rose-dark);font-size:13px;letter-spacing:.06em;min-width:214px;transition:color .25s,border-color .25s}
.text-link:hover,.text-link:focus-visible{color:var(--ink);border-color:var(--ink)}
.link-arrow{font:22px/1 var(--latin)}
.hero-small{font:italic 19px var(--latin);color:#aaa49d;letter-spacing:.025em;margin-top:40px}
.hero-visual{position:relative;max-width:540px;width:100%;justify-self:end;padding:0 25px 20px 0;animation:rise-in 1s .12s ease both}
.hero-image-frame{height:min(47vw,570px);min-height:450px;overflow:hidden;border-radius:46% 46% 2px 2px;background:#e8ddd6;position:relative}
.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 46%;filter:saturate(.78)}
.hero-image-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 90px rgba(100,84,69,.05);pointer-events:none}
.hero-image-label{position:absolute;right:-32px;top:30%;writing-mode:vertical-rl;font-size:11px;color:var(--rose-dark);display:flex;align-items:center;gap:13px}
.label-line{width:1px;height:36px;background:var(--rose)}
.hero-stamp{position:absolute;bottom:4px;left:-42px;width:112px;height:112px;border-radius:50%;background:var(--blush);border:1px solid #e2d3cf;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--rose-dark);font:italic 20px/1 var(--latin);transform:rotate(-12deg)}
.hero-stamp-icon{width:31px;height:31px;margin:4px}
.hero-bottom{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:16px;padding-bottom:19px;font-size:11px;color:#9b9890}
.scroll-line{width:55px;height:1px;background:#b9b4ab}.hero-bottom span:last-child{margin-left:auto}
.section-pad{padding-top:125px;padding-bottom:135px}
.section-heading{display:flex;align-items:center;gap:22px;margin-bottom:68px}
.section-num{font-size:13px;color:var(--rose-dark);white-space:nowrap}
.heading-line{height:1px;flex:1;background:var(--line)}
.section-jp{font-family:var(--serif);font-size:12px;letter-spacing:.13em;color:#858981;white-space:nowrap}
.section-overline{font-size:13px;color:var(--rose);margin-bottom:20px}
h2{font-size:clamp(30px,3vw,44px);line-height:1.75;letter-spacing:.085em;margin-bottom:27px}
.concept{background:var(--cream)}
.concept-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(80px,10vw,155px);align-items:center}
.concept-photo{position:relative;align-self:start;padding:15px 0 32px 30px}
.concept-photo::before{content:"";position:absolute;left:0;top:0;width:76%;height:86%;border:1px solid #d5c5c0}
.concept-photo img{position:relative;width:100%;height:480px;object-fit:cover;filter:saturate(.8)}
.photo-caption{position:absolute;left:30px;bottom:0;font:italic 20px var(--latin);letter-spacing:.02em;color:#a29b94}
.concept-copy{padding-right:7%}
.tiny-sakura{display:block;height:30px;font-size:30px;color:var(--rose);line-height:1;margin-bottom:38px}
.concept-copy p:not(.section-overline){line-height:2.45;color:#60665f;letter-spacing:.04em;margin-bottom:20px}
.concept-sign{font:italic 23px var(--latin);color:var(--rose-dark);margin-top:38px;padding-top:23px;border-top:1px solid var(--line);font-family:var(--serif);font-size:15px;letter-spacing:.1em}
.support{background:var(--paper)}
.support-intro,.flow-head{display:flex;justify-content:space-between;align-items:end;gap:80px;margin-bottom:66px}
.support-intro h2,.flow-head h2{margin-bottom:0}
.support-intro>p,.flow-head>p{width:35%;max-width:380px;margin-bottom:9px;line-height:2.3;letter-spacing:.04em;color:#62675f}
.support-list{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.support-item{position:relative;padding:28px 15px 0 2px;border-top:1px solid #c6c1b7;min-height:315px}
.support-index{font:italic 23px var(--latin);color:var(--rose-dark)}
.support-icon{width:52px;height:52px;margin:17px 0 16px;color:var(--rose)}
.support-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.support-item h3{font-size:21px;line-height:1.7;letter-spacing:.07em;margin-bottom:12px}
.support-item p{font-size:13px;line-height:2.1;color:#6a7069;max-width:310px}
.support-network{display:flex;align-items:center;justify-content:space-between;gap:50px;border-top:1px solid #c6c1b7;margin-top:38px;padding:27px 2px 0}
.support-network-summary{font:400 17px/2 var(--serif);letter-spacing:.05em;color:var(--ink);max-width:540px;margin:0}
.support-network-data{text-align:right;flex:none}
.support-network-data p{margin:0}
.support-network-data p:first-child{font-size:13px;letter-spacing:.04em;color:#62675f}
.support-network-data strong{font:500 30px/1 var(--latin);color:var(--rose-dark);letter-spacing:.02em;margin-left:5px}
.support-network-data p:last-child{font-size:11px;letter-spacing:.05em;color:#888d86;line-height:1.7;margin-top:8px}
@media(max-width:700px){.support-network{display:block;margin-top:25px;padding-top:22px}.support-network-summary{font-size:15px;margin-bottom:18px}.support-network-data{text-align:left}.support-network-data strong{font-size:28px}}
.flow{background:#f0e8e3}
.flow .heading-line{background:#d7c9c3}
.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:27px;position:relative;margin-top:55px}
.flow-steps::before{content:"";position:absolute;left:0;right:0;top:85px;height:1px;background:#cbb5ad}
.flow-step{position:relative}
.flow-number{font:italic 60px/1 var(--latin);color:#bd9690;display:block;margin-bottom:17px}
.flow-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--rose);border:3px solid #f0e8e3;box-shadow:0 0 0 1px var(--rose);margin-bottom:37px;position:relative;z-index:1}
.flow-step h3{font-size:20px;letter-spacing:.08em;margin-bottom:13px}
.flow-step p{font-size:13px;line-height:2.1;color:#666862;max-width:230px}
.flow-note{font-size:11px;color:#86827d;margin:48px 0 0;line-height:1.8}
.fukuoka{background:var(--sage);color:#f9f6ef;overflow:hidden}
.fukuoka-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;min-height:400px}
.fukuoka .section-num{color:#dfb8ae;display:block;margin-bottom:55px}
.fukuoka .section-overline{color:#d9b2a9}
.fukuoka h2 em{color:#e6c5bc}
.fukuoka-copy>p:not(.section-overline){font-size:14px;line-height:2.5;letter-spacing:.05em;color:#e1e3dc;max-width:430px;margin-bottom:37px}
.location-label{display:inline-flex;align-items:center;gap:11px;font-size:14px;color:#d5c7b8;border-top:1px solid #879084;padding-top:15px}
.location-label span{font-size:25px;font-weight:400}
.fukuoka-art{height:420px;position:relative;display:flex;align-items:center;justify-content:center}
.art-circle{position:absolute;display:block;border:1px solid rgba(232,223,211,.32);border-radius:50%;width:360px;height:360px;transform:rotate(-23deg) scaleX(.88)}
.circle-two{width:270px;height:270px;transform:rotate(35deg) scaleX(.82);border-color:rgba(232,223,211,.21)}
.art-word{position:relative;font:italic 96px/1 var(--latin);color:#e6d8ca;transform:rotate(-10deg)}
.art-flower{position:absolute;top:55px;right:18%;font-size:34px;color:#d9aaa6}
.art-caption{position:absolute;bottom:24px;font-size:12px;color:#d7c0b8}
.counselor{background:var(--cream)}
.counselor-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(80px,11vw,160px);align-items:center}
.counselor-art{background:#e9e1d8;height:440px;padding:22px;position:relative}
.counselor-art::after{content:"";position:absolute;left:42px;bottom:-24px;right:-22px;top:42px;border:1px solid #d5c6bc;z-index:0}
.counselor-art-inner{height:100%;position:relative;z-index:1;border:1px solid #d5c6bc;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--rose-dark);background:radial-gradient(circle at 53% 42%,#f2eae3 0%,#e9e1d8 70%)}
.counselor-flower{height:45px;font-size:45px;line-height:1;margin-bottom:24px;font-weight:400}
.counselor-art-word{font:italic 62px/1 var(--latin)}
.counselor-art-small{font-size:11px;letter-spacing:.25em;margin-top:29px}
.counselor-copy{padding:0 5% 0 0}
.counselor-quote{font-family:var(--serif);font-size:19px;line-height:1.95;color:var(--rose-dark);letter-spacing:.08em;margin:20px 0 24px}
.counselor-copy>p:not(.section-overline):not(.counselor-quote):not(.counselor-name){color:#636962;line-height:2.35;letter-spacing:.04em}
.counselor-name{font-family:var(--serif);font-size:13px;color:var(--rose-dark);letter-spacing:.1em;margin:0 0 15px}
.draft-note{font-size:11px;color:#8e8c83;border-top:1px solid var(--line);margin-top:31px;padding-top:17px;line-height:1.8}
.pricing{background:var(--paper)}
.pricing-intro{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:52px}
.pricing-intro h2{margin-bottom:0}
.pricing-intro>p{max-width:440px;color:#62675f;line-height:2.3;letter-spacing:.04em;margin:0 20px 4px 0}
.pricing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.price-card{background:var(--white);border:1px solid #ded8ce;padding:30px 29px 22px;min-width:0}
.price-card-index{display:block;color:var(--rose-dark);font:italic 22px var(--latin);letter-spacing:.07em;padding-bottom:18px}
.price-card h3{font-size:19px;letter-spacing:.06em;min-height:70px;margin:0;border-bottom:1px solid var(--line);line-height:1.65}
.price-card dl{margin:10px 0 0}
.price-card dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid #ece8e0}
.price-card dt{font-size:12px;white-space:nowrap;color:#6c716b}
.price-card dd{font:500 16px var(--serif);color:var(--ink);white-space:nowrap;margin:0}
.price-tax{font-size:11px;color:#878b83;margin:17px 0 0}
.pricing-context{margin:33px 0 42px;border-left:2px solid #c7a5a0;padding:0 0 0 18px;font-size:12px;color:#686e67;line-height:2.2}
.price-young{border:1px solid #d8cbc4;background:#f2e9e4;padding:24px 29px;margin-bottom:55px}
.price-young h3{font-size:16px;margin:0 0 10px}
.price-young p{font-size:12px;color:#646960;line-height:2.2;margin:0}
.price-terms>h3{font-size:19px;padding-bottom:14px;border-bottom:1px solid var(--line);margin:0 0 25px}
.price-terms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:50px;row-gap:8px}
.price-term{border-top:1px solid #e5e0d6;padding:17px 0 13px}
.price-term h4{font:500 14px var(--serif);margin:0 0 7px}
.price-term p{font-size:12px;color:#686e67;line-height:2.1;margin:0}
@media(max-width:950px){.pricing-cards{gap:12px}.price-card{padding:22px 18px}.price-card h3{font-size:17px}.price-card dd{font-size:14px}}
@media(max-width:780px){.pricing-intro{display:block;margin-bottom:35px}.pricing-intro>p{margin:20px 0 0;font-size:13px}.pricing-cards{grid-template-columns:1fr;gap:15px}.price-card{padding:24px}.price-card h3{min-height:0;padding-bottom:16px;font-size:20px}.price-card dd{font-size:16px}.pricing-context{margin:28px 0 33px}.pricing-context br,.price-young br{display:none}.price-young{padding:22px 21px;margin-bottom:44px}.price-terms-grid{grid-template-columns:1fr;row-gap:0}}
.contact{background:#e9dbd5;text-align:center;padding:103px 0 112px}
.contact-inner{position:relative}
.contact .section-num{display:block;margin-bottom:33px}
.contact-flower{height:34px;font-size:34px;color:var(--rose);line-height:1;margin-bottom:25px}
.contact .section-overline{margin-bottom:16px}
.contact h2{font-size:clamp(32px,3.5vw,50px);margin-bottom:22px}
.contact p:not(.section-overline){color:#616760;letter-spacing:.05em;margin-bottom:32px}
.contact-status{max-width:580px;border:1px solid #be9b94;margin:auto;padding:16px 25px;color:#6f6260;font-size:12px;line-height:1.9;background:rgba(255,255,255,.18)}
.site-footer{background:var(--paper);padding:60px 0 23px}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:60px}
.footer-right{display:flex;gap:38px;align-items:center;color:#777c74;font-size:11px}
.footer-right a{color:var(--rose-dark);font-size:12px;border-bottom:1px solid var(--rose);padding-bottom:4px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;font-size:10px;letter-spacing:.06em;color:#9b9c96}
.footer-policy{display:flex;justify-content:flex-end;margin-top:14px}
.footer-policy a{font-size:11px;letter-spacing:.04em;color:var(--rose-dark);border-bottom:1px solid var(--rose);padding-bottom:3px}
.policy-header-back{font-size:12px;color:var(--rose-dark);border-bottom:1px solid var(--rose);padding-bottom:4px;white-space:nowrap}
.policy-header-back span{margin-left:10px}
.policy-main{background:var(--cream);padding:92px 0 118px}
.policy-container{max-width:920px}
.policy-heading{padding-bottom:36px;border-bottom:1px solid var(--line)}
.policy-heading h1{font-size:clamp(32px,3.4vw,44px);line-height:1.6;white-space:normal;margin:16px 0 10px}
.policy-heading p{font:400 14px/1.9 var(--serif);letter-spacing:.08em;color:var(--muted);margin:0}
.policy-notice{background:var(--blush);border-left:2px solid var(--rose);padding:22px 26px;margin:45px 0 48px}
.policy-notice strong{font:500 14px/1.8 var(--serif);color:var(--rose-dark)}
.policy-notice p{font-size:12px;color:#656960;line-height:2;margin:7px 0 0}
.policy-body{max-width:740px}
.policy-body p{font-size:14px;line-height:2.4;letter-spacing:.04em;color:#525851;margin:0 0 25px}
.policy-source-note{border-top:1px solid var(--line);padding-top:19px;margin:43px 0 0;font-size:11px;line-height:2;color:#858982}
.policy-source-note a{color:var(--rose-dark);text-decoration:underline;text-underline-offset:4px}
.policy-return{display:inline-flex;gap:17px;align-items:center;margin-top:35px;padding-bottom:5px;border-bottom:1px solid var(--rose);font-size:12px;color:var(--rose-dark)}
@media(max-width:700px){.policy-main{padding:70px 0 88px}.policy-heading{padding-bottom:28px}.policy-heading h1{font-size:clamp(24px,5.8vw,32px);letter-spacing:.045em}.policy-notice{margin:32px 0 36px;padding:18px}.policy-body p{font-size:13px;line-height:2.35}.policy-header-back{font-size:11px}}
@keyframes rise-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js-motion .reveal.is-visible{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--rose);outline-offset:4px}
@media(max-width:1160px){.wrap{width:min(100% - 72px,1240px)}.desktop-nav{gap:17px}.desktop-nav a{font-size:11px}.header-contact{padding:10px 12px}.brand-name{font-size:21px}.hero-grid{gap:45px}.hero-copy{padding-left:0}h1{font-size:clamp(38px,4.3vw,55px)}}
@media(max-width:930px){.header-inner{height:78px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex;width:43px;height:43px;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:none;border:1px solid var(--rose);cursor:pointer;margin-left:auto}.menu-toggle span{width:19px;height:1px;background:var(--rose-dark);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;padding:10px 36px 22px;background:var(--paper);box-shadow:0 20px 30px rgba(45,45,40,.09)}.mobile-nav a{padding:13px 4px;border-bottom:1px solid var(--line);font-size:13px}.hero-grid{min-height:0;gap:35px}.hero-image-frame{min-height:350px;height:48vw}.hero-stamp{width:85px;height:85px;left:-24px;font-size:16px}.hero-stamp-icon{width:23px;height:23px;margin:2px}.hero-image-label{right:-24px}.support-intro,.flow-head{gap:35px}.concept-grid,.counselor-grid{gap:60px}.concept-photo img{height:400px}}
@media(max-width:700px){html{scroll-padding-top:76px}.wrap{width:min(100% - 40px,540px)}.header-inner{height:70px}.brand-flower{width:32px;height:32px}.brand-name{font-size:20px}.brand-sub{font-size:8px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:32px;padding-bottom:32px;gap:30px}.hero-copy{padding:7px 0 0}.eyebrow{font-size:10px;letter-spacing:.12em}.hero-kicker{margin:27px 0 10px;font-size:13px}h1{font-size:clamp(31px,7.7vw,47px);line-height:1.55;margin-bottom:21px;white-space:normal}.hero-rule{margin-bottom:18px}.hero-lead{font-size:13px;line-height:2.15;margin-bottom:26px}.desktop-break{display:none}.hero-small{display:none}.hero-visual{align-self:center;max-width:520px;padding:0 14px 15px 15px}.hero-image-frame{height:105vw;max-height:570px;min-height:0;border-radius:45% 45% 2px 2px}.hero-stamp{left:-4px;bottom:0}.hero-image-label{right:-9px;font-size:10px}.hero-bottom{font-size:9px}.section-pad{padding:78px 0 88px}.section-heading{gap:13px;margin-bottom:42px}.section-num{font-size:11px}.section-jp{font-size:10px}h2{font-size:clamp(28px,6.4vw,38px);line-height:1.65}.section-overline{font-size:11px;margin-bottom:13px}.concept-grid,.counselor-grid,.fukuoka-grid{display:flex;flex-direction:column;gap:45px;align-items:stretch}.concept-photo{order:2;padding:12px 0 24px 15px}.concept-photo img{height:320px}.photo-caption{left:15px;font-size:17px}.concept-copy{order:1;padding:0}.tiny-sakura{margin-bottom:22px}.concept-copy p:not(.section-overline){font-size:13px;line-height:2.3}.support-intro,.flow-head{display:block;margin-bottom:40px}.support-intro>p,.flow-head>p{width:auto;max-width:none;margin:20px 0 0;font-size:13px}.support-list{display:block}.support-item{min-height:0;display:grid;grid-template-columns:55px 1fr;column-gap:18px;padding:22px 0 26px}.support-index{grid-column:1;font-size:21px}.support-icon{grid-column:1;grid-row:2 / span 2;width:43px;height:43px;margin:14px 0 0}.support-item h3{grid-column:2;grid-row:1 / span 2;font-size:18px;margin:0 0 10px;align-self:center}.support-item p{grid-column:2;font-size:12px;margin:0}.flow-steps{display:block;margin-top:0}.flow-steps::before{left:20px;right:auto;top:0;bottom:0;width:1px;height:auto}.flow-step{display:grid;grid-template-columns:42px 1fr;column-gap:25px;padding:0 0 28px}.flow-number{grid-column:2;grid-row:1;font-size:42px;margin:0 0 5px}.flow-dot{grid-column:1;grid-row:1 / span 3;align-self:start;margin:23px 0 0 16px}.flow-step h3{grid-column:2;font-size:18px;margin-bottom:5px}.flow-step p{grid-column:2;max-width:none;font-size:12px;margin:0}.flow-note{margin-top:17px}.fukuoka .section-num{margin-bottom:27px}.fukuoka-art{height:270px}.art-circle{width:250px;height:250px}.circle-two{width:190px;height:190px}.art-word{font-size:72px}.art-flower{top:13px}.art-caption{bottom:0;font-size:10px}.counselor-grid{gap:58px}.counselor-art{height:320px;order:2}.counselor-art::after{left:30px;top:30px;right:-10px;bottom:-12px}.counselor-art-word{font-size:54px}.counselor-copy{order:1;padding:0}.counselor-quote{font-size:16px}.contact{padding:75px 0 82px}.contact h2{font-size:clamp(29px,7vw,39px)}.contact-status{font-size:11px}.site-footer{padding-top:44px}.footer-grid{display:block;padding-bottom:42px}.footer-right{justify-content:space-between;margin-top:36px;font-size:10px;gap:10px}.footer-bottom{font-size:9px}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.hero-kicker{font-size:12px}h1{font-size:30px}.section-heading{gap:8px}.section-jp{font-size:9px}.eyebrow{font-size:9px}.hero-stamp{width:77px;height:77px}.footer-right{display:block}.footer-right span{display:block;margin-top:18px}}
@media(max-width:360px){.hero-credential{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1;transform:none}}

/* Authentic Wix brand artwork; preserve existing header/footer row geometry. */
.header-inner:has(> .brand--wix){position:relative;height:115px}
.brand--wix{position:relative;width:112px}
.brand--wix .brand-flower,.brand--wix .brand-type{visibility:hidden;pointer-events:none}
.brand--wix .brand-logo{position:absolute;left:50%;top:50%;width:96px;max-width:none;height:auto;transform:translate(-50%,-50%)}
.brand--wix:focus-visible{outline:none}
.brand--wix:focus-visible .brand-logo{outline:2px solid var(--rose);outline-offset:4px}
@media(max-width:930px){.header-inner:has(> .brand--wix){height:98px}.header-inner>.brand--wix{position:static}.header-inner>.brand--wix .brand-logo{width:82px}}
@media(max-width:700px){.header-inner:has(> .brand--wix){height:90px}.header-inner>.brand--wix .brand-logo{width:72px}}

/* Compact footer spacing after removing the brand display. */
.site-footer{padding-top:40px}
.site-footer .footer-brand[aria-hidden="true"]{display:none}
.site-footer .footer-grid{padding-bottom:32px}
.site-footer .footer-right{margin-left:auto;margin-top:0}
@media(max-width:700px){.site-footer{padding-top:30px}.site-footer .footer-grid{padding-bottom:24px}}

/* Remove the artwork column and its spacing; retain readable profile text. */
.counselor .counselor-grid{display:block}
.counselor .counselor-copy{max-width:780px;padding:0}

.counselor .counselor-copy>p:last-child{margin-bottom:0}

/* Let OUR HOME follow its text height after removing the large artwork. */
.fukuoka .fukuoka-grid{min-height:0}
.fukuoka .fukuoka-art{height:auto;align-self:end}
.fukuoka .art-caption{position:static}
@media(min-width:701px){.fukuoka.section-pad{padding-top:90px;padding-bottom:100px}}
@media(max-width:700px){.fukuoka .fukuoka-art{align-self:center}}

/* Two centered credential lines below the hero photo. */
.hero-visual{padding-bottom:90px}
.hero-credential{left:0;right:25px;bottom:18px;text-align:center;font-size:13px;line-height:1.9;letter-spacing:.045em}
.hero-credential>span{display:block}
.hero-credential>span+span{margin-top:4px;font-size:12px;letter-spacing:.08em}
.hero-stamp{bottom:74px}
.hero-image-label{top:calc(30% - 21px)}
@media(max-width:700px){.hero-visual{padding-bottom:85px}.hero-credential{left:15px;right:14px;bottom:15px;font-size:12px}.hero-credential>span+span{font-size:11.5px}.hero-stamp{bottom:70px}}
