.site-header{position:fixed;top:0;left:0;right:0;width:100%;max-width:100vw;height:var(--header-height, 76px);z-index:110;display:flex;align-items:center;background-color:#fcfcfae0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(228,231,226,.8);transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease}.site-header.is-scrolled{background-color:#fcfcfafa;border-bottom:1px solid var(--color-border);box-shadow:0 4px 20px #00000005}.header-inner{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between}@media(min-width:900px){.header-inner{padding:0 clamp(40px,4vw,64px)}}.brand-logo{display:inline-flex;align-items:center;line-height:1;flex-shrink:0}.logo-image{width:118px;height:auto;object-fit:contain;transition:opacity .3s ease;display:block}@media(min-width:900px){.logo-image{width:162px}}.logo-image:hover{opacity:.82}.desktop-nav{display:none}@media(min-width:900px){.desktop-nav{display:block;margin-left:auto;margin-right:28px}}.nav-list{display:flex;list-style:none;gap:28px;align-items:center}.nav-link{display:inline-flex;align-items:center;position:relative;padding:6px 0;text-decoration:none;color:var(--color-text);transition:color .25s ease;white-space:nowrap}.nav-text{font-family:var(--font-heading-ja);font-size:15px;font-weight:500;letter-spacing:.06em;color:var(--color-text);line-height:1.4}.nav-link:hover{color:var(--color-text)}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background-color:var(--color-sage);transition:width .3s cubic-bezier(.16,1,.3,1)}.nav-link:hover:after,.nav-link.active:after{width:100%}.header-actions{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.tel-link{display:none;align-items:center;gap:7px;height:40px;padding:0 20px;border-radius:9999px;background-color:#ffffffe0;border:1px solid var(--color-border-dark);color:var(--color-text);text-decoration:none;transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;white-space:nowrap}@media(min-width:900px){.tel-link{display:inline-flex}}.tel-link:hover{background-color:var(--color-sage-light);border-color:var(--color-sage);color:var(--color-text);transform:translateY(-1px)}.tel-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-sub)}.tel-link .tel-txt{font-family:var(--font-ja);font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--color-text)}.tel-link .tel-num{font-family:var(--font-tel);font-size:13.5px;font-weight:500;letter-spacing:.06em;color:var(--color-text)}.menu-toggle{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;width:28px;height:40px;background:transparent;border:none;cursor:pointer;padding:0;z-index:110;-webkit-tap-highlight-color:transparent}.menu-toggle:before{content:"";position:absolute;inset:-4px -8px}.menu-toggle:focus-visible{outline:1px dashed var(--color-botanical);outline-offset:4px}@media(min-width:900px){.menu-toggle,.mobile-nav{display:none}}.toggle-line{display:block;height:1px;background-color:var(--color-text);transform-origin:center;transition:transform .4s cubic-bezier(.16,1,.3,1),width .4s cubic-bezier(.16,1,.3,1);will-change:transform,width}.toggle-line:nth-child(1){width:28px}.toggle-line:nth-child(2){width:18px}@media(hover:hover)and (pointer:fine){.menu-toggle:hover .toggle-line:nth-child(2){width:28px}}body.nav-open .menu-toggle .toggle-line:nth-child(1){transform:translateY(4px) rotate(45deg)}body.nav-open .menu-toggle .toggle-line:nth-child(2){width:28px;transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:fixed;inset:0;width:100%;max-width:100vw;height:100vh;height:100dvh;background-color:var(--color-bg);z-index:105;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;pointer-events:none;transition:opacity .35s ease;padding:calc(var(--header-height, 76px) + 2.5rem) 1.25rem 3rem;overflow-y:auto;-webkit-overflow-scrolling:touch}body.nav-open .mobile-nav{opacity:1;pointer-events:auto}body.nav-open{overflow:hidden}.mobile-nav-inner{width:100%;max-width:320px;text-align:center;margin:0 auto}.mobile-nav-list{list-style:none;display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.mobile-nav-link{display:inline-flex;flex-direction:column;align-items:center;gap:.2rem;text-decoration:none;padding:.25rem 0}.mobile-nav-link .ja-label{font-family:var(--font-heading-ja);font-size:1.25rem;font-weight:500;letter-spacing:.06em;color:var(--color-text)}.mobile-nav-link .en-label{font-family:var(--font-en);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-label-accent)}.mobile-contact-info{border-top:1px solid var(--color-border);padding-top:1.5rem;font-size:.75rem;color:var(--color-text-muted);line-height:1.7}.salon-name{font-weight:500;color:var(--color-text);margin-bottom:.25rem}.mobile-tel-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;margin-top:1.25rem;padding:.85rem 1.5rem;width:100%;max-width:280px;margin-left:auto;margin-right:auto;border:1px solid var(--color-border-dark);border-radius:9999px;color:var(--color-text);font-family:var(--font-ja);text-decoration:none;background-color:var(--color-bg-white);transition:background-color .25s ease,border-color .25s ease}.mobile-tel-btn:active{background-color:var(--color-sage-light);border-color:var(--color-sage)}.mobile-tel-btn .tel-btn-label{font-size:.6875rem;color:var(--color-text-muted);letter-spacing:.03em}.mobile-tel-btn .tel-btn-num{font-family:var(--font-tel);font-size:1.05rem;font-weight:500;color:var(--color-text);letter-spacing:.05em}.site-footer{background-color:var(--color-bg);border-top:1px solid var(--color-border);padding:clamp(3rem,5vw,4.5rem) 0 2.5rem}.footer-main-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:3rem;padding-bottom:2rem}@media(max-width:899px){.footer-main-row{flex-direction:column;gap:2rem}}.footer-logo-area{display:flex;align-items:center}.footer-logo-img{width:135px;height:auto;object-fit:contain;transition:opacity .3s ease}.footer-logo-link:hover .footer-logo-img{opacity:.8}.footer-nav-list{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;gap:1.5rem 2.25rem}.footer-nav-link{font-size:.875rem;color:var(--color-text);text-decoration:none;letter-spacing:.05em;transition:color .3s ease}.footer-nav-link:hover{color:var(--color-botanical)}.footer-sns-area{display:flex;align-items:center;gap:1.25rem}.sns-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--color-border);color:var(--color-text);transition:all .3s ease}.sns-icon-btn:hover{border-color:var(--color-botanical);color:var(--color-botanical);background-color:var(--color-bg-sub);transform:translateY(-2px)}.footer-bottom-line{padding-top:1.75rem;border-top:1px solid var(--color-border-subtle);text-align:center}.copyright{font-size:.75rem;color:var(--color-text-muted);letter-spacing:.08em}.page-top-btn{position:fixed;right:2rem;bottom:2rem;z-index:90;width:44px;height:44px;border-radius:50%;background-color:#fcfcfadb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(228,231,226,.95);color:var(--color-text, #1f2421);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #0000000a;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .35s cubic-bezier(.2,.8,.2,1),transform .35s cubic-bezier(.2,.8,.2,1),visibility .35s,background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease;padding:0;margin:0;outline:none;-webkit-tap-highlight-color:transparent}.page-top-btn.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}@media(hover:hover){.page-top-btn:hover{transform:translateY(-3px);background-color:#fcfcfafa;border-color:var(--color-botanical, #4a5d4e);color:var(--color-botanical, #4a5d4e);box-shadow:0 6px 20px #4a5d4e24}.page-top-btn:hover .page-top-icon{transform:translateY(-1px)}}.page-top-btn:active{transform:translateY(-1px)}.page-top-icon{display:block;width:14px;height:14px;transition:transform .25s ease}@media(max-width:768px){.page-top-btn{width:40px;height:40px;right:1.25rem;bottom:1.5rem}.page-top-icon{width:13px;height:13px}}body.nav-open .page-top-btn{opacity:0!important;visibility:hidden!important;pointer-events:none!important}:root{--color-bg: #FCFCFA;--color-bg-sub: #F5F7F3;--color-sage-pale: #E8EEE7;--color-bg-white: #FFFFFF;--color-text: #353733;--color-text-sub: #777B75;--color-text-muted: #9E9991;--color-botanical: #73816D;--color-deep-green: #455247;--color-gold-muted: #B89A4A;--color-gold: #B89A4A;--color-label-accent: #73816D;--color-border: #E4E7E2;--color-border-subtle: #EBEFE9;--color-border-dark: #73816D;--color-sage: #73816D;--color-sage-light: #E8EEE7;--color-bg-warm: #F5F7F3;--color-greige: #E4E7E2;--color-text-light: #777B75;--font-base: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-en: "Cormorant Garamond", Georgia, serif;--font-en-sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-tel: "Jost", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--font-ja: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading-ja: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-script: "Alex Brush", cursive;--container-max: 1360px;--container-narrow: 920px;--header-height: 80px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-ja);font-size:15px;font-weight:400;line-height:1.9;letter-spacing:.04em;overflow-x:hidden}img{max-width:100%;height:auto;display:block}img:not(.logo-image){filter:saturate(.96) contrast(.98)}a{color:inherit;text-decoration:none;transition:opacity .3s ease,transform .3s ease}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.font-en{font-family:var(--font-en)}.font-en-sans{font-family:var(--font-en-sans)}.font-heading-ja{font-family:var(--font-heading-ja)}.font-script{font-family:var(--font-script)}.font-tel{font-family:var(--font-tel)}.l-container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:clamp(1.25rem,4vw,3.5rem);padding-right:clamp(1.25rem,4vw,3.5rem)}.l-container-narrow{width:100%;max-width:var(--container-narrow);margin-left:auto;margin-right:auto;padding-left:clamp(1.25rem,4vw,3.5rem);padding-right:clamp(1.25rem,4vw,3.5rem)}.l-section{padding-top:clamp(4.5rem,8vw,8.5rem);padding-bottom:clamp(4.5rem,8vw,8.5rem);position:relative}.c-section-header{margin-bottom:clamp(2.5rem,5vw,4.5rem)}.c-section-label-en,.c-editorial-tag{display:inline-block;font-family:var(--font-en)!important;font-size:clamp(.75rem,.9vw,.875rem);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-label-accent);margin-bottom:.5rem}.commitment-label-en,.pillar-label-en,.cta-label-en,.last-entry-label-en,.cat-title-en,.cat-en,.concept-caption{font-family:var(--font-en)!important;letter-spacing:.16em}.c-section-title-ja{font-family:var(--font-heading-ja);font-size:clamp(1.65rem,3.8vw,2.15rem);font-weight:500;line-height:1.45;letter-spacing:.06em;color:var(--color-text);word-break:keep-all;overflow-wrap:break-word}.u-inline-block{display:inline-block}.c-section-title-en{font-family:var(--font-en);font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:400;color:var(--color-text-muted);letter-spacing:.05em;margin-top:.35rem}.c-btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 2.2rem;border:1px solid var(--color-border-dark);border-radius:9999px;background-color:transparent;color:var(--color-text);font-family:var(--font-base);font-size:.875rem;font-weight:500;letter-spacing:.05em;position:relative;overflow:hidden;text-decoration:none;line-height:1.4;transition:all .4s cubic-bezier(.16,1,.3,1)}.c-btn-pill .btn-label-ja{font-family:var(--font-base);font-size:.875rem;font-weight:500;letter-spacing:.06em;color:var(--color-text)}.c-btn-pill span.arrow{display:inline-block;font-size:1.05rem;color:var(--color-label-accent);transition:transform .35s cubic-bezier(.16,1,.3,1)}.c-btn-pill:hover{background-color:var(--color-sage-pale);border-color:var(--color-botanical);color:var(--color-text)}.c-btn-pill:hover span.arrow{transform:translate(5px)}@media(max-width:600px){.c-btn-pill{padding:.75rem 1.6rem;gap:.5rem;font-size:.8125rem}.c-btn-pill .btn-label-ja{font-size:.8125rem}}.c-hairline{border:0;height:1px;background-color:var(--color-border);margin:0}.js-reveal{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.js-reveal.is-visible{opacity:1;transform:translateY(0)}.js-reveal-left{opacity:0;transform:translate(-24px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.js-reveal-left.is-visible{opacity:1;transform:translate(0)}.js-reveal-clip{clip-path:inset(6% 0 6% 0);opacity:.3;transition:clip-path 1.1s cubic-bezier(.16,1,.3,1),opacity 1.1s ease;will-change:clip-path,opacity}.js-reveal-clip.is-visible{clip-path:inset(0 0 0 0);opacity:1}.js-parallax{will-change:transform;transition:transform .15s ease-out}.delay-100{transition-delay:.12s!important}.delay-200{transition-delay:.22s!important}.delay-300{transition-delay:.32s!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-reveal,.js-reveal-left,.js-reveal-clip{opacity:1!important;transform:none!important;clip-path:none!important}.js-parallax{transform:none!important}}.br-pc{display:inline}.br-sp{display:none}@media(max-width:767px){.br-pc{display:none!important}.br-sp{display:inline!important}}

.concept-section{background-color:var(--color-bg)}.concept-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(3rem,5vw,5.5rem);align-items:center}@media(max-width:959px){.concept-grid{grid-template-columns:1fr;gap:3rem}}.concept-title-ja{font-size:clamp(1.6rem,3.2vw,2.35rem);font-weight:500;line-height:1.5;color:var(--color-text);margin-bottom:2rem}.concept-body{font-size:.9375rem;line-height:2.1;color:var(--color-text-sub);margin-bottom:2.5rem}.concept-photo-col{display:flex;align-items:center;gap:1.75rem}.concept-photo-frame{flex:1;border-radius:2px;overflow:hidden;box-shadow:0 6px 24px #4552470f}.concept-img{width:100%;max-height:520px;aspect-ratio:4 / 5;object-fit:cover;display:block}.concept-accent-side{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.concept-v-line{width:1px;height:90px;background-color:var(--color-border)}.concept-v-text{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-style:italic;letter-spacing:.14em;color:var(--color-text-sub);line-height:1.25}.commitments-section{background-color:var(--color-bg);position:relative;overflow:hidden}.feat-container{position:relative}.feat-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(2.5rem,5vw,4.25rem)}.feat-header-left{display:flex;flex-direction:column}.feat-label-en{font-size:.875rem;letter-spacing:.24em;color:var(--color-text-sub);margin-bottom:.6rem}.feat-title-ja{font-family:var(--font-heading-ja);font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:500;letter-spacing:.04em;color:var(--color-text);line-height:1.3}.feat-header-line{width:48px;height:1px;background-color:var(--color-border);margin-top:1.25rem}.feat-header-lead{font-family:var(--font-heading-ja);font-size:clamp(.8125rem,1.1vw,.9375rem);line-height:1.9;letter-spacing:.06em;color:var(--color-text-sub);text-align:right;padding-bottom:.35rem}.feat-layout{display:flex;flex-direction:column;gap:3.5rem;position:relative;z-index:1}.feat-col{display:flex;flex-direction:column}@media(min-width:960px){.feat-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,3.5vw,3.5rem);align-items:start}.feat-col-1{gap:clamp(2.5rem,3.5vw,3rem)}.feat-col-2{gap:clamp(1rem,1.5vw,1.5rem);margin-top:clamp(1.5rem,2.2vw,2.25rem)}}.feat-card{display:flex;align-items:flex-start;gap:clamp(1rem,2vw,1.75rem)}.feat-card-text{flex:1;min-width:0}.feat-card-01{position:relative;width:100%;min-height:clamp(380px,35vw,450px);display:block}.feat-card-01-bg{position:relative;margin-left:clamp(100px,9.5vw,135px);width:calc(100% - clamp(100px,9.5vw,135px));height:clamp(380px,35vw,440px);overflow:hidden;border-radius:2px;box-shadow:0 4px 20px #4552470d;z-index:1}.feat-card-01-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(252,252,250,.5) 0%,rgba(252,252,250,.15) 30%,transparent 60%);pointer-events:none}.feat-card-01-img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center;transition:transform .6s cubic-bezier(.16,1,.3,1)}.feat-card-01:hover .feat-card-01-img{transform:scale(1.03)}.feat-card-01-text{position:absolute;left:0;top:clamp(2.5rem,3.6vw,3.75rem);z-index:2;width:max-content;max-width:100%;pointer-events:auto}@media(min-width:960px){.feat-card-01 .feat-card-title,.feat-card-desc{white-space:nowrap}}.feat-card-img-wrap{flex-shrink:0;overflow:hidden;border-radius:2px;box-shadow:0 4px 20px #4552470d}.feat-card-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.feat-card:hover .feat-card-img{transform:scale(1.03)}.img-size-02{width:clamp(260px,24vw,310px);height:clamp(230px,21vw,275px)}.img-size-03{flex:1;min-width:250px;max-width:325px;height:clamp(270px,25vw,325px)}.img-size-04{flex:1;min-width:250px;max-width:340px;height:clamp(390px,36vw,460px)}@media(min-width:960px){.img-size-02{margin-top:clamp(1.5rem,2vw,1.875rem);margin-bottom:calc(-1*clamp(1.5rem,2vw,1.875rem))}.feat-card-text-02{padding-top:clamp(1.25rem,1.8vw,1.8rem)}.feat-card-text-03{padding-top:clamp(1.25rem,2vw,2rem)}.feat-card-text-04{flex:0 0 auto;width:max-content;padding-top:clamp(4.5rem,6.5vw,6.25rem);padding-left:0}}.feat-num{font-size:clamp(2.6rem,3.6vw,3.25rem);font-weight:400;line-height:1;letter-spacing:.04em;color:#c2a263;display:block;margin-bottom:.6rem}.feat-card-line{width:22px;height:1px;background-color:var(--color-text);margin-bottom:1.25rem}.feat-card-title{font-family:var(--font-heading-ja);font-size:clamp(1.05rem,1.3vw,1.1875rem);font-weight:500;line-height:1.6;letter-spacing:.06em;color:var(--color-text);margin-bottom:.95rem}.feat-card-desc{font-size:.9375rem;line-height:1.95;letter-spacing:.04em;color:var(--color-text-sub)}.feat-04-footer{margin-top:1.75rem;display:flex;flex-direction:column;gap:.45rem}.feat-en-tag{font-size:.75rem;letter-spacing:.22em;color:var(--color-text-sub);line-height:1.5;text-transform:uppercase}.feat-footer-line{width:120px;height:1px;background-color:var(--color-border)}.feat-leaf{position:absolute;bottom:-20px;left:-35px;width:240px;height:auto;pointer-events:none;opacity:.85;z-index:0}@media(max-width:959px){.feat-header{flex-direction:column;align-items:flex-start;gap:1.25rem}.feat-header-lead{text-align:left;padding-bottom:0;white-space:nowrap;font-size:clamp(.75rem,3.2vw,.875rem)}.feat-layout{gap:3.5rem}.feat-col{display:contents}.feat-card-01{order:1}.feat-card-02{order:2}.feat-card-03{order:3}.feat-card-04{order:4}.feat-card-01{min-height:clamp(340px,42vw,400px)}.feat-card-01-bg{margin-left:clamp(80px,12vw,120px);width:calc(100% - clamp(80px,12vw,120px));height:clamp(340px,42vw,400px)}.feat-card-01-text{width:max-content;max-width:100%;top:1.5rem}.img-size-02{width:240px;height:260px}.img-size-03{width:210px;height:255px}.img-size-04{width:210px;height:320px}}@media(max-width:580px){.feat-title-ja{font-size:1.38rem}.feat-card-01{min-height:auto;display:flex;flex-direction:column;gap:1.25rem}.feat-card-01-bg{margin-left:0;width:100%;max-width:100%;height:250px;order:1}.feat-card-01-text{position:static;transform:none;width:100%;order:0;padding:0}.feat-card-01 .feat-card-title,.feat-card-01 .feat-card-desc{white-space:normal}.feat-card{flex-direction:column;align-items:flex-start;gap:1.25rem}.feat-card-04{flex-direction:column-reverse}.feat-card-img-wrap,.img-size-02,.img-size-03,.img-size-04{width:100%;max-width:100%;height:240px}.feat-leaf{width:170px;left:-20px;bottom:-15px;opacity:.6}}.menu-section{background-color:var(--color-bg);border-top:1px solid var(--color-border-subtle)}.menu-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,5vw,5rem);align-items:start}@media(max-width:959px){.menu-grid{grid-template-columns:1fr;gap:3rem}}.menu-photo-frame{border-radius:2px;overflow:hidden;box-shadow:0 6px 24px #4552470f}.menu-plant-img{width:100%;max-height:580px;aspect-ratio:3 / 4.5;object-fit:cover;display:block}.menu-content-col{position:relative}.menu-header-block{position:relative;z-index:1;margin-bottom:2.25rem}.menu-cat-open{margin-bottom:1.5rem}.menu-cat-title{font-size:1.05rem;font-weight:500;color:var(--color-text);padding-bottom:.75rem;border-bottom:1px solid var(--color-border);margin-bottom:0;letter-spacing:.04em}.menu-price-rows{list-style:none;margin:0;padding:0}.price-row{display:flex;align-items:baseline;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--color-border-subtle);font-size:.9375rem}.price-row .item-name{color:var(--color-text);font-weight:400}.price-row .item-price{font-size:.9375rem;font-weight:500;color:var(--color-text);letter-spacing:.04em}.menu-accordion-list{margin-bottom:2.5rem}.menu-acc-item{border-bottom:1px solid var(--color-border)}.menu-acc-summary{display:flex;justify-content:space-between;align-items:center;padding:1.15rem 0;cursor:pointer;font-size:.9375rem;color:var(--color-text);list-style:none;transition:color .3s ease}.menu-acc-summary::-webkit-details-marker{display:none}.menu-acc-summary:hover{color:var(--color-botanical)}.acc-arrow{font-size:.8125rem;color:var(--color-text-sub);transition:transform .3s ease}.menu-acc-item[open] .acc-arrow{transform:rotate(180deg)}.acc-content{padding-bottom:.5rem}.menu-btn-wrap{margin-top:1.5rem}.gallery-section{background-color:var(--color-bg)}.gallery-header-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(2.5rem,5vw,4rem);padding-bottom:1rem;border-bottom:1px solid var(--color-border-subtle)}@media(max-width:639px){.gallery-header-row{flex-wrap:wrap;gap:1rem;align-items:center}}.gallery-view-all{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;letter-spacing:.16em;color:var(--color-text);text-decoration:none;transition:color .3s ease,transform .3s ease}.gallery-view-all:hover{color:var(--color-botanical)}.gallery-view-all .arrow{display:inline-block;transition:transform .3s ease}.gallery-view-all:hover .arrow{transform:translate(4px)}.editorial-gallery-layout{display:grid;grid-template-columns:333fr 265fr 325fr;gap:clamp(12px,2vw,20px);align-items:stretch}.gallery-tile-link{display:block;height:100%;border-radius:4px;overflow:hidden;box-shadow:0 4px 16px #4552470d}.editorial-gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}.gallery-tile-link:hover .editorial-gallery-img{transform:scale(1.025)}.gallery-item-left{display:flex;height:100%}.gallery-item-left .gallery-tile-link{width:100%;aspect-ratio:333 / 564}.gallery-col-center{display:flex;flex-direction:column;gap:clamp(10px,1.6vw,16px)}.gallery-item-center-top{flex:246}.gallery-item-center-top .gallery-tile-link{aspect-ratio:267 / 246}.gallery-item-center-bottom{flex:305}.gallery-item-center-bottom .gallery-tile-link{aspect-ratio:263 / 305}.gallery-col-right{display:flex;flex-direction:column;gap:clamp(10px,1.6vw,16px)}.gallery-item-right-top{flex:370}.gallery-item-right-top .gallery-tile-link{aspect-ratio:325 / 370}.gallery-right-bottom-row{display:grid;grid-template-columns:153fr 157fr;gap:clamp(10px,1.6vw,16px);flex:181}.gallery-item-sub{height:100%}.gallery-right-bottom-row .gallery-item-sub:first-child .gallery-tile-link{aspect-ratio:153 / 181}.gallery-right-bottom-row .gallery-item-sub:last-child .gallery-tile-link{aspect-ratio:157 / 181}@media(max-width:639px){.editorial-gallery-layout{grid-template-columns:1fr;gap:16px}.gallery-item-left .gallery-tile-link{aspect-ratio:4 / 5}.gallery-col-center{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-item-center-top,.gallery-item-center-bottom{flex:none}.gallery-item-center-top .gallery-tile-link,.gallery-item-center-bottom .gallery-tile-link{aspect-ratio:1 / 1}.gallery-col-right{gap:12px}.gallery-item-right-top{flex:none}.gallery-item-right-top .gallery-tile-link{aspect-ratio:4 / 4.5}.gallery-right-bottom-row{gap:12px;flex:none}.gallery-right-bottom-row .gallery-item-sub:first-child .gallery-tile-link,.gallery-right-bottom-row .gallery-item-sub:last-child .gallery-tile-link{aspect-ratio:1 / 1}}.news-section{background-color:var(--color-bg);border-top:1px solid var(--color-border-subtle)}.news-header-flex{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem}.news-list-minimal{border-top:1px solid var(--color-border)}.news-row{border-bottom:1px solid var(--color-border)}.news-link{display:grid;grid-template-columns:auto auto 1fr auto;gap:1.25rem;align-items:center;padding:1.25rem 0;text-decoration:none;color:var(--color-text);transition:all .3s ease}@media(max-width:640px){.news-link{grid-template-columns:auto 1fr auto;gap:.75rem 1rem}.news-title{grid-column:1 / 3}}.news-link:hover{color:var(--color-botanical);padding-left:.5rem}.news-date{font-size:.8125rem;color:var(--color-text-sub);letter-spacing:.04em}.news-badge{display:inline-block;font-size:.6875rem;padding:.2rem .65rem;background-color:var(--color-bg-sub);color:var(--color-botanical);border:1px solid var(--color-border);border-radius:9999px}.news-title{font-size:.9375rem;font-weight:400;line-height:1.5;letter-spacing:.03em}.news-arrow{font-size:1.1rem;color:var(--color-botanical);transition:transform .3s ease}.news-link:hover .news-arrow{transform:translate(4px)}.salon-preview-section{background-color:var(--color-bg-sub)}.salon-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start}@media(max-width:959px){.salon-preview-grid{grid-template-columns:1fr;gap:3.5rem}}.salon-info-side .c-section-title-ja{margin-bottom:clamp(2rem,3.5vw,2.75rem)}.salon-detail-table{margin-bottom:2.25rem;border-top:1px solid var(--color-border)}.salon-row{display:grid;grid-template-columns:85px 1fr;gap:1.25rem;padding:1rem 0;border-bottom:1px solid var(--color-border);font-size:.875rem;line-height:1.75}.salon-row dt{color:var(--color-text-sub);font-weight:500}.salon-row dd{color:var(--color-text)}.tel-link-inline{font-family:var(--font-tel);font-size:1.125rem;font-weight:600;color:var(--color-text);letter-spacing:.05em}.tel-link-inline:hover{color:var(--color-botanical)}.sub-text{font-size:.8125rem;color:var(--color-text-sub)}.map-container-frame{width:100%;height:420px;border-radius:2px;overflow:hidden;border:1px solid var(--color-border);box-shadow:0 4px 20px #4552470d}

.subpage-header{background-color:var(--color-bg-warm);padding-top:calc(var(--header-height) + clamp(3rem,6vw,5rem));padding-bottom:clamp(3rem,5vw,4.5rem);border-bottom:1px solid var(--color-border)}.salon-concept-section{background-color:var(--color-bg)}.concept-split-grid{display:grid;grid-template-columns:1fr;gap:3.5rem;align-items:center}@media(min-width:900px){.concept-split-grid{grid-template-columns:5fr 5fr;gap:6rem}}.concept-visual{aspect-ratio:4 / 5;overflow:hidden}.concept-photo{width:100%;height:100%;object-fit:cover}.article-title{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:400;line-height:1.15;margin-bottom:1rem}.article-lead{font-size:1.0625rem;font-weight:500;line-height:1.8;color:var(--color-text);margin-bottom:1.75rem}.article-body{display:flex;flex-direction:column;gap:1.25rem;font-size:.9375rem;color:var(--color-text-sub);line-height:2.1}.commitments-detail-section{background-color:var(--color-bg-warm)}.pillars-editorial-list{display:flex;flex-direction:column;gap:clamp(4rem,8vw,8rem)}.pillar-row{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}@media(min-width:900px){.pillar-row{grid-template-columns:1fr 1fr;gap:5.5rem}.pillar-row.is-reversed .pillar-media{order:2}.pillar-row.is-reversed .pillar-content{order:1}}.pillar-media{aspect-ratio:16 / 11;overflow:hidden}.pillar-img{width:100%;height:100%;object-fit:cover}.pillar-num{font-size:3.5rem;font-weight:300;color:var(--color-border);display:block;line-height:1;margin-bottom:.75rem}.pillar-title-ja{font-family:var(--font-heading-ja);font-size:clamp(1.35rem,2.2vw,1.625rem);font-weight:700;color:#1a1a1a;line-height:1.45;letter-spacing:.04em;margin-bottom:1rem}.pillar-lead{font-size:clamp(1rem,1.2vw,1.0625rem);font-weight:500;color:var(--color-text);line-height:1.75;margin-bottom:.85rem}.pillar-desc{font-size:.9375rem;color:var(--color-text-sub);line-height:2.1}.guarantee-section{background-color:var(--color-bg)}.guarantee-list-clean{display:flex;flex-direction:column;gap:2rem}.guarantee-box-clean{border-left:2px solid var(--color-text);padding:.5rem 0 .5rem 1.75rem}.guarantee-title{font-size:1.125rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.guarantee-desc{font-size:.9375rem;color:var(--color-text-sub);line-height:2}.salon-specs-section{background-color:var(--color-bg-warm)}.specs-grid{display:grid;grid-template-columns:1fr;gap:3.5rem;margin-bottom:3.5rem}@media(min-width:900px){.specs-grid{grid-template-columns:1.2fr .8fr;gap:5rem}}.specs-table-wrap{border-top:1px solid var(--color-border)}.specs-row{display:grid;grid-template-columns:100px 1fr;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--color-border);font-size:.9375rem;line-height:1.85}.specs-row dt{color:var(--color-text-sub);font-weight:500}.text-sub{font-size:.8125rem;color:var(--color-text-muted)}.specs-tel{font-family:var(--font-tel);font-size:1.25rem;font-weight:600;color:var(--color-text)}.last-entry-card{background-color:#fff;border:1px solid var(--color-border);padding:2.5rem 2rem}.last-entry-label-en{display:block;font-size:.6875rem;letter-spacing:.18em;color:var(--color-label-accent);margin-bottom:.35rem}.last-entry-heading{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.last-entry-note{font-size:.8125rem;color:var(--color-text-sub);margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.entry-times-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.entry-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.9375rem;padding-bottom:.5rem;border-bottom:1px dashed var(--color-border)}.entry-time{font-weight:500;color:var(--color-text)}.specs-map-frame{width:100%;height:440px;border:1px solid var(--color-border);overflow:hidden}

.subpage-header{background-color:var(--color-bg-warm);padding-top:calc(var(--header-height) + clamp(3rem,6vw,5rem));padding-bottom:clamp(2.5rem,4vw,3.5rem);border-bottom:1px solid var(--color-border)}.category-quick-nav{margin-top:2rem}.quick-nav-list{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.quick-nav-link{display:inline-block;font-size:.8125rem;letter-spacing:.08em;padding:.4rem 1rem;border:1px solid var(--color-border);border-radius:9999px;background-color:#fff;color:var(--color-text-light);transition:all .25s ease}.quick-nav-link:hover{background-color:var(--color-sage-light);color:var(--color-text);border-color:var(--color-sage)}.menu-full-section{background-color:var(--color-bg)}.menu-categories-editorial{display:flex;flex-direction:column;gap:clamp(4rem,7vw,6.5rem)}.menu-cat-block{scroll-margin-top:110px}.cat-title-bar{padding-bottom:1.25rem;border-bottom:1px solid var(--color-greige);margin-bottom:1.75rem}.cat-titles{display:flex;align-items:baseline;gap:1.25rem;margin-bottom:.5rem}.cat-ja{font-size:clamp(1.2rem,2.2vw,1.65rem);font-weight:500;color:var(--color-text)}@media(min-width:768px){.cat-ja{white-space:nowrap}}@media(max-width:767px){.cat-titles{flex-wrap:wrap;gap:.35rem 1rem}}.cat-en{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-label-accent)}.cat-note{font-size:.75rem;color:var(--color-text-muted)}.items-table{list-style:none;display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:960px){.items-table{grid-template-columns:1fr 1fr;gap:1.5rem clamp(2.5rem,5vw,4.5rem)}}.item-row{display:flex;align-items:baseline;justify-content:space-between;gap:1.25rem;padding-bottom:.75rem;border-bottom:1px dashed var(--color-border)}.item-info{display:flex;flex-direction:column;gap:.35rem;max-width:70%}.item-info .name{font-size:1rem;color:var(--color-text)}.item-info .note{font-size:.75rem;color:var(--color-text-muted)}.divider-dots{flex:1;display:none}@media(min-width:600px){.divider-dots{display:block;border-bottom:1px dotted var(--color-border);height:1px}}.price{font-size:1.125rem;font-weight:500;color:var(--color-text);white-space:nowrap}.menu-bottom-info-grid{margin-top:clamp(4rem,7vw,6rem);display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:stretch}@media(min-width:960px){.menu-bottom-info-grid{grid-template-columns:1fr 1fr}}.last-entry-card,.notice-card{background-color:#fff;border:1px solid var(--color-border);padding:clamp(2rem,3vw,2.75rem);display:flex;flex-direction:column}.last-entry-label-en{display:block;font-size:.6875rem;letter-spacing:.18em;color:var(--color-label-accent);margin-bottom:.35rem}.last-entry-heading{font-size:1.25rem;font-weight:500;color:var(--color-text);margin-bottom:.5rem}.last-entry-note{font-size:.75rem;color:var(--color-text-light);margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.entry-times-list{list-style:none;display:flex;flex-direction:column;gap:1.1rem}.entry-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.875rem;padding-bottom:.5rem;border-bottom:1px dashed var(--color-border)}.entry-menu{color:var(--color-text)}.entry-time{font-weight:500;color:var(--color-text);white-space:nowrap}.notice-bullets{list-style:none;display:flex;flex-direction:column;gap:.9rem;font-size:.8125rem;color:var(--color-text-light);line-height:1.85}

.subpage-header{background-color:var(--color-bg-warm);padding-top:calc(var(--header-height, 80px) + clamp(3rem,6vw,5rem));padding-bottom:clamp(2.5rem,4vw,3.5rem);border-bottom:1px solid var(--color-border)}.header-split{display:flex;flex-direction:column;gap:1.5rem;justify-content:space-between;align-items:flex-start}@media(min-width:768px){.header-split{flex-direction:row;align-items:flex-end}}.follow-label{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.25rem}.follow-link{font-size:1.125rem;font-weight:500;color:var(--color-text);border-bottom:1px solid var(--color-border);padding-bottom:.25rem;text-decoration:none;transition:border-color .25s ease,color .25s ease}.follow-link:hover{border-color:var(--color-text);color:#24221f}.gallery-full-section{background-color:var(--color-bg);padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(4rem,7vw,7rem)}.editorial-gallery-layout{display:grid;grid-template-columns:333fr 265fr 325fr;gap:clamp(12px,2vw,20px);align-items:stretch}.gallery-tile-link{display:block;height:100%;border-radius:4px;overflow:hidden;box-shadow:0 4px 16px #4552470d}.editorial-gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}.gallery-tile-link:hover .editorial-gallery-img{transform:scale(1.025)}.gallery-item-left{display:flex;height:100%}.gallery-item-left .gallery-tile-link{width:100%;aspect-ratio:333 / 564}.gallery-col-center{display:flex;flex-direction:column;gap:clamp(10px,1.6vw,16px)}.gallery-item-center-top{flex:246}.gallery-item-center-top .gallery-tile-link{aspect-ratio:267 / 246}.gallery-item-center-bottom{flex:305}.gallery-item-center-bottom .gallery-tile-link{aspect-ratio:263 / 305}.gallery-col-right{display:flex;flex-direction:column;gap:clamp(10px,1.6vw,16px)}.gallery-item-right-top{flex:370}.gallery-item-right-top .gallery-tile-link{aspect-ratio:325 / 370}.gallery-right-bottom-row{display:grid;grid-template-columns:153fr 157fr;gap:clamp(10px,1.6vw,16px);flex:181}.gallery-item-sub{height:100%}.gallery-right-bottom-row .gallery-item-sub:first-child .gallery-tile-link{aspect-ratio:153 / 181}.gallery-right-bottom-row .gallery-item-sub:last-child .gallery-tile-link{aspect-ratio:157 / 181}@media(max-width:639px){.editorial-gallery-layout{grid-template-columns:1fr;gap:16px}.gallery-item-left .gallery-tile-link{aspect-ratio:4 / 5}.gallery-col-center{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-item-center-top,.gallery-item-center-bottom{flex:none}.gallery-item-center-top .gallery-tile-link,.gallery-item-center-bottom .gallery-tile-link{aspect-ratio:1 / 1}.gallery-col-right{gap:12px}.gallery-item-right-top{flex:none}.gallery-item-right-top .gallery-tile-link{aspect-ratio:4 / 4.5}.gallery-right-bottom-row{gap:12px;flex:none}.gallery-right-bottom-row .gallery-item-sub:first-child .gallery-tile-link,.gallery-right-bottom-row .gallery-item-sub:last-child .gallery-tile-link{aspect-ratio:1 / 1}}.gallery-instagram-cta{margin-top:clamp(4.5rem,8vw,7rem)}.instagram-cta-box{background-color:var(--color-bg-warm);border:1px solid var(--color-border);padding:clamp(3rem,5vw,4.5rem) clamp(1.5rem,4vw,3rem);text-align:center;max-width:820px;margin:0 auto}.cta-label-en{display:block;font-size:.75rem;letter-spacing:.2em;color:var(--color-label-accent);text-transform:uppercase;margin-bottom:.75rem}.cta-title-ja{font-family:var(--font-heading-ja);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;color:var(--color-text);letter-spacing:.08em;margin-bottom:1.25rem;line-height:1.4}.cta-desc{font-size:.9rem;color:var(--color-text-sub);line-height:1.9;margin-bottom:2.25rem}.cta-btn-wrap{display:flex;justify-content:center}.instagram-main-btn{min-width:320px;padding:.85rem 2rem}@media(max-width:640px){.instagram-main-btn{min-width:100%;width:100%;padding:.85rem 1.25rem}}

.contact-cta{background-color:var(--color-bg);padding:clamp(4rem,7vw,7rem) 0}.cta-banner-wrapper{display:grid;grid-template-columns:240px 1fr 100px;background-color:var(--color-sage-pale);border:1px solid var(--color-border);border-radius:4px;overflow:hidden}@media(max-width:1199px){.cta-banner-wrapper{grid-template-columns:200px 1fr 90px}}@media(max-width:959px){.cta-banner-wrapper{grid-template-columns:1fr}}.cta-foliage-col{display:block;position:relative;overflow:hidden}@media(max-width:959px){.cta-foliage-col{display:none}}.cta-foliage-img{width:100%;height:100%;object-fit:cover;object-position:center}.cta-content-col{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,3.5vw,3rem);display:flex;align-items:center;justify-content:center;text-align:center}.cta-content-inner{max-width:640px;width:100%;margin:0 auto}.cta-label-en{display:inline-block;font-size:.75rem;letter-spacing:.2em;color:var(--color-botanical);margin-bottom:.5rem}.cta-title-ja{font-size:clamp(1.35rem,3vw,1.85rem);font-weight:500;color:var(--color-text);margin-bottom:clamp(1rem,2vw,1.35rem)}.cta-lead{font-size:.84rem;color:var(--color-text-sub);line-height:1.85;margin-bottom:2rem}.br-pc{display:inline}@media(max-width:767px){.br-pc{display:none}}.cta-actions-row{display:flex;justify-content:center;align-items:center}.cta-tel-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fff;border:1px solid var(--color-border);border-radius:9999px;padding:1.1rem clamp(2rem,5vw,3.5rem);min-width:280px;max-width:420px;width:100%;text-decoration:none;transition:all .35s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 18px #45524714}.cta-tel-card:hover{border-color:var(--color-botanical);box-shadow:0 6px 24px #45524729;transform:translateY(-2px)}.cta-tel-num{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-tel);font-size:clamp(1.5rem,3.2vw,1.85rem);font-weight:600;letter-spacing:.08em;color:var(--color-text);line-height:1.2}.cta-phone-icon{color:var(--color-botanical);flex-shrink:0}.cta-tel-hours{font-size:.72rem;color:var(--color-text-sub);letter-spacing:.03em;margin-top:.4rem;line-height:1.5;text-align:center}.cta-quote-col{display:flex;background-color:#ffffff59;border-left:1px solid var(--color-border);align-items:center;justify-content:center;padding:2rem 0}@media(max-width:959px){.cta-quote-col{display:none}}.cta-quote-inner{display:flex;flex-direction:column;gap:.75rem;font-size:.75rem;letter-spacing:.22em;color:var(--color-botanical);text-align:center;line-height:1.3;opacity:.85}

.not-found-section{padding-top:calc(var(--header-height) + clamp(4rem,8vw,8rem));padding-bottom:clamp(6rem,10vw,10rem);background-color:var(--color-bg-warm);min-height:70vh;display:flex;align-items:center;text-align:center}.not-found-inner{background-color:#fff;border:1px solid var(--color-border);padding:clamp(3rem,6vw,5rem) 2rem}.error-code{font-size:clamp(4rem,9vw,7rem);font-weight:300;line-height:1;color:var(--color-border);display:block;margin-bottom:.5rem}.error-title{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:400;margin-bottom:.25rem}.error-title-ja{font-size:.8125rem;letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:2rem}.error-desc{font-size:.875rem;line-height:1.9;color:var(--color-text-light);margin-bottom:3rem}.arrow-back{display:inline-block;margin-right:.25rem;transition:transform .3s ease}.c-btn-pill:hover .arrow-back{transform:translate(-4px)}

.contact-cta{background-color:var(--color-bg);padding:clamp(4rem,7vw,7rem) 0}.cta-banner-wrapper{display:grid;grid-template-columns:240px 1fr 100px;background-color:var(--color-sage-pale);border:1px solid var(--color-border);border-radius:4px;overflow:hidden}@media(max-width:1199px){.cta-banner-wrapper{grid-template-columns:200px 1fr 90px}}@media(max-width:959px){.cta-banner-wrapper{grid-template-columns:1fr}}.cta-foliage-col{display:block;position:relative;overflow:hidden}@media(max-width:959px){.cta-foliage-col{display:none}}.cta-foliage-img{width:100%;height:100%;object-fit:cover;object-position:center}.cta-content-col{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,3.5vw,3rem);display:flex;align-items:center;justify-content:center;text-align:center}.cta-content-inner{max-width:640px;width:100%;margin:0 auto}.cta-label-en{display:inline-block;font-size:.75rem;letter-spacing:.2em;color:var(--color-botanical);margin-bottom:.5rem}.cta-title-ja{font-size:clamp(1.35rem,3vw,1.85rem);font-weight:500;color:var(--color-text);margin-bottom:clamp(1rem,2vw,1.35rem)}.cta-lead{font-size:.84rem;color:var(--color-text-sub);line-height:1.85;margin-bottom:2rem}.br-pc{display:inline}@media(max-width:767px){.br-pc{display:none}}.cta-actions-row{display:flex;justify-content:center;align-items:center}.cta-tel-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fff;border:1px solid var(--color-border);border-radius:9999px;padding:1.1rem clamp(2rem,5vw,3.5rem);min-width:280px;max-width:420px;width:100%;text-decoration:none;transition:all .35s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 18px #45524714}.cta-tel-card:hover{border-color:var(--color-botanical);box-shadow:0 6px 24px #45524729;transform:translateY(-2px)}.cta-tel-num{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-tel);font-size:clamp(1.5rem,3.2vw,1.85rem);font-weight:600;letter-spacing:.08em;color:var(--color-text);line-height:1.2}.cta-phone-icon{color:var(--color-botanical);flex-shrink:0}.cta-tel-hours{font-size:.72rem;color:var(--color-text-sub);letter-spacing:.03em;margin-top:.4rem;line-height:1.5;text-align:center}.cta-quote-col{display:flex;background-color:#ffffff59;border-left:1px solid var(--color-border);align-items:center;justify-content:center;padding:2rem 0}@media(max-width:959px){.cta-quote-col{display:none}}.cta-quote-inner{display:flex;flex-direction:column;gap:.75rem;font-size:.75rem;letter-spacing:.22em;color:var(--color-botanical);text-align:center;line-height:1.3;opacity:.85}
.subpage-header{background-color:var(--color-bg-warm);padding-top:calc(var(--header-height) + clamp(3rem,6vw,5rem));padding-bottom:clamp(2.5rem,4vw,3.5rem);border-bottom:1px solid var(--color-border)}.news-full-section{background-color:var(--color-bg)}.news-list-container{border-top:1px solid var(--color-border)}.news-row-item{border-bottom:1px solid var(--color-border)}.news-row-link{display:grid;grid-template-columns:1fr auto;gap:.75rem 1.5rem;padding:2rem .5rem;transition:background-color .2s ease,padding-left .3s ease}@media(min-width:768px){.news-row-link{grid-template-columns:240px 1fr auto;align-items:baseline;padding:2.25rem 1.25rem}}.news-row-link:hover{padding-left:1.75rem;background-color:var(--color-bg-warm)}.news-meta{display:flex;align-items:center;gap:1rem}.news-date{font-size:.8125rem;color:var(--color-text-muted)}.news-category{font-size:.6875rem;padding:.2rem .65rem;border:1px solid var(--color-border);border-radius:9999px;color:var(--color-text-light)}.news-title{font-size:1.0625rem;font-weight:400;color:var(--color-text);line-height:1.6;grid-column:1 / -1}@media(min-width:768px){.news-title{grid-column:auto}}.news-arrow{font-size:1.25rem;color:var(--color-text-muted);align-self:center}

.contact-cta{background-color:var(--color-bg);padding:clamp(4rem,7vw,7rem) 0}.cta-banner-wrapper{display:grid;grid-template-columns:240px 1fr 100px;background-color:var(--color-sage-pale);border:1px solid var(--color-border);border-radius:4px;overflow:hidden}@media(max-width:1199px){.cta-banner-wrapper{grid-template-columns:200px 1fr 90px}}@media(max-width:959px){.cta-banner-wrapper{grid-template-columns:1fr}}.cta-foliage-col{display:block;position:relative;overflow:hidden}@media(max-width:959px){.cta-foliage-col{display:none}}.cta-foliage-img{width:100%;height:100%;object-fit:cover;object-position:center}.cta-content-col{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,3.5vw,3rem);display:flex;align-items:center;justify-content:center;text-align:center}.cta-content-inner{max-width:640px;width:100%;margin:0 auto}.cta-label-en{display:inline-block;font-size:.75rem;letter-spacing:.2em;color:var(--color-botanical);margin-bottom:.5rem}.cta-title-ja{font-size:clamp(1.35rem,3vw,1.85rem);font-weight:500;color:var(--color-text);margin-bottom:clamp(1rem,2vw,1.35rem)}.cta-lead{font-size:.84rem;color:var(--color-text-sub);line-height:1.85;margin-bottom:2rem}.br-pc{display:inline}@media(max-width:767px){.br-pc{display:none}}.cta-actions-row{display:flex;justify-content:center;align-items:center}.cta-tel-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fff;border:1px solid var(--color-border);border-radius:9999px;padding:1.1rem clamp(2rem,5vw,3.5rem);min-width:280px;max-width:420px;width:100%;text-decoration:none;transition:all .35s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 18px #45524714}.cta-tel-card:hover{border-color:var(--color-botanical);box-shadow:0 6px 24px #45524729;transform:translateY(-2px)}.cta-tel-num{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-tel);font-size:clamp(1.5rem,3.2vw,1.85rem);font-weight:600;letter-spacing:.08em;color:var(--color-text);line-height:1.2}.cta-phone-icon{color:var(--color-botanical);flex-shrink:0}.cta-tel-hours{font-size:.72rem;color:var(--color-text-sub);letter-spacing:.03em;margin-top:.4rem;line-height:1.5;text-align:center}.cta-quote-col{display:flex;background-color:#ffffff59;border-left:1px solid var(--color-border);align-items:center;justify-content:center;padding:2rem 0}@media(max-width:959px){.cta-quote-col{display:none}}.cta-quote-inner{display:flex;flex-direction:column;gap:.75rem;font-size:.75rem;letter-spacing:.22em;color:var(--color-botanical);text-align:center;line-height:1.3;opacity:.85}
.news-detail-page{padding-top:calc(var(--header-height) + clamp(3rem,6vw,5rem));background-color:var(--color-bg)}.detail-header{border-bottom:1px solid var(--color-border);padding-bottom:2.5rem;margin-bottom:3.5rem}.detail-meta{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem}.detail-date{font-size:.875rem;color:var(--color-text-muted)}.detail-category{font-size:.75rem;padding:.25rem .75rem;border:1px solid var(--color-border);border-radius:9999px;color:var(--color-text-light)}.detail-title{font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:500;line-height:1.4;color:var(--color-text)}.detail-content{font-size:.9375rem;line-height:2.1;color:var(--color-text);margin-bottom:4rem}.detail-content p{margin-bottom:1.75rem}.detail-footer{border-top:1px solid var(--color-border);padding-top:3rem;text-align:center}.arrow-back{display:inline-block;margin-right:.25rem;transition:transform .3s ease}.c-btn-pill:hover .arrow-back{transform:translate(-4px)}

.subpage-header{background-color:var(--color-bg-warm);padding-top:calc(var(--header-height) + clamp(3rem,6vw,5rem));padding-bottom:clamp(2.5rem,4vw,3.5rem);border-bottom:1px solid var(--color-border)}.privacy-content-section{background-color:var(--color-bg)}.privacy-document{display:flex;flex-direction:column;gap:3rem}.lead-text{font-size:.9375rem;line-height:2;color:var(--color-text-light)}.doc-sec h2{font-size:1.125rem;font-weight:500;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.doc-sec p{font-size:.875rem;line-height:2;color:var(--color-text-light);margin-bottom:.75rem}.doc-sec ul{list-style:disc;padding-left:1.5rem;font-size:.875rem;line-height:2;color:var(--color-text-light)}.contact-info-card{background-color:var(--color-bg-warm);border:1px solid var(--color-border);padding:1.5rem;margin-top:1rem;font-size:.875rem;line-height:1.8}

/* ==========================================================================
   MV (Hero) — Split editorial layout
   - 左：コピー / 右：角丸フレームの店舗ムービー
   - 動画内の看板ロゴはトリミングで画面外に出し、ヘッダーロゴとの二重表示を解消
   ========================================================================== */
.hero-section{position:relative;padding-top:var(--header-height, 80px);background-color:var(--color-bg);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr)}

/* --- Visual --- */
.hero-visual{order:1;position:relative;padding-left:clamp(1.25rem,4vw,3.5rem)}
.hero-frame{position:relative;overflow:hidden;aspect-ratio:4 / 5;max-height:50svh;width:100%;border-top-left-radius:clamp(96px,28vw,180px);background-color:var(--color-sage-pale);animation:heroReveal 1.5s cubic-bezier(.77,0,.18,1) .05s both}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;transform-origin:50% 100%;animation:heroZoom 2.8s cubic-bezier(.16,1,.3,1) .05s both}
.hero-section img.hero-media{filter:none}
.hero-video{opacity:0;transition:opacity 1.4s ease}
.hero-frame.is-playing .hero-video{opacity:1}

/* 動画の一時停止ボタン（5秒以上動くコンテンツの停止手段 / WCAG 2.2.2） */
.hero-video-toggle{position:absolute;right:1rem;bottom:1rem;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background-color:#fcfcfab3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--color-deep-green);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .6s ease,background-color .3s ease}
.hero-video-toggle.is-ready{opacity:1}
.hero-video-toggle:hover{background-color:#fcfcfaf2}
.hero-video-toggle:focus-visible{outline:1px dashed var(--color-botanical);outline-offset:3px}
.hero-video-toggle .icon-pause{position:relative;display:block;width:10px;height:11px}
.hero-video-toggle .icon-pause:before,.hero-video-toggle .icon-pause:after{content:"";position:absolute;top:0;width:3px;height:11px;border-radius:1px;background-color:currentColor}
.hero-video-toggle .icon-pause:before{left:1px}
.hero-video-toggle .icon-pause:after{right:1px}
.hero-video-toggle.is-paused .icon-pause:before{left:2px;width:0;height:0;border-radius:0;background:none;border-style:solid;border-width:5.5px 0 5.5px 9px;border-color:transparent transparent transparent currentColor}
.hero-video-toggle.is-paused .icon-pause:after{display:none}

/* --- Copy --- */
.hero-copy{order:2;position:relative;z-index:2;display:flex;flex-direction:column;padding:1.75rem clamp(1.25rem,4vw,3.5rem) 2.75rem}
.hero-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .85rem;font-size:.6875rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--color-botanical);margin-bottom:1.25rem;animation:heroFade 1s cubic-bezier(.16,1,.3,1) .55s both}
.hero-eyebrow-line{display:inline-block;width:28px;height:1px;background-color:var(--color-botanical)}
.hero-eyebrow-sub{font-style:italic;text-transform:none;letter-spacing:.08em;color:var(--color-text-sub)}
.hero-eyebrow-sub:before{content:"/";margin-right:.85rem;font-style:normal;color:var(--color-border-dark);opacity:.5}
.hero-title-ja{font-size:clamp(1.75rem,7.4vw,2.25rem);font-weight:500;line-height:1.65;letter-spacing:.14em;color:var(--color-text);margin:0}
.hero-title-line{display:block;animation:heroFade 1.1s cubic-bezier(.16,1,.3,1) .7s both}
.hero-title-line+.hero-title-line{padding-left:1em;animation-delay:.85s}
.hero-script{font-size:clamp(1.9rem,8vw,2.3rem);line-height:1;color:var(--color-gold-muted);margin:.35rem 0 1.15rem .15em;transform:rotate(-4deg);transform-origin:left center;opacity:.9;animation:heroFadeScript 1.2s cubic-bezier(.16,1,.3,1) 1.05s both}
.hero-desc{font-size:.875rem;line-height:2.05;letter-spacing:.06em;color:var(--color-text-sub);margin:0;animation:heroFade 1.1s cubic-bezier(.16,1,.3,1) 1.15s both}
.hero-bottom-bar{display:none;align-items:flex-end;gap:2rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--color-border);animation:heroFade 1.1s cubic-bezier(.16,1,.3,1) 1.3s both}
.hero-scroll-indicator{display:none}
.hero-hours{display:flex;flex-wrap:wrap;gap:.35rem 1.75rem;margin:0;font-size:.75rem;letter-spacing:.14em;color:var(--color-text-sub)}
.hero-hours div{display:flex;gap:.7rem;align-items:baseline}
.hero-hours dt{font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-botanical)}
.hero-hours dd{margin:0}

