:root{--navy:#051d45;--navy-2:#0d2a55;--navy-deep:#03142f;--green:#2f7770;--green-deep:#3a8d85;--beige:#cdba9f;--sage:#949f97;--sage-deep:#6d7a74;--sage-soft:#d7ddd8;--forest:#4d5753;--cream:#f7f5f0;--white:#fbfaf6;--accent:var(--green);--accent-warm:var(--beige);--ink:#1d2733;--ink-soft:#414b46;--muted:#6d7a74;--on-navy:#d9dbd5;--on-navy-dim:#a6ada5;--on-navy-faint:#6c7468;--line:#ddd4c2;--line-navy:#ffffff29;--serif:"Cormorant Garamond",serif;--mincho:"Shippori Mincho",serif;--label:"Jost",sans-serif;--sans:"Noto Sans JP",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--cream);letter-spacing:.02em;-webkit-font-smoothing:antialiased;font-weight:300;line-height:2;overflow-x:hidden}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:0 auto;padding:0 40px}.label{font-family:var(--label);text-transform:uppercase;letter-spacing:.28em;color:var(--accent);font-size:.7rem;font-weight:400}h1,h2,h3{font-weight:500;line-height:1.3}.wordmark{align-items:center;gap:13px;display:flex}.brand-logo-frame{flex:none;width:76px;height:74px;position:relative;overflow:hidden}.brand-logo{width:126px;max-width:none;height:auto;display:block;position:absolute;top:-26px;left:-26px}.wordmark-tagline{border-left:1px solid var(--line);font-family:var(--mincho);letter-spacing:.08em;color:var(--navy);white-space:nowrap;margin-left:8px;padding-left:18px;font-size:.72rem;font-weight:600}header{z-index:60;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fbfaf6cc;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:92px;display:flex}.menu{align-items:center;gap:34px;display:flex}.menu a{font-family:var(--label);text-transform:uppercase;letter-spacing:.16em;color:var(--ink);font-size:.72rem;transition:color .2s}.menu a:not(.btn):hover{color:var(--accent)}.btn{font-family:var(--label);text-transform:uppercase;letter-spacing:.16em;padding:13px 26px;font-size:.72rem;transition:all .25s;display:inline-block}.btn-navy{background:var(--navy);color:var(--cream)}.btn-navy:hover{background:var(--accent);color:var(--cream)}.btn-accent{background:var(--accent);color:var(--cream);font-weight:500}.btn-accent:hover{background:var(--green-deep)}.btn-contact{background:var(--sage-soft);color:var(--navy);font-weight:500}.btn-contact:hover{background:var(--sage);color:var(--navy)}.burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.burger span{background:var(--navy);width:24px;height:1.5px}.frame{aspect-ratio:4/5;position:relative}.frame-image{z-index:2;object-fit:cover;width:100%;height:100%;display:block;position:relative}.frame:before{content:"";background:var(--navy);z-index:1;width:62%;height:70%;position:absolute;bottom:-26px;left:-26px}.frame:after{content:"";border:1px solid var(--accent);z-index:1;width:60%;height:64%;position:absolute;top:-18px;right:-18px}.hero{padding:70px 0 90px}.hero-grid{grid-template-columns:1.04fr .96fr;align-items:center;gap:60px;display:grid}.hero-panel{background:var(--navy);color:var(--cream);padding:64px 56px;position:relative}.hero-panel:after{content:"";border:1px solid var(--line-navy);pointer-events:none;position:absolute;inset:18px}.hero-panel .label{color:var(--accent-warm);margin-bottom:26px;display:block}.hero-panel h1{font-family:var(--mincho);color:var(--cream);letter-spacing:.04em;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:600;line-height:1.65}.hero-panel h1 .en{font-family:var(--serif);text-transform:uppercase;letter-spacing:.14em;color:var(--accent-warm);margin-top:18px;font-size:.62em;font-weight:600;display:block}.hero-panel p{color:var(--on-navy);margin-top:28px;font-size:.92rem;font-weight:300;line-height:2.05}.hero-slider{min-height:650px;overflow:hidden}.hero-track{z-index:2;min-height:515px;position:relative}.hero-slide{opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;transition:opacity .55s,transform .55s,visibility .55s;display:flex;position:absolute;inset:0;transform:translate(26px)}.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.hero-slider-controls{z-index:3;align-items:center;gap:18px;margin-top:34px;display:flex;position:relative}.hero-arrow{width:46px;height:46px;color:var(--cream);cursor:pointer;background:#d7ddd814;border:1px solid #d7ddd866;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.hero-arrow svg{width:20px;height:20px;display:block}.hero-arrow:hover{background:var(--sage-soft);color:var(--navy);border-color:var(--sage-soft)}.hero-dots{align-items:center;gap:10px;display:flex}.hero-dot{cursor:pointer;background:#d7ddd857;border:none;border-radius:0;width:34px;height:3px;transition:all .2s;position:relative;overflow:hidden}.hero-dot.is-active{background:#d7ddd857;width:52px}.hero-dot.is-active:after{content:"";background:var(--sage-soft);transform-origin:0;animation:8s linear forwards hero-progress;position:absolute;inset:0;transform:scaleX(0)}@keyframes hero-progress{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-dot.is-active:after{animation:none;transform:scaleX(1)}}.checks{gap:14px;margin-top:30px;list-style:none;display:grid}.checks li{font-family:var(--serif);letter-spacing:.06em;color:var(--cream);text-transform:uppercase;align-items:center;gap:14px;font-size:1.18rem;display:flex}.checks li:before{content:"✔";color:var(--accent-warm);font-size:.9rem}.checks li small{font-family:var(--sans);letter-spacing:.04em;color:var(--on-navy-dim);text-transform:none;margin-left:2px;font-size:.72rem}section{padding:104px 0}section[id],[id]{scroll-margin-top:108px}.identity-band{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:86px 0}.identity-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(44px,6vw,76px);display:grid}.identity-copy .label{margin-bottom:16px;display:block}.identity-copy h2{font-family:var(--mincho);color:var(--navy);letter-spacing:.04em;font-size:clamp(1.8rem,3.4vw,2.65rem);font-weight:600;line-height:1.45}.identity-text{border-left:1px solid var(--line);padding-left:clamp(0px,3vw,42px)}.identity-text p{color:var(--ink-soft);font-size:.94rem;line-height:2.15}.identity-text p+p{margin-top:18px}.frame.alt:before{bottom:-26px;left:auto;right:-26px}.frame.alt:after{top:-18px;left:-18px;right:auto}.practice{background:var(--cream)}.pa-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;display:grid}.pa-panel{background:var(--navy);color:var(--cream);padding:58px 50px;position:relative}.pa-panel:after{content:"";border:1px solid var(--line-navy);pointer-events:none;position:absolute;inset:16px}.pa-panel .label{color:var(--accent-warm);margin-bottom:8px;display:block}.pa-panel h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;color:var(--cream);font-size:2rem;font-weight:600;position:relative}.pa-panel p{color:var(--on-navy);margin:18px 0 26px;font-size:.86rem;font-weight:300;line-height:2;position:relative}.pa-list{gap:18px;list-style:none;display:grid;position:relative}.pa-list li{font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:1.32rem;font-weight:600;display:flex}.pa-list li:before{content:"✔";color:var(--accent-warm);font-size:.95rem}.pa-list li small{font-family:var(--sans);letter-spacing:.06em;text-transform:none;color:var(--on-navy);font-size:.76rem;font-weight:400}.panel-link{margin-top:34px;position:relative}.page-hero{background:var(--navy);color:var(--cream);padding:clamp(72px,10vw,120px) 0}.page-hero-inner{max-width:920px}.page-hero .label{color:var(--accent-warm);margin-bottom:18px;display:block}.page-hero h1{font-family:var(--mincho);letter-spacing:.04em;color:var(--cream);font-size:clamp(2rem,4.8vw,3.8rem);font-weight:600;line-height:1.45}.page-hero .members-hero-title{font-size:clamp(1.45rem,4.2vw,3.5rem)}.members-hero-title>span{white-space:nowrap;display:block}.page-hero p{max-width:44em;color:var(--on-navy);margin-top:26px;font-size:.95rem;line-height:2.05}.page-hero .services-hero-copy{max-width:45.25em}.page-hero-cta{margin-top:30px}.price-hero-summary{margin-top:26px;position:relative}.page-hero .price-hero-summary p{max-width:none;margin:0}.price-hero-summary p span{display:block}.price-hero-summary .page-hero-cta{margin:0;position:absolute;bottom:-18px;right:0}.detail-section{background:var(--white);padding:clamp(72px,9vw,112px) 0}@media (width>=921px){.members-detail-section{padding-top:clamp(56px,6vw,80px)}}.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.service-detail-card{background:var(--cream);border:1px solid var(--line);min-height:260px;padding:34px 32px}.service-detail-card .label{color:var(--accent);margin:10px 0 16px;display:block}.service-detail-card h2{font-family:var(--mincho);color:var(--navy);letter-spacing:.03em;font-size:1.45rem;font-weight:600}.service-detail-card p:not(.label){color:var(--muted);margin-top:16px;font-size:.9rem;line-height:2}.price-teaser{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:74px 0}.price-teaser-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;display:grid}.price-teaser .label{margin-bottom:14px;display:block}.price-teaser h2{font-family:var(--mincho);color:var(--navy);font-size:clamp(1.7rem,3vw,2.3rem);font-weight:600}.price-teaser p{max-width:44em;color:var(--muted);margin-top:16px;font-size:.9rem;line-height:2}.price-table{border-top:1px solid var(--line);display:grid}.price-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(200px,.6fr) minmax(0,1.4fr);align-items:center;gap:28px;padding:28px 0;display:grid}.price-row h2{font-family:var(--mincho);color:var(--navy);white-space:nowrap;font-size:clamp(.82rem,1.2vw,1rem);font-weight:600}.price-row-body{white-space:nowrap;grid-template-columns:240px minmax(0,1fr);align-items:baseline;gap:16px;min-width:0;display:grid}.price-row strong{font-family:var(--mincho);color:var(--navy);letter-spacing:.02em;font-size:clamp(.68rem,1.05vw,.86rem);font-weight:500;line-height:1.8}.price-row p{min-width:0;color:var(--muted);font-size:clamp(.68rem,1.05vw,.86rem);line-height:1.9}.member-list{grid-template-rows:repeat(2,1fr) auto;gap:24px;display:grid}.member-profile{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:stretch;display:grid}.member-profile-reverse{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.member-profile-reverse .member-card{order:2}.member-profile-reverse .member-photo{order:1}.member-profile-wide{display:block}.member-card{background:var(--cream);border:1px solid var(--line);padding:34px 36px}.member-card .label{color:var(--accent);margin-bottom:14px;display:block}.member-card .member-role{text-transform:none}.member-card h2{font-family:var(--mincho);color:var(--navy);font-size:1.8rem;font-weight:600}.member-en{font-family:var(--label);letter-spacing:.14em;color:var(--accent);margin-top:6px;font-size:.72rem}.member-reg{letter-spacing:.06em;font-weight:500;color:var(--navy)!important;margin-top:6px!important;font-size:.78rem!important}.member-bio{margin-top:18px}.member-bio p{color:var(--ink-soft);font-size:.88rem;line-height:1.82}.member-bio p+p{margin-top:8px}.member-profile-meta{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.member-profile-meta p{color:var(--ink-soft);font-size:.84rem;line-height:1.75}.member-photo{background:var(--sage-soft);width:100%;height:100%;overflow:hidden}.member-photo img{object-fit:cover;width:100%;height:100%;display:block}.member-profile:first-child .member-photo img{object-position:68% center}.member-profile-reverse .member-photo img{object-position:center 34%}.no-break{white-space:nowrap}.cta{background:var(--navy);color:var(--cream);text-align:center;position:relative}.cta:after{content:"";border:1px solid var(--line-navy);pointer-events:none;position:absolute;inset:24px}.cta-in{z-index:2;padding:30px 0;position:relative}.cta .label{color:var(--accent-warm);margin-bottom:16px;display:block}.cta h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.1em;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:600}.cta p{max-width:34em;color:var(--on-navy);margin:18px auto 32px;font-size:.9rem;font-weight:300}.contact-cta{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;display:grid}.contact-cta .label{margin-bottom:16px}.contact-cta h2{margin:0}.contact-cta p{max-width:44em;margin:18px 0 0}.btn-large{padding:17px 32px;font-size:.82rem;font-weight:500}.contact-page{background:var(--white);padding:clamp(56px,7vw,86px) 0}.contact-page-grid{grid-template-columns:minmax(260px,390px) minmax(520px,1fr);align-items:start;gap:clamp(42px,6vw,88px);display:grid}.contact-intro .label{margin-bottom:18px;display:block}.contact-intro h1{font-family:var(--mincho);color:var(--navy);letter-spacing:.04em;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.42}.contact-intro p{color:var(--ink-soft);margin-top:22px;font-size:.92rem;line-height:2.05}.contact-intro p+p{margin-top:16px}.contact-form-page{background:var(--cream);border:1px solid var(--line);gap:16px;padding:clamp(26px,3vw,34px);display:grid;box-shadow:0 18px 46px #051d4514}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field{gap:8px;display:grid}.form-field span{color:var(--navy);letter-spacing:.04em;font-size:.78rem;font-weight:500}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--ink);font-family:var(--sans);background:#fff;border:1px solid #d8d8d0;outline:none;font-size:.95rem;line-height:1.6;transition:border-color .2s,box-shadow .2s}.form-field input,.form-field select{min-height:48px;padding:0 16px}.form-field textarea{resize:vertical;min-height:140px;padding:14px 16px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px #949f9733}.form-field input::placeholder,.form-field textarea::placeholder{color:#92988f}.form-note{color:var(--muted);margin:2px 0 0;font-size:.8rem;line-height:1.8}.form-consent{color:var(--ink);align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.7;display:flex}.form-consent input{width:16px;height:16px;accent-color:var(--green);flex-shrink:0;margin-top:.3em}.form-consent a{color:var(--green);text-underline-offset:2px;text-decoration:underline}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.form-status{min-height:1.3em;margin:0;font-size:.86rem;line-height:1.7}.form-status.is-sending{color:var(--muted)}.form-status.is-success{color:var(--green)}.form-status.is-error{color:#b3372e}.submit-button{background:var(--accent);min-height:50px;color:var(--cream);font-family:var(--label);text-transform:uppercase;letter-spacing:.16em;cursor:pointer;border:none;font-size:.78rem;font-weight:500;transition:all .2s}.submit-button:hover{background:var(--green-deep)}.submit-button:disabled{opacity:.6;cursor:not-allowed}@media (width>=921px) and (height<=820px){.member-list{grid-template-rows:repeat(2,520px) auto;gap:30px}.member-profile{min-height:0}.member-card{min-height:0;padding:24px 30px}.member-card .label{margin-bottom:8px}.member-card h2{font-size:1.65rem}.member-en,.member-reg{margin-top:4px!important}.member-bio{margin-top:12px}.member-bio p{font-size:.82rem;line-height:1.62}.member-bio p+p{margin-top:5px}.member-profile-meta{margin-top:12px;padding-top:10px}.member-profile-meta p{font-size:.8rem;line-height:1.55}.member-photo{min-height:0}.contact-page{padding:30px 0 34px}.contact-page-grid{grid-template-columns:minmax(250px,350px) minmax(500px,1fr);gap:clamp(32px,4vw,56px)}.contact-intro .label{margin-bottom:10px}.contact-intro h1{font-size:clamp(2rem,3vw,2.55rem);line-height:1.32}.contact-intro p{margin-top:12px;font-size:.84rem;line-height:1.72}.contact-intro p+p{margin-top:9px}.contact-form-page{gap:9px;padding:18px 24px}.form-grid{gap:12px}.form-field{gap:5px}.form-field input,.form-field select{min-height:44px}.form-field textarea{min-height:88px;padding:10px 16px}.form-note{margin-top:0;line-height:1.45}.form-consent{line-height:1.45}.form-status{min-height:1em;line-height:1.35}.submit-button{min-height:44px}}.service-num{font-family:var(--serif);color:var(--accent);letter-spacing:.08em;font-size:1.4rem;font-weight:600}.legal{max-width:760px}.legal h2{font-family:var(--mincho);color:var(--navy);margin:34px 0 10px;font-size:1.2rem;font-weight:600}.legal h2:first-child{margin-top:0}.legal p{color:var(--ink-soft);font-size:.92rem;line-height:2.05}.legal ul{color:var(--ink-soft);margin:8px 0 0;padding-left:1.3em;font-size:.92rem;line-height:2.05}.legal a{color:var(--green);text-underline-offset:2px;text-decoration:underline}.legal .legal-meta{color:var(--muted);margin-top:36px;font-size:.82rem}footer{background:var(--navy-deep);color:var(--on-navy-dim);padding:74px 0 34px;font-size:.82rem;font-weight:300}.foot-top{border-bottom:1px solid var(--line-navy);grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;display:grid}.badge{border:1px solid var(--accent);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:108px;height:108px;margin-bottom:18px;display:flex}.badge .e{font-family:var(--label);letter-spacing:.3em;color:var(--accent-warm);font-size:.5rem}.badge .n{font-family:var(--serif);letter-spacing:.1em;color:var(--cream);text-transform:uppercase;font-size:.92rem;line-height:1.2}.foot-brand p{color:var(--on-navy-dim);line-height:1.95}.foot-col h4{font-family:var(--label);text-transform:uppercase;letter-spacing:.2em;color:var(--accent-warm);margin-bottom:18px;font-size:.66rem}.foot-col a,.foot-col p{color:var(--on-navy-dim);padding:5px 0;display:block}.foot-col a:hover{color:var(--accent-warm)}.foot-bottom{text-align:center;font-family:var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--on-navy-faint);padding-top:28px;font-size:.64rem}.foot-bottom a{color:var(--on-navy-dim)}.foot-bottom a:hover{color:var(--accent-warm)}@media (width<=920px){.menu{background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px;padding:24px 40px 30px;transition:transform .35s;position:fixed;inset:92px 0 auto;transform:translateY(-140%)}.menu.open{transform:none}.menu .btn{text-align:center}.burger{display:flex}.hero-grid,.pa-grid{grid-template-columns:1fr;gap:54px}.foot-top{grid-template-columns:1fr}.frame{max-width:380px;margin:20px auto 30px}section{padding:72px 0}.hero-panel,.pa-panel{padding:46px 32px}.hero-slider{min-height:660px}.hero-track{min-height:530px}.hero-slider-controls{margin-top:26px}.identity-grid{grid-template-columns:1fr}.identity-text{border-left:none;padding-left:0}.service-detail-grid{grid-template-columns:1fr}.member-list{grid-template-rows:none}.member-profile,.member-profile-reverse{grid-template-columns:1fr}.member-profile-reverse .member-card,.member-profile-reverse .member-photo{order:initial}.member-profile:not(.member-profile-wide) .member-photo{order:1}.member-profile:not(.member-profile-wide) .member-card{order:2}.member-photo{aspect-ratio:4/3;height:auto;min-height:0}.member-profile:first-child .member-photo img{object-position:68% 34%}.member-profile-reverse .member-photo img{object-position:center 8%}.price-teaser-grid{grid-template-columns:1fr}.price-teaser-grid .btn{justify-self:start}.price-row{gap:20px}.price-row-body{grid-template-columns:185px minmax(0,1fr);gap:12px}.price-row strong,.price-row p{font-size:.68rem}.contact-cta{text-align:center;grid-template-columns:1fr}.contact-cta .btn{justify-self:center}.contact-page-grid{grid-template-columns:1fr}}@media (width<=520px){.wrap{padding:0 24px}.nav{height:76px}.menu{inset:76px 0 auto}.wordmark{gap:8px}.brand-logo-frame{width:63px;height:61px}.brand-logo{width:105px;top:-22px;left:-22px}.wordmark-tagline{letter-spacing:.03em;margin-left:2px;padding-left:10px;font-size:.52rem;display:block}.frame:before{left:-18px}.frame.alt:before{left:auto;right:-18px}.hero-slider{min-height:760px}.hero-track{min-height:610px}.hero-slider-controls{justify-content:space-between;gap:12px}.hero-arrow{width:38px;height:38px}.hero-dot{width:26px}.hero-dot.is-active{width:38px}.form-grid{grid-template-columns:1fr}.contact-form-page{padding:24px 18px}}@media (width<=700px){.price-hero-summary{gap:24px;display:grid}.price-hero-summary .page-hero-cta{justify-self:start;position:static}.price-row{grid-template-columns:1fr;gap:8px}.price-row-body{white-space:normal;grid-template-columns:1fr;gap:2px}}
