@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}.delay-4{transition-delay:4ms}}:root{--ink:#17201d;--ink-soft:#25312d;--paper:#f0eee7;--paper-deep:#e3dfd4;--sand:#b8a483;--moss:#6f7c68;--line:#17201d2e;--serif:"Noto Serif JP", serif;--sans:"IBM Plex Sans JP", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-weight:300}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}img{width:100%;display:block}.site-header{z-index:20;color:#f6f3eb;border-bottom:1px solid #ffffff2e;grid-template-columns:1fr auto 1fr;align-items:center;height:104px;padding:0 4.5vw;display:grid;position:absolute;inset:0 0 auto}.brand{align-items:center;gap:13px;width:fit-content;display:flex}.brand-mark{font-family:var(--serif);font-size:42px;line-height:1}.brand-text{flex-direction:column;gap:1px;display:flex}.brand-text strong{letter-spacing:.28em;font-size:15px}.brand-text small{letter-spacing:.14em;opacity:.72;font-size:8px}.desktop-nav{gap:clamp(20px,2.5vw,44px);display:flex}.desktop-nav a{letter-spacing:.1em;font-size:12px;position:relative}.desktop-nav a:after{content:"";background:#fff;height:1px;transition:right .35s;position:absolute;bottom:-9px;left:0;right:100%}.desktop-nav a:hover:after{right:0}.header-reserve{letter-spacing:.08em;justify-self:end;align-items:center;gap:12px;font-size:12px;display:flex}.menu-button{cursor:pointer;background:0 0;border:0;display:none}.mobile-menu{display:none}.hero{color:#f7f4ec;background:var(--ink);height:100svh;min-height:780px;position:relative;overflow:hidden}.hero-image{background:url(/images/hero-massage.jpg) 50% 45%/cover no-repeat;animation:14s ease-out both heroZoom;position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,#0c1411d1,#0e151280 45%,#0e131124 75%),linear-gradient(#0000 55%,#080d0b7a);position:absolute;inset:0}.hero-copy{z-index:2;max-width:760px;position:absolute;top:50%;left:10.5vw;transform:translateY(-42%)}.eyebrow{letter-spacing:.35em;color:#d8c8aa;margin:0 0 34px;font-size:11px}.hero h1{font-family:var(--serif);letter-spacing:.04em;margin:0;font-size:clamp(48px,6vw,92px);font-weight:400;line-height:1.25}.hero h1 span{margin-top:18px;margin-left:1.6em;font-size:.56em;display:block}.hero-description{letter-spacing:.1em;color:#ffffffc2;margin:38px 0 0 4px;font-size:15px;line-height:2.15}.hero-actions{align-items:center;gap:36px;margin-top:42px;display:flex}.button{letter-spacing:.1em;justify-content:space-between;align-items:center;gap:44px;min-width:214px;padding:17px 20px;font-size:12px;transition:transform .3s,background .3s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-light{color:var(--ink);background:#f3f0e8}.text-link{letter-spacing:.1em;border-bottom:1px solid #ffffff80;align-items:center;gap:9px;padding-bottom:7px;font-size:12px;display:inline-flex}.hero-note{z-index:2;letter-spacing:.13em;align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;bottom:42px;right:4.5vw}.scroll-hint{z-index:2;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;bottom:0;left:4.5vw}.scroll-hint span{letter-spacing:.3em;writing-mode:vertical-rl;font-size:8px}.scroll-hint i{transform-origin:top;background:#fff9;width:1px;height:62px;animation:2s ease-in-out infinite scrollLine;display:block}.reveal{opacity:0;animation:1s cubic-bezier(.22,.7,.26,1) forwards revealUp}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.42s}.delay-3{animation-delay:.68s}.delay-4{animation-delay:.88s}.section-pad{padding:130px max(7vw,28px)}.section-label{align-items:center;gap:14px;margin-bottom:42px;display:flex}.section-label span{border:1px solid;border-radius:50%;place-items:center;width:31px;height:31px;font-size:9px;display:grid}.section-label p{letter-spacing:.28em;margin:0;font-size:10px;font-weight:500}.section-label.light{color:#d9d6cc}.concept{max-width:1480px;margin:auto}.concept-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:9vw;display:grid}.jp-kicker{font-family:var(--serif);letter-spacing:.12em;color:#68726e;margin:0 0 24px;font-size:13px}.concept h2,.section-heading h2,.features h2,.first-visit h2{font-family:var(--serif);letter-spacing:.04em;margin:0;font-size:clamp(36px,4.7vw,68px);font-weight:400;line-height:1.55}.concept h2 em{color:var(--moss);font-style:normal}.concept-body{padding-top:68px}.concept-body>p{max-width:590px;font-family:var(--serif);letter-spacing:.06em;margin:0 0 25px;font-size:15px;line-height:2.4}.concept-signature{font-family:var(--serif);letter-spacing:.28em;color:var(--moss);margin-top:50px;font-size:11px;font-style:italic}.visual-break{height:760px;margin:20px 0 140px;position:relative;overflow:hidden}.visual-card{background:#ccc;position:absolute;overflow:hidden}.visual-card img{object-fit:cover;filter:saturate(.62)contrast(1.04);height:100%}.visual-card-main{width:68%;height:640px;top:0;left:0}.visual-card-small{border:13px solid var(--paper);z-index:2;width:29%;height:420px;bottom:0;right:6vw}.vertical-copy{letter-spacing:.34em;writing-mode:vertical-rl;font-size:8px;position:absolute;top:4px;right:2.2vw}.enso{z-index:3;aspect-ratio:1;border:2px solid #f0eee794;border-left-color:#0000;border-radius:50%;width:190px;position:absolute;top:80px;left:61%;transform:rotate(-25deg)}.courses{background:var(--ink);color:#eeeae1;padding-top:115px;padding-bottom:115px}.section-heading{grid-template-columns:.65fr 1fr .8fr;align-items:end;gap:5vw;max-width:1440px;margin:auto auto 70px;display:grid}.section-heading .section-label{align-self:start}.section-heading .jp-kicker{color:#a8afa9}.section-heading h2{font-size:clamp(42px,5vw,72px)}.heading-note{color:#9ca39e;max-width:360px;margin:0 0 12px;font-size:12px;line-height:2}.course-list{border-top:1px solid #ffffff2e;max-width:1440px;margin:auto}.course-item{border-bottom:1px solid #ffffff2e;grid-template-columns:70px 1.05fr 1.2fr .8fr 60px;align-items:center;gap:30px;min-height:185px;padding:34px 0;transition:background .35s,padding .35s;display:grid;position:relative}.course-item:hover{background:#ffffff09;padding-left:18px;padding-right:18px}.course-number{color:var(--sand);letter-spacing:.15em;align-self:start;font-size:11px}.course-name span{color:#8d9891;letter-spacing:.25em;font-size:8px}.course-name h3{font-family:var(--serif);letter-spacing:.08em;margin:10px 0 0;font-size:25px;font-weight:400}.course-item>p{color:#adb3af;margin:0;font-size:12px;line-height:2.05}.course-meta{grid-template-columns:1fr 1fr;align-items:end;column-gap:12px;display:grid}.course-meta small{color:#b9c0bb;letter-spacing:.1em;border:1px solid #7e887f;grid-column:1/-1;width:fit-content;margin-bottom:14px;padding:4px 8px;font-size:8px}.course-meta span{color:#aeb4b0;font-size:11px}.course-meta strong{font-family:var(--serif);text-align:right;font-size:20px;font-weight:400}.course-item>a{border:1px solid #67706b;border-radius:50%;place-items:center;width:48px;height:48px;transition:background .3s,color .3s;display:grid}.course-item>a:hover{color:var(--ink);background:#e6e2d8}.tax-note{color:#7c8580;max-width:1440px;margin:26px auto 0;font-size:10px}.features{grid-template-columns:.7fr 1.3fr;gap:8vw;max-width:1520px;margin:auto;display:grid}.features-intro{padding-top:20px}.features-intro h2{font-size:clamp(34px,3.7vw,57px)}.feature-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.feature{border:1px solid var(--line);flex-direction:column;min-height:330px;padding:34px;transition:transform .35s,box-shadow .35s;display:flex}.feature:hover{transform:translateY(-7px);box-shadow:0 22px 50px #222d281a}.feature-tall{background:#dedacf;grid-row:span 2;min-height:680px;padding-top:52px}.feature-dark{background:var(--ink-soft);color:#eeeae1;border-color:var(--ink-soft)}.feature-icon{border:1px solid;border-radius:50%;place-items:center;width:55px;height:55px;margin-bottom:auto;display:grid}.feature>span{color:var(--moss);margin:50px 0 22px;font-size:10px}.feature-dark>span{color:var(--sand)}.feature h3{font-family:var(--serif);margin:0 0 25px;font-size:22px;font-weight:400;line-height:1.75}.feature p{color:#67716c;margin:0;font-size:12px;line-height:2}.feature-dark p{color:#adb4af}.first-visit{background:#e5e1d7}.first-visit-title{grid-template-columns:.5fr 1fr 1fr;align-items:end;gap:50px;max-width:1440px;margin:auto 0 80px;display:grid}.first-visit-title>span{letter-spacing:.3em;align-self:start;font-size:10px}.first-visit-title h2{font-size:clamp(36px,4vw,58px)}.first-visit-title p{color:#636c67;max-width:400px;margin:0 0 10px;font-size:12px;line-height:2}.steps{grid-template-columns:repeat(4,1fr);gap:0;max-width:1440px;margin:auto;display:grid}.steps article{padding-right:38px}.steps article>span{font-family:var(--serif);color:var(--moss);font-size:10px}.step-line{background:#afb3ab;height:1px;margin:20px 0 35px;position:relative}.step-line:before{content:"";background:var(--moss);border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;left:0}.steps h3{font-family:var(--serif);letter-spacing:.1em;font-size:19px;font-weight:400}.steps p{color:#67706b;font-size:11px;line-height:2}.access{background:var(--ink);color:#ece9e0;grid-template-columns:1fr 1fr;min-height:700px;display:grid}.access-info{padding:100px 8vw}.access-info h2{font-family:var(--serif);margin:0;font-size:64px;font-weight:400}.access-info h2 small{font-family:var(--sans);letter-spacing:.3em;font-size:12px}.access-lead{color:#8d9791;letter-spacing:.25em;margin:4px 0 54px;font-size:9px}.access-info dl{max-width:500px}.access-info dl>div{border-top:1px solid #ffffff24;grid-template-columns:130px 1fr;padding:23px 0;display:grid}.access-info dl>div:last-child{border-bottom:1px solid #ffffff24}.access-info dt{color:#9fa6a2;align-items:flex-start;gap:10px;font-size:11px;display:flex}.access-info dd{font-family:var(--serif);margin:0;font-size:13px;line-height:1.9}.address-note{color:#707a74;max-width:500px;font-size:9px;line-height:1.8}.access-visual{color:var(--ink);background:#d8d4c8;place-items:center;display:grid;position:relative;overflow:hidden}.map-grid{background-image:linear-gradient(33deg,#0000 47%,#414d4733 48% 49%,#0000 50%),linear-gradient(-28deg,#0000 48%,#414d472b 49% 50%,#0000 51%);background-size:190px 130px,230px 160px;position:absolute;inset:-80px;transform:rotate(-5deg)}.map-pin{z-index:2;background:var(--ink);color:#fff;border-radius:50% 50% 50% 0;flex-direction:column;justify-content:center;align-items:center;width:105px;height:105px;display:flex;position:relative;transform:rotate(-45deg);box-shadow:0 22px 40px #17201d4d}.map-pin>*{transform:rotate(45deg)}.map-pin span{font-family:var(--serif);font-size:34px}.map-pin small{letter-spacing:.2em;margin-top:-2px;font-size:7px}.access-visual>p{letter-spacing:.3em;font-size:9px;position:absolute;bottom:55px}.reservation{text-align:center;color:#18211e;background:#b5a281;padding:130px 25px}.reservation>p:first-child{letter-spacing:.35em;margin:0 0 28px;font-size:10px}.reservation h2{font-family:var(--serif);letter-spacing:.08em;margin:0;font-size:clamp(38px,5vw,70px);font-weight:400}.reservation-copy{letter-spacing:.06em;margin:30px 0 40px;font-size:12px}.reservation>a{border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:45px;min-width:min(420px,90vw);padding:20px 24px;transition:background .3s,color .3s;display:inline-flex}.reservation>a:hover{background:var(--ink);color:#eeeae1}.reservation>a span{font-family:var(--serif);align-items:baseline;gap:18px;font-size:22px;display:flex}.reservation>a small{font-family:var(--sans);letter-spacing:.12em;font-size:8px}footer{color:#d8d6cf;background:#111815;grid-template-columns:1.2fr 1fr .7fr;gap:50px;padding:80px 7vw 35px;display:grid;position:relative}.footer-brand{align-items:center;gap:16px;display:flex}.footer-brand div{flex-direction:column;display:flex}.footer-brand strong{letter-spacing:.3em}.footer-brand small{color:#747e78;letter-spacing:.18em;font-size:8px}.footer-links{grid-template-columns:1fr 1fr;gap:15px 25px;display:grid}.footer-links a,.instagram{color:#969e99;letter-spacing:.08em;font-size:10px}.instagram{place-self:start end;align-items:center;gap:10px;display:flex}.copyright{color:#606a64;letter-spacing:.16em;border-top:1px solid #ffffff1a;grid-column:1/-1;margin:55px 0 0;padding-top:25px;font-size:8px}.floating-reserve{display:none}@keyframes revealUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes heroZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes scrollLine{0%,to{opacity:.4;transform:scaleY(.25)}50%{opacity:1;transform:scaleY(1)}}@media(max-width:1050px){.site-header{grid-template-columns:1fr auto;height:84px}.desktop-nav,.header-reserve{display:none}.menu-button{display:block}.mobile-menu{z-index:50;pointer-events:none;opacity:0;background:var(--ink);color:#fff;transition:opacity .3s,transform .3s;display:block;position:fixed;inset:0;transform:translateY(-20px)}.mobile-menu.is-open{pointer-events:auto;opacity:1;transform:translateY(0)}.mobile-menu>button{cursor:pointer;background:0 0;border:0;position:absolute;top:28px;right:28px}.mobile-menu-inner{flex-direction:column;width:min(560px,82vw);margin:18vh auto 0;display:flex}.mobile-menu-inner>span{color:var(--sand);letter-spacing:.35em;margin-bottom:22px;font-size:9px}.mobile-menu-inner>a:not(.mobile-reserve){font-family:var(--serif);border-bottom:1px solid #ffffff26;justify-content:space-between;padding:20px 0;font-size:19px;display:flex}.mobile-reserve{text-align:center;background:var(--sand);color:var(--ink);margin-top:36px;padding:18px;font-size:13px}.section-heading{grid-template-columns:.5fr 1fr}.section-heading .heading-note{grid-column:2}.course-item{grid-template-columns:48px 1fr 1.2fr 1fr 50px;gap:18px}.features{grid-template-columns:1fr}.features-intro{max-width:650px}}@media(max-width:760px){.brand-mark{font-size:34px}.brand-text strong{font-size:13px}.hero{min-height:720px}.hero-image{background-position:61%}.hero-shade{background:linear-gradient(90deg,#0a110ee0,#0a110e40),linear-gradient(#0000 45%,#080d0b99)}.hero-copy{top:47%;left:8vw;right:7vw;transform:translateY(-38%)}.hero h1{font-size:clamp(39px,11.2vw,56px);line-height:1.38}.hero h1 span{margin:14px 0 0;font-size:.54em}.hero-description{font-size:12px;line-height:2}.hero-actions{flex-direction:column;align-items:flex-start;gap:24px;margin-top:34px}.hero-note{font-size:9px;bottom:28px;left:8vw;right:auto}.scroll-hint{display:none}.section-pad{padding:90px 7vw}.concept-grid{grid-template-columns:1fr;gap:15px}.concept-body{padding-top:10px}.concept-body>p{font-size:13px;line-height:2.2}.visual-break{height:570px;margin-bottom:80px}.visual-card-main{width:88%;height:430px}.visual-card-small{border-width:8px;width:47%;height:240px;right:4vw}.enso{width:110px;top:35px;left:auto;right:29vw}.vertical-copy{display:none}.section-heading{margin-bottom:46px;display:block}.section-heading .heading-note{margin-top:25px}.course-item{grid-template-columns:36px 1fr 48px;padding:32px 0}.course-name{grid-column:2}.course-item>p{grid-column:2/4}.course-meta{grid-column:2}.course-item>a{grid-area:1/3/3}.feature-grid{grid-template-columns:1fr}.feature,.feature-tall{grid-row:auto;min-height:380px}.first-visit-title{margin-bottom:55px;display:block}.first-visit-title h2{margin:20px 0 22px}.steps{grid-template-columns:1fr 1fr;gap:45px 20px}.steps article{padding-right:0}.access{grid-template-columns:1fr}.access-info{padding:85px 7vw}.access-info dl>div{grid-template-columns:110px 1fr}.access-visual{min-height:430px}.reservation{padding:90px 20px}.reservation-copy{line-height:2}.reservation>a span{font-size:18px}footer{grid-template-columns:1fr;gap:36px;padding-bottom:110px}.instagram{justify-self:start}.copyright{margin-top:15px}.floating-reserve{z-index:40;background:var(--sand);color:var(--ink);letter-spacing:.08em;border-radius:50px;align-items:center;gap:9px;padding:14px 20px;font-size:12px;font-weight:500;display:flex;position:fixed;bottom:17px;right:17px;box-shadow:0 8px 25px #0d15124d}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