@media(min-width:600px) and (max-width:959px){
  .hero-frame{aspect-ratio:3 / 2;max-height:none}
  .hero-media{inset:auto 0 0 0;height:130%;object-position:0% 100%;transform-origin:0% 100%}
  .hero-copy{padding-top:2.75rem;padding-bottom:3.25rem}
  .hero-title-ja{font-size:2.5rem}
  .hero-script{font-size:2rem}
  .hero-desc{font-size:.9375rem}
}
@media(min-width:960px){
  .hero-section{--hero-offset:max(clamp(40px,4vw,64px),calc((100vw - var(--container-max)) / 2 + clamp(40px,4vw,64px)))}
  .hero-section{height:100vh;height:100svh;min-height:640px;max-height:1100px}
  .hero-grid{height:100%;grid-template-columns:calc(var(--hero-offset) + clamp(350px,29.5vw,520px)) minmax(0,1fr)}
  .hero-copy{order:0;justify-content:center;padding:clamp(1.5rem,4vh,3rem) clamp(1.5rem,2.8vw,4rem) clamp(1.75rem,4vh,2.75rem) var(--hero-offset)}
  .hero-eyebrow{margin-top:auto;margin-bottom:clamp(1.75rem,4.5vh,2.75rem);font-size:.75rem;gap:.25rem 1rem}
  .hero-eyebrow-line{width:36px}
  .hero-eyebrow-sub{flex-basis:100%;padding-left:calc(36px + 1rem);font-size:.8125rem;letter-spacing:.1em}
  .hero-eyebrow-sub:before{display:none}
  .hero-title-ja{font-size:clamp(2rem,3.05vw,3.05rem);line-height:1.7;letter-spacing:.16em}
  .hero-script{font-size:clamp(2.1rem,2.7vw,2.75rem);margin:clamp(.5rem,1.2vh,.9rem) 0 clamp(1.5rem,3.6vh,2.4rem) .2em}
  .hero-desc{font-size:clamp(.875rem,1vw,.9375rem);line-height:2.15}
  .hero-bottom-bar{display:flex;margin-top:auto;gap:2.25rem;padding-top:0;border-top:0;align-items:flex-end}
  .hero-scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:.85rem}
  .scroll-text{writing-mode:vertical-rl;font-size:.6875rem;letter-spacing:.3em;text-transform:uppercase;color:var(--color-botanical)}
  .scroll-line{position:relative;display:block;width:1px;height:64px;background-color:var(--color-border);overflow:hidden}
  .scroll-line:after{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background-color:var(--color-botanical);animation:heroScrollLine 2.4s cubic-bezier(.65,0,.35,1) 2s infinite both}
  .hero-hours{flex-direction:column;gap:.4rem;padding-bottom:.15rem}
  .hero-visual{order:0;padding-left:0;height:100%}
  .hero-frame{height:100%;max-height:none;aspect-ratio:auto;border-top-left-radius:clamp(150px,15vw,280px)}
  /* PC：COMFYの看板・玄関左の窓・ドア・木までお店の外観をまるごと写す（看板はヘッダーのロゴから離れた位置） */
  .hero-media{inset:0;height:100%;object-position:0% 100%;transform-origin:0% 100%}
  .hero-video-toggle{right:1.5rem;bottom:1.5rem}
}
@media(min-width:960px) and (max-width:1299px){
  .hero-desc{font-size:.8125rem}
}
@media(min-width:960px) and (max-height:760px){
  .hero-script{display:none}
  .hero-eyebrow{margin-bottom:1.5rem}
  .hero-title-ja{margin-bottom:1.5rem}
}

