/* 和和 共通スタイル。色・幅・余白はこの変数から変更できます。 */
:root{--caption:#664C00;--dark-heading:#990000;--paper:#f5f3ed;--white:#fffefa;--ink:#292d27;--green:#004010;--red:#b20000;--muted:#676b60;--line:#d9d9cf;--black:#171b17;--max:1200px;--section:120px;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:2;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}p{margin:0 0 1.5em}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.65;margin:0;letter-spacing:.09em}h1{font-size:clamp(2.5rem,4.3vw,4.5rem)}h2{font-size:clamp(1.8rem,2.6vw,2.7rem);color:var(--green)}h3{font-size:1.3rem;color:var(--green)}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}a:hover{color:var(--red)}.wrap{width:calc(100% - 96px);max-width:var(--max);margin-inline:auto}.narrow{max-width:820px}.section{padding-block:var(--section)}.eyebrow{display:block;font-size:12px;letter-spacing:.21em;font-weight:600;color:var(--caption);margin-bottom:25px}.section-heading{margin-bottom:36px}.section-heading h2::before{content:"";display:block;width:32px;height:2px;background:var(--red);margin-bottom:24px}.section-heading p{margin:28px 0 0;color:var(--muted);max-width:650px}.lead{font-family:var(--serif);font-size:1.35rem;line-height:2}.copy p{line-height:2.2}.small{font-size:14px;color:var(--muted)}.soft-section{background:#e9ede4}.skip{position:fixed;z-index:100;left:20px;top:-100px;background:white;padding:12px}.skip:focus{top:15px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 3.6%;background:rgba(245,243,237,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(90,90,70,.1);gap:24px}.brand{display:flex;align-items:center;gap:20px;flex-shrink:0}.brand img{width:156px;height:auto;mix-blend-mode:multiply}.brand>span{font-family:var(--serif);font-size:15px;line-height:1.7;border-left:1px solid #c8c9bd;padding-left:20px;letter-spacing:.15em}.brand>span>span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.12em;margin-top:4px}.site-header nav{display:flex;align-items:center;gap:26px}.site-header nav a{font-size:13px;letter-spacing:.04em;white-space:nowrap}.site-header nav a[aria-current]{color:var(--red)}.nav-contact{border:1px solid #bfc7b8;padding:10px 17px}.nav-contact span{margin-left:14px}.menu-button{display:none}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-width:205px;font-size:14px;letter-spacing:.08em;border-bottom:1px solid #99a38e;padding:12px 0;line-height:1.6}.text-link span{font-size:22px;font-weight:300;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}
/* トップのスライド画像は index.html の hero-slide で差し替え。 */
.hero{height:calc(100svh - 100px);min-height:650px;max-height:1100px;position:relative;isolation:isolate;background:#e9e7e1;overflow:hidden}.hero-slides{position:absolute;inset:0;z-index:-2}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 2.4s cubic-bezier(.45,0,.55,1)}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}.hero-slide:not(:first-child) img{width:58%;margin-left:auto;object-fit:contain;object-position:center}.hero-copy{padding-top:clamp(46px,7vh,92px);pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{font-size:11px;margin-bottom:20px}.hero h1{font-size:clamp(2.8rem,4.3vw,4.7rem);line-height:1.5;letter-spacing:.16em;color:var(--green);text-shadow:0 0 18px #eeece6}.hero h1 span{color:var(--red)}.hero-copy p{margin-top:23px;font-size:14px;letter-spacing:.1em;line-height:2;text-shadow:0 0 12px #f5f3ed}.hero-link{display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid #787b6c;font-size:13px;line-height:2.5}.hero-bottom{position:absolute;bottom:25px;left:3.6%;right:3.6%;display:flex;align-items:flex-end;justify-content:space-between;font-size:11px;letter-spacing:.15em}.hero-place{font-family:var(--serif);background:#f5f3ede6;padding:7px 10px;font-size:12px}.hero-place small{font-family:var(--sans);font-size:9px}.slide-controls{display:flex;gap:12px;align-items:center;background:#f5f3ede6;padding:2px 12px}.slide-controls button{border:0;background:transparent;color:#646b5d;min-width:36px;min-height:44px;padding:5px;font-size:12px}.slide-controls .slide-dot.active{color:var(--red);border-bottom:1px solid var(--red)}.scroll-note{background:#f5f3ede6;padding:10px}.scroll-note span{margin-left:18px;font-size:22px}.notice{display:flex;align-items:center;gap:36px;padding-block:26px;border-bottom:1px solid var(--line);font-size:13px}.notice>span{color:var(--caption);letter-spacing:.1em;font-size:11px}.notice p{margin:0}.notice>a{margin-left:auto;white-space:nowrap}.intro{display:grid;grid-template-columns:1fr 1fr;gap:110px}.intro-heading h2{line-height:1.95;font-size:clamp(2rem,3vw,3rem)}.intro-heading em{font-style:normal;color:var(--red)}.seal{display:inline-block;writing-mode:vertical-rl;border:1px solid var(--red);color:var(--red);font-family:var(--serif);font-size:22px;padding:1px 3px;line-height:1.5;margin-top:35px}.tradition{background:var(--black);color:#e8e9e1}.tradition h1,.tradition h2,.tradition h3{color:var(--dark-heading)}.tradition .eyebrow{color:var(--caption)}.tradition-top{display:grid;grid-template-columns:1fr 1fr;gap:110px}.tradition .text-link{color:#e7e9dd;border-color:#636e5e}.tradition .section-heading h2::before{background:#c48266}.craft-panorama{margin-top:50px}.craft-panorama img{width:100%;max-height:420px;object-fit:cover}.craft-panorama figcaption{margin-top:16px;text-align:right;color:#aeb4a7;font-size:12px;letter-spacing:.12em}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-top .section-heading{margin:0}.section-top>.text-link{flex-shrink:0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 30px}.work-image{aspect-ratio:1;background:#ecebe4;position:relative;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform .8s}.work-card a:hover img{transform:scale(1.035)}.circle-arrow{position:absolute;right:16px;bottom:16px;background:var(--white);border-radius:50%;width:39px;height:39px;display:grid;place-items:center;font-size:20px}.card-meta{font-size:10px;letter-spacing:.12em;color:var(--caption);display:flex;justify-content:space-between;margin:21px 0 8px}.card-meta span{letter-spacing:.06em;font-size:12px}.work-card h3{font-size:1.18rem;letter-spacing:.07em}.work-card p{font-size:14px;margin-top:9px;color:var(--muted)}.split{display:grid;grid-template-columns:1.06fr 1fr;gap:90px;align-items:center}.split.reverse .photo{order:2}.photo{overflow:hidden}.photo img{width:100%;aspect-ratio:1.12;object-fit:cover;mix-blend-mode:multiply}.living-section{background:#e5e9df;padding-block:90px}.living-visual img{width:100%;max-height:540px;object-fit:cover;mix-blend-mode:multiply}.oem-teaser{text-align:center}.oem-teaser h2{margin-bottom:30px}.oem-teaser p{margin-bottom:32px}.contact-band{padding:75px 0;background:#dbe1d2}.contact-band>.wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-band .eyebrow{margin-bottom:18px}.contact-band h2{font-size:2.2rem}.contact-band p{font-size:14px;margin-top:20px;margin-bottom:0}.contact-band .text-link{min-width:260px}.mobile-only{display:none}footer{background:#f0eee6;padding:70px 0 20px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-logo{display:inline-flex;flex-direction:column;color:var(--red);font-size:36px;font-family:var(--serif);line-height:1.2;letter-spacing:.2em;margin-bottom:25px}.footer-logo span{font-size:16px;color:var(--ink);letter-spacing:.05em;text-align:center}.footer-top p{font-size:13px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-content:start;font-size:13px}.footer-top .footer-message{text-align:right;font-family:var(--serif);font-size:24px;color:var(--green);letter-spacing:.16em;line-height:2}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-top:35px;font-size:10px;letter-spacing:.1em}.breadcrumb{font-size:12px;color:var(--muted);padding-top:25px;display:flex;gap:15px}.page-mast{padding-top:65px;padding-bottom:75px}.page-mast h1{color:var(--green);margin-bottom:28px}.page-mast p{margin:0;line-height:2.2;letter-spacing:.05em}.page-mast h1::after{content:"";display:block;width:42px;height:2px;background:var(--red);margin-top:24px}.wide-image{width:100%;height:440px;overflow:hidden;background:#e8e7df}.wide-image img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.inner:has(.article-index) .wide-image img{object-fit:contain}.columns{display:grid;grid-template-columns:1fr 1fr;gap:70px}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.three-columns h3{margin:18px 0 20px}.three-columns p{font-size:15px}.chapter{font-family:var(--serif);font-size:40px;color:var(--red);border-bottom:1px solid #bbbfae;display:block;padding-bottom:14px}.product-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:start;padding-top:70px}.product-photo{background:#e9e8e1;position:sticky;top:140px}.product-photo img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}.product-detail h1{font-size:2.2rem;color:var(--green);margin-bottom:25px}.product-sub{font-family:var(--serif);font-size:1.25rem;color:var(--red)}.spec,.company-table{margin:35px 0}.spec>div,.company-table>div{display:grid;grid-template-columns:140px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.spec dt,.company-table dt{color:var(--green)}dd{margin:0}.button{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:17px 25px;background:var(--green);color:white;font-size:14px;margin:30px 0 15px}.button:hover{background:#153e20;color:white}.article-index{display:flex;justify-content:space-around;gap:20px;border-bottom:1px solid var(--line);padding-block:27px;font-size:14px}.editorial-photo img{width:100%}.care-list article{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:32px 0;border-bottom:1px solid #c8d0c0}.care-list article>span{color:var(--red);font-family:var(--serif);font-size:26px}.care-list h3{margin-bottom:16px}.care-list p{margin-bottom:0}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-options article{border-top:1px solid var(--green);background:#e9ede4;padding:40px}.contact-options h2{font-size:1.3rem;margin-bottom:25px}.contact-address{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,2rem);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b6c0ad;padding-bottom:15px;margin-bottom:25px;letter-spacing:.02em;gap:20px}.contact-options p{font-size:14px}.faq details{border-bottom:1px solid var(--line);padding:24px 0}.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.15rem;color:var(--green)}.faq details p{margin-top:22px;margin-bottom:5px}.faq details a{color:var(--red);font-size:14px}.privacy-note{margin-top:60px;font-size:14px}.privacy-note h3{font-size:1.1rem;margin-bottom:20px}
@media(min-width:1700px){.hero-copy{padding-top:100px}.hero-slide:first-child img{object-fit:cover}}
@media(max-width:1150px){.site-header{padding-inline:25px}.brand>span{display:none}.site-header nav{gap:18px}.intro,.tradition-top{gap:65px}.split{gap:55px}.hero-copy{padding-top:45px}.hero-copy p{max-width:420px}.section-top{align-items:start;flex-direction:column}.contact-options article{padding:30px}}
@media(max-width:800px){:root{--section:80px}.wrap{width:calc(100% - 44px)}.site-header{height:90px;padding-inline:22px}.brand img{width:90px}.brand>span{display:block;font-size:12px;padding-left:14px}.brand>span>span{font-size:8px}.brand{gap:14px}.menu-button{display:flex;align-items:center;gap:12px;background:transparent;border:0;font-size:12px;padding:10px 0}.menu-button span{font-size:23px}.site-header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--paper);padding:25px 22px 32px;box-shadow:0 12px 20px #2221}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:14px 6px;border-bottom:1px solid var(--line);font-size:15px}.site-header nav .nav-contact{border:1px solid #bfc7b8;margin-top:16px;padding-inline:15px}.hero{height:calc(100svh - 90px);min-height:640px;max-height:900px}.hero-copy{padding-top:46px}.hero h1{font-size:clamp(2.5rem,7.3vw,4rem)}.hero-copy p{font-size:13px;line-height:2}.hero-slide:first-child img{object-fit:cover;height:50%;position:absolute;bottom:55px;object-position:center}.hero-slide:not(:first-child) img{width:100%;height:55%;position:absolute;bottom:42px}.hero-bottom{left:22px;right:22px;bottom:14px;gap:10px}.hero-place{display:none}.scroll-note{font-size:9px;letter-spacing:.05em}.scroll-note span{margin-left:5px}.slide-controls{gap:5px;padding-inline:4px}.notice{align-items:flex-start;flex-wrap:wrap;gap:10px 20px;padding-block:22px}.notice p{font-size:12px;flex-basis:100%;order:2}.notice>a{font-size:12px}.intro,.tradition-top,.split,.product-detail{grid-template-columns:1fr;gap:40px}.intro-heading h2{font-size:2.2rem}.seal{margin-top:20px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:1.9rem}.work-grid{grid-template-columns:repeat(2,1fr);gap:30px 20px}.work-card h3{font-size:1rem}.work-card p{font-size:13px}.card-meta{font-size:9px;flex-wrap:wrap;gap:5px}.circle-arrow{width:32px;height:32px;right:10px;bottom:10px}.living-section{padding-block:65px}.living-visual img{max-height:440px;object-fit:contain}.contact-band{padding-block:55px}.contact-band>.wrap{align-items:stretch;flex-direction:column;gap:25px}.contact-band h2{font-size:1.8rem}.contact-band .text-link{min-width:0;max-width:100%}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top .footer-message{grid-column:1/-1;text-align:left;font-size:20px}.footer-nav{grid-template-columns:1fr;font-size:12px;gap:9px}.footer-bottom{flex-wrap:wrap;font-size:9px}.page-mast{padding-top:42px;padding-bottom:55px}.page-mast h1{font-size:2.8rem}.wide-image{height:280px}.columns,.three-columns,.contact-options{grid-template-columns:1fr;gap:25px}.three-columns article{padding-bottom:20px}.split.reverse .photo{order:0}.photo img{max-height:500px;aspect-ratio:1.25}.article-index{flex-direction:column;gap:12px}.product-photo{position:static}.product-detail{padding-top:45px}.spec>div,.company-table>div{grid-template-columns:105px 1fr;gap:15px}.contact-options article{padding:27px}.contact-options h2{font-size:1.2rem}.contact-address{font-size:1.65rem}.care-list article{grid-template-columns:35px 1fr;gap:15px}.eyebrow{font-size:10px}.craft-panorama{margin-top:25px}.craft-panorama figcaption{text-align:left}.craft-panorama img{min-height:230px;object-fit:cover}.breadcrumb{font-size:11px}.oem-teaser{text-align:left}.oem-teaser p br{display:none}}
@media(max-width:380px){.brand>span{display:none}.work-grid{grid-template-columns:1fr}.hero h1{font-size:2.2rem}.hero-copy .eyebrow{font-size:9px}.hero-copy p{font-size:12px}.contact-address{font-size:1.35rem}.footer-top{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}.hero-bottom{left:15px;right:15px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-enabled="true"]){scroll-behavior:auto}html:not([data-motion-enabled="true"]) *,html:not([data-motion-enabled="true"]) *::before,html:not([data-motion-enabled="true"]) *::after{animation:none!important;transition:none!important}}

/* 臥福庵の写真→見出し→本文の静かな時間差を各ページで共有。 */
.motion-ready [data-motion]{transition-property:opacity,translate;transition-duration:1200ms;transition-timing-function:cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms)}
.motion-ready [data-motion="heading"]{transition-duration:1000ms}
.motion-ready [data-motion^="photo"]{transition-duration:1500ms}
.motion-ready [data-motion]:not(.is-visible){opacity:0}
.motion-ready [data-motion="photo-left"]:not(.is-visible){opacity:.35;translate:-30px 0}
.motion-ready [data-motion="photo-right"]:not(.is-visible){opacity:.35;translate:30px 0}
.motion-ready [data-motion].is-visible{opacity:1;translate:0 0}
.motion-ready [data-motion="scroll-text"],.motion-ready [data-motion="scroll-text"]:not(.is-visible){opacity:var(--scroll-opacity,1);translate:none;transition:none}
main{overflow-x:clip}
@media(min-width:801px) and (max-width:1000px){.site-header{padding-inline:22px;gap:18px}.brand img{width:142px}.site-header nav{gap:12px}.site-header nav a{font-size:12px}.nav-contact{padding-inline:10px}}
@media(max-width:480px){.brand>span{display:none}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-enabled="true"]) [data-motion]{opacity:1!important;translate:none!important;transition:none!important}}


