@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@500;600&display=swap";:root{--color-ink:#191715;--color-paper:#f7f2ea;--color-ivory:#fffaf3;--color-accent:#a64234;--color-accent-dark:#743129;--color-gold:#b49762;--color-line:#1917152e;--font-sans:"Noto Sans JP", sans-serif;--font-serif:"Noto Serif JP", serif;--font-en:"Cormorant Garamond", serif;--header-height:88px;--content-width:1240px;--page-gutter:clamp(20px, 4vw, 64px)}*{box-sizing:border-box;margin:0;padding:0}:before,:after{box-sizing:inherit}::selection{color:var(--color-ivory);background:var(--color-accent)}.site-body{width:100%;min-width:0;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-sans);line-height:1.8;overflow-x:clip}.site-body.is-menu-open{overscroll-behavior:none;height:100%;overflow:hidden}.site-root{width:100%;min-width:0;overflow-x:clip}.site-root.is-menu-open{overscroll-behavior:none;height:100svh;overflow:hidden}.site-main{min-width:0;display:block}.container{width:min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));margin-inline:auto}.section-space{padding-block:clamp(88px,12vw,176px)}.section-heading{gap:14px;min-width:0;display:grid}.section-heading__eyebrow{color:var(--color-accent);font-family:var(--font-en);letter-spacing:.16em;text-transform:uppercase;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600;line-height:1}.section-heading__title{font-family:var(--font-serif);letter-spacing:.03em;font-size:clamp(2rem,4.6vw,4.75rem);font-weight:500;line-height:1.3}.title-line{white-space:nowrap;display:block}.button{min-height:56px;font-family:var(--font-sans);letter-spacing:.08em;text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:14px;padding:14px 26px;font-size:.86rem;font-weight:600;line-height:1.4;text-decoration:none;transition:color .22s,background-color .22s,border-color .22s,transform .22s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,.nav-link:focus-visible,.social-link:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--color-gold);outline-offset:4px}.button--light{color:var(--color-ink);background:var(--color-ivory)}.button--accent{color:var(--color-ivory);background:var(--color-accent)}.button--outline{color:var(--color-ink);border-color:var(--color-line);background:0 0}.button__arrow{font-size:1.15em;line-height:1}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){:root{--header-height:72px;--page-gutter:20px}.button{min-height:52px;padding-inline:21px}.section-heading__title{font-size:clamp(1.9rem,9vw,3rem);line-height:1.38}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{z-index:50;height:var(--header-height);color:var(--color-ivory);transition:color .24s,background-color .24s,box-shadow .24s;position:fixed;inset:0 0 auto}.site-header.is-scrolled,.site-header.is-menu-open{color:var(--color-ink);background:#fffaf3f5;box-shadow:0 1px #1917151a}.site-header__inner{z-index:3;width:min(100% - var(--page-gutter) * 2, 1440px);justify-content:space-between;align-items:center;height:100%;margin-inline:auto;display:flex;position:relative}.wordmark{color:inherit;line-height:1;text-decoration:none;display:grid}.wordmark__main{font-family:var(--font-en);letter-spacing:.08em;white-space:nowrap;font-size:clamp(1.15rem,1.8vw,1.55rem);font-weight:600}.wordmark__sub{letter-spacing:.24em;white-space:nowrap;margin-top:4px;font-size:.56rem;font-weight:500}.desktop-nav{align-items:center;gap:clamp(22px,3vw,48px);display:flex}.desktop-nav__list{align-items:center;gap:clamp(20px,2.6vw,42px);list-style:none;display:flex}.nav-link{color:inherit;letter-spacing:.12em;font-size:.76rem;font-weight:500;text-decoration:none;position:relative}.nav-link:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}.header-phone{color:inherit;text-align:right;line-height:1.15;text-decoration:none;display:grid}.header-phone__label{font-family:var(--font-en);letter-spacing:.16em;font-size:.7rem}.header-phone__number{font-family:var(--font-en);letter-spacing:.08em;margin-top:4px;font-size:1.16rem;font-weight:600}.menu-toggle{width:48px;height:48px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:none}.menu-toggle__lines{width:26px;height:16px;display:block;position:relative}.menu-toggle__line{background:currentColor;width:26px;height:1px;transition:transform .22s,top .22s;position:absolute;left:0}.menu-toggle__line--top{top:3px}.menu-toggle__line--bottom{top:12px}.menu-toggle[aria-expanded=true] .menu-toggle__line--top{top:7px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__line--bottom{top:7px;transform:rotate(-45deg)}.mobile-menu{z-index:2;width:100%;min-width:0;height:100svh;padding:calc(var(--header-height) + 28px) var(--page-gutter) 32px;color:var(--color-ivory);overscroll-behavior:none;visibility:hidden;opacity:0;background:#1d1a18;transition:visibility .24s,opacity .24s;display:none;position:fixed;inset:0;overflow:hidden}.mobile-menu.is-open{visibility:visible;opacity:1}.mobile-menu__inner{overscroll-behavior:contain;flex-direction:column;justify-content:space-between;width:min(100%,620px);min-width:0;height:100%;margin-inline:auto;display:flex;overflow-y:auto}.mobile-menu__list{list-style:none;display:grid}.mobile-menu__item{border-bottom:1px solid #fffaf333}.mobile-menu__link{color:inherit;font-family:var(--font-serif);letter-spacing:.05em;justify-content:space-between;align-items:baseline;gap:20px;padding-block:19px;font-size:clamp(1.4rem,7vw,2.3rem);text-decoration:none;display:flex}.mobile-menu__index{font-family:var(--font-en);letter-spacing:.12em;flex:none;font-size:.8rem}.mobile-menu__footer{gap:18px;padding-top:24px;display:grid}.mobile-menu__phone{color:inherit;font-family:var(--font-en);letter-spacing:.08em;font-size:clamp(1.55rem,8vw,2.4rem);text-decoration:none}.mobile-menu__hours{color:#fffaf3b3;letter-spacing:.08em;font-size:.72rem}@media (width<=1040px){.desktop-nav{display:none}.menu-toggle,.mobile-menu{display:flex}.site-header.is-menu-open{color:var(--color-ivory);background:#1d1a18;box-shadow:0 1px #fffaf329}}@media (width<=760px){.wordmark__main{font-size:1.05rem}.wordmark__sub{letter-spacing:.17em;font-size:.49rem}}.hero{width:100%;min-height:100svh;color:var(--color-ivory);background:#5e4c40;align-items:end;display:grid;position:relative;overflow:hidden}.hero__media{position:absolute;inset:0}.hero__image{object-fit:cover;object-position:center center;width:100%;height:100%;transform:scale(1.035)}.hero__shade{background:linear-gradient(90deg,#110e0cad 0%,#110e0c4d 42%,#110e0c0d 72%),linear-gradient(#0000 52%,#110e0c8c 100%);position:absolute;inset:0}.hero__inner{z-index:1;width:min(100% - var(--page-gutter) * 2, 1440px);padding-top:calc(var(--header-height) + 48px);grid-template-columns:minmax(0,760px) 1fr;align-items:end;gap:40px;margin-inline:auto;padding-bottom:clamp(50px,8vh,92px);display:grid;position:relative}.hero__content{gap:clamp(22px,3vw,38px);min-width:0;display:grid}.hero__eyebrow{font-family:var(--font-en);letter-spacing:.2em;font-size:clamp(.85rem,1.4vw,1.12rem);font-weight:600}.hero__title{font-family:var(--font-serif);letter-spacing:.04em;text-shadow:0 2px 30px #0003;font-size:clamp(3rem,6.2vw,6.5rem);font-weight:500;line-height:1.28}.hero__lead{letter-spacing:.12em;font-size:clamp(.9rem,1.3vw,1.08rem);line-height:2}.hero__actions{flex-wrap:wrap;gap:12px;display:flex}.hero__scroll{font-family:var(--font-en);letter-spacing:.18em;writing-mode:vertical-rl;justify-self:end;justify-items:center;gap:14px;font-size:.68rem;display:grid}.hero__scroll-line{transform-origin:top;background:#fffaf3bf;width:1px;height:86px;animation:2.2s ease-in-out infinite scroll-line;display:block}@keyframes scroll-line{0%,to{opacity:.35;transform:scaleY(.2)}50%{opacity:1;transform:scaleY(1)}}@media (width<=1040px){.hero__title{font-size:clamp(3rem,8vw,5.4rem)}}@media (width<=760px){.hero__image{object-position:63% center}.hero__shade{background:linear-gradient(#110e0c26 0%,#110e0c8f 47%,#110e0ce0 100%)}.hero__inner{padding-bottom:max(32px, env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr)}.hero__content{gap:20px}.hero__title{width:100%;max-width:100%;font-size:clamp(1.55rem,8.2vw,2.65rem);line-height:1.34}.hero__lead{letter-spacing:.06em;max-width:20em;font-size:.83rem}.hero__actions{grid-template-columns:minmax(0,1fr);max-width:330px;display:grid}.hero__scroll{display:none}}.plans{background:var(--color-paper);position:relative;overflow:hidden}.plans:before{color:#a642340e;font-family:var(--font-en);content:"SAIKOO";pointer-events:none;writing-mode:vertical-rl;font-size:clamp(9rem,24vw,24rem);font-weight:600;line-height:.7;position:absolute;top:8%;right:-8vw}.plans__header{z-index:1;grid-template-columns:minmax(0,1fr) minmax(260px,430px);align-items:end;gap:48px;display:grid;position:relative}.plans__intro{letter-spacing:.06em;padding-bottom:8px;font-size:.93rem;line-height:2.15}.plan-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);margin-top:clamp(54px,7vw,92px);display:grid;position:relative}.plan-card{min-width:0}.plan-card:nth-child(2){margin-top:80px}.plan-card__media{aspect-ratio:3/4;background:#ddd2c4;position:relative;overflow:hidden}.plan-card__image{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1)}.plan-card:hover .plan-card__image{transform:scale(1.045)}.plan-card__number{width:48px;height:48px;color:var(--color-ink);font-family:var(--font-en);letter-spacing:.06em;background:#fffaf3e6;border-radius:50%;place-items:center;font-size:.86rem;display:grid;position:absolute;top:16px;left:16px}.plan-card__body{grid-template-columns:1fr auto;align-items:end;gap:18px;padding-top:22px;display:grid}.plan-card__title{font-family:var(--font-serif);letter-spacing:.06em;white-space:nowrap;font-size:clamp(1.35rem,2.4vw,2.15rem);font-weight:500;line-height:1.35}.plan-card__english{color:var(--color-accent);font-family:var(--font-en);letter-spacing:.12em;white-space:nowrap;padding-bottom:3px;font-size:.7rem;font-weight:600}@media (width<=1040px){.plans__header{grid-template-columns:1fr;align-items:start;gap:26px}.plans__intro{max-width:560px}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card:nth-child(2){margin-top:56px}.plan-card:nth-child(3){grid-column:1/-1;width:calc(50% - 10px);margin-top:-10px}}@media (width<=760px){.plans:before{right:-20vw}.plan-grid{grid-template-columns:minmax(0,1fr);gap:50px}.plan-card:nth-child(2),.plan-card:nth-child(3){grid-column:auto;width:100%;margin-top:0}.plan-card__body{padding-top:17px}.plan-card__title{font-size:1.6rem}}.service{color:var(--color-ivory);background:#1d1a18;position:relative;overflow:hidden}.service__decor{aspect-ratio:1;border:1px solid #b4976247;border-radius:50%;width:min(40vw,560px);position:absolute;top:-120px;right:-120px}.service__decor:before,.service__decor:after{content:"";border:1px solid #b497622e;border-radius:50%;position:absolute}.service__decor:before{inset:12%}.service__decor:after{inset:27%}.service__layout{z-index:1;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:clamp(60px,10vw,150px);display:grid;position:relative}.service .section-heading__eyebrow{color:#d3b982}.service__copy{gap:36px;display:grid}.service__lead{color:#fffaf3b8;letter-spacing:.06em;max-width:32em;font-size:.93rem;line-height:2.2}.service-list{list-style:none;display:grid}.service-list__item{border-top:1px solid #fffaf32e;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:24px;padding-block:clamp(24px,3vw,36px);display:grid}.service-list__item:last-child{border-bottom:1px solid #fffaf32e}.service-list__number{color:#d3b982;font-family:var(--font-en);letter-spacing:.12em;font-size:.85rem}.service-list__title{font-family:var(--font-serif);letter-spacing:.08em;white-space:nowrap;font-size:clamp(1.5rem,3.2vw,2.6rem);font-weight:500;line-height:1.35}.service-list__mark{color:#d3b982;border:1px solid #d3b98299;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1rem;display:grid}.marquee{z-index:1;border-block:1px solid #fffaf326;width:120%;margin-top:clamp(70px,10vw,130px);margin-left:-10%;position:relative;overflow:hidden;transform:rotate(-2deg)}.marquee__track{width:max-content;padding-block:14px;animation:22s linear infinite marquee;display:flex}.marquee__item{font-family:var(--font-en);letter-spacing:.14em;white-space:nowrap;align-items:center;gap:28px;padding-right:28px;font-size:clamp(1rem,2vw,1.45rem);display:flex}.marquee__dot{background:#d3b982;border-radius:50%;width:5px;height:5px}@keyframes marquee{to{transform:translate(-50%)}}@media (width<=1040px){.service__layout{grid-template-columns:1fr;gap:64px}}@media (width<=760px){.service__decor{width:92vw;top:-50px;right:-55vw}.service__layout{gap:50px}.service-list__item{grid-template-columns:44px minmax(0,1fr) 38px;gap:13px}.service-list__title{font-size:clamp(1.25rem,6.8vw,1.7rem)}.service-list__mark{width:36px;height:36px}}.access{background:var(--color-ivory)}.access__layout{grid-template-columns:minmax(0,.76fr) minmax(440px,1.24fr);gap:clamp(60px,10vw,150px);display:grid}.access__aside{flex-direction:column;justify-content:space-between;gap:48px;display:flex}.access__name{font-family:var(--font-en);letter-spacing:.06em;font-size:clamp(1.55rem,3vw,2.45rem);font-weight:600;line-height:1.15}.access__details{border-top:1px solid var(--color-line);display:grid}.access-row{border-bottom:1px solid var(--color-line);grid-template-columns:128px minmax(0,1fr);gap:24px;padding-block:22px;display:grid}.access-row__label{color:var(--color-accent);font-family:var(--font-en);letter-spacing:.1em;font-size:.76rem;font-weight:600;line-height:1.8}.access-row__value{letter-spacing:.04em;font-size:.9rem;line-height:1.8}.access-row__link{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}.hours-list{gap:4px;list-style:none;display:grid}.hours-list__item{grid-template-columns:72px 1fr;gap:12px;display:grid}.access__actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}@media (width<=1040px){.access__layout{grid-template-columns:1fr}.access__aside{grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}}@media (width<=760px){.access__aside{grid-template-columns:1fr}.access-row{grid-template-columns:90px minmax(0,1fr);gap:16px}.access__actions{display:grid}}.site-footer{color:var(--color-ivory);background:#13110f}.site-footer__inner{gap:clamp(56px,9vw,110px);padding-block:clamp(70px,10vw,120px) 32px;display:grid}.footer-main{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px;display:grid}.footer-brand{gap:22px;display:grid}.footer-brand__eyebrow{color:#d3b982;font-family:var(--font-en);letter-spacing:.18em;font-size:.8rem}.footer-brand__name{max-width:10em;font-family:var(--font-en);letter-spacing:.02em;font-size:clamp(3rem,7.7vw,7.5rem);font-weight:500;line-height:.82}.social-list{gap:12px;list-style:none;display:flex}.social-link{min-height:48px;color:inherit;font-family:var(--font-en);letter-spacing:.08em;border:1px solid #fffaf340;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-size:.86rem;text-decoration:none;transition:color .22s,background-color .22s;display:inline-flex}.social-link:hover{color:var(--color-ink);background:var(--color-ivory)}.brand-icon{fill:currentColor;width:18px;height:18px;display:block}.footer-bottom{color:#fffaf394;letter-spacing:.1em;border-top:1px solid #fffaf32e;justify-content:space-between;align-items:center;gap:24px;padding-top:26px;font-size:.66rem;display:flex}.footer-bottom__back{color:inherit;text-decoration:none}@media (width<=760px){.footer-main{grid-template-columns:1fr;align-items:start}.footer-brand__name{font-size:clamp(3rem,16vw,5.2rem)}.social-list{flex-wrap:wrap}.footer-bottom{flex-direction:column;align-items:flex-start}}