@keyframes heroReveal{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes heroZoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes heroFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes heroFadeScript{from{opacity:0;transform:rotate(-4deg) translateY(10px)}to{opacity:.9;transform:rotate(-4deg)}}
@keyframes heroScrollLine{0%{transform:translateY(-100%)}55%{transform:translateY(0)}100%{transform:translateY(100%)}}
@media(prefers-reduced-motion:reduce){.scroll-line:after{animation:none;transform:none}}

/* ==========================================================================
   Fixes
   ========================================================================== */
/* お知らせ（スマホ）：バッジが横いっぱいに伸びる・矢印が単独行に落ちる不具合 */
.news-badge{justify-self:start}
@media(max-width:640px){.news-arrow{grid-column:3;grid-row:1 / span 2;align-self:center}}

/* フッター：プライバシーポリシーへの導線 */
.footer-legal{margin-bottom:.6rem;font-size:.75rem;letter-spacing:.06em}
.footer-legal a{color:var(--color-text-sub);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:4px;transition:color .3s ease}
.footer-legal a:hover{color:var(--color-botanical)}


/* キャンセル規定（メニューページ） */
.cancel-policy-section{background-color:var(--color-bg);scroll-margin-top:var(--header-height, 80px)}
.cancel-policy-box{display:flex;flex-direction:column;gap:1rem;background-color:var(--color-bg-white);border:1px solid var(--color-border);padding:clamp(1.75rem,4vw,2.75rem) clamp(1.5rem,4vw,3rem);font-size:.9375rem;line-height:2;letter-spacing:.04em;color:var(--color-text-sub)}
.notice-link{margin-left:.5em;color:var(--color-botanical);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.notice-link:hover{color:var(--color-deep-green)}

/* お悩み相談（サロン紹介） */
.consult-section{background-color:var(--color-bg-sub);scroll-margin-top:var(--header-height, 80px)}
.consult-list{list-style:none;margin:0;padding:0;max-width:62rem;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:16px 16px}
.consult-item{position:relative;background-color:var(--color-bg-white);border-radius:2rem;padding:.9rem 1.75rem;font-family:var(--font-heading-ja);font-size:.9688rem;font-weight:500;letter-spacing:.06em;line-height:1.7;color:var(--color-text)}
.consult-item:after{content:"";position:absolute;left:2.2rem;bottom:-7px;width:14px;height:14px;background-color:var(--color-bg-white);transform:rotate(45deg);border-radius:0 0 3px 0}
.consult-section p.consult-note{text-align:left;word-break:keep-all;overflow-wrap:anywhere;margin:2.5rem 0 0;font-size:.9375rem;line-height:2;letter-spacing:.06em;color:var(--color-text-sub)}
@media(max-width:767px){.consult-list{flex-direction:column;align-items:stretch;gap:16px}.consult-item{padding:.85rem 1.25rem;border-radius:1.25rem;font-size:.9375rem}.consult-item:after{left:1.6rem}.consult-section p.consult-note{margin-top:2rem}}
/* プライバシーポリシー：本文の文字サイズ・行間を他のページ（15px・行間2）にそろえる／箇条書きの下にも余白 */
.doc-sec p,.doc-sec ul{font-size:.9375rem;line-height:2}
.doc-sec ul{margin-bottom:.75rem}

/* ==========================================================================
   Design layer — MVのデザイン言語をサイト全体へ
   - 写真：内側の上角だけを大きく丸めたフレーム（MVと同じ形）
   - 見出し：セージの細線＋英字ラベル＋しっぽり明朝（2行目は1字下げ）
   - 締め：ご予約エリアを深いグリーンの帯に
   ========================================================================== */
:root{
  --arch-lg:clamp(96px,11vw,190px);
  --arch-md:clamp(64px,7.5vw,128px);
  --arch-sm:clamp(36px,4vw,64px);
  --color-forest:#455247;
  --color-forest-ink:#3B473D;
  --color-on-forest:#F4F2EA;
  --color-on-forest-sub:#C7CFC2;
  --color-brass-light:#D8C189;
  --page-offset:clamp(1.25rem,4vw,3.5rem);
}
@media(min-width:960px){
  :root{--page-offset:max(clamp(40px,4vw,64px),calc((100vw - var(--container-max)) / 2 + clamp(40px,4vw,64px)))}
}

/* ---------- 共通：セクション見出し ---------- */
.c-section-label-en{display:inline-flex;align-items:center;gap:.9rem;font-size:.75rem;font-weight:500;letter-spacing:.26em;color:var(--color-botanical);margin-bottom:1rem}
.c-section-label-en:before{content:"";display:inline-block;width:36px;height:1px;background-color:currentColor;flex-shrink:0}
.c-section-title-ja{font-size:clamp(1.65rem,3vw,2.35rem);font-weight:500;line-height:1.6;letter-spacing:.12em}
.c-section-header[style*="center"] .c-section-label-en{justify-content:center}

/* 価格・時刻の数字はJostで統一 */
.item-price,.price,.entry-time,.news-date,.detail-date{font-family:var(--font-tel)!important;letter-spacing:.05em}

/* ボタン：ホバーで深緑に */
.c-btn-pill{border-color:var(--color-forest);padding:.9rem 2.4rem}
.c-btn-pill:hover{background-color:var(--color-forest);border-color:var(--color-forest)}
.c-btn-pill:hover .btn-label-ja,.c-btn-pill:hover span,.c-btn-pill:hover span.arrow{color:var(--color-on-forest)}
.c-btn-pill:focus-visible{outline:1px dashed var(--color-botanical);outline-offset:4px}

/* 写真フレームの影は外してフラットに */
.concept-photo-frame,.menu-photo-frame,.feat-card-img-wrap,.feat-card-01-bg,.gallery-tile-link,.map-container-frame{box-shadow:none}

/* ==========================================================================
   トップページ
   ========================================================================== */
/* --- Concept --- */
.concept-title-ja{font-size:clamp(1.65rem,2.9vw,2.5rem);line-height:1.8;letter-spacing:.12em;padding-left:1em;text-indent:-1em;margin-bottom:2.25rem}
.concept-body{line-height:2.2}
.concept-photo-frame{border-radius:0;border-top-left-radius:var(--arch-lg)}
.concept-img{border-top-left-radius:var(--arch-lg)}
.concept-img{max-height:600px;aspect-ratio:4 / 5}
.concept-v-line{background-color:var(--color-botanical);opacity:.5}
.concept-v-text{color:var(--color-botanical)}

/* --- 4つのこだわり：2列のジグザグ、写真が上・文章が下 --- */
.commitments-section{background-color:var(--color-bg-sub)}
.commitments-section .feat-label-en{display:inline-flex;align-items:center;gap:.9rem;font-size:.75rem;font-weight:500;letter-spacing:.26em;color:var(--color-botanical);margin-bottom:1rem}
.commitments-section .feat-label-en:before{content:"";width:36px;height:1px;background-color:currentColor}
.commitments-section .feat-title-ja{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.6;letter-spacing:.12em}
.commitments-section .feat-header-line{display:none}
.commitments-section .feat-header-lead{color:var(--color-text-sub);line-height:2.1}
.commitments-section .feat-layout{display:grid;grid-template-columns:1fr;gap:4rem}
.commitments-section .feat-col{display:flex;flex-direction:column;gap:4rem}
.commitments-section .feat-card,
.commitments-section .feat-card-01{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:1.75rem;min-height:0;width:100%}
.commitments-section .feat-card-img-wrap,
.commitments-section .feat-card-01-bg{order:-1;position:relative;width:100%;max-width:none;min-width:0;height:auto;flex:none;margin:0;aspect-ratio:4 / 3;overflow:hidden;border-radius:2px;z-index:auto}
.commitments-section .feat-card-01-bg:after{content:none}
.commitments-section .feat-card-img,
.commitments-section .feat-card-01-img{width:100%;height:100%;object-fit:cover;object-position:center}
.commitments-section .feat-card-01-text,
.commitments-section .feat-card-text{position:static;width:auto;max-width:34rem;padding:0;flex:none;transform:none}
.commitments-section .feat-card-title,
.commitments-section .feat-card-desc{white-space:normal}
.commitments-section .feat-card-desc br{display:none}
.commitments-section .feat-card-01 .feat-card-01-bg{border-top-left-radius:var(--arch-md)}
.commitments-section .feat-card-02 .feat-card-img-wrap{border-top-right-radius:var(--arch-md)}
.commitments-section .feat-card-03 .feat-card-img-wrap{border-top-left-radius:var(--arch-sm)}
.commitments-section .feat-card-04 .feat-card-img-wrap{border-top-right-radius:var(--arch-sm)}
.commitments-section .feat-num{display:inline-block;font-style:italic;font-size:clamp(2.4rem,3.2vw,3rem);color:var(--color-gold-muted);margin:0 1rem .4rem 0;vertical-align:baseline}
.commitments-section .feat-card-line{display:inline-block;width:32px;height:1px;background-color:var(--color-gold-muted);margin:0 0 .9rem;vertical-align:middle;opacity:.7}
.commitments-section .feat-card-title{font-size:clamp(1.15rem,1.5vw,1.3rem);line-height:1.7;letter-spacing:.08em;margin-bottom:1rem}
.commitments-section .feat-04-footer{margin-top:1.5rem}
.commitments-section .feat-leaf{opacity:.55;bottom:-30px;left:-40px}
@media(min-width:960px){
  .commitments-section .feat-layout{grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6.5rem);align-items:start}
  .commitments-section .feat-col-1{gap:clamp(4.5rem,7vw,6.5rem)}
  .commitments-section .feat-col-2{gap:clamp(4.5rem,7vw,6.5rem);margin-top:clamp(6rem,10vw,9rem)}
}
@media(max-width:959px){
  .commitments-section .feat-col{display:contents}
  .commitments-section .feat-layout{gap:3.5rem}
  .commitments-section .feat-header-lead{white-space:normal}
}

/* --- Menu（トップ） --- */
.menu-section{border-top:0}
.menu-photo-frame{border-radius:0;border-top-right-radius:var(--arch-lg)}
.menu-plant-img{aspect-ratio:3 / 4;max-height:640px}
.menu-cat-title{font-family:var(--font-heading-ja);font-size:1.125rem;letter-spacing:.08em}
.menu-acc-summary{font-size:.9375rem;letter-spacing:.04em}
.acc-arrow{position:relative;display:inline-block;width:12px;height:12px;font-size:0;flex-shrink:0;margin-left:1rem}
.acc-arrow:before,.acc-arrow:after{content:"";position:absolute;left:0;top:50%;width:12px;height:1px;background-color:var(--color-botanical);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.acc-arrow:after{transform:rotate(90deg)}
.menu-acc-item[open] .acc-arrow{transform:none}
.menu-acc-item[open] .acc-arrow:after{transform:rotate(0)}
.menu-acc-summary:focus-visible{outline:1px dashed var(--color-botanical);outline-offset:4px}

/* --- Gallery：モザイクの外側の角だけ大きく丸める --- */
.gallery-tile-link{border-radius:2px}
.gallery-item-left .gallery-tile-link{border-top-left-radius:var(--arch-lg)}
.gallery-item-right-top .gallery-tile-link{border-top-right-radius:var(--arch-md)}
.gallery-view-all{font-style:italic;letter-spacing:.12em}
@media(max-width:639px){
  .gallery-item-right-top .gallery-tile-link{border-top-right-radius:2px}
}

/* --- News（トップ） --- */
.news-section{border-top:0}
.news-badge{border-color:transparent;background-color:var(--color-sage-pale);color:var(--color-forest)}
.news-title{letter-spacing:.05em}

/* --- 店舗情報・アクセス（トップ） --- */
.map-container-frame{border:0;border-radius:2px;height:clamp(340px,34vw,460px)}
.salon-row dt{font-family:var(--font-heading-ja)}

/* ==========================================================================
   ご予約エリア（全ページ共通）：深いグリーンの帯
   ========================================================================== */
.contact-cta .cta-banner-wrapper{background-color:var(--color-forest);border:0;border-radius:0;border-top-left-radius:var(--arch-lg);color:var(--color-on-forest)}
.contact-cta .cta-foliage-col{background-color:var(--color-forest-ink)}
.contact-cta .cta-foliage-img{mix-blend-mode:luminosity;opacity:.38}
.contact-cta .cta-content-col{padding:clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,3.5rem)}
.contact-cta .cta-label-en{display:inline-flex;align-items:center;gap:.9rem;font-size:.75rem;letter-spacing:.26em;color:var(--color-on-forest-sub)}
.contact-cta .cta-label-en:before,.contact-cta .cta-label-en:after{content:"";width:28px;height:1px;background-color:currentColor;opacity:.6}
.contact-cta .cta-title-ja{color:var(--color-on-forest);letter-spacing:.12em;font-size:clamp(1.4rem,2.6vw,2rem)}
.contact-cta .cta-lead{color:var(--color-on-forest-sub);font-size:.875rem;line-height:2}
.contact-cta .cta-tel-card{background-color:var(--color-on-forest);border:0;box-shadow:none}
.contact-cta .cta-tel-card:hover{background-color:#fff;box-shadow:0 10px 30px #00000026}
.contact-cta .cta-tel-num{color:var(--color-forest)}
.contact-cta .cta-phone-icon{color:var(--color-botanical)}
.contact-cta .cta-tel-hours{color:var(--color-text-sub)}
.contact-cta .cta-quote-col{background-color:transparent;border-left:1px solid rgba(244,242,234,.16)}
.contact-cta .cta-quote-inner{color:var(--color-brass-light);opacity:1;font-style:italic;letter-spacing:.28em}
@media(max-width:959px){
  .contact-cta .cta-banner-wrapper{border-top-left-radius:var(--arch-md)}
}

/* フッター */
.site-footer{border-top:0}
.footer-nav-link{font-family:var(--font-heading-ja);letter-spacing:.08em}

/* ==========================================================================
   下層ページ：見出しエリア（左に見出し・右に角丸写真）
   ========================================================================== */
.subpage-header{background-color:var(--color-bg);border-bottom:0;padding-bottom:clamp(2.5rem,5vw,4rem)}
.subpage-header .c-section-title-ja{font-size:clamp(1.9rem,3.6vw,2.9rem);letter-spacing:.14em}
.subpage-header.has-visual{padding-bottom:0}
.subpage-header.has-visual .subpage-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.subpage-header.has-visual .l-container{padding-bottom:2.25rem}
.subpage-visual{position:relative;margin-left:var(--page-offset);height:clamp(190px,46vw,280px);overflow:hidden;border-top-left-radius:var(--arch-md);background-color:var(--color-sage-pale)}
.subpage-visual img{width:100%;height:100%;object-fit:cover}
@media(min-width:960px){
  .subpage-header.has-visual{padding-top:var(--header-height,80px)}
  .subpage-header.has-visual .subpage-grid{grid-template-columns:minmax(0,46fr) minmax(0,54fr);align-items:stretch;min-height:clamp(340px,34vw,460px)}
  .subpage-header.has-visual .l-container{max-width:none;margin:0;padding:clamp(3rem,6vw,5rem) clamp(2rem,3.6vw,4rem) clamp(3rem,5vw,4.5rem) var(--page-offset);display:flex;flex-direction:column;justify-content:center}
  .subpage-visual{margin-left:0;height:auto;border-top-left-radius:var(--arch-lg)}
}

/* メニューのカテゴリ移動ボタン */
.quick-nav-link{background-color:transparent;border-color:var(--color-border);color:var(--color-text-sub)}
.quick-nav-link:hover{background-color:var(--color-forest);border-color:var(--color-forest);color:var(--color-on-forest)}

/* ---------- サロン紹介 ---------- */
.salon-concept-section .concept-visual{border-top-right-radius:var(--arch-lg)}
.salon-concept-section .article-title{font-size:clamp(1.9rem,3.4vw,2.8rem);letter-spacing:.12em;line-height:1.4;margin-bottom:1.5rem}
.salon-concept-section .article-lead{font-family:var(--font-heading-ja);font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:2;letter-spacing:.06em}
.commitments-detail-section{background-color:var(--color-bg-sub)}
.pillar-media{border-radius:2px;border-top-right-radius:var(--arch-md)}
.pillar-row.is-reversed .pillar-media{border-top-right-radius:2px;border-top-left-radius:var(--arch-md)}
.pillar-photo{display:block;width:100%;height:100%;object-fit:cover}
.pillar-num{font-style:italic;font-size:clamp(2.6rem,3.6vw,3.25rem);font-weight:400;color:var(--color-gold-muted)}
.pillar-title-ja{color:var(--color-text);font-weight:500;letter-spacing:.08em;line-height:1.6}
.pillar-lead{color:var(--color-forest)}
.guarantee-list-clean{display:grid;grid-template-columns:1fr;gap:2.25rem}
.guarantee-box-clean{border-left:0;border-top:1px solid var(--color-botanical);padding:1.5rem 0 0}
.guarantee-title{font-family:var(--font-heading-ja);font-weight:500;color:var(--color-text);letter-spacing:.06em;font-size:1.1875rem;margin-bottom:.75rem}
@media(min-width:900px){
  .guarantee-list-clean{grid-template-columns:repeat(3,1fr);gap:2.5rem}
}
.specs-row dt{font-family:var(--font-heading-ja)}
.specs-map-frame{border:0;border-radius:2px}

/* 情報カード（最終受付・ご案内・キャンセル規定） */
.last-entry-card,.notice-card,.cancel-policy-box{border:0;border-radius:0;border-top-left-radius:var(--arch-sm);background-color:var(--color-bg-white)}
.last-entry-heading{font-weight:500;letter-spacing:.06em}
.last-entry-label-en{font-family:var(--font-en)!important;font-size:.75rem;letter-spacing:.24em}
.salon-specs-section .last-entry-card{background-color:var(--color-bg)}

/* ---------- メニュー一覧 ---------- */
.cat-title-bar{border-bottom-color:var(--color-botanical)}
.cat-ja{letter-spacing:.08em}
.cat-en{font-family:var(--font-en)!important;font-style:italic;text-transform:none;font-size:1rem;letter-spacing:.08em;color:var(--color-gold-muted)}
.item-info .name{letter-spacing:.04em}
.menu-full-section .item-row{border-bottom-style:solid;border-bottom-color:var(--color-border-subtle)}
.menu-bottom-info-grid .last-entry-card,.menu-bottom-info-grid .notice-card{background-color:var(--color-bg-sub)}

/* ---------- お知らせ ---------- */
.news-category,.detail-category{border-color:transparent;background-color:var(--color-sage-pale);color:var(--color-forest)}
.news-row-link:hover{background-color:var(--color-bg-sub)}
.news-full-section .news-title{font-family:var(--font-heading-ja);letter-spacing:.06em}
.detail-title{font-family:var(--font-heading-ja);letter-spacing:.08em;line-height:1.6}
.detail-header{border-bottom-color:var(--color-botanical)}

/* ---------- プライバシーポリシー ---------- */
.doc-sec h2{font-family:var(--font-heading-ja);letter-spacing:.06em;border-bottom-color:var(--color-border);display:flex;align-items:center;gap:.85rem}
.doc-sec h2:before{content:"";width:20px;height:1px;background-color:var(--color-botanical);flex-shrink:0}
.contact-info-card{border:0;border-top-left-radius:var(--arch-sm);background-color:var(--color-bg-sub);padding:1.75rem 2rem}

/* ---------- 404 ---------- */
.not-found-section{background-color:var(--color-bg-sub)}
.not-found-inner{border:0;border-top-left-radius:var(--arch-lg)}
.error-code{font-family:var(--font-en);font-style:italic;color:var(--color-gold-muted);opacity:.55}

/* ---------- 調整 ---------- */
.subpage-header .c-section-title-ja{font-size:clamp(1.75rem,3vw,2.6rem)}
.pillar-title-ja{letter-spacing:.04em}
.c-section-label-en{white-space:nowrap}
@media(max-width:767px){
  .concept-title-ja{font-size:min(6vw,1.65rem)}
  .news-header-flex{flex-wrap:wrap;align-items:flex-end;gap:1.25rem}
}
@media(max-width:959px){
  .menu-plant-img{aspect-ratio:4 / 3}
}

/* ==========================================================================
   筆記体アクセント（MVの "comfortable days" と同じ Alex Brush）
   ========================================================================== */
.c-script{display:block;font-family:var(--font-script);font-weight:400;font-style:normal;line-height:1;letter-spacing:0;color:var(--color-gold-muted);transform:rotate(-4deg);transform-origin:left center;opacity:.92}

/* 下層ページの見出し下 */

.subpage-header .category-quick-nav{margin-top:2.25rem}

/* トップ：コンセプト写真の下に "A more comfortable day" */
.concept-photo-col{flex-direction:column;align-items:stretch;gap:1.1rem;padding-bottom:1.75rem}
.concept-photo-frame{width:100%}
.concept-accent-side{align-self:flex-end;margin-right:.25rem}
.concept-v-line{display:none}
.concept-v-text{flex-direction:row;flex-wrap:wrap;gap:0 .32em;font-family:var(--font-script)!important;font-style:normal;font-size:clamp(1.9rem,2.5vw,2.4rem);letter-spacing:0;line-height:1.1;color:var(--color-gold-muted);transform:rotate(-4deg);transform-origin:right center}

/* ご予約エリア：縦の英字を筆記体に（PCは縦組み、スマホは下に横組み） */
.contact-cta .cta-quote-inner{font-family:var(--font-script)!important;font-style:normal;text-transform:lowercase;letter-spacing:0;font-size:1.75rem;line-height:1;gap:0 .3em;writing-mode:vertical-rl;flex-direction:row;color:var(--color-brass-light);white-space:nowrap}
@media(max-width:959px){
  .contact-cta .cta-quote-col{display:flex;border-left:0;border-top:1px solid rgba(244,242,234,.16);padding:1.5rem 1.25rem 1.9rem}
  .contact-cta .cta-quote-inner{writing-mode:horizontal-tb;flex-wrap:wrap;justify-content:center;font-size:1.85rem;transform:rotate(-3deg)}
}

/* 4つのこだわり：PCでは見出しを1行に */
@media(min-width:960px){
  .commitments-section .feat-card-title{white-space:nowrap}
  .commitments-section .feat-card-title br{display:none}
}

/* キャンセル規定：左揃え・読みやすい行長に */
.cancel-policy-box{max-width:56rem}

/* ==========================================================================
   見出しの上の筆記体（英字ラベルの代わり）
   ========================================================================== */
.section-script{position:relative;z-index:1;display:block;width:max-content;max-width:100%;font-size:clamp(1.95rem,2.7vw,2.6rem);line-height:1;white-space:nowrap;margin:0 0 -.12em -.08em;transform:rotate(-7deg) translateY(-.05em);transform-origin:left bottom;pointer-events:none}
.subpage-header .section-script{font-size:clamp(2.2rem,3.1vw,3.1rem);margin-bottom:-.08em}
.last-entry-card .section-script,.notice-card .section-script{font-size:1.85rem;margin-bottom:.15rem}
/* 中央揃えの見出し（ご予約エリア・Instagram） */
.cta-content-inner .section-script,.instagram-cta-box .section-script{margin-left:auto;margin-right:auto;transform-origin:center bottom;transform:rotate(-5deg)}
.contact-cta .section-script{color:var(--color-brass-light);font-size:clamp(1.9rem,3vw,2.5rem);margin-bottom:.35rem;white-space:normal;width:auto}
.instagram-cta-box .section-script{margin-bottom:.4rem}
/* ご予約エリアは2列に */
.contact-cta .cta-banner-wrapper{grid-template-columns:240px 1fr}
@media(max-width:1199px){.contact-cta .cta-banner-wrapper{grid-template-columns:200px 1fr}}
@media(max-width:959px){.contact-cta .cta-banner-wrapper{grid-template-columns:1fr}}

/* ==========================================================================
   改行：文節（フレーズ）単位で改行（HTML側で文節の切れ目に <wbr> を挿入）
   ========================================================================== */
body{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}

/* 筆記体：少し薄いゴールドに */
:root{--color-script:#D6C89F}
.c-script,.hero-script,.concept-v-text{color:var(--color-script)}

/* スマホ：ヘッダーの高さを少しコンパクトに（80px → 72px） */
@media(max-width:899px){:root{--header-height:72px}}

/* ページ内リンク（メニュー・サロン紹介の見出しエリア）：目次スタイル（番号つき・縦1列） */
.subpage-header .category-quick-nav{margin-top:2.5rem;max-width:22rem}
.quick-nav-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0 0 0 1.4rem;border:0;border-left:1px solid var(--color-border);counter-reset:toc}
.quick-nav-list li{counter-increment:toc}
.quick-nav-link{display:flex;justify-content:flex-start;align-items:baseline;gap:1rem;padding:.55rem 0;border:0;border-radius:0;background:none;font-family:var(--font-heading-ja);font-size:.9375rem;letter-spacing:.08em;line-height:1.5;color:var(--color-text);white-space:nowrap;transition:color .25s ease}
.quick-nav-link:before{content:counter(toc,decimal-leading-zero);min-width:1.6rem;font-family:var(--font-en);font-style:italic;font-size:1.05rem;color:var(--color-gold-muted);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.quick-nav-link:after{content:none}
.quick-nav-link:hover{background:none;border:0;color:var(--color-forest)}
.quick-nav-link:hover:before{transform:translateX(3px)}
.quick-nav-link:focus-visible{outline:1px dashed var(--color-botanical);outline-offset:3px}
/* ページ内リンクの移動先：固定ヘッダーに隠れないように */
#philosophy,#commitments,#guarantee,#overview,#cancel{scroll-margin-top:var(--header-height,80px)}
.nw{white-space:nowrap}

/* ご予約エリアの筆記体：控えめに */
.contact-cta .section-script{color:var(--color-brass-light);opacity:.5}

/* 本文（説明文）は文節で区切らず、行末まで文字を続けて流す（見出し・メニュー名などは文節改行のまま） */
main p:not(.c-script),.notice-bullets li,.doc-sec li{word-break:normal;line-break:strict;text-wrap:pretty}

/* MV：見出し上のラベルを日本語に（明朝・小さめ・グレーで控えめに） */
.hero-eyebrow{font-family:var(--font-heading-ja);text-transform:none;letter-spacing:.14em;font-size:.8125rem;color:var(--color-text-sub);word-break:keep-all}
@media(min-width:960px){.hero-eyebrow{font-size:.875rem}}

/* スマホのMV：見出しを大きく、筆記体は右寄せで見出しの終わりに添える */
@media(max-width:599px){
  .hero-copy{padding-top:1.9rem}
  .hero-eyebrow{margin-bottom:1rem}
  .hero-title-ja{font-size:min(9.6vw,2.6rem);line-height:1.55;letter-spacing:.16em}
  .hero-title-line+.hero-title-line{padding-left:1.4em}
  .hero-script{font-size:min(8.6vw,2.4rem);margin:.1rem 0 1.25rem auto;align-self:flex-end;transform-origin:right center;padding-right:.6rem}
}

/* 「COMFYの想い」の見出しを、ほかのセクション見出しと同じサイズ・太さに */
.salon-concept-section .article-title{font-size:clamp(1.65rem,3vw,2.35rem);font-weight:500;line-height:1.6;letter-spacing:.12em}
/* リード文は言葉の区切りで改行 */
.salon-concept-section .article-lead{word-break:keep-all}

/* トップのコンセプト：文字だけの中央そろえ（MVと見た目を変えて、ひと呼吸おく場面に） */
.concept-section{padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5.5rem,10vw,10rem)}
.concept-grid.is-text-only{display:block}
.concept-grid.is-text-only .concept-text-col{max-width:44rem;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.concept-grid.is-text-only .concept-text-col:before{content:"";display:block;width:1px;height:clamp(48px,6vw,72px);background-color:var(--color-botanical);opacity:.45;margin-bottom:clamp(1.75rem,3vw,2.5rem)}
.concept-grid.is-text-only .section-script{margin:0 auto -.1em;transform-origin:center bottom;transform:rotate(-5deg)}
.concept-grid.is-text-only .concept-title-ja{padding-left:0;text-indent:0;margin-bottom:2rem}
.concept-grid.is-text-only .concept-body{margin-bottom:2.75rem}
.concept-grid.is-text-only .concept-body p{word-break:keep-all;text-wrap:balance}
/* 4つのこだわりのリード文も言葉の区切りで改行 */
.commitments-section .feat-header-lead{word-break:keep-all}

/* コンセプト本文：スマホは左寄せで文字を続ける */
@media(max-width:767px){
  .concept-grid.is-text-only .concept-body{align-self:stretch}
  .concept-grid.is-text-only .concept-body p{text-align:left;word-break:normal;text-wrap:wrap}
}
/* キャンセル規定の枠：上の「最終受付時間・ご案内」と同じ淡いグリーンに */
.cancel-policy-box{background-color:var(--color-bg-sub)}
/* サロン紹介：店舗概要は表のみ（最終受付時間はメニューページへ一本化） */
.salon-specs-section .specs-grid{grid-template-columns:1fr}
.specs-row .specs-link,.salon-row .specs-link{display:block;width:fit-content;margin:.35rem 0 0;font-size:.8125rem;white-space:normal}
#last-order{scroll-margin-top:calc(var(--header-height,80px) + 1.5rem)}

/* ==========================================================================
   メニューページ：ご予約について（最終受付時間＋キャンセル規定）／ご案内・特典
   ========================================================================== */
.reserve-block{margin-top:clamp(4.5rem,8vw,7rem);scroll-margin-top:calc(var(--header-height,80px) + 1rem)}
.reserve-block .menu-bottom-info-grid{margin-top:0}
.cancel-card .last-entry-heading{padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border)}
.cancel-policy-text{display:flex;flex-direction:column;gap:.85rem;font-size:.8125rem;line-height:1.95;letter-spacing:.04em;color:var(--color-text-sub)}
.perks-section{background-color:var(--color-bg);padding-top:clamp(3.5rem,6vw,5.5rem)}
.perks-lead{margin-top:.75rem;font-size:.875rem;color:var(--color-text-sub)}
.perks-list{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.perks-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 2.5rem}}
@media(min-width:1200px){.perks-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem}}