/* 指定の横長写真を全スライド共通の幅で表示 */
.hero-slide img,.hero-slide:first-child img,.hero-slide:not(:first-child) img{width:100%;height:100%;margin:0;object-fit:contain;object-position:center bottom;position:static;mix-blend-mode:normal}
.intro-photo{grid-column:1/-1}.intro-photo img{width:100%;height:auto}
@media(max-width:800px){.hero-slide img,.hero-slide:first-child img,.hero-slide:not(:first-child) img{position:absolute;bottom:65px;width:100%;height:auto;object-fit:contain}.brand>span{font-size:10px;letter-spacing:.04em;padding-left:8px}.brand{gap:8px}}

/* ブランドの想いと映像 */
.brand-story{max-width:900px}.story-logo{width:min(400px,100%);height:auto;margin-bottom:60px}.brand-story h2{font-size:clamp(1.45rem,2.6vw,2.4rem);line-height:1.9}.story-cross{display:inline-block;font-size:1.3rem;margin-block:12px}.brand-story .story-lead{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.6rem);margin-top:45px}.brand-story>p{max-width:780px;line-height:2.3}.craft-story{max-width:820px;margin-top:75px;padding-top:55px;border-top:1px solid #566052}.craft-story p{margin-bottom:2em}.story-quote{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.6rem)}.video-frame{aspect-ratio:16/9;background:#171b17}.video-frame iframe{display:block;width:100%;height:100%;border:0}.video-link{margin-top:24px;text-align:right}@media(max-width:800px){.story-logo{width:min(320px,100%);margin-bottom:40px}.craft-story{margin-top:50px;padding-top:35px}}
