:root{--ink:#171717;--paper:#f7f7f4;--muted:#62625f;--line:#d9d9d4;--blue:#234ff0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP",sans-serif;font-weight:700;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700}button,a{touch-action:manipulation}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.header{height:88px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.logo{font-family:"Noto Serif JP",serif;font-size:2.875rem;letter-spacing:-3px;line-height:1;display:flex;align-items:center;gap:22px}.logo span{font:700 12px "Noto Sans JP",sans-serif;letter-spacing:2px;border-left:1px solid #999;padding-left:22px}.header nav{display:flex;gap:36px;margin-left:auto;margin-right:50px;font-size:0.8125rem;letter-spacing:1px}.header nav a:hover{opacity:.55}.header-book{font-size:0.875rem;border-bottom:1px solid;padding:6px 0;display:flex;gap:30px}.hero{display:grid;grid-template-columns:1fr 1fr;position:relative}.hero-copy{padding:64px 9% 48px}.eyebrow{font-size:0.75rem;letter-spacing:2px;line-height:1.6}.hero-en{font-size:clamp(66px,7.8vw,120px);line-height:.91;letter-spacing:-6px;font-weight:700;margin:38px 0 32px}.hero-en span{color:var(--blue)}h1{font-size:clamp(23px,2.5vw,38px);line-height:1.65;letter-spacing:.02em}.hero-desc{margin:20px 0 30px;font-size:1.0rem;line-height:1.9}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:20px 26px;font-size:0.9375rem;min-height:62px;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:1.375rem;line-height:1}.blue{background:var(--blue);color:#fff}.blue:hover{background:#183ad1}.dark{background:var(--ink);color:white}.micro{font-size:0.75rem;letter-spacing:.02em;margin-top:10px;color:var(--muted)}.hero-photo{position:relative;min-height:740px;background:#c4c7c5;overflow:hidden}.hero-photo img{position:absolute;object-position:50% 40%}.hero-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0006)}.photo-mark{position:absolute;bottom:48px;left:36px;color:white;font-size:1.5rem;line-height:1.1;letter-spacing:-.5px;z-index:1}.photo-caption{position:absolute;right:26px;bottom:45px;color:white;font-size:0.75rem;writing-mode:vertical-rl;letter-spacing:2px;z-index:1}.hero-bottom{grid-column:1/-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 4.5%;font-size:0.8125rem;letter-spacing:1px}.hero-bottom a{display:flex;gap:60px;font-size:0.75rem}.intro-strip{display:flex;justify-content:space-between;padding:29px 4.5%;background:#eaeae6;font-size:0.9375rem}.intro-strip span{font-size:0.75rem;color:var(--muted)}.section{padding:106px 6.5%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section h2{font-size:clamp(25px,2.7vw,40px);line-height:1.6;letter-spacing:-.04em;margin-top:15px}.section-heading>p{font-size:0.875rem;color:var(--muted);line-height:1.9}.styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.style-img{aspect-ratio:3/4;position:relative;overflow:hidden;background:#ddd}.style-img img{transition:transform .6s}.style-card:hover img{transform:scale(1.025)}.style-img>span{position:absolute;bottom:14px;left:18px;color:white;font:700 32px "Noto Serif JP",serif;text-shadow:0 1px 10px #0008}.style-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px}.style-title h3{font-size:1.25rem}.style-title>span{font-size:0.75rem;letter-spacing:1px}.style-card p{font-size:0.875rem;color:var(--muted);margin:10px 0 18px}.text-link{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid #9c9c96;padding:12px 0;font-size:0.875rem;line-height:1.7}.text-link:hover{color:var(--blue)}.small{font-size:0.75rem;line-height:1.8;color:var(--muted)}.small a{text-decoration:underline}.gallery-note{margin-top:26px}.reason-section{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8%}.reason-intro>p:not(.eyebrow){color:#b4b4b0;font-size:0.875rem;margin:24px 0 36px}.reason-intro .text-link{max-width:310px}.light{color:white;border-color:#555}.light:hover{color:#abbcff}.reasons article{display:flex;gap:22px;padding:24px 0 30px;border-top:1px solid #535353}.reasons article:first-child{padding-top:0;border-top:0}.reasons article>span{font-size:0.75rem;color:#aaa;padding-top:6px}.reasons h3{font-size:1.25rem;margin-bottom:10px}.reasons p{font-size:0.875rem;color:#bdbdb9}.menu-row{display:grid;grid-template-columns:1fr auto 28px;gap:30px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}.menu-row:last-child{border-bottom:1px solid var(--line)}.menu-row:hover{background:#ededeb}.tag{border:1px solid #a7a7a2;font-size:0.75rem;padding:4px 8px;display:inline-block;line-height:1.2}.menu-row h3{font-size:1.25rem;margin:12px 0 4px}.menu-row p{font-size:0.875rem;color:var(--muted)}.price{font-size:2.25rem;font-weight:700;letter-spacing:-1.5px;white-space:nowrap}.price span{font-size:0.75rem;letter-spacing:0;margin-left:8px}.row-arrow{font-size:1.5rem}.menu-section>.small{margin-top:18px}.consult{background:#e9e9e4;padding:38px;margin-top:42px;display:flex;align-items:center;justify-content:space-between;gap:35px}.consult h3{font-size:1.25rem;margin:10px 0}.consult p:not(.eyebrow):not(.small){font-size:0.875rem;margin-bottom:8px}.consult .button{font-size:0.875rem;flex-shrink:0;padding:18px}.faq-section{padding-top:30px;display:grid;grid-template-columns:.8fr 1.2fr;gap:9%}.faqs details{border-top:1px solid var(--line)}.faqs details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 0;font-size:0.9375rem;font-weight:700}summary::-webkit-details-marker{display:none}summary span{font-size:1.375rem;font-weight:700}details[open] summary span{transform:rotate(45deg)}details p{padding:0 30px 25px 0;font-size:0.875rem;color:var(--muted)}.access-section{background:#eaeae6;display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:74px;padding-bottom:74px}.big-logo{font:700 130px/.95 "Noto Serif JP",serif;letter-spacing:-9px;margin-top:32px}.access-brand>span{font-size:0.8125rem;letter-spacing:5px;display:block;margin:12px 0 28px}.access-brand>p:last-child{font-size:1.0rem}.access-data h2{font-size:1.5rem;margin-top:0}.access-data dl{margin:25px 0}.access-data dl>div{display:grid;grid-template-columns:85px 1fr;border-top:1px solid #ccc;padding:16px 0;gap:22px}.access-data dt{font-size:0.75rem;letter-spacing:1px;padding-top:4px}.access-data dd{margin:0;font-size:0.9375rem}.access-data .text-link{display:inline-flex;gap:25px;margin-right:22px}.last-cta{text-align:center;padding:95px 24px 100px;background:#181818;color:white}.last-cta h2{font-size:clamp(40px,5vw,64px);line-height:1.5;letter-spacing:-2px;margin:20px 0 32px}.last-cta .micro{color:#b4b4b0}footer{padding:40px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .logo{font-size:2.25rem}footer p,footer>a:last-child{font-size:0.75rem;color:var(--muted)}.mobile-book{display:none}
@media(min-width:1500px){.hero-copy{padding-top:90px;padding-bottom:75px}.hero-photo{min-height:840px}}@media(max-width:1050px){.hero-copy{padding:40px 8%}.hero-photo{min-height:690px}.hero-en{letter-spacing:-4px}.button{gap:20px;padding:18px 20px;font-size:0.875rem}.section{padding:78px 5%}.section-heading{align-items:start}.styles{gap:18px}.style-title{display:block}.style-title>span{display:block;margin-top:4px}.style-title h3{font-size:1.1875rem}.consult{display:block}.consult .button{margin-top:22px}.reason-section{gap:5%}.reason-intro h2{font-size:1.6875rem}.menu-row h3{font-size:1.125rem}.price{font-size:1.875rem}.faq-section{padding-top:0}.header nav{gap:24px;margin-right:30px}}@media(max-width:700px){html{scroll-padding-top:20px}.header{height:72px;padding:0 6%}.logo{font-size:2.4375rem;gap:16px}.logo span{font-size:0.75rem;padding-left:16px}.header nav{display:none}.header-book{font-size:0.75rem;gap:17px}.hero{grid-template-columns:1fr;display:flex;flex-direction:column}.hero-copy{padding:31px 6% 28px;order:1;position:relative}.hero-copy>.eyebrow{font-size:0.75rem}.hero-en{font-size:clamp(56px,17vw,90px);letter-spacing:-3px;line-height:.93;margin:20px 0 22px}.hero h1{font-size:1.5625rem;line-height:1.55;letter-spacing:0}.hero-desc{font-size:0.875rem;margin:15px 0 21px}.hero-photo{order:2;min-height:0;aspect-ratio:1.15;max-height:530px}.hero-photo img{object-position:50% 37%}.photo-mark{font-size:1.25rem;bottom:25px;left:6%}.photo-caption{bottom:25px;right:6%;font-size:0.75rem}.hero-bottom{order:3;padding:16px 6%;font-size:0.75rem}.hero-bottom a{gap:20px;font-size:0.75rem}.hero-copy .button{width:100%;font-size:0.9375rem;min-height:58px;padding:15px 20px}.hero-copy .micro{text-align:center;font-size:0.75rem}.intro-strip{display:block;padding:24px 6%}.intro-strip p{font-size:0.8125rem}.intro-strip span{font-size:0.75rem;display:block;margin-top:5px}.section{padding:64px 6%}.eyebrow{font-size:0.75rem;letter-spacing:1.5px}.section-heading{display:block;margin-bottom:30px}.section h2{font-size:1.625rem;letter-spacing:-1px;margin-top:12px}.section-heading>p{font-size:0.8125rem;margin-top:15px}.styles{grid-template-columns:1fr;gap:40px}.style-img{aspect-ratio:4/4.5}.style-img img{object-position:50% 38%}.style-title{display:flex;margin-top:16px}.style-title h3{font-size:1.375rem}.style-title>span{font-size:0.75rem}.style-card p{font-size:0.875rem}.style-card .text-link{font-size:0.8125rem}.gallery-note{font-size:0.75rem}.reason-section{display:block}.reason-intro>p:not(.eyebrow){font-size:0.875rem;margin:18px 0}.reason-intro .text-link{max-width:none}.reasons{margin-top:40px}.reasons article{gap:17px;padding:22px 0}.reasons h3{font-size:1.125rem}.reasons p{font-size:0.875rem}.menu-row{grid-template-columns:1fr auto;gap:12px;padding:23px 0;position:relative}.menu-row>div:first-child{grid-column:1/-1}.menu-row h3{font-size:1.0rem;margin-top:10px}.menu-row p{font-size:0.8125rem}.price{font-size:1.875rem}.row-arrow{text-align:right}.small{font-size:0.75rem}.consult{padding:25px 22px;margin-top:30px}.consult h3{font-size:1.1875rem}.consult .button{width:100%;font-size:0.75rem;gap:12px}.consult p:not(.eyebrow):not(.small){font-size:0.8125rem}.faq-section{display:block;padding-top:0}.faqs{margin-top:28px}summary{font-size:0.875rem;gap:20px;padding:20px 0}details p{padding-right:0}.access-section{display:block}.access-brand{margin-bottom:44px}.big-logo{font-size:6.5625rem;margin-top:24px}.access-data h2{font-size:1.375rem}.access-data dd{font-size:0.875rem}.access-data .text-link{font-size:0.8125rem}.last-cta{padding:65px 6%}.last-cta h2{font-size:2.625rem;letter-spacing:-1px}.last-cta .button{width:100%;font-size:0.9375rem}footer{padding:28px 6% 110px;flex-wrap:wrap}footer .logo{font-size:2.0rem}footer p{margin-left:auto;font-size:0.75rem}footer>a:last-child{margin-left:auto}.mobile-book{display:grid;grid-template-columns:95px 1fr;position:fixed;bottom:0;left:0;right:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#f7f7f4fa;border-top:1px solid #d4d4d0;z-index:20;box-shadow:0 -3px 20px #0000000a}.mobile-book>a{display:flex;align-items:center;justify-content:center;font-size:0.875rem;min-height:50px}.mobile-book>a:last-child{background:var(--blue);color:white;gap:25px;font-weight:700}.mobile-book .mobile-menu{font-size:0.75rem;text-decoration:underline}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.style-card p,.reasons p,details p,.reason-intro>p:not(.eyebrow){font-size:1rem}

/* Official supplied artwork: preserve its pixels and crop only white space in CSS. */
.logo{display:block;line-height:1;letter-spacing:normal}
.logo .official-logo,.official-logo{position:relative;display:block;overflow:hidden;width:142px;aspect-ratio:640 / 300;padding:0;border:0;margin:0;mix-blend-mode:multiply}
.official-logo>img{position:absolute;display:block;width:279.53125%;max-width:none;height:auto;left:-89.84375%;top:-161.66667%;object-fit:initial}
.access-brand .official-logo{width:285px;max-width:100%;margin:30px 0 26px}
footer .logo .official-logo{width:128px}
.header{background:#fff;height:100px}
.header .logo{flex-shrink:0}

/* A quiet location film, using a still photograph with a camera-like drift. */
.cinematic-hero{isolation:isolate;background:#292c2b;color:#fff}
.ambient-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-2}
.ambient-backdrop .ambient-image{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.09);filter:saturate(.62);animation:city-drift 32s ease-in-out infinite alternate;will-change:transform}
.cinematic-hero:before{content:"";position:absolute;inset:0 0 61px;background:linear-gradient(90deg,rgba(15,19,18,.80) 0%,rgba(15,19,18,.66) 40%,rgba(15,19,18,.15) 100%);z-index:-1;pointer-events:none}
.cinematic-hero .hero-copy{padding-top:66px;padding-bottom:64px;background:transparent}
.cinematic-hero .hero-copy .eyebrow{color:#dfdfda}
.cinematic-hero .hero-copy .micro{color:#d7d9d4}
.cinematic-hero .hero-en{font-weight:700;letter-spacing:-5px}
.cinematic-hero .hero-en>span{color:#a9bbff}
.cinematic-hero .hero-desc{color:#eeeeea}
.cinematic-hero .hero-photo{min-height:620px;margin:70px 9% 54px 0;box-shadow:0 20px 60px #0004;border:1px solid #ffffff30}
.cinematic-hero .hero-photo>img{animation:portrait-drift 24s ease-in-out infinite alternate;transform:scale(1.025)}
.cinematic-hero .hero-bottom{background:var(--paper);color:var(--ink)}
.motion-toggle{position:absolute;right:4.5%;top:16px;z-index:3;display:flex;align-items:center;gap:9px;background:rgba(18,22,21,.70);color:#fff;border:1px solid #ffffff70;padding:8px 12px;border-radius:0;font:inherit;font-size:.75rem;cursor:pointer;min-height:36px}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{background:rgba(18,22,21,.95)}
.motion-toggle:focus-visible{outline:3px solid #b9c9ff;outline-offset:4px}
.motion-icon{width:12px;display:inline-block;text-align:center;font-size:.875rem}
.last-cta{position:relative;isolation:isolate;overflow:hidden;background:#252c28}
.last-cta:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(12,20,16,.72);pointer-events:none}
.last-cta .ambient-image{object-position:60% 55%;animation-duration:38s;animation-delay:-12s}
.last-cta-content{position:relative}
.last-cta .micro{color:#e4e6e0}
@keyframes city-drift{from{transform:scale(1.09) translate3d(-1.2%,-.6%,0)}to{transform:scale(1.18) translate3d(1.2%,.6%,0)}}
@keyframes portrait-drift{from{transform:scale(1.025) translate3d(0,0,0)}to{transform:scale(1.075) translate3d(0,-.6%,0)}}
html.motion-paused .ambient-image,html.motion-paused .cinematic-hero .hero-photo>img,html.page-hidden .ambient-image,html.page-hidden .cinematic-hero .hero-photo>img{animation-play-state:paused}
@media(min-width:1500px){.cinematic-hero .hero-photo{min-height:750px}.cinematic-hero .hero-copy{padding-top:90px}}
@media(max-width:1050px){.cinematic-hero .hero-photo{min-height:600px;margin-right:8%}.cinematic-hero .hero-copy{padding-top:70px}.cinematic-hero .hero-en{letter-spacing:-4px}}
@media(max-width:700px){.header{height:86px}.logo .official-logo{width:120px}.header-book{font-size:.875rem}.cinematic-hero .hero-copy{padding:64px 6% 27px}.cinematic-hero:before{inset:0 0 57px;background:linear-gradient(120deg,rgba(12,18,14,.79),rgba(12,18,14,.43))}.cinematic-hero .hero-en{font-size:clamp(3.5rem,17vw,5.625rem);letter-spacing:-3px;margin-top:18px}.cinematic-hero .hero-photo{margin:0 6% 25px;min-height:0;aspect-ratio:1.15;width:88%;border:1px solid #ffffff60;box-shadow:0 16px 35px #0003}.cinematic-hero .hero-photo>img{object-position:50% 37%}.motion-toggle{right:6%;top:13px;padding:7px 10px;font-size:.75rem}.cinematic-hero .hero-desc{font-size:1rem}.cinematic-hero .hero-copy .micro{font-size:.75rem}.access-brand .official-logo{width:245px;margin-top:24px;margin-bottom:28px}footer .logo .official-logo{width:116px}.last-cta{padding-top:76px;padding-bottom:76px}.ambient-backdrop .ambient-image{object-position:60% center}}
@media(prefers-reduced-motion:reduce){.ambient-backdrop .ambient-image,.cinematic-hero .hero-photo>img{animation:none!important;transform:scale(1.04);will-change:auto}}

/* Authentic Sendai interior photography; keep an unobscured view of the space. */
.cinematic-hero .ambient-image{filter:none;object-position:50% 55%}
.cinematic-hero:before{background:linear-gradient(90deg,rgba(12,15,17,.81),rgba(12,15,17,.60) 46%,rgba(12,15,17,.08))}
.cinematic-hero .hero-photo>img{object-position:50% 52%}
.cinematic-hero .photo-mark{text-shadow:0 2px 14px #0008}
.interior-section{background:#e8e9e8;padding-bottom:84px}
.interior-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:28px}
.interior-gallery figure{margin:0;min-width:0}
.interior-gallery img{height:auto;object-fit:cover}
.interior-wide{grid-column:1/-1}
.interior-wide img{aspect-ratio:1561 / 1048;object-fit:contain;background:#d6d7d6}
.interior-detail img,.interior-reception img{height:440px;object-position:50% 56%}
.interior-detail img{object-position:50% 62%}
.interior-gallery figcaption{display:flex;gap:24px;align-items:baseline;justify-content:space-between;padding:13px 0 4px;font-size:.875rem}
.interior-gallery figcaption span{font-size:.75rem;letter-spacing:1px;white-space:nowrap}
.last-cta .ambient-image{filter:none;object-position:50% 48%}
.last-cta:before{background:rgba(13,16,18,.68)}
@media(min-width:1000px){.interior-gallery{grid-template-columns:2.1fr 1fr;gap:26px}.interior-wide{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column}.interior-wide img{flex:1;min-height:0;object-fit:cover;aspect-ratio:auto}.interior-detail img,.interior-reception img{height:260px}.interior-gallery figcaption{display:block;font-size:.875rem}.interior-gallery figcaption span{display:block;margin-bottom:4px}}
@media(max-width:700px){.cinematic-hero .hero-photo{aspect-ratio:743 / 820;max-height:none}.cinematic-hero .hero-photo>img{object-position:50% 48%}.cinematic-hero:before{background:linear-gradient(110deg,rgba(12,15,17,.82),rgba(12,15,17,.45))}.interior-section{padding-top:48px;padding-bottom:48px}.interior-gallery{grid-template-columns:1fr 1fr;gap:22px 14px}.interior-detail img,.interior-reception img{height:auto;aspect-ratio:3 / 4}.interior-gallery figcaption{display:block;font-size:.75rem;line-height:1.7}.interior-gallery figcaption span{display:block;font-size:.75rem;margin-bottom:4px}.interior-wide img{aspect-ratio:1561 / 1048}}

/* Frame the selected hairstyle clearly in the main photograph. */
.cinematic-hero .hero-photo>img{object-position:50% 40%}
@media(max-width:700px){.cinematic-hero .hero-photo{aspect-ratio:1.15}.cinematic-hero .hero-photo>img{object-position:50% 37%}}

a.style-img{display:block}a.style-img:hover img{transform:scale(1.025)}

/* Requested Bold families: Sans for gothic text, Serif for existing serif text. */
button,input,select,textarea{font-family:"Noto Sans JP",sans-serif;font-weight:700}
.cinematic-hero .hero-en{letter-spacing:-.035em}
.section h2,.last-cta h2{letter-spacing:-.02em}

/* Emotional brand copy in Noto Serif JP Bold. */
.cinematic-hero .hero-copy h1,.cinematic-hero .hero-desc{font-family:"Noto Serif JP",serif;font-weight:700;letter-spacing:.035em}
.cinematic-hero .hero-copy h1{line-height:1.8}
.cinematic-hero .hero-desc{line-height:2}