/* ==========================================================================
   スマホ・タブレットの下層ページ上部：写真を一番上に、ページ名を重ねる＋目次2列
   ========================================================================== */
@media(max-width:959px){
  .subpage-header.has-visual{padding-top:var(--header-height,72px);padding-bottom:0}
  .subpage-header.has-visual .subpage-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto}
  .subpage-header.has-visual .l-container{display:contents}
  .subpage-header.has-visual .subpage-visual{grid-row:1 / 4;grid-column:1;margin:0;height:min(64vw,300px);border-radius:0;border-bottom-right-radius:clamp(64px,20vw,120px)}
  .subpage-header.has-visual .subpage-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(32,38,34,.62) 0%,rgba(32,38,34,.28) 45%,rgba(32,38,34,0) 75%)}
  .subpage-header.has-visual .section-script{grid-row:2;grid-column:1;z-index:2;margin:0 0 -.1em clamp(1.15rem,4vw,3.4rem);color:#E6D9B5;opacity:.95;font-size:2rem}
  .subpage-header.has-visual h1{grid-row:3;grid-column:1;z-index:2;margin:0 0 1.35rem clamp(1.25rem,4vw,3.5rem);color:#fff;font-size:1.75rem;text-shadow:0 1px 12px rgba(0,0,0,.25)}
  .subpage-header.has-visual .category-quick-nav{grid-row:4;grid-column:1;margin:1.5rem clamp(1.25rem,4vw,3.5rem) 0;max-width:none}
  .subpage-header.has-visual .quick-nav-list{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;padding-left:0;border-left:0;border-top:1px solid var(--color-border)}
  .subpage-header.has-visual .quick-nav-list li{border-bottom:1px solid var(--color-border)}
  .subpage-header.has-visual .quick-nav-link{padding:.7rem 0;font-size:.8125rem;gap:.55rem;white-space:normal;line-height:1.45}
  .subpage-header.has-visual .quick-nav-link:before{font-size:.9rem;min-width:1.2rem}
}

/* メニュー：長いメニュー名・料金でも枠からはみ出さないように */
.item-row{min-width:0}
.item-info{flex:1 1 auto;max-width:none}
.item-row .price{flex:0 0 auto;white-space:nowrap;text-align:right}
.item-row .price.is-range{flex:0 1 auto;white-space:normal}
.price-row{gap:1rem}
.price-row .item-name{flex:1 1 auto}
.price-row .item-price{flex:0 0 auto;white-space:nowrap}

/* サロン紹介「COMFYの想い」：スマホ・タブレットは文章の後に横長の写真 */
@media(max-width:899px){
  .salon-concept-section .concept-visual{order:2;aspect-ratio:3 / 2;border-top-right-radius:0;border-bottom-left-radius:clamp(64px,20vw,110px)}
  .salon-concept-section .concept-visual img{object-position:15% 0%!important}
}
/* サロン紹介：「4つのこだわり」（淡いグリーン）と続くので、店舗概要は白い背景に */
.salon-specs-section{background-color:var(--color-bg)}

/* SEO：トップの h1（見た目は今までの小さな説明文と同じ） */
h1.hero-eyebrow{font-weight:500;text-wrap:wrap}
.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}
/* フッター：店名・住所・電話（全ページ共通の表記） */
.footer-nap{margin:0 auto 1rem;font-style:normal;font-size:.75rem;line-height:1.9;letter-spacing:.06em;color:var(--color-text-sub);text-align:center}
.footer-nap>span{display:inline-block;margin:0 .6em}
.footer-nap .nap-addr{word-break:normal}
.footer-nap a{color:inherit;text-decoration:none}
.footer-nap a:hover{color:var(--color-botanical)}
/* 短いリード文は最後の行に1〜2文字だけ残らないよう、行の長さをそろえる */
main p.pillar-lead{word-break:keep-all;text-wrap:balance}
/* スマホ：ページ最下部でコピーライトが「ページトップ」ボタンに隠れないように */
@media(max-width:768px){.site-footer{padding-bottom:5rem}}
/* ヘッダー：電話ボタンとメニューの間を少し広げて区切りをはっきり */
@media(min-width:900px){.desktop-nav{margin-right:40px}}
/* 小さめのノートPC（900〜1099px）：ロゴとメニューが詰まらないように少しコンパクトに */
@media(min-width:900px) and (max-width:1099px){
  .nav-list{gap:20px}
  .nav-text{font-size:14px;letter-spacing:.03em}
  .desktop-nav{margin-right:24px}
  .tel-link{padding:0 16px}
}

