:root{--ink:#191d22;--paper:#eaeaea;--gap:1vw;--edge:2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.2;letter-spacing:-.035em}p+p{margin-top:1.5em}.sample-bar{background:#191d22;color:#fff;font-size:12px}.sample-bar__inner{min-height:38px;display:flex;justify-content:center;align-items:center;gap:12px;padding:7px 16px}.sample-bar a{text-decoration:underline}.hero{position:relative}.hero__bg{height:calc(100svh - 38px);min-height:600px;position:relative;isolation:isolate;overflow:hidden;color:white;background:#333}.hero__bg>img{width:100%;height:100%;position:absolute;inset:0;z-index:-2;object-position:50% 52%;animation:arrive 1.5s ease-out both}.hero__bg:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 50%,rgba(0,0,0,.32))}.hero__eyebrow{position:absolute;bottom:20px;left:2vw;font-size:clamp(62px,7.6vw,118px);font-weight:700;letter-spacing:-.065em;line-height:1.05;white-space:nowrap;animation:rise 1s ease both}.opening-nav{position:absolute;top:30px;left:16%;display:flex;flex-direction:column;gap:2px;font-size:15px;line-height:1.35}.opening-nav p{margin:0}.seal{position:absolute;top:28px;left:2vw;color:#fff;font-size:16px;line-height:1.3}.hero__tel{position:absolute;top:28px;right:2vw;color:#fff;border:1px solid rgba(255,255,255,.8);border-radius:50%;padding:16px 23px;font-size:15px}.scroll-mark{position:absolute;top:calc(100svh - 80px);right:2vw;color:#fff;font-size:13px}.hero__inner{padding:0 2vw}.hero__panel{padding:144px 0 80px}.hero__top h2{text-align:center;font-size:51.2px;line-height:57.6px;font-weight:400;letter-spacing:-1.664px}.hero__lead{max-width:585px;margin:54px auto 0;font-size:15.2px;line-height:25.84px}.hero__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1vw;margin-top:80px;border-top:1px solid;padding-top:24px}.hero__card strong{display:block;font-size:23.2px;font-weight:400}.hero__card span{display:block;font-size:15.2px;margin-top:14px}.hero__sub{font-size:15.2px;margin-top:48px}.hero__side{display:flex;justify-content:flex-end;padding:0 0 100px}.hero__note{width:50%;display:grid;grid-template-columns:1fr 2fr;gap:24px}.hero__note h2{font-size:23.2px}.hero__note p{font-size:15.2px}.wrap{width:100%;margin:auto}main{padding:0 2vw}main>section{padding:144px 0;border-top:1px solid}.intro__grid{display:grid;grid-template-columns:2fr 1fr;gap:8vw}.intro__title{font-size:51.2px;line-height:1.125;letter-spacing:-1.664px}.intro__text{max-width:585px;margin-top:40px;font-size:15.2px;line-height:25.84px}.intro__list{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:56px}.intro__item strong{font-size:23.2px;font-weight:400;display:block}.intro__item span{display:block;margin-top:10px;font-size:15.2px}.intro__aside{padding-top:10px}.intro__aside .label{color:var(--ink)!important;font-size:16px}.intro__aside h3{font-size:39.2px;line-height:1.2;margin:40px 0 28px}.intro__aside>p:last-child{font-size:15.2px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-bottom:64px;align-items:start}.section-head h2{font-size:39.2px;line-height:47.04px}.section-head>p:last-child{max-width:500px;font-size:15.2px;line-height:25.84px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 1vw}.service-card{padding-top:22px;border-top:1px solid;position:relative;min-height:260px}.service-card__num{font-size:16px}.service-card h3{font-size:39.2px;margin:26px 0}.service-card p{max-width:420px;font-size:15.2px}.service-card:nth-child(2){background:var(--ink);color:var(--paper);padding:22px 26px 30px}.flow__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1vw}.flow-step{border-top:1px solid;padding-top:22px}.flow-step__no{font-size:60px;line-height:1}.flow-step h3{font-size:23.2px;margin:36px 0 20px}.flow-step p{font-size:15.2px}.pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1vw}.price-card{padding:26px 18px 30px;border-top:1px solid}.price-card__tag{font-size:15.2px}.price-card h3{font-size:23.2px;margin:32px 0}.price-card__price{font-size:32px;line-height:1.4;letter-spacing:-.04em;margin-bottom:30px}.price-card__price small{font-size:15px;display:block;margin-top:10px}.price-card p:not(.price-card__price),.price-card__note{font-size:15.2px;line-height:25.84px}.price-card__note{border-top:1px solid;margin-top:30px;padding-top:20px}.price-card--featured{background:#d6d8d7}.gallery__grid{display:grid;grid-template-columns:2fr 1fr;gap:1vw}.gallery__main img{width:100%;aspect-ratio:1.45}.gallery__caption{font-size:15.2px;max-width:600px;margin-top:20px}.gallery__stack{display:grid;grid-template-columns:1fr 1fr;gap:1vw;align-items:start}.gallery__item:nth-child(2){margin-top:100px}.gallery__item img{width:100%;aspect-ratio:.7}.gallery__item span{font-size:15.2px;display:block;margin-top:12px}.greeting__grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.portrait img{width:100%;aspect-ratio:.95}.greeting__name{font-size:23.2px;margin-bottom:35px}.greeting__card p{font-size:15.2px;line-height:25.84px}.career{border-top:1px solid;margin-top:40px;padding-top:20px}.career h3{font-size:23.2px}.career ul{padding-left:1.2em;font-size:15.2px}.career li+li{margin-top:12px}.info__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw}.info-card h3{font-size:23.2px;border-bottom:1px solid;padding-bottom:20px}.info-card dl{margin:0}.info-card dl>div{padding:22px 0;border-bottom:1px solid #aaa}.info-card dt{font-size:15.2px;margin-bottom:8px}.info-card dd{font-size:15.2px;margin:0}.contact-box{margin-top:100px;display:grid;grid-template-columns:2fr 1fr;gap:5vw;align-items:center}.contact-box h3{font-size:39.2px}.contact-box p{font-size:15.2px;margin-top:24px;max-width:585px}.contact-box a{font-size:30px;text-decoration:underline;text-underline-offset:8px}footer{margin:0 2vw;padding:40px 0 80px;border-top:1px solid}.footer__inner{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.footer__inner strong{font-size:28px;line-height:1.4;font-weight:400}.footer__inner>div{font-size:15px}.reveal{opacity:1}.reveal.enter{animation:rise .8s ease both}.gallery__item,.gallery__main,.portrait{overflow:hidden}.gallery__item img,.gallery__main img,.portrait img{transition:transform .7s}.gallery__item:hover img,.gallery__main:hover img,.portrait:hover img{transform:scale(1.035)}#noren-direct-reception{--noren-font:Arial,"Hiragino Kaku Gothic ProN",sans-serif!important;--noren-accent:#252b31!important;--noren-accent2:#252b31!important;--noren-radius:0px!important;--noren-radius-s:0px!important}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes arrive{from{transform:scale(1.04)}to{transform:scale(1)}}
@media(max-width:700px){body{font-size:15px}.sample-bar__inner{flex-direction:column;gap:0;font-size:10px;min-height:44px;padding:5px 8px}.hero__bg{height:calc(100svh - 44px);min-height:600px}.hero__bg>img{object-position:53% center}.hero__eyebrow{font-size:13.3vw;white-space:normal;width:95%;line-height:.98;letter-spacing:-.05em;bottom:22px;max-width:370px}.opening-nav{left:42%;top:26px;font-size:15px}.seal{top:26px;left:4vw;font-size:15px}.hero__tel{top:220px;left:4vw;right:auto;font-size:15px;padding:12px 16px}.scroll-mark{top:calc(100svh - 65px);right:4vw;font-size:12px}.hero__inner,main{padding:0 5vw}.hero__panel{padding:88px 0 56px}.hero__top h2{font-size:30px;line-height:1.45;letter-spacing:-1px}.hero__lead{margin-top:36px}.hero__grid{grid-template-columns:1fr 1fr;gap:30px 18px;margin-top:48px}.hero__card strong{font-size:20px}.hero__sub{margin-top:30px}.hero__side{padding-bottom:72px}.hero__note{width:100%;display:block}.hero__note h2{margin-bottom:20px}.hero__lead,.hero__card span,.hero__sub,.hero__note p{font-size:15px;line-height:1.8}main>section{padding:80px 0}.intro__grid,.section-head,.greeting__grid,.info__grid,.contact-box{grid-template-columns:1fr;gap:35px}.intro__title{font-size:32px;line-height:1.4;letter-spacing:-1px}.intro__list{gap:26px 18px}.intro__item strong{font-size:20px}.intro__aside{border-top:1px solid;padding-top:30px}.intro__aside h3{font-size:32px;margin:26px 0}.section-head{margin-bottom:44px}.section-head h2{font-size:32px;line-height:1.4}.service-grid,.pricing__grid{grid-template-columns:1fr;gap:35px}.service-card{min-height:0;padding-bottom:25px}.service-card h3{font-size:36px;margin:20px 0}.flow__grid{grid-template-columns:1fr 1fr;gap:40px 20px}.flow-step h3{font-size:21px}.flow-step__no{font-size:48px}.price-card{padding:25px 16px}.price-card__price{font-size:32px}.gallery__grid{grid-template-columns:1fr;gap:40px}.gallery__main img{aspect-ratio:1}.gallery__stack{gap:20px}.gallery__item:nth-child(2){margin-top:60px}.gallery__item img{aspect-ratio:.8}.greeting__grid{gap:35px}.portrait img{aspect-ratio:1.2}.info__grid{gap:45px}.contact-box{margin-top:65px}.contact-box h3{font-size:30px;line-height:1.4}.contact-box a{font-size:28px}.footer__inner{grid-template-columns:1fr;gap:30px}footer{margin:0 5vw;padding:35px 0 55px}.footer__inner strong{font-size:25px}.intro__text,.intro__item span,.intro__aside>p:last-child,.section-head>p:last-child,.service-card p,.flow-step p,.price-card p:not(.price-card__price),.price-card__note,.gallery__caption,.gallery__item span,.greeting__card p,.career ul,.info-card dt,.info-card dd,.contact-box p{font-size:15px;line-height:1.85}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:701px){.hero__eyebrow{font-size:8.639vw;line-height:1}.opening-nav{left:12.3%}.hero__panel{min-height:939px}.service-card:nth-child(2){background:transparent;color:inherit;padding:22px 0 25px}.service-card>img{width:100%;height:320px;margin-bottom:25px}#photos .section-head h2{font-size:15.2px;line-height:25.84px}.gallery__main img{aspect-ratio:2.8}.gallery__item img{aspect-ratio:1}.gallery__item:nth-child(2){margin-top:40px}#greeting .section-head h2{font-size:23.2px;line-height:30.16px}.opening-nav{position:fixed;top:68px;z-index:10}.past-opening .opening-nav{color:#191d22;background:#eaeaea;padding:12px 16px;left:calc(12.3% - 16px);top:20px;border:1px solid #aaa}.past-opening .opening-nav p{font-size:15px}}
@media(max-width:700px){.service-card>img{width:100%;height:200px;margin-bottom:25px}.service-card:nth-child(2){background:transparent;color:inherit;padding:22px 0 25px}}
@media(min-width:701px){.past-opening .opening-nav{left:2vw;right:2vw;top:12px;display:flex;flex-direction:row;justify-content:center;gap:30px;padding:8px 16px;background:#eaeaea;border:1px solid #aaa}}
.hero__panel,.hero__side{animation:none!important;transform:none!important}
@media(min-width:701px){.opening-nav,.past-opening .opening-nav{position:fixed;left:12.3%;right:auto;top:68px;display:flex;flex-direction:column;justify-content:start;gap:2px;padding:0;background:transparent;border:0;color:white;transition:transform .3s,opacity .3s}.past-opening .opening-nav{opacity:0;transform:translateY(-20px);pointer-events:none}}
