:root{--main:#CEE2E6;--sub:#A9ABAA;--accent:#B88861;--bg:#F7F3EB;--paper:#FFFFFF;--text:#5F6667;--heading:#42494A;--line:rgba(95,102,103,.22);--radius:22px;--shadow:0 24px 70px -46px rgba(67,73,74,.55);--head:'Shippori Mincho',serif;--body:'Zen Kaku Gothic New',sans-serif;--en:'Cormorant Garamond',serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase;text-wrap:balance}h1,h2,h3{font-family:var(--head);color:var(--heading);font-weight:600;margin-top:0}p{margin-top:0}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:fixed;left:-9999px;top:0;background:var(--heading);color:#fff;padding:10px 16px;z-index:999}.skip-link:focus{left:8px;top:8px}.wrap{width:min(1120px,calc(100% - 56px));margin-inline:auto}.wide{width:min(1320px,calc(100% - 48px));margin-inline:auto}.section{position:relative;padding:clamp(72px,9vw,120px) 0}.eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;color:#7A5A45;font-family:var(--en);font-size:15px;letter-spacing:.18em;text-transform:uppercase}.eyebrow::before{content:"";width:34px;height:1px;background:var(--accent)}.title{font-size:clamp(30px,4vw,48px);line-height:1.45;margin-bottom:24px}.lead{font-size:clamp(16px,1.5vw,19px);max-width:31em;line-height:2}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;border:1px solid var(--heading);border-radius:999px;text-decoration:none;font-weight:700;transition:.25s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-main{background:var(--heading);color:#fff}.btn-soft{background:var(--main);border-color:transparent;color:var(--heading)}
.site-header{position:sticky;top:0;z-index:80;background:rgba(247,243,235,.94);backdrop-filter:blur(12px);box-shadow:0 10px 30px -24px rgba(34,40,41,.7)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:54px;height:54px;object-fit:contain}.brand-text{line-height:1.1;color:var(--heading)}.brand-text small{display:block;font-family:var(--en);font-size:12px;letter-spacing:.09em}.brand-text b{font-family:var(--en);font-size:20px;font-weight:600}.header-nav{display:flex;align-items:center;gap:22px}.header-nav a{font-size:13px;text-decoration:none}.header-nav a[aria-current="page"]{border-bottom:1px solid var(--accent)}.menu-toggle{display:none;border:1px solid var(--heading);background:var(--bg);border-radius:999px;padding:9px 16px;font-family:var(--en);letter-spacing:.12em}.mobile-nav{display:none}
.page-hero{position:relative;min-height:430px;display:flex;align-items:end;padding:110px 0 70px;overflow:hidden;background:var(--main)}.page-hero__bg{position:absolute;inset:0}.page-hero__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);opacity:.35}.page-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,235,.97),rgba(247,243,235,.55))}.page-hero .wrap{position:relative;z-index:2}.breadcrumbs{font-family:var(--en);letter-spacing:.12em;font-size:13px;margin-bottom:22px}.page-hero h1{font-size:clamp(40px,6vw,70px);line-height:1.35;margin-bottom:18px}.page-hero p{max-width:38em;font-size:17px}
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.intro-aside{position:sticky;top:120px}.intro-main{display:grid;gap:34px}.rule-item{border-top:1px solid var(--line);padding:26px 0}.rule-item h2,.rule-item h3{font-size:28px;margin-bottom:12px}.rule-item p{margin:0}.photo-wide{width:100%;aspect-ratio:16/8;object-fit:cover}.photo-pair{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.photo-pair img{width:100%;height:440px;object-fit:cover}.photo-pair img:last-child{height:330px;align-self:end}.product-list{display:grid;gap:0;border-top:1px solid var(--heading)}.product-row{display:grid;grid-template-columns:90px 1fr 180px;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:center}.product-row img{width:90px;height:90px;object-fit:cover}.product-row h2,.product-row h3{font-size:24px;margin:0 0 6px}.product-price{text-align:right;font-family:var(--en);font-size:22px;color:var(--heading)}.notice{padding:24px;background:rgba(206,226,230,.56);border-left:3px solid #8AA7AC}.cta-band{position:relative;overflow:hidden;padding:80px 0;background:var(--heading);color:#fff}.cta-band h2{color:#fff;font-size:clamp(30px,4vw,48px)}.cta-band .btn{background:#fff;color:var(--heading);border:0}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.fact-table{width:100%;border-collapse:collapse}.fact-table th,.fact-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:17px 14px}.fact-table th{width:12em;color:var(--heading);font-weight:500}.story{font-family:var(--head);font-size:clamp(18px,2vw,24px);line-height:2.1;max-width:32em}.big70{font-family:var(--en);font-size:clamp(150px,24vw,320px);line-height:.78;color:#6F7C7E}.big70 span{font-family:var(--head);font-size:.15em}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px}.contact-card{background:#fff;border:1px solid var(--line);padding:30px}.contact-card h2{font-size:27px}.contact-card a{word-break:break-all}.map-frame{width:100%;height:470px;border:0}.contact-embed{background:rgba(255,255,255,.7);border:1px solid var(--line);padding:30px}.contact-embed h2{font-size:30px}.contact-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-choice{display:block;background:#fff;border:1px solid var(--line);padding:26px;text-decoration:none}.contact-choice b{display:block;color:var(--heading);font-family:var(--head);font-size:21px}.privacy h2{font-size:28px;margin-top:54px;border-bottom:1px solid var(--line);padding-bottom:12px}.privacy h2:first-child{margin-top:0}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;padding:24px 48px 24px 0;color:var(--heading);font-weight:700;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"＋";position:absolute;right:8px}.faq-item[open] summary::after{content:"−"}.faq-item p{padding:0 40px 24px 0;margin:0}
.site-footer{background:#E8EFEF;border-top:1px solid var(--line);padding:56px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-brand h2{font-size:28px}.footer-nap{display:grid;grid-template-columns:auto 1fr;gap:0 20px;margin:0}.footer-nap dt,.footer-nap dd{padding:10px 0;border-bottom:1px solid var(--line)}.footer-nap dd{margin:0}.footer-low{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:38px;padding-top:20px}.footer-low nav{display:flex;gap:18px;flex-wrap:wrap}.footer-low a{text-decoration:none;font-size:12px}
@media(max-width:900px){.header-nav{display:none}.menu-toggle{display:block}.mobile-nav{position:fixed;inset:78px 0 auto;background:#fff;padding:22px;z-index:79;transform:translateY(-140%);transition:.4s;display:grid;gap:8px;box-shadow:0 18px 30px -24px rgba(0,0,0,.5)}body.menu-open .mobile-nav{transform:none}.mobile-nav a{padding:13px;border-bottom:1px solid var(--line);text-decoration:none}.intro-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.intro-aside{position:static}.photo-pair{grid-template-columns:1fr}.photo-pair img,.photo-pair img:last-child{height:auto}.contact-choices{grid-template-columns:1fr}.product-row{grid-template-columns:80px 1fr}.product-price{grid-column:2;text-align:left}.fact-table th{width:9em}}
@media(max-width:768px){.wrap,.wide{width:min(100% - 36px,1120px)}.brand-text b{font-size:17px}.page-hero{min-height:360px;padding:90px 0 52px}.product-row{grid-template-columns:70px 1fr;gap:16px}.product-row img{width:70px;height:70px}.fact-table,.fact-table tbody,.fact-table tr,.fact-table th,.fact-table td{display:block}.fact-table th{width:auto;border-bottom:0;padding-bottom:2px}.fact-table td{padding-top:2px}.big70{display:flex;align-items:flex-end;gap:8px;font-size:clamp(120px,42vw,180px);line-height:1;margin:8px 0 28px}.big70 span{font-size:.22em;line-height:1;margin-bottom:.18em}.intro-aside>p{position:relative;margin:0 0 36px;font-size:15px;line-height:1.8}.map-frame{height:360px}.footer-nap{grid-template-columns:1fr}.footer-nap dt{border-bottom:0;padding-bottom:0}.footer-nap dd{padding-top:2px}}
@media(hover:none){.btn,.header-nav a,.menu-toggle,.mobile-nav a,summary{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}



    :root{
      --color-main:#CEE2E6;--color-sub:#A9ABAA;--color-accent:#B88861;
      --color-bg:#F7F3EB;--color-paper:#FFFFFF;--color-text:#5F6667;--color-heading:#42494A;
      --bg:#F7F3EB;--paper:#FFFFFF;--text:#5F6667;--heading:#42494A;--ink:#252A2B;--accent:#B88861;
      --color-line:rgba(95,102,103,.22);--space-section:clamp(72px,9vw,120px);
      --radius-sm:10px;--radius-md:22px;--radius-lg:38px;--shadow-soft:0 24px 70px -46px rgba(67,73,74,.55);
      --font-heading:'Shippori Mincho',serif;--font-body:'Zen Kaku Gothic New',sans-serif;--font-en:'Cormorant Garamond',serif;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth;overflow-x:hidden}
    body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}
    img{display:block;max-width:100%} a{color:inherit} button{font:inherit}
    h1,h2,h3,.lead,.c-btn,summary{word-break:auto-phrase;text-wrap:balance}
    h1,h2,h3{font-family:var(--font-heading);color:var(--color-heading);font-weight:600;margin-top:0}
    p{margin-top:0} a,button,summary{touch-action:manipulation}
    a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:4px}
    .skip-link{position:fixed;left:-9999px;top:0;background:var(--color-heading);color:#fff;padding:10px 16px;z-index:9999}.skip-link:focus{left:8px;top:8px}
    .l-container{width:min(1120px,calc(100% - 56px));margin-inline:auto}.l-wide{width:min(1320px,calc(100% - 48px));margin-inline:auto}
    .c-section{position:relative;padding:var(--space-section) 0}.c-section__eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;color:#7A5A45;font-family:var(--font-en);font-size:15px;letter-spacing:.18em;text-transform:uppercase}.c-section__eyebrow::before{content:"";width:34px;height:1px;background:var(--color-accent)}
    .c-section__title{font-size:clamp(30px,4vw,48px);line-height:1.45;margin-bottom:24px}.c-section__lead{font-size:clamp(16px,1.5vw,19px);max-width:30em;line-height:2}
    .c-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;border:1px solid var(--color-heading);border-radius:999px;text-decoration:none;font-weight:700;transition:transform .25s,background .25s,color .25s;white-space:nowrap}.c-btn:hover{transform:translateY(-2px)}.c-btn--main{background:var(--color-heading);color:#fff}.c-btn--main:hover{background:#2F3637}.c-btn--light{background:rgba(255,255,255,.92);color:var(--color-heading);border-color:transparent}
    .c-rule{height:1px;background:var(--color-line)}

    /* header-01 + spmenu-02 */
    .c-header{position:fixed;inset:0 0 auto;z-index:80;transition:background .35s,box-shadow .35s}.c-header.is-solid{background:rgba(247,243,235,.94);backdrop-filter:blur(12px);box-shadow:0 10px 30px -24px rgba(34,40,41,.7)}
    .c-header__inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:22px;transition:height .35s}.c-header.is-solid .c-header__inner{height:72px}
    .c-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.c-brand img{width:60px;height:60px;object-fit:contain}.c-brand__text{line-height:1.12;color:var(--color-heading)}.c-brand__text small{display:block;font-family:var(--font-en);font-size:12px;letter-spacing:.09em}.c-brand__text b{font-family:var(--font-en);font-size:21px;font-weight:600;letter-spacing:.02em}
    .c-header__nav{display:flex;align-items:center;gap:24px}.c-header__nav>a:not(.c-btn){font-size:13px;text-decoration:none;position:relative}.c-header__nav>a:not(.c-btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--color-accent);transition:right .25s}.c-header__nav>a:hover::after{right:0}
    .c-menu-button{display:none;border:1px solid var(--color-heading);background:var(--color-bg);color:var(--color-heading);border-radius:999px;padding:9px 16px;font-family:var(--font-en);letter-spacing:.12em;font-weight:600}
    .c-sheet-shade{position:fixed;inset:0;background:rgba(36,42,43,.42);z-index:89;opacity:0;visibility:hidden;transition:.35s}.c-sheet{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-radius:26px 26px 0 0;padding:12px 20px max(26px,env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .55s cubic-bezier(.22,1,.36,1);box-shadow:0 -24px 50px -28px rgba(30,36,37,.5)}body.is-menu-open .c-sheet{transform:none}body.is-menu-open .c-sheet-shade{opacity:1;visibility:visible}body.is-menu-open{overflow:hidden}.c-sheet__grab{width:44px;height:5px;border-radius:3px;background:#DADDDD;margin:0 auto 12px}.c-sheet__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.c-sheet__grid a{padding:15px;border:1px solid var(--color-line);background:var(--color-bg);border-radius:14px;text-decoration:none}.c-sheet__grid small{display:block;color:#7A5A45;font-family:var(--font-en);letter-spacing:.14em}.c-sheet__grid b{color:var(--color-heading)}.c-sheet__close{width:100%;margin-top:14px;border:0;background:var(--color-heading);color:#fff;border-radius:14px;min-height:50px}

    /* legacy fv-78 SunDial */
    .hero{width:100%;max-width:none}.c-hero{position:relative;width:100%;min-height:100svh;overflow:hidden;background:var(--color-bg);display:flex;align-items:center;padding:108px 0 50px}.c-hero__inner{display:grid;grid-template-columns:45% 55%;align-items:center;min-height:760px}.c-hero__copy{position:relative;z-index:4;padding:60px clamp(18px,4vw,58px) 60px 0}.c-hero__proof{display:flex;align-items:baseline;gap:9px;color:var(--color-heading);font-family:var(--font-heading);font-size:15px;margin-bottom:28px}.c-hero__proof strong{font-family:var(--font-en);font-size:48px;font-weight:500;color:#747B7C;line-height:.8}.c-hero h1{font-size:clamp(42px,5vw,66px);line-height:1.38;margin:0 0 26px;letter-spacing:.02em}.c-hero__sub{font-size:17px;line-height:2;margin-bottom:36px;max-width:34em;color:#545B5C}.c-hero__visual{position:absolute;top:0;right:0;width:58%;height:100%;overflow:hidden}.c-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:right center}.c-hero__visual::after{content:"";position:absolute;inset:-20%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.20) 52%,transparent 67%);transform:translateX(-38%) rotate(-4deg);animation:sunDial 12s ease-in-out infinite alternate;mix-blend-mode:screen;pointer-events:none}.c-hero__shadow{position:absolute;inset:0;background:radial-gradient(ellipse at 84% 26%,rgba(77,92,78,.12),transparent 25%);filter:blur(7px);animation:leafDrift 15s ease-in-out infinite alternate;pointer-events:none}.c-hero__line{display:flex;align-items:center;gap:12px;margin-top:44px;color:#8B7A6D;font-family:var(--font-en);letter-spacing:.12em}.c-hero__line::before{content:"";width:58px;height:1px;background:var(--color-main)}
    @keyframes sunDial{to{transform:translateX(32%) rotate(5deg)}}@keyframes leafDrift{to{transform:translate(-4%,5%) scale(1.05)}}

    /* intro-16 */
    .c-intro{background:var(--color-bg)}.c-intro__spread{display:grid;grid-template-columns:.72fr 1.28fr;min-height:590px;background:rgba(255,255,255,.75);border:1px solid var(--color-line);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.c-intro__spread::before{content:"";position:absolute;inset:0 auto 0 39.2%;width:1px;background:linear-gradient(transparent,var(--color-line) 12%,var(--color-line) 88%,transparent)}.c-intro__side{padding:40px 34px;display:flex;flex-direction:column;justify-content:space-between}.c-intro__issue{font-family:var(--font-en);font-size:14px;letter-spacing:.2em;color:#667E82;text-transform:uppercase}.c-intro__index{display:grid;gap:18px}.c-intro__index div{border-top:1px solid var(--color-line);padding-top:12px}.c-intro__index b{font-family:var(--font-en);font-size:20px;font-weight:500}.c-intro__index span{display:block;font-size:12px;margin-top:4px}.c-intro__page{padding:70px clamp(30px,6vw,74px);position:relative}.c-intro__page h2{font-size:clamp(38px,5.8vw,72px);line-height:1.35;margin:22px 0 28px}.c-intro__note{margin-top:42px;display:grid;grid-template-columns:92px 1fr;gap:22px;font-size:13px}.c-intro__note b{font-family:var(--font-en);color:#6E858A;border-top:2px solid var(--color-main);padding-top:9px;letter-spacing:.12em}.c-intro__shape{position:absolute;right:-45px;bottom:-80px;width:320px;aspect-ratio:4/5;border-radius:50% 50% 8px 8px;background:url(../../src/hero-sub.jpg) center/cover;opacity:.22;clip-path:polygon(0 0,100% 8%,88% 100%,8% 92%)}

    /* features-05 */
    .c-features{background:#F1F4F4}.c-features__head{margin-bottom:72px}.c-features__zig{display:grid;gap:96px}.c-features__block{position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:center}.c-features__block:nth-child(even){grid-template-columns:.85fr 1.15fr}.c-features__image{aspect-ratio:16/11;overflow:hidden;border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}.c-features__image img{width:100%;height:100%;object-fit:cover}.c-features__block:nth-child(even) .c-features__image{order:2}.c-features__card{position:relative;z-index:2;background:rgba(255,255,255,.94);border:1px solid var(--color-line);padding:34px;margin-left:-70px}.c-features__block:nth-child(even) .c-features__card{order:1;margin:0 -70px 0 0}.c-features__number{position:absolute;z-index:1;top:-66px;font-family:var(--font-en);font-size:clamp(100px,14vw,175px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(95,102,103,.24)}.c-features__block:nth-child(odd) .c-features__number{right:3%}.c-features__block:nth-child(even) .c-features__number{left:3%}.c-features__card h3{font-size:28px;margin-bottom:12px}.c-features__tag{display:inline-block;margin-top:14px;padding:4px 12px;border:1px solid var(--color-accent);border-radius:999px;color:#7A5A45;font-family:var(--font-en);letter-spacing:.12em}

    /* services-01 */
    .c-services{background:var(--color-bg)}.c-services__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:44px}.c-services__head-note{font-family:var(--font-en);letter-spacing:.15em}.c-services__bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px}.c-service-tile{position:relative;overflow:hidden;border:1px solid var(--color-line);text-decoration:none;background:#fff}.c-service-tile--big{grid-column:span 2;grid-row:span 2}.c-service-tile--wide{grid-column:span 2}.c-service-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}.c-service-tile:hover img{transform:scale(1.05)}.c-service-tile__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(36,42,43,.78))}.c-service-tile__label{position:absolute;left:20px;right:20px;bottom:18px;color:#fff}.c-service-tile__label small{font-family:var(--font-en);letter-spacing:.14em;color:#DDECEF}.c-service-tile__label h3{color:#fff;font-size:clamp(19px,2vw,26px);margin:4px 0}.c-service-tile__label p{font-size:12px;margin:6px 0 0}.c-service-tile--text{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-heading)}.c-service-tile--text p{font-family:var(--font-heading);color:#fff;font-size:18px;line-height:2;text-align:center;margin:0}

    /* numbers-07 */
    .c-proof{background:#fff;overflow:hidden}.c-proof__hero{display:grid;grid-template-columns:1.3fr .9fr;align-items:center;gap:28px}.c-proof__lead{font-family:var(--font-heading);font-size:clamp(20px,2.6vw,30px);color:var(--color-heading)}.c-proof__number{font-family:var(--font-en);font-size:clamp(150px,24vw,330px);line-height:.74;color:#6F7C7E}.c-proof__number span{font-family:var(--font-heading);font-size:.15em;margin-left:8px}.c-proof__photo img{width:100%;height:400px;object-fit:cover;border:7px solid var(--color-bg);clip-path:inset(0 0 0 0)}.c-proof__facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-line);margin-top:35px;padding-top:28px;gap:26px}.c-proof__fact b{display:block;color:var(--color-heading);font-family:var(--font-heading);font-size:22px}.c-proof__fact span{font-size:13px}

    /* voice-13 facts, no invented quotations */
    .c-facts{background:#F2F3F3}.c-facts__top{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px;align-items:stretch}.c-facts__image{min-height:430px;overflow:hidden;position:relative}.c-facts__image img{width:100%;height:100%;object-fit:cover}.c-facts__image::before{content:"";position:absolute;left:12px;top:12px;width:88px;height:88px;border-left:2px solid var(--color-accent);border-top:2px solid var(--color-accent);z-index:2}.c-facts__text{display:flex;flex-direction:column;justify-content:center}.c-facts__text h2{font-size:clamp(30px,4vw,46px);margin:12px 0 26px}.c-facts__index{list-style:none;margin:58px 0 0;padding:0;border-top:1px solid var(--color-heading)}.c-facts__row{display:grid;grid-template-columns:64px 1fr 160px;gap:20px;padding:22px 8px;border-bottom:1px solid var(--color-line);align-items:baseline}.c-facts__row span:first-child{font-family:var(--font-en);font-size:18px;color:#667E82}.c-facts__row p{font-family:var(--font-heading);font-size:20px;color:var(--color-heading);margin:0}.c-facts__row small{color:#777F80}

    /* message-03 */
    .c-message{background:#EDE7DC}.c-message__spread{display:grid;grid-template-columns:300px 1fr;gap:64px}.c-message__left{position:relative}.c-message__vertical{position:absolute;left:-12px;top:0;writing-mode:vertical-rl;font-family:var(--font-en);letter-spacing:.24em;color:#8B684F}.c-message__portrait{margin-left:34px;aspect-ratio:4/5;overflow:hidden}.c-message__portrait img{width:100%;height:100%;object-fit:cover}.c-message__meta{margin:20px 0 0 34px}.c-message__meta small{font-family:var(--font-en);letter-spacing:.12em}.c-message__meta b{display:block;color:var(--color-heading);font-family:var(--font-heading);font-size:21px}.c-message__kicker{border-bottom:1px solid var(--color-heading);padding-bottom:14px;font-family:var(--font-en);letter-spacing:.2em;color:#8B684F}.c-message__body{font-family:var(--font-heading);font-size:clamp(17px,1.5vw,20px);line-height:2.15;max-width:31em;margin-top:30px}.c-message__drop{float:left;font-size:clamp(84px,10vw,130px);line-height:.74;margin:6px 18px -4px 0;color:#8E6A50}.c-message__lead{font-size:clamp(22px,2.5vw,31px);line-height:1.6}

    /* services-02 price */
    .c-price{background:var(--color-bg)}.c-price__head{text-align:center}.c-price__head .c-section__eyebrow{justify-content:center}.c-price__menu{margin-top:50px;border:1px solid var(--color-heading);outline:1px solid var(--color-heading);outline-offset:6px;padding:clamp(28px,5vw,64px) clamp(20px,6vw,72px);background:rgba(255,255,255,.42);position:relative}.c-price__item{display:flex;align-items:baseline;gap:14px;padding:15px 0}.c-price__name{flex:none;max-width:62%}.c-price__name b{font-family:var(--font-heading);font-size:20px;color:var(--color-heading)}.c-price__name small{display:block}.c-price__dots{flex:1;height:1em;background-image:radial-gradient(circle,rgba(95,102,103,.5) 1px,transparent 1.2px);background-size:9px 9px;background-position:left 62%;background-repeat:repeat-x}.c-price__value{font-family:var(--font-en);font-size:22px;color:var(--color-heading);white-space:nowrap}.c-price__note{text-align:center;font-size:12px;margin:28px auto 0}

    /* faq-03 */
    .c-faq{background:#fff}.c-faq__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.c-faq__side{position:sticky;top:110px}.c-faq__list{border-top:1px solid var(--color-line)}.c-faq__item{border-bottom:1px solid var(--color-line)}.c-faq__question{width:100%;display:grid;grid-template-columns:48px 1fr 30px;align-items:center;gap:14px;text-align:left;padding:24px 6px;border:0;background:transparent;color:var(--color-heading);cursor:pointer}.c-faq__no{font-family:var(--font-en);font-size:18px;color:#667E82}.c-faq__q{font-weight:700}.c-faq__icon{position:relative;width:18px;height:18px;justify-self:end}.c-faq__icon::before,.c-faq__icon::after{content:"";position:absolute;background:#667E82;transition:.3s}.c-faq__icon::before{top:8px;left:0;width:18px;height:2px}.c-faq__icon::after{top:0;left:8px;width:2px;height:18px}.c-faq__question[aria-expanded="true"] .c-faq__icon::after{transform:rotate(90deg);opacity:0}.c-faq__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s}.c-faq__answer>div{overflow:hidden}.c-faq__answer p{padding:0 6px 26px 68px;margin:0}.c-faq__question[aria-expanded="true"]+.c-faq__answer{grid-template-rows:1fr}

    /* process-03 */
    .c-process{background:#F0F5F5}.c-process__head{text-align:center;margin-bottom:60px}.c-process__flow{position:relative}.c-process__spine{position:absolute;left:50%;top:0;bottom:35px;width:2px;background:rgba(95,102,103,.17);transform:translateX(-50%)}.c-process__spine i{display:block;width:100%;height:100%;background:#769095;transform:scaleY(0);transform-origin:top}.c-process__step{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:30px 0}.c-process__num{font-family:var(--font-en);font-size:clamp(78px,12vw,145px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(95,102,103,.38);text-align:center}.c-process__step:nth-of-type(odd) .c-process__num{order:2}.c-process__step:nth-of-type(odd) .c-process__body{order:1;text-align:right}.c-process__body small{font-family:var(--font-en);letter-spacing:.14em;color:#667E82}.c-process__body h3{font-size:22px;margin:7px 0}.c-process__body p{font-size:14px;margin:0}.c-process__dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:15px;height:15px;border-radius:50%;background:#769095;border:3px solid #fff;box-shadow:0 0 0 2px #769095}

    /* about-08 access */
    .c-access{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:center;padding:90px 0}.c-access__bg{position:absolute;inset:-10% 0}.c-access__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.c-access__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(35,42,43,.60) 15%,rgba(35,42,43,.10) 70%)}.c-access__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr minmax(400px,480px);gap:50px;align-items:center}.c-access__copy{color:#fff}.c-access__copy h2{color:#fff;font-size:clamp(34px,5vw,58px);line-height:1.55}.c-access__copy p{max-width:28em}.c-access__glass{background:rgba(247,243,235,.82);backdrop-filter:blur(17px);border:1px solid rgba(255,255,255,.72);padding:clamp(28px,4vw,44px);box-shadow:0 28px 60px -35px rgba(20,25,26,.6)}.c-access__glass dl{margin:0}.c-access__glass dl>div{display:grid;grid-template-columns:7em 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--color-line)}.c-access__glass dt{font-size:12px}.c-access__glass dd{margin:0;color:var(--color-heading)}.c-access__actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}

    /* cta-01 */
    .c-final{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;color:#fff}.c-final__bg{position:absolute;inset:0}.c-final__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.c-final__overlay{position:absolute;inset:0;background:linear-gradient(rgba(47,56,57,.69),rgba(47,56,57,.80))}.c-final__glow{position:absolute;width:55vw;height:55vw;border-radius:50%;filter:blur(90px);opacity:.28;background:radial-gradient(circle,var(--color-main),transparent 65%);animation:glow 10s ease-in-out infinite alternate}.c-final__inner{position:relative;z-index:2;width:min(820px,calc(100% - 48px))}.c-final h2{color:#fff;font-size:clamp(38px,5.7vw,72px);line-height:1.45;margin:22px 0}.c-final__lead{font-size:17px;max-width:32em;margin:0 auto 38px}.c-final__sub{font-size:13px;margin-top:22px}@keyframes glow{to{transform:translate(20%,12%) scale(1.2)}}

    /* footer-08 */
    .c-footer{background:var(--color-bg);border-top:1px solid var(--color-line)}.c-footer__grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:480px}.c-footer__map iframe{width:100%;height:100%;min-height:440px;border:0;filter:grayscale(.3) saturate(.75)}.c-footer__nap{padding:52px clamp(28px,5vw,64px)}.c-footer__nap h2{font-size:30px;margin:10px 0 5px}.c-footer__nap dl{display:grid;grid-template-columns:auto 1fr;gap:0 22px;margin:28px 0 0}.c-footer__nap dt,.c-footer__nap dd{padding:12px 0;border-bottom:1px solid var(--color-line)}.c-footer__nap dt{font-family:var(--font-en);letter-spacing:.12em;color:#6D8488}.c-footer__nap dd{margin:0}.c-footer__nav{border-top:1px solid var(--color-line);padding:20px 28px;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.c-footer__nav nav{display:flex;gap:20px;flex-wrap:wrap}.c-footer__nav a{text-decoration:none;font-size:12px}.c-footer__nav small{font-family:var(--font-en);letter-spacing:.1em}

    .js-reveal{opacity:1;transform:none}.j .js-reveal{opacity:0;transform:translateY(28px)}
    @media(max-width:900px){.c-header__nav{display:none}.c-menu-button{display:block}.c-hero{padding-top:90px}.c-hero__inner{grid-template-columns:1fr;min-height:720px}.c-hero__copy{padding:45px 45% 50px 0}.c-hero__visual{width:65%;opacity:.52}.c-features__block,.c-features__block:nth-child(even){grid-template-columns:1fr}.c-features__block:nth-child(even) .c-features__image{order:0}.c-features__card,.c-features__block:nth-child(even) .c-features__card{margin:-42px 20px 0;order:0}.c-services__bento{grid-template-columns:1fr 1fr}.c-proof__hero,.c-facts__top,.c-message__spread,.c-faq__layout,.c-access__inner,.c-footer__grid{grid-template-columns:1fr}.c-message__spread{gap:35px}.c-message__portrait{max-width:280px}.c-faq__side{position:static}.c-access{min-height:auto}.c-footer__map iframe{min-height:340px}}
    @media(max-width:768px){:root{--space-section:64px}.l-container,.l-wide{width:min(100% - 36px,1120px)}.c-brand img{width:50px;height:50px}.c-brand__text b{font-size:17px}.c-header__inner{height:76px}.c-hero{min-height:100svh;padding-top:78px}.c-hero__inner{min-height:calc(100svh - 78px);align-items:end}.c-hero__copy{padding:42px 0 34px;background:linear-gradient(90deg,rgba(247,243,235,.98) 0 58%,rgba(247,243,235,.65) 78%,transparent)}.c-hero__visual{width:72%;height:60%;top:7%;opacity:1}.c-hero__visual img{object-position:82% center}.c-hero h1{font-size:clamp(34px,9vw,42px);max-width:8.8em}.c-hero__sub{font-size:15px;max-width:20em}.c-hero__proof{font-size:12px}.c-hero__proof strong{font-size:38px}.c-intro__spread{grid-template-columns:1fr;min-height:auto}.c-intro__spread::before{display:none}.c-intro__side{min-height:230px;border-bottom:1px solid var(--color-line)}.c-intro__page{padding:44px 24px 110px}.c-intro__page h2{font-size:37px}.c-intro__note{grid-template-columns:1fr}.c-intro__shape{width:210px}.c-features__zig{gap:64px}.c-services__head{align-items:start;flex-direction:column}.c-services__bento{grid-auto-rows:170px}.c-service-tile--big{grid-column:span 2}.c-proof__number{font-size:180px}.c-proof__photo img{height:270px}.c-proof__facts{grid-template-columns:1fr}.c-facts__image{min-height:300px}.c-facts__row{grid-template-columns:45px 1fr}.c-facts__row small{grid-column:2}.c-message__left{max-width:280px}.c-price__item{flex-wrap:wrap}.c-price__name{max-width:100%}.c-price__dots{min-width:40px}.c-process__spine,.c-process__dot{left:24px}.c-process__step{grid-template-columns:1fr;padding:24px 0 24px 55px;gap:6px}.c-process__num,.c-process__step:nth-of-type(odd) .c-process__num{order:0;text-align:left;font-size:70px}.c-process__body,.c-process__step:nth-of-type(odd) .c-process__body{order:0;text-align:left}.c-access__glass{padding:25px 20px}.c-access__glass dl>div{grid-template-columns:1fr;gap:3px}.c-access__actions{display:grid;grid-template-columns:1fr;gap:10px}.c-access__actions .c-btn{width:100%;white-space:normal;text-align:center;padding-inline:18px}.c-final{min-height:78vh}.c-footer__nap{padding:40px 22px}.c-footer__nap dl{grid-template-columns:1fr;gap:0}.c-footer__nap dt{border-bottom:0;padding-bottom:0}.c-footer__nap dd{padding-top:3px}.c-footer__nav{flex-direction:column}}
    @media(max-width:540px){.c-sheet__grid{grid-template-columns:1fr 1fr}.c-services__bento{grid-template-columns:1fr;grid-auto-rows:220px}.c-service-tile--big,.c-service-tile--wide{grid-column:auto;grid-row:auto}.c-service-tile--text{min-height:190px}.c-facts__row{padding-inline:0}.c-final h2{font-size:38px}}
    @media(hover:none){.c-btn,.c-header__nav a,.c-menu-button,.c-faq__question{min-height:44px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.c-hero__visual::after,.c-hero__shadow,.c-final__glow{animation:none}.j .js-reveal{opacity:1!important;transform:none!important}.c-process__spine i{transform:scaleY(1)!important}}
  

@media(max-width:768px){.product-list{display:grid;grid-template-columns:1fr}}

@media(max-width:768px){.intro-grid{grid-template-columns:1fr}}

@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}

@media(max-width:768px){.privacy{display:block}}

@media(max-width:768px){.faq-list{display:block}}
/* Native contact form */
.hygge-form{display:grid;gap:20px;max-width:720px;margin-top:28px}.hygge-form>label{display:grid;gap:8px;font-weight:600}.hygge-form label span{margin-left:8px;color:#775f50;font-size:.75em}.hygge-form input[type="text"],.hygge-form input[type="email"],.hygge-form input[type="tel"],.hygge-form textarea{width:100%;box-sizing:border-box;border:1px solid #a9a3a0;border-radius:10px;background:#fff;padding:14px 16px;font:inherit;color:#3f4140}.hygge-form textarea{resize:vertical}.hygge-consent{display:flex!important;align-items:center;gap:10px!important;font-weight:400!important}.hygge-consent input{width:20px;height:20px}.hygge-hp{position:absolute!important;left:-9999px!important}.form-notice{padding:16px 18px;border-left:3px solid #a9c7ce;background:#edf5f6}

/* Official LINE guidance */
.c-header__inner{justify-content:flex-start;gap:24px}.c-brand{flex:0 0 auto}.c-header__links{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:24px}.c-header__nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;list-style:none;flex:0 0 auto}.c-header__nav ul{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin:0;padding:0;list-style:none}.c-header__nav li{margin:0;padding:0;list-style:none}.c-header__nav li::marker{content:""}.c-header__nav a,.c-header__shop,.c-header__line{display:inline-flex;align-items:center;min-height:38px;padding:0;color:var(--color-heading);font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.03em;white-space:nowrap;position:relative;background:transparent;border:0;border-radius:0;box-shadow:none}.c-header__nav a::after,.c-header__shop::after,.c-header__line::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--color-accent);transition:right .25s}.c-header__nav a:hover::after,.c-header__nav a[aria-current="page"]::after,.c-header__shop:hover::after,.c-header__line:hover::after{right:0}
.c-hero__actions,.c-final__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.c-final__actions{justify-content:center}
.c-btn--line,.btn-line{background:var(--color-main);border-color:transparent;color:var(--color-heading)}
.c-btn--line:hover,.btn-line:hover{background:#DDECEF;color:var(--color-heading)}
.contact-choice--line{background:linear-gradient(145deg,rgba(206,226,230,.72),#fff);border-color:rgba(95,102,103,.18)}
.contact-choice--shop{background:linear-gradient(145deg,rgba(184,136,97,.16),#fff);border-color:rgba(184,136,97,.32)}
.line-notice{background:linear-gradient(135deg,rgba(206,226,230,.72),rgba(255,255,255,.86))}
.c-online{background:linear-gradient(180deg,var(--color-bg),#fff)}
.c-online__card{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:rgba(255,255,255,.78);border:1px solid var(--color-line);box-shadow:var(--shadow-soft);padding:clamp(28px,5vw,56px)}
.c-online__card p{max-width:45em}.c-online__note{font-size:13px;color:#6D7374;margin-bottom:0}.c-online__actions{display:grid;gap:10px;justify-items:start}.c-online__actions small{font-size:12px;color:#7A5A45}
.c-line-float{position:fixed;right:18px;bottom:18px;z-index:75;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border-radius:999px;background:var(--color-heading);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 18px 36px -20px rgba(36,42,43,.75)}
@media(min-width:901px){.c-line-float{display:none}}
@media(max-width:900px){
  .c-line-float{bottom:max(18px,env(safe-area-inset-bottom))}
  body.home .c-line-float,body.home-page .c-line-float{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .25s,visibility .25s,transform .25s}
  body.home .c-line-float.is-visible,body.home-page .c-line-float.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
}
@media(max-width:1100px){.c-header__inner,.c-header__links,.c-header__nav,.c-header__nav ul{gap:14px}.c-header__nav a,.c-header__shop,.c-header__line{font-size:12px}}
@media(max-width:900px){.c-header__links,.c-header__nav,.c-header__shop,.c-header__line{display:none!important}.c-menu-button{display:block;margin-left:auto}.contact-choices{grid-template-columns:repeat(2,1fr)}.c-online__card{grid-template-columns:1fr}}
@media(max-width:768px){.c-hero__actions,.c-final__actions{display:grid;grid-template-columns:1fr}.c-hero__actions .c-btn,.c-final__actions .c-btn{width:100%;white-space:normal;text-align:center}.contact-choices{grid-template-columns:1fr}.c-footer{padding-bottom:74px}.c-online__actions{justify-items:stretch}.c-online__actions .c-btn{width:100%;white-space:normal;text-align:center}}

/* Mobile hero layering: keep the top photo safely below the fixed header. */
@media(max-width:768px){
  .c-header{background:rgba(247,243,235,.96);backdrop-filter:blur(12px);box-shadow:0 8px 24px -22px rgba(34,40,41,.55)}
  .c-hero{padding:76px 0 0}
  .c-hero__inner{position:relative;z-index:2;min-width:0;min-height:calc(100svh - 76px)}
  .c-hero__copy{width:100%;min-width:0;background:none;isolation:isolate}
  .c-hero__copy::before{content:"";position:absolute;inset:0 auto 0 50%;z-index:-1;width:100vw;transform:translateX(-50%);background:linear-gradient(90deg,rgba(247,243,235,.98) 0 52%,rgba(247,243,235,.82) 74%,rgba(247,243,235,.08) 100%);pointer-events:none}
  .c-hero__actions{width:100%;min-width:0}
  .c-hero__actions .c-btn{min-width:0;max-width:100%;padding-inline:18px;overflow-wrap:anywhere}
  .c-hero__line{display:none}
  .c-hero__visual{left:0;right:0;width:100%;top:76px;height:calc(100% - 76px);z-index:0}
  .c-hero__visual img{object-position:78% center}
  .c-hero__visual::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(247,243,235,0) 62%,rgba(247,243,235,.94) 100%);pointer-events:none}
}

/* Contact page: avoid duplicate maps and repeated store information */
.contact-access{background:#fff}
.contact-access .lead{margin-bottom:32px}
.contact-access__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:34px;align-items:stretch}
.contact-access__info{background:rgba(247,243,235,.72);border:1px solid var(--color-line);padding:clamp(22px,3vw,34px)}
.contact-access__map{min-height:520px;border:1px solid var(--color-line);overflow:hidden;background:var(--color-main)}
.contact-access__map iframe{width:100%;height:100%;min-height:520px;border:0;display:block;filter:grayscale(.22) saturate(.82)}
.c-footer--simple{padding:0;background:var(--color-bg)}
.c-footer--simple .c-footer__nav{border-top:1px solid var(--color-line)}
@media(max-width:900px){.contact-access__grid{grid-template-columns:1fr}.contact-access__map,.contact-access__map iframe{min-height:360px}}

/* About page: keep the underline clear of the large "70" glyph */
.big70{line-height:.86;margin-bottom:clamp(24px,3vw,42px)}
@media(max-width:768px){.big70{line-height:1.08;margin:8px 0 42px;padding-bottom:4px}}

/* Static rhythm alias; visually identical to c-section__eyebrow. */
.c-section__kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;color:#7A5A45;font-family:var(--font-en);font-size:15px;letter-spacing:.18em;text-transform:uppercase}.c-section__kicker::before{content:"";width:34px;height:1px;background:var(--color-accent)}



/* Critical first-view rules; identical to the shared theme CSS. */
.hero{width:100%;max-width:none}
.c-hero__visual::after{mix-blend-mode:screen}
.c-proof__number{font-size:clamp(150px,24vw,330px)}
@media(max-width:768px){.c-proof__number{font-size:180px}}


@media(max-width:768px){.product-list{display:grid;grid-template-columns:1fr}}

@media(max-width:768px){.intro-grid{grid-template-columns:1fr}}

@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}

@media(max-width:768px){.privacy{display:block}}

@media(max-width:768px){.faq-list{display:block}}