/* ==========================================================================
   お問い合わせページ（contact.php）
   ========================================================================== */
.subpage-lead{margin-top:1.25rem;font-size:.9375rem;line-height:1.9;letter-spacing:.06em;color:var(--color-text-sub)}
@media(max-width:959px){
  .subpage-header.has-visual .subpage-lead{grid-row:4;grid-column:1;margin:1.5rem clamp(1.25rem,4vw,3.5rem) 0;font-size:.875rem}
}
.contact-tel-section{padding-bottom:0}
.contact-tel-box{text-align:center;background-color:var(--color-sage-pale);border-top-right-radius:var(--arch-md);padding:clamp(2rem,5vw,3rem) clamp(1.25rem,4vw,3rem)}
.contact-box-title{font-size:clamp(1.0625rem,2.2vw,1.3125rem);font-weight:500;letter-spacing:.08em;line-height:1.6;color:var(--color-text);margin-bottom:.9rem}
.contact-tel-num{display:inline-flex;align-items:center;gap:.6rem;font-size:clamp(1.75rem,5.2vw,2.25rem);font-weight:500;letter-spacing:.06em;line-height:1.3;color:var(--color-forest);text-decoration:none;transition:opacity .25s ease}
.contact-tel-num:hover{opacity:.75}
.contact-tel-hours{margin-top:.6rem;font-size:.875rem;line-height:1.8;color:var(--color-text-sub)}
.contact-tel-note{margin-top:1rem;font-size:.8125rem;color:var(--color-text-sub)}

