:root{--c-bg:#F7F4EC;--c-bg-sub:#ECE7DB;--c-ink:#23261F;--c-ink-sub:#565A4F;--c-line:rgba(35,38,31,.16);--c-brand:#1F4A2E;--c-brand-deep:#163821;--c-gold:#B8955A;--c-gold-text:#7A5C25;--c-on-dark:#F3EFE4;--c-on-dark-sub:#C9CCBE;--c-gold-on-dark:#D9BC86;--c-field:#7D8076;--font-ja-serif:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--w-serif:500;--font-en:"Cormorant Garamond","Times New Roman",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","YuGothic","Meiryo",sans-serif;--container:1240px;--gutter:clamp(20px,4.5vw,56px);--section:clamp(88px,11vw,160px);--header-h:64px;--ease:cubic-bezier(.22,.61,.36,1)}@media(min-width:1100px){:root{--header-h:80px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-synthesis-weight:none;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--font-sans);font-size:1rem;line-height:1.95;letter-spacing:.04em;overflow-wrap:anywhere}img{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3,h4{margin:0;font-family:var(--font-ja-serif);font-weight:var(--w-serif);line-height:1.55;letter-spacing:.06em}p,ul,ol,dl,dd,figure{margin:0;padding:0}address{font-style:normal}:focus-visible{outline:3px solid var(--c-brand);outline-offset:3px}.section--dark :focus-visible,.footer :focus-visible,.cta-band :focus-visible,.hero :focus-visible{outline-color:var(--c-gold-on-dark)}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-100px;z-index:100;padding:.75em 1em;background:var(--c-brand);color:var(--c-on-dark)}.skip-link:focus{top:8px}.measure{max-width:38em}.jp{word-break:keep-all;overflow-wrap:anywhere}.section{padding-block:var(--section)}.section--sub{background:var(--c-bg-sub)}.section--dark{background:var(--c-brand);color:var(--c-on-dark)}.section--tight{padding-block:clamp(56px,7vw,96px)}.sh{margin-bottom:clamp(36px,4.5vw,64px)}.sh--center{text-align:center}.sh__label{display:flex;flex-wrap:wrap;align-items:center;gap:.3em 1em;color:var(--c-gold-text)}.sh--center .sh__label{justify-content:center}.sh__num{display:inline-flex;align-items:center;gap:1em;font-family:var(--font-en);font-size:1.15rem;font-weight:600;letter-spacing:.06em;font-variant-numeric:lining-nums tabular-nums}.sh__num:after{content:"";width:2.6em;height:1px;background:var(--c-gold);transform-origin:left center;transition:transform 1s var(--ease) .1s}.sh__text{font-family:var(--font-ja-serif);font-size:.88rem;font-weight:var(--w-serif);letter-spacing:.18em}.sh__title{margin-top:.6em;font-size:clamp(1.55rem,3.4vw,2.5rem);line-height:1.5}.sh__mask{display:inline-block;padding-bottom:.08em;transition:transform 1s var(--ease) .15s,opacity .8s var(--ease) .15s}.sh--dark .sh__label{color:var(--c-gold-on-dark)}.lede{font-family:var(--font-ja-serif);font-size:clamp(1.12rem,1.9vw,1.36rem);line-height:2.05;letter-spacing:.08em}.prose>*+*{margin-top:1.2em}.note{font-size:.875rem;color:var(--c-ink-sub)}.section--dark .note{color:var(--c-on-dark-sub)}.features{list-style:none;display:grid;gap:.4em}.features li{position:relative;padding-left:1.6em}.features li:before{content:"";position:absolute;left:0;top:.95em;width:.9em;height:1px;background:var(--c-gold)}.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:52px;padding:.8em 1.7em;border:1px solid transparent;border-radius:2px;font-size:.95rem;font-weight:500;letter-spacing:.1em;line-height:1.5;text-decoration:none;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}.btn:after{content:"→";font-family:var(--font-en);transition:transform .25s var(--ease)}.btn:hover:after{transform:translate(3px)}.btn--primary{background:var(--c-brand);color:var(--c-on-dark)}.btn--ghost{border-color:var(--c-ink);color:var(--c-ink)}.btn--ghost:hover{color:var(--c-bg)}.btn--light{background:var(--c-on-dark);color:var(--c-brand)}.btn--light:hover{background:#fff}.btn--outline-light{border-color:#f3efe4bf;color:var(--c-on-dark)}.btn--outline-light:hover{background:#f3efe424}.btn--sm{min-height:40px;padding:.45em 1em;font-size:.8rem;letter-spacing:.06em}.btn--sm:after{display:none}.link-arrow{display:inline-flex;align-items:center;gap:.6em;padding-block:.6em;font-weight:500;letter-spacing:.08em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.5em}.link-arrow:after{content:"→";font-family:var(--font-en);text-decoration:none;transition:transform .25s var(--ease)}.link-arrow:hover:after{transform:translate(3px)}.photo{position:relative;overflow:hidden;background:var(--c-bg-sub)}.photo img{width:100%;height:100%;object-fit:cover}.photo--hero{height:100%}.photo--band{aspect-ratio:16 / 7}.photo--landscape{aspect-ratio:4 / 3}.photo--square{aspect-ratio:1 / 1}.photo--portrait{aspect-ratio:4 / 5}@media(max-width:767px){.photo--band{aspect-ratio:3 / 2}}.photo--pending{display:grid;place-items:center;background:linear-gradient(140deg,var(--c-brand) 0%,var(--c-brand-deep) 100%)}.photo__mark{font-family:var(--font-en);font-size:clamp(1.2rem,2.4vw,1.8rem);letter-spacing:.14em;color:#d9bc8680}.photo__shot,.text-slot{font-family:var(--font-sans);font-size:.8rem;line-height:1.7;letter-spacing:.04em;background:#fff6d6;color:#5a4300;border:1px dashed #B08A00}.photo__shot{position:absolute;left:12px;right:12px;bottom:12px;padding:.5em .8em}.text-slot{margin-block:1em;padding:.8em 1em}.band .photo{width:100%}.split{display:grid;gap:clamp(32px,5vw,80px);align-items:center}@media(min-width:900px){.split{grid-template-columns:repeat(12,minmax(0,1fr))}.split>.split__media{grid-column:1 / span 6}.split>.split__body{grid-column:8 / span 5}.split--reverse>.split__media{grid-column:7 / span 6;grid-row:1}.split--reverse>.split__body{grid-column:1 / span 5;grid-row:1}}.split__body>*+*{margin-top:clamp(20px,2.4vw,32px)}.split__body>.sh{margin-bottom:0}.facts{border-top:1px solid var(--c-line)}.facts>div{display:grid;gap:.2em 2em;padding:1.05em 0;border-bottom:1px solid var(--c-line)}@media(min-width:640px){.facts>div{grid-template-columns:10em minmax(0,1fr)}}.facts dt{font-size:.85rem;font-weight:500;letter-spacing:.12em;color:var(--c-gold-text)}.facts dd ul{list-style:none}.facts a{display:inline-block;padding-block:.2em}.section--dark .facts,.section--dark .facts>div{border-color:#f3efe438}.section--dark .facts dt{color:var(--c-gold-on-dark)}.values{display:grid;gap:clamp(40px,5vw,72px)}@media(min-width:900px){.values{grid-template-columns:1.4fr 1fr}}.values__title{padding-bottom:.8em;border-bottom:1px solid rgba(243,239,228,.22);font-size:1.05rem;letter-spacing:.2em;color:var(--c-gold-on-dark)}.values__philosophy{list-style:none;margin-top:1.4em;display:grid;gap:1em}.values__philosophy li{font-family:var(--font-ja-serif);font-size:1.05rem;line-height:2}.values__principles{list-style:none;margin-top:1.4em;display:grid;gap:.6em}.values__principles li{font-family:var(--font-ja-serif);font-size:1.1rem;letter-spacing:.12em}.values__principles li:before{content:"一、";color:var(--c-gold-on-dark)}.flow__title{font-size:1.3rem;letter-spacing:.12em}.flow__steps{list-style:none;display:grid;gap:0;margin-top:1.6em;border-top:1px solid var(--c-line)}.flow__step{display:grid;grid-template-columns:3.2em minmax(0,1fr);gap:.2em 1em;padding:1.4em 0;border-bottom:1px solid var(--c-line)}.flow__num{grid-row:span 2;font-family:var(--font-en);font-size:1.9rem;font-weight:600;line-height:1.1;font-variant-numeric:lining-nums tabular-nums;color:var(--c-gold-text)}.flow__step-title{font-size:1.1rem}.flow__step p{color:var(--c-ink-sub)}@media(min-width:900px){.flow__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);border-top:0}.flow__step{grid-template-columns:1fr;border-bottom:0;border-top:1px solid var(--c-ink);padding-top:1.6em}.flow__num{grid-row:auto}}.header{position:sticky;top:0;z-index:50;background:#f7f4ecf2;-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--c-line);transition:box-shadow .4s var(--ease)}.header.is-scrolled{box-shadow:0 6px 24px -12px #23261f47}.header__inner{display:flex;align-items:center;gap:16px;height:var(--header-h)}.brand{display:flex;flex-direction:column;justify-content:center;min-height:44px;margin-right:auto;text-decoration:none;line-height:1.1}.brand__mark{font-family:var(--font-en);font-size:1.55rem;font-weight:600;letter-spacing:.04em;color:var(--c-brand)}.brand__sub{display:none;margin-top:.3em;font-size:.68rem;letter-spacing:.14em;color:var(--c-ink-sub)}@media(min-width:768px){.brand__sub{display:block}}.gnav{display:none}@media(min-width:1200px){.gnav{display:block}.gnav ul{display:flex;gap:clamp(14px,1.4vw,26px);list-style:none}.gnav a{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem;font-weight:500;letter-spacing:.1em;white-space:nowrap;text-decoration:none;color:var(--c-ink);background:linear-gradient(var(--c-gold),var(--c-gold)) left calc(100% - 9px) / 0 1px no-repeat;transition:background-size .35s var(--ease),color .25s var(--ease)}.gnav a:hover{color:var(--c-brand)}.gnav a:hover,.gnav a[aria-current=page]{background-size:100% 1px}}.header__actions{display:flex;align-items:center;gap:10px}.header__sns{display:none;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--c-brand);transition:background-color .25s var(--ease),color .25s var(--ease)}.header__sns:hover{background:var(--c-brand);color:var(--c-on-dark)}@media(min-width:480px){.header__sns{display:grid}}@media(max-width:399px){.header__inner,.header__actions{gap:8px}.brand__mark{font-size:1.3rem}.header__cta{padding-inline:.75em}}.menu__toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--c-line);border-radius:2px;cursor:pointer;list-style:none}.menu__toggle::-webkit-details-marker{display:none}.menu__bars,.menu__bars:before,.menu__bars:after{display:block;width:18px;height:1.5px;background:var(--c-ink);transition:transform .25s var(--ease),background-color .2s}.menu__bars{position:relative}.menu__bars:before,.menu__bars:after{content:"";position:absolute;left:0}.menu__bars:before{top:-6px}.menu__bars:after{top:6px}.menu[open] .menu__bars{background:transparent}.menu[open] .menu__bars:before{transform:translateY(6px) rotate(45deg)}.menu[open] .menu__bars:after{transform:translateY(-6px) rotate(-45deg)}.menu__label--close,.menu[open] .menu__label--open{display:none}.menu[open] .menu__label--close{display:inline}.menu__panel{position:absolute;left:0;right:0;top:var(--header-h);max-height:calc(100svh - var(--header-h));overflow-y:auto;padding:8px var(--gutter) 32px;background:var(--c-bg);border-bottom:1px solid var(--c-line)}.menu__panel ul{list-style:none}.menu__panel li+li{border-top:1px solid var(--c-line)}.menu__panel li a{display:flex;align-items:baseline;gap:1.2em;padding:14px 0;text-decoration:none}.menu__num{min-width:1.6em;font-family:var(--font-en);font-size:.95rem;font-weight:600;font-variant-numeric:lining-nums tabular-nums;color:var(--c-gold-text)}.menu__label{font-family:var(--font-ja-serif);font-size:1.05rem;font-weight:var(--w-serif);letter-spacing:.12em}.menu__panel a[aria-current=page] .menu__label{color:var(--c-brand);text-decoration:underline;text-underline-offset:.4em}.menu__tel,.menu__sns{display:flex;align-items:center;min-height:44px;font-weight:500;letter-spacing:.06em}.menu__tel{margin-top:16px}.menu[open] .menu__panel li{animation:menu-in .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(min-width:1200px){.menu{display:none}}.pagehead{padding-block:clamp(28px,4vw,48px) clamp(56px,8vw,104px);border-bottom:1px solid var(--c-line)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.2em .8em;list-style:none;font-size:.8rem;color:var(--c-ink-sub)}.breadcrumb li+li:before{content:"/";margin-right:.8em;color:var(--c-gold)}.breadcrumb a{display:inline-block;padding-block:.35em}.pagehead__title{margin-top:clamp(36px,5vw,64px);font-size:clamp(1.9rem,5vw,3.3rem);letter-spacing:.1em;overflow:hidden}.pagehead__mask{display:inline-block;padding-bottom:.08em;animation:rise-in 1.1s var(--ease) .1s both}.pagehead__lead{margin-top:1.4em;max-width:38em;color:var(--c-ink-sub);animation:fade-up 1s var(--ease) .35s both}@keyframes rise-in{0%{transform:translateY(105%)}to{transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.cta-band{background:var(--c-brand);color:var(--c-on-dark);padding-block:clamp(72px,9vw,128px)}.cta-band__inner{display:grid;gap:32px;align-items:end}@media(min-width:900px){.cta-band__inner{grid-template-columns:minmax(0,1fr) auto}}.cta-band__label{font-family:var(--font-ja-serif);font-size:.9rem;font-weight:var(--w-serif);letter-spacing:.2em;color:var(--c-gold-on-dark)}.btn--tel{letter-spacing:.06em}.cta-band__title{margin-top:.4em;font-size:clamp(1.6rem,3.4vw,2.4rem)}.cta-band__hours{margin-top:1em;font-size:.85rem;color:var(--c-on-dark-sub)}.footer{background:var(--c-brand-deep);color:var(--c-on-dark);padding-block:clamp(64px,8vw,104px) 32px}.footer__top{display:grid;gap:48px}@media(min-width:900px){.footer__top{grid-template-columns:1.5fr 1fr 1fr}}.footer__mark{font-family:var(--font-en);font-size:2rem;font-weight:600;letter-spacing:.04em;line-height:1.2}.footer__name{margin-top:.3em;font-size:.85rem;letter-spacing:.12em;color:var(--c-on-dark-sub)}.footer__vision{margin-top:1.4em;font-family:var(--font-ja-serif);font-size:1.05rem;letter-spacing:.14em;color:var(--c-gold-on-dark)}.footer__address{margin-top:1.6em;font-size:.85rem;line-height:2.1;color:var(--c-on-dark-sub)}.footer__address a{display:inline-block;padding-block:.15em;color:var(--c-on-dark)}.footer__social{display:inline-flex;align-items:center;gap:.6em;min-height:44px;margin-top:1.2em;font-size:.9rem;text-decoration:none}.footer__social:hover{text-decoration:underline;text-underline-offset:.35em}.footer__navtitle{font-family:var(--font-ja-serif);font-size:.9rem;font-weight:var(--w-serif);letter-spacing:.2em;color:var(--c-gold-on-dark)}.footer__nav ul{list-style:none;margin-top:.8em}.footer__nav a{display:inline-flex;align-items:center;min-height:40px;font-size:.9rem;text-decoration:none}.footer__nav a:hover,.footer__nav a[aria-current=page]{text-decoration:underline;text-underline-offset:.35em}.footer__copy{margin-top:64px;padding-top:24px;border-top:1px solid rgba(243,239,228,.18);font-size:.78rem;letter-spacing:.08em;color:var(--c-on-dark-sub)}.form{display:grid;gap:24px;max-width:720px}.field{display:grid;gap:.5em}.field label{font-weight:500;letter-spacing:.08em}.required{margin-left:.8em;padding:.1em .6em;font-size:.72rem;letter-spacing:.1em;vertical-align:.1em;background:var(--c-brand);color:var(--c-on-dark)}.form input,.form select,.form textarea{width:100%;min-height:52px;padding:.7em 1em;font:inherit;letter-spacing:.04em;color:var(--c-ink);background:#fff;border:1px solid var(--c-field);border-radius:2px}.form textarea{min-height:220px;resize:vertical}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline-offset:1px;border-color:var(--c-brand)}.form__note{font-size:.85rem;color:var(--c-ink-sub)}.form__note a{display:inline-block;padding-block:.2em}.form__error{padding:1em 1.2em;border-left:3px solid #9B2C1F;background:#fbedea;color:#8a2418}.legal{max-width:46em}.legal__intro{margin-bottom:2.4em}.legal__sections{list-style:none;counter-reset:legal}.legal__section{counter-increment:legal;padding-block:2em;border-top:1px solid var(--c-line)}.legal__section h2{font-size:1.15rem}.legal__section h2:before{content:counter(legal) ". ";font-family:var(--font-en);color:var(--c-gold-text)}.legal__section>*+*{margin-top:.8em}.legal__section ul{padding-left:1.4em}.legal__date{margin-top:2em;color:var(--c-ink-sub)}.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i, 0) * .11s)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}.reveal-ready [data-reveal-head] .sh__title{overflow:hidden}.reveal-ready [data-reveal-head] .sh__mask{transform:translateY(105%);opacity:0}.reveal-ready [data-reveal-head] .sh__num:after{transform:scaleX(0)}.reveal-ready [data-reveal-head] .sh__text{opacity:0;transition:opacity .8s var(--ease) .35s}.reveal-ready [data-reveal-head].is-visible .sh__mask{transform:none;opacity:1}.reveal-ready [data-reveal-head].is-visible .sh__num:after{transform:none}.reveal-ready [data-reveal-head].is-visible .sh__text{opacity:1}.reveal-ready [data-reveal-img] img{clip-path:inset(100% 0 0 0);scale:1.18;transition:clip-path 1.3s var(--ease),scale 2s var(--ease)}.reveal-ready [data-reveal-img].is-visible img{clip-path:inset(0);scale:1}@media(min-width:900px){.flow__step{position:relative;border-top:0}.flow__step:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--c-ink);transform-origin:left center;transition:transform 1.1s var(--ease);transition-delay:calc(var(--i, 0) * .11s + .2s)}.reveal-ready .flow__step[data-reveal]:not(.is-visible):before{transform:scaleX(0)}}.btn--primary,.btn--ghost{position:relative;overflow:hidden;isolation:isolate}.btn--primary:before,.btn--ghost:before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleX(0);transform-origin:right center;transition:transform .45s var(--ease)}.btn--primary:before{background:var(--c-brand-deep)}.btn--ghost:before{background:var(--c-ink)}.btn--primary:hover:before,.btn--ghost:hover:before{transform:scaleX(1);transform-origin:left center}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.photo--parallax img{height:116%;animation:parallax linear both;animation-timeline:view();animation-range:cover}@keyframes parallax{0%{translate:0 0}to{translate:0 -13.8%}}}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