.c-form-steps{display:flex;align-items:center;gap:.75rem;list-style:none;margin:0 0 1.25rem;padding:0;counter-reset:step}
.c-form-steps li{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;letter-spacing:.1em;color:var(--color-text-muted);counter-increment:step}
.c-form-steps li:before{content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid currentColor;font-family:var(--font-tel);font-size:.75rem;letter-spacing:0}
.c-form-steps li:not(:last-child):after{content:"";width:clamp(16px,4vw,32px);height:1px;margin-left:.25rem;background-color:var(--color-border)}
.c-form-steps li.is-current{color:var(--color-forest);font-weight:500}
.c-form-steps li.is-current:before{background-color:var(--color-forest);border-color:var(--color-forest);color:var(--color-on-forest)}
.c-form-lead{margin-bottom:2rem;font-size:.9375rem;line-height:1.9;color:var(--color-text-sub)}
.c-form-alert{margin-bottom:1.75rem;padding:.9rem 1.1rem;border-left:2px solid #B4534B;background-color:#FBF1EF;font-size:.875rem;line-height:1.8;color:#8E3B33}
.c-form-row{margin-bottom:1.75rem}
.c-form-label{display:flex;align-items:center;gap:.65rem;margin-bottom:.6rem;font-size:.9375rem;font-weight:500;letter-spacing:.06em;color:var(--color-text)}
.c-form-req{display:inline-block;padding:.12rem .55rem;border-radius:2px;background-color:var(--color-forest);color:var(--color-on-forest);font-size:.6875rem;font-weight:500;letter-spacing:.08em;line-height:1.6}
.c-form-input{display:block;width:100%;padding:.85rem 1rem;border:1px solid #CDD3CB;border-radius:2px;background-color:#fff;color:var(--color-text);font-family:var(--font-base);font-size:16px;line-height:1.6;-webkit-appearance:none;appearance:none;transition:border-color .2s ease,box-shadow .2s ease}
textarea.c-form-input{min-height:12rem;line-height:1.8;resize:vertical}
.c-form-input::placeholder{color:#B3B7B0}
.c-form-input:focus{outline:none;border-color:var(--color-forest);box-shadow:0 0 0 3px rgba(69,82,71,.14)}
.c-form-row.has-error .c-form-input{border-color:#B4534B;background-color:#FFFBFA}
.c-form-error{margin-top:.45rem;font-size:.8125rem;line-height:1.7;color:#A8453D}
.c-form-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.c-form-privacy{margin-top:2rem;font-size:.8125rem;line-height:1.9;color:var(--color-text-sub)}
.c-form-privacy a{color:var(--color-text);text-decoration:underline;text-underline-offset:3px}
.c-form-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.25rem}
.c-form-actions.is-confirm{flex-direction:row-reverse}
.c-form-btn{display:inline-flex;align-items:center;justify-content:center;min-width:260px;height:3.5rem;padding:0 2.5rem;border:1px solid var(--color-forest);border-radius:9999px;background-color:var(--color-forest);color:var(--color-on-forest);font-family:var(--font-base);font-size:.9375rem;font-weight:500;letter-spacing:.1em;cursor:pointer;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.c-form-btn:hover{background-color:#38433A;border-color:#38433A}
.c-form-btn:focus-visible{outline:2px solid var(--color-forest);outline-offset:3px}
.c-form-btn:disabled{opacity:.6;cursor:default}
.c-form-btn.is-ghost{background-color:transparent;border-color:var(--color-border-dark);color:var(--color-text)}
.c-form-btn.is-ghost:hover{background-color:var(--color-sage-light)}
.c-form-confirm{margin:0;border-top:1px solid var(--color-border)}
.c-form-confirm-row{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:.4rem 1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--color-border)}
.c-form-confirm dt{font-size:.875rem;font-weight:500;letter-spacing:.06em;color:var(--color-text-sub);line-height:1.9}
.c-form-confirm dd{margin:0;font-size:.9375rem;line-height:1.9;color:var(--color-text);overflow-wrap:anywhere;word-break:normal}
.c-form-complete{margin-top:.5rem;text-align:center;background-color:var(--color-sage-pale);border-top-right-radius:var(--arch-md);padding:clamp(2.5rem,6vw,3.5rem) clamp(1.25rem,4vw,3rem)}
.c-form-complete-title{margin-bottom:1rem;font-size:clamp(1.1875rem,3vw,1.5rem);font-weight:500;letter-spacing:.08em;line-height:1.6;color:var(--color-text)}
.c-form-complete p:not(.c-form-complete-title){font-size:.9375rem;line-height:2;color:var(--color-text-sub)}
.c-form-complete .c-btn-pill{margin-top:1.75rem}
.c-form-notes{margin-top:3rem;padding-top:1.75rem;border-top:1px solid var(--color-border);font-size:.8125rem;line-height:1.9;color:var(--color-text-sub)}
.c-form-notes-title{margin-bottom:.5rem;font-weight:500;color:var(--color-text)}
.c-form-notes ul{list-style:none;margin:0;padding:0}
.c-form-notes li{position:relative;padding-left:1.1em}
.c-form-notes li:before{content:"・";position:absolute;left:0}
@media(max-width:599px){
  .c-form-confirm-row{grid-template-columns:minmax(0,1fr);padding:1rem 0}
  .c-form-actions,.c-form-actions.is-confirm{flex-direction:column;align-items:stretch}
  .c-form-actions form{display:flex;flex-direction:column}
  .c-form-btn{min-width:0;width:100%}
}

/* ヘッダーの「お問い合わせ」ボタン */
.header-contact-link .tel-icon svg{display:block}
.header-contact-link[aria-current="page"]{background-color:var(--color-sage-light);border-color:var(--color-sage)}
/* ページ下の予約エリア：メールでのお問い合わせへのリンク */
.cta-mail-link{margin-top:1.25rem;text-align:center;font-size:.875rem;letter-spacing:.06em}
.cta-mail-link a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-border-dark);text-underline-offset:5px;transition:color .25s ease}
.cta-mail-link a:hover{color:var(--color-forest)}
.contact-form-section .c-section-title-ja{margin-bottom:1.75rem}
/* 予約エリアは深緑の背景なので、メールへのリンクは明るい色に */
.contact-cta .cta-mail-link a{color:var(--color-on-forest);text-decoration-color:rgba(244,242,234,.45)}
.contact-cta .cta-mail-link a:hover{color:#fff;text-decoration-color:#fff}
/* フォームの案内文は文節で折り返す（「くだ／さい」のような切れ方をしない） */
main p.c-form-lead{word-break:keep-all;text-wrap:pretty}
/* スマホのメニュー：「お問い合わせ」を加えても電話ボタンまで1画面に収まるよう、行間を少し詰める */
.mobile-nav-list{gap:.45rem;margin-bottom:1.5rem}
/* ヘッダーの「お問い合わせ」ボタンもメニューと同じ明朝体に */
.header-contact-link .tel-txt{font-family:var(--font-heading-ja);font-size:14px;font-weight:500;letter-spacing:.08em}

/* --- トップ「ヘアスタイルギャラリー」7枚のレイアウト --- */
.editorial-gallery-layout.gallery7{display:grid;grid-template-columns:333fr 129fr 129fr 160fr 160fr;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-areas:"l c1 c2 r r" "l cb cb r r" "l cb cb r1 r2";gap:clamp(10px,1.6vw,16px);aspect-ratio:1251 / 739}
.gallery7 .g7{min-width:0;min-height:0}
.gallery7 .g7 .gallery-tile-link{height:100%}
.gallery7 .g7-l{grid-area:l}.gallery7 .g7-c1{grid-area:c1}.gallery7 .g7-c2{grid-area:c2}.gallery7 .g7-cb{grid-area:cb}
.gallery7 .g7-r{grid-area:r}.gallery7 .g7-r1{grid-area:r1}.gallery7 .g7-r2{grid-area:r2}
.gallery7 .g7-l .gallery-tile-link{border-top-left-radius:var(--arch-lg)}
.gallery7 .g7-r .gallery-tile-link{border-top-right-radius:var(--arch-md)}
@media(max-width:767px){
  .editorial-gallery-layout.gallery7{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-template-areas:"l l" "c1 c2" "cb r" "r1 r2";gap:12px;aspect-ratio:auto}
  .gallery7 .g7-l .gallery-tile-link{aspect-ratio:4 / 5}
  .gallery7 .g7-c1 .gallery-tile-link,.gallery7 .g7-c2 .gallery-tile-link,.gallery7 .g7-r1 .gallery-tile-link,.gallery7 .g7-r2 .gallery-tile-link{aspect-ratio:1 / 1}
  .gallery7 .g7-cb .gallery-tile-link,.gallery7 .g7-r .gallery-tile-link{aspect-ratio:3 / 4}
  .gallery7 .g7-r .gallery-tile-link{border-top-right-radius:2px}
}

/* --- トップ「COMFYの4つのこだわり」：写真なし・雑誌のような1行ずつのリスト --- */
.feat-list{position:relative;z-index:1;border-top:1px solid rgba(69,82,71,.22)}
.feat-row{display:grid;grid-template-columns:clamp(4.5rem,9vw,8rem) minmax(0,21rem) minmax(0,1fr);gap:clamp(1rem,3vw,3.25rem);align-items:center;padding:clamp(1.75rem,3.2vw,2.6rem) clamp(.5rem,1.5vw,1.5rem);border-bottom:1px solid rgba(69,82,71,.22)}
.feat-row-num{font-family:var(--font-en);font-style:italic;font-size:clamp(3rem,5vw,4.5rem);line-height:.9;color:#c2a263}
.feat-row-ttl{font-family:var(--font-heading-ja);font-size:clamp(1.1rem,1.6vw,1.375rem);font-weight:500;letter-spacing:.08em;line-height:1.7;color:var(--color-text);margin:0}
main p.feat-row-desc{font-size:.9375rem;line-height:2;color:var(--color-text-sub);margin:0}
@media(max-width:767px){
  .feat-row{grid-template-columns:auto minmax(0,1fr);row-gap:.85rem;padding:1.75rem .25rem}
  .feat-row-num{font-size:2.75rem}
  main p.feat-row-desc{grid-column:1 / -1}
}

/* Instagramへのリンク：アイコンで外部（Instagram）へ飛ぶことを示す */
.ext-ig{display:inline-block;flex-shrink:0;margin-left:.45em;vertical-align:-.12em;opacity:.7;transition:opacity .25s ease}
a:hover .ext-ig{opacity:1}
.mobile-nav-link .en-label .ext-ig{width:11px;height:11px;margin-left:.5em}
.gallery-view-all .ext-ig{margin-left:.6em}

/* 文字サイズをページ間でそろえる */
.salon-row{font-size:.9375rem;line-height:1.85}
.cancel-policy-text{font-size:.9375rem;line-height:2}
/* トップの料金：「¥15,000〜¥20,000」は狭いスマホでは「〜」の後で改行 */
.price-row .item-price.is-range{white-space:normal;flex:0 1 auto;text-align:right}

/* スマホのメニュー：左寄せの縦1列（英字なし）、電話ボタン → 店舗情報 */
@media(max-width:899px){
/* 上の線はヘッダーの下の線と重なって見えるため付けない（2026-10-21） */
.mobile-nav{padding:calc(var(--header-height,72px) + 1rem) 1.5rem 1.5rem;align-items:stretch}
.mobile-nav-inner{max-width:420px;width:100%;text-align:left}
.mobile-nav-list{display:block;gap:0;margin:0;border-top:0}
.mobile-nav-item{display:block;border-bottom:1px solid var(--color-border)}
.mobile-nav-link{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:54px;padding:.7rem .25rem}
.mobile-nav-link .ja-label{font-size:1.0625rem;display:inline-flex;align-items:center}
.mobile-nav-link .ja-label .ext-ig{width:13px;height:13px;margin-left:.5em;color:#CBB27A;opacity:1}
.mobile-nav-link:after{content:"";width:7px;height:7px;border-top:1px solid #CBB27A;border-right:1px solid #CBB27A;transform:rotate(45deg);margin-right:.35rem;flex-shrink:0}
.mobile-contact-info{border-top:0;padding-top:1.25rem;text-align:left}
.mobile-contact-info .mobile-tel-btn{margin:0 0 1.25rem;width:100%;max-width:none}
}

/* スマホのメニューの電話ボタン：電話のマーク＋番号 */
.mobile-tel-btn .tel-btn-num{display:inline-flex;align-items:center;justify-content:center}
.mobile-tel-btn .tel-btn-icon{width:17px;height:17px;margin-right:.45em;flex-shrink:0}

/* プライバシーポリシー：本文中のリンク */
.doc-sec a{color:var(--color-botanical);text-decoration:underline;text-underline-offset:3px;word-break:break-all}
.doc-sec a:hover{color:var(--color-deep-green)}
