:root{--ink:#102822;--ink2:#17382e;--paper:#f4efdf;--cream:#fbf7ea;--yellow:#edc94e;--vermilion:#ba4e31;--sage:#82937a;--white:#fffdf7;--line:rgba(16,40,34,.18);--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--ink2);color:var(--ink);font-family:var(--sans);line-height:1.85}.skip-link{position:fixed;left:12px;top:-80px;z-index:200;background:#fff;padding:10px}.skip-link:focus{top:12px}a{color:inherit}.site-shell{width:min(100% - 24px,1680px);margin:auto;background:var(--cream);overflow:hidden}.sub-header{position:fixed;z-index:100;left:50%;top:12px;translate:-50% 0;width:min(calc(100% - 48px),1600px);height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border:1px solid #ffffff55;background:rgba(251,247,234,.9);backdrop-filter:blur(18px);box-shadow:0 10px 35px #10282213}.sub-brand{display:flex;align-items:center;gap:16px;text-decoration:none}.sub-brand strong{font:600 23px/1 var(--serif);letter-spacing:.08em}.sub-brand small{font:9px Arial;letter-spacing:.13em;opacity:.65}.menu-trigger{display:grid;gap:4px;width:48px;border:0;background:none;color:var(--ink);cursor:pointer}.menu-trigger span{font:9px Arial;letter-spacing:.12em}.menu-trigger i{display:block;width:28px;height:2px;margin:auto;background:currentColor}.menu-panel{position:fixed;z-index:120;inset:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);visibility:hidden;opacity:0;transition:.35s;background:var(--paper)}body.nav-open{overflow:hidden}body.nav-open .menu-panel{visibility:visible;opacity:1}.menu-main{padding:clamp(80px,9vw,140px);display:flex;flex-direction:column;justify-content:center}.menu-main>small{font:700 10px Arial;letter-spacing:.22em;color:var(--vermilion);margin-bottom:25px}.menu-main nav{display:grid}.menu-main a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;text-decoration:none;font:500 clamp(1.45rem,2.7vw,3rem)/1.3 var(--serif)}.menu-main a span{font:10px Arial;letter-spacing:.15em}.menu-side{position:relative;display:flex;align-items:end;justify-content:center;background:var(--ink);overflow:hidden}.menu-side img{width:min(82%,520px);max-height:86vh;object-fit:contain;object-position:bottom;filter:drop-shadow(0 25px 25px #0007)}.menu-side p{position:absolute;left:9%;top:9%;color:#fff;font:500 20px/1.8 var(--serif)}.menu-close{position:absolute;z-index:2;right:28px;top:26px;width:50px;height:50px;border:1px solid currentColor;border-radius:50%;background:transparent;color:var(--ink);font-size:24px;cursor:pointer}.page-hero{min-height:720px;padding:150px 7vw 75px;position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:7%;background:var(--paper);overflow:hidden}.page-hero.dark{background:var(--ink);color:var(--white)}.hero-copy{position:relative;z-index:2}.eyebrow,.section-label{font:700 10px/1.4 Arial;letter-spacing:.2em;color:var(--vermilion)}.page-hero h1{font:500 clamp(3.5rem,7vw,8.5rem)/.98 var(--serif);letter-spacing:.04em;margin:26px 0}.page-hero h1 em{font-style:normal;color:var(--vermilion)}.page-hero p:not(.eyebrow){max-width:570px}.hero-art{height:570px;position:relative;display:flex;align-items:end;justify-content:center}.hero-art>img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 34px #0003)}.hero-art.photo>img{object-fit:cover;border-radius:160px 8px 80px 8px}.hero-stamp{position:absolute;right:2%;top:5%;width:100px;height:100px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;text-align:center;font:10px Arial;letter-spacing:.12em;transform:rotate(8deg)}.section{padding:clamp(80px,9vw,140px) 7vw}.section.paper{background:var(--paper)}.section.ink{background:var(--ink);color:var(--white)}.section.sage{background:#dce4d5}.section.vermilion{background:var(--vermilion);color:#fff}.wrap{width:min(1180px,86%);margin-inline:auto}.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:start;margin-bottom:55px}.section-head h2,.display{font:500 clamp(2.2rem,4.8vw,5.5rem)/1.25 var(--serif);letter-spacing:.035em;margin:12px 0}.section-head .lead{font:500 clamp(1.2rem,2vw,1.7rem)/1.85 var(--serif)}.text-link{display:inline-flex;gap:35px;margin-top:20px;text-underline-offset:7px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.story-card{background:#fff;padding:18px;border-radius:45px 8px 30px 8px}.story-card img{width:100%;height:260px;object-fit:cover;border-radius:32px 5px 20px 5px}.story-card h3{font:600 23px var(--serif);margin:18px 4px 8px}.story-card p{font-size:13px;margin:0 4px 10px}.story-card small{font:10px Arial;letter-spacing:.14em;color:var(--vermilion)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px}.feature{border-top:1px solid currentColor;padding-top:25px}.feature b{font:italic 36px Georgia;color:var(--vermilion)}.feature h3{font:600 25px var(--serif)}.feature p{font-size:14px}.quote-block{max-width:920px;margin:auto;text-align:center}.quote-block blockquote{font:500 clamp(2rem,4vw,4.6rem)/1.55 var(--serif);margin:0}.quote-block p{margin-top:30px}.cta-band{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;padding:65px 7vw;background:var(--yellow)}.cta-band h2{font:500 clamp(2rem,4vw,4rem)/1.4 var(--serif);margin:0}.cta-button{display:flex;align-items:center;justify-content:space-between;gap:80px;min-width:330px;padding:22px 25px;text-decoration:none;background:var(--ink);color:#fff}.sub-footer{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:55px;padding:70px 7vw 90px;color:#fff}.sub-footer strong{font:600 23px var(--serif)}.sub-footer p,.sub-footer a{font-size:12px}.sub-footer nav{display:grid;gap:8px}.sub-footer a{text-decoration:none}.reveal{opacity:0;transform:translateY(30px);transition:.75s}.reveal.is-visible{opacity:1;transform:none}
/* Product archive */
.lineup-intro{padding-bottom:60px}.category-nav{position:sticky;z-index:30;top:84px;display:flex;justify-content:center;gap:8px;padding:14px;background:rgba(251,247,234,.94);backdrop-filter:blur(14px);border-block:1px solid var(--line)}.category-nav a{padding:9px 15px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-size:12px}.catalog-section{padding:80px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading h2{font:500 clamp(2rem,4vw,4rem) var(--serif);margin:5px 0}.section-heading span{font:12px Arial;letter-spacing:.1em}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{position:relative;background:#fff;border-radius:38px 6px 28px 6px;overflow:hidden;border:1px solid var(--line);transition:.25s}.product-card:hover{transform:translateY(-5px);box-shadow:0 25px 45px #10282218}.product-card:has(.product-checkbox:checked){outline:5px solid var(--vermilion);outline-offset:-5px}.product-select{position:absolute;z-index:3;top:14px;left:14px;display:flex;align-items:center;gap:7px;padding:8px 11px;background:var(--ink);color:#fff;font-size:11px;cursor:pointer}.product-select input{width:18px;height:18px;accent-color:var(--yellow)}.product-card .photo{height:275px;background:radial-gradient(circle,#fff,#f0ede4);padding:25px}.product-card .photo img{width:100%;height:100%;object-fit:contain}.card-body{padding:22px}.code{font:10px Arial;letter-spacing:.13em;color:var(--vermilion)}.card-body h3,.feature-copy h3{font:600 22px var(--serif);margin:5px 0 18px}.product-card dl{margin:0;font-size:11px}.product-card dl div{display:grid;grid-template-columns:82px 1fr;border-top:1px solid var(--line);padding:7px 0}.product-card dt{font-weight:700}.product-card dd{margin:0}.feature-product{display:grid;grid-template-columns:.8fr 1.2fr}.feature-product .photo{height:420px}.feature-copy{padding:45px}.factory-flow{padding:90px 0}.guide-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:40px}.guide-heading h2{font:500 clamp(2rem,4vw,4rem) var(--serif);margin:8px 0}.factory-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.factory-steps li{background:var(--paper);padding:20px;border-radius:28px 5px 20px 5px}.process-illustration{height:130px}.process-illustration svg{width:100%;height:100%;fill:none;stroke:var(--ink);stroke-width:2}.process-copy span{font:10px Arial;color:var(--vermilion)}.process-copy h3{font:600 18px var(--serif);margin:5px 0}.process-copy p{font-size:12px;margin:0}.selection-dock{position:fixed;z-index:110;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:18px;width:min(680px,calc(100% - 30px));padding:12px 15px;background:var(--ink);color:#fff;border:3px solid var(--yellow);box-shadow:0 14px 45px #0005}.selection-dock[hidden]{display:none}.selection-dock b{font-size:24px;color:var(--yellow)}.selection-dock button{margin-left:auto;border:0;background:none;color:#fff;text-decoration:underline}.selection-dock a{padding:10px 14px;background:var(--vermilion);text-decoration:none}.contact-block{padding:100px 7vw;background:var(--vermilion);color:#fff}.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:7%}.contact-copy h2{font:500 clamp(2.3rem,5vw,5rem)/1.3 var(--serif)}.contact-shizuo{width:min(100%,320px);height:330px;object-fit:contain}.contact-form{display:grid;gap:16px;padding:34px;background:#fff;color:var(--ink);border-radius:35px}.contact-form label{font-size:12px;font-weight:700}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:13px;margin-top:6px;border:1px solid var(--line);font:inherit}.checkline{display:flex;align-items:center;gap:10px}.checkline input{width:auto}.submit-button{padding:18px;border:0;background:var(--ink);color:#fff;font-weight:700}.selected-products ul{margin:0;padding-left:18px}.form-note,.file-note{font-size:10px;opacity:.65}
/* Transfer / flow / company / FAQ */
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.method-card{background:#fff;padding:30px;border-radius:45px 6px 28px 6px}.method-card .diagram{height:160px;display:grid;align-content:end;gap:0;margin-bottom:20px}.diagram span{display:block;text-align:center;padding:10px;font-size:11px}.diagram .decal{height:7px;padding:0;background:var(--vermilion)}.diagram .glaze{background:#dce9e7}.diagram .body{min-height:58px;background:#d6c3a0}.method-card h3{font:600 24px var(--serif)}.method-card ul{padding-left:18px;font-size:13px}.compare-table{width:100%;border-collapse:collapse;background:#fff}.compare-table th,.compare-table td{padding:16px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.compare-table th{background:var(--ink);color:#fff}.flow-list{list-style:none;margin:0;padding:0;display:grid;gap:28px}.flow-list li{display:grid;grid-template-columns:130px 1fr 260px;align-items:center;gap:35px;background:#fff;border-radius:50px 8px 35px 8px;overflow:hidden;padding:18px 22px}.flow-list .num{font:italic 50px Georgia;color:var(--vermilion)}.flow-list h3{font:600 27px var(--serif);margin:0}.flow-list p{font-size:13px}.flow-list img{width:100%;height:180px;object-fit:contain}.profile-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.profile-grid img{width:100%;height:720px;object-fit:contain}.profile-copy h2{font:500 clamp(2.5rem,5vw,5.8rem)/1.3 var(--serif)}.profile-copy p{font-family:var(--serif);line-height:2.15}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.facts div{padding:22px;border-bottom:1px solid var(--line)}.facts dt{font-size:11px;color:var(--vermilion)}.facts dd{margin:7px 0 0}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%}.faq-title{position:sticky;top:120px;align-self:start}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{position:relative;padding:24px 45px 24px 0;list-style:none;cursor:pointer;font-weight:700}summary:after{content:'＋';position:absolute;right:5px;color:var(--vermilion)}details[open] summary:after{content:'−'}details p{padding:0 35px 25px 0;font-size:14px}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.case-card{background:#fff}.case-card img{width:100%;height:420px;object-fit:cover}.case-card div{padding:28px}.case-card h3{font:600 26px var(--serif)}.case-tags{display:flex;gap:6px;flex-wrap:wrap}.case-tags span{border:1px solid var(--line);padding:5px 9px;font-size:10px}.simple-contact{display:grid;grid-template-columns:.72fr 1.28fr;gap:8%}.simple-contact .contact-form{box-shadow:0 30px 70px #10282218}.tel-card{margin-top:38px;padding-top:25px;border-top:1px solid var(--line)}.tel-card a{font:34px Georgia;text-decoration:none}
@media(max-width:900px){.site-shell{width:100%}.sub-header{top:0;width:100%;height:70px}.page-hero{grid-template-columns:1fr;padding-top:120px}.hero-art{height:440px}.hero-art.photo{height:400px}.section-head,.contact-layout,.profile-grid,.faq-layout,.simple-contact{grid-template-columns:1fr}.card-grid,.product-grid,.method-grid,.factory-steps{grid-template-columns:repeat(2,1fr)}.profile-grid img{height:520px}.faq-title{position:static}.flow-list li{grid-template-columns:90px 1fr}.flow-list img{grid-column:1/-1;height:240px}.menu-panel{grid-template-columns:1fr}.menu-side{display:none}.menu-main{padding:80px 8vw 40px}.menu-main a{font-size:clamp(1.35rem,5vw,2.2rem)}.cta-band{grid-template-columns:1fr}.cta-button{min-width:0}.sub-footer{grid-template-columns:1fr 1fr}.contact-copy{display:grid;grid-template-columns:1fr auto}.contact-shizuo{height:220px}.feature-product{grid-template-columns:1fr}}
@media(max-width:600px){.sub-header{padding:0 18px}.sub-brand strong{font-size:19px}.sub-brand small{display:none}.page-hero{min-height:0;padding:115px 22px 65px}.page-hero h1{font-size:clamp(3rem,15vw,5rem)}.hero-art{height:350px}.section{padding:70px 22px}.wrap{width:calc(100% - 44px)}.section-head{margin-bottom:35px}.card-grid,.feature-grid,.product-grid,.method-grid,.factory-steps,.case-grid,.facts{grid-template-columns:1fr}.category-nav{justify-content:flex-start;overflow-x:auto}.category-nav a{flex:none}.product-card .photo{height:240px}.catalog-section{padding:55px 0}.field-grid{grid-template-columns:1fr}.contact-block{padding:70px 22px}.contact-form{padding:22px 18px}.contact-copy{display:block}.flow-list li{grid-template-columns:1fr;padding:22px}.flow-list .num{font-size:35px}.flow-list img{grid-column:auto;height:190px}.profile-grid img{height:430px}.sub-footer{grid-template-columns:1fr;padding:55px 22px 90px}.case-card img{height:280px}.compare-wrap{overflow-x:auto}.compare-table{min-width:720px}.guide-heading{display:block}.feature-copy{padding:28px}.selection-dock{flex-wrap:wrap}.selection-dock a{width:100%;text-align:center}}

/* Product lineup: bright, full-bleed collection hero */
.lineup-hero-full{display:flex;align-items:center;min-height:780px;color:var(--ink);isolation:isolate}
.lineup-hero-full::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(251,247,234,.97) 0%,rgba(251,247,234,.88) 30%,rgba(251,247,234,.45) 48%,rgba(251,247,234,.05) 72%,transparent 100%)}
.lineup-hero-bg{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.lineup-hero-full .hero-copy,.lineup-hero-full .hero-stamp{position:relative;z-index:2}
.lineup-hero-full .hero-copy{max-width:590px}
.lineup-hero-full .hero-stamp{position:absolute;right:4%;top:auto;bottom:7%}
@media(max-width:900px){.lineup-hero-full{min-height:720px;align-items:flex-start}.lineup-hero-full::after{background:linear-gradient(180deg,rgba(251,247,234,.98) 0%,rgba(251,247,234,.9) 37%,rgba(251,247,234,.32) 64%,rgba(251,247,234,.04) 100%)}.lineup-hero-bg{object-position:62% center}.lineup-hero-full .hero-copy{padding-top:20px}}
@media(max-width:600px){.lineup-hero-full{min-height:680px;padding-bottom:45px}.lineup-hero-bg{object-position:65% center}.lineup-hero-full .hero-copy{padding-top:0}.lineup-hero-full .hero-stamp{right:20px;bottom:24px;width:82px;height:82px;font-size:8px}}

/* Product lineup contact form and centred footer */
.lineup-contact{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:36px;padding:clamp(72px,7vw,108px) 7vw clamp(92px,8vw,124px)}
.lineup-contact .contact-intro,.lineup-contact .contact-form{width:min(100%,980px);margin-inline:auto}
.lineup-contact .section-label{color:#fff}
.lineup-contact .contact-intro h2{font:500 clamp(2.2rem,4vw,4.7rem)/1.42 var(--serif);letter-spacing:.035em;margin:16px 0 18px}
.lineup-contact .contact-intro>p:last-child{margin:0}
.lineup-contact .contact-form{overflow:visible}
.lineup-contact .contact-form .field-grid{grid-template-columns:minmax(0,1fr)}
.lineup-contact .contact-form label:not(.checkline)>span{color:var(--vermilion)}
.lineup-contact .contact-form input,.lineup-contact .contact-form select,.lineup-contact .contact-form textarea{border-radius:8px;background:#fff;color:var(--ink)}
.lineup-contact .submit-button{display:flex;justify-content:space-between;cursor:pointer}
.lineup-contact+.selection-dock{scroll-margin-bottom:20px}
.product-card dl div{grid-template-columns:112px minmax(0,1fr)}
.sub-footer{width:min(calc(100% - 24px),1680px);margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
@media(max-width:900px){.sub-footer{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.lineup-contact{gap:26px;padding:64px 22px 96px}.lineup-contact .contact-form{padding:22px}.sub-footer{grid-template-columns:1fr}}

/* Shared page navigation: desktop links, tablet/mobile contained hamburger */
.sub-header{width:min(calc(100% - 24px),1600px);height:88px;border-radius:22px;padding-inline:clamp(22px,4vw,64px)}
.sub-header .desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(13px,1.4vw,24px);margin-left:auto}
.sub-header .desktop-nav a{position:relative;color:inherit;text-decoration:none;white-space:nowrap;font:600 clamp(10px,.72vw,12px)/1.3 var(--sans);letter-spacing:.055em}
.sub-header .desktop-nav a:not(.desktop-nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .25s}
.sub-header .desktop-nav a:not(.desktop-nav-contact):hover::after{right:0}
.sub-header .desktop-nav-contact{padding:12px 17px;border-radius:999px;background:var(--ink);color:#fff!important}
.menu-trigger{display:none}
.menu-panel{inset:auto;left:50%;top:96px;width:min(calc(100% - 24px),1600px);height:min(720px,calc(100vh - 108px));transform:translateX(-50%);border:1px solid #fff8;border-radius:34px;box-shadow:0 28px 80px #07140f55;overflow:hidden}
.menu-main{padding:clamp(58px,6vw,96px)}
.menu-side img{max-height:100%}
.menu-close{color:#fff}
@media(max-width:1100px){.sub-header .desktop-nav{display:none}.menu-trigger{display:grid}}
@media(max-width:900px){.sub-header{left:50%;right:auto;top:8px;width:calc(100% - 16px);transform:none;border-radius:18px}.menu-panel{top:86px;width:calc(100% - 16px);height:calc(100vh - 98px);grid-template-columns:1fr;border-radius:26px}.menu-side{display:none}.menu-main{padding:74px 26px 30px;overflow-y:auto}.menu-close{right:18px;top:16px;color:var(--ink)}}

/* Company hero and access map */
.company-hero-full{display:flex;align-items:center;min-height:780px;color:var(--ink);isolation:isolate}
.company-hero-full::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(251,247,234,.96) 0%,rgba(251,247,234,.84) 31%,rgba(251,247,234,.28) 53%,rgba(251,247,234,.04) 76%,transparent 100%)}
.company-hero-bg{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.company-hero-full .hero-copy,.company-hero-full .hero-stamp{position:relative;z-index:2}
.company-hero-full .hero-copy{max-width:610px}
.company-hero-full .hero-stamp{position:absolute;right:4%;top:auto;bottom:7%}
.company-map-block{width:min(1180px,100%);margin:52px auto 0;overflow:hidden;border-radius:42px 8px 30px 8px;background:var(--ink);color:#fff;box-shadow:0 26px 55px #10282224}
.company-map-block iframe{display:block;width:100%;height:430px;border:0;background:#e9ece4}
.company-map-block>div{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 26px}
.company-map-block p{margin:0;font-size:13px}
.company-map-block a{color:#fff;text-underline-offset:6px;font-size:13px}
@media(max-width:900px){.company-hero-full{min-height:720px;align-items:flex-start}.company-hero-full::after{background:linear-gradient(180deg,rgba(251,247,234,.97) 0%,rgba(251,247,234,.84) 43%,rgba(251,247,234,.16) 70%,transparent 100%)}.company-hero-bg{object-position:62% center}.company-hero-full .hero-copy{padding-top:20px}}
@media(max-width:600px){.company-hero-full{min-height:680px;padding-bottom:45px}.company-hero-bg{object-position:68% center}.company-hero-full .hero-copy{padding-top:0}.company-hero-full .hero-stamp{right:20px;bottom:24px;width:82px;height:82px;font-size:8px}.company-map-block{margin-top:34px;border-radius:28px 6px 22px 6px}.company-map-block iframe{height:310px}.company-map-block>div{display:block;padding:16px 18px}.company-map-block a{display:inline-block;margin-top:8px}}

/* v7: keep product actions outside imagery and share the top-page layout */
.product-select{position:relative;inset:auto;width:100%;min-height:48px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
.product-select input{flex:0 0 auto}
.feature-product .feature-copy>.product-select{margin:-12px 0 22px}
.photo-credit{position:absolute;z-index:3;left:7vw;bottom:16px;color:#243b35;font:9px/1.5 Arial;letter-spacing:.02em;text-shadow:0 1px 7px #fff}
.photo-credit a{color:inherit}
.site-shell{width:min(100% - 24px,1600px);margin:0 auto 12px;border-radius:0 0 34px 34px}
.section{padding:clamp(80px,10vw,150px) 7vw}
.wrap{width:calc(100% - 14vw);max-width:none;margin-inline:7vw}
.sub-footer{width:min(100% - 24px,1600px);margin:0 auto;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:40px;padding:70px clamp(22px,4vw,64px) 86px;border-top:1px solid rgba(255,255,255,.16)}
.sub-footer-brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.sub-footer-brand strong{font:600 23px/1.2 var(--serif);letter-spacing:.08em;white-space:nowrap}
.sub-footer-brand small{padding-left:12px;border-left:1px solid #ffffff66;font:500 9px/1.4 var(--serif);letter-spacing:.12em;white-space:nowrap;opacity:.72}
.sub-footer>p{margin:0}
.sub-footer nav a{font:11px Arial;letter-spacing:.12em}
@media(max-width:900px){.site-shell{width:100%;margin-bottom:0;border-radius:0}.wrap{width:calc(100% - 14vw);margin-inline:7vw}.sub-footer{width:100%;grid-template-columns:1fr 1fr}.sub-footer-brand{display:flex;grid-column:1/-1}}
@media(max-width:600px){.wrap{width:calc(100% - 44px);margin-inline:22px}.sub-footer{grid-template-columns:1fr;gap:30px;padding:52px 22px 70px}.sub-footer-brand strong{font-size:19px;letter-spacing:.08em}.sub-footer-brand small{display:none}.photo-credit{left:22px;right:110px;bottom:14px;font-size:7px}.feature-product .feature-copy>.product-select{margin:-8px 0 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.menu-close{color:#fff}
@media(max-width:900px){.menu-close{color:var(--ink)}}

/* Company story: slow image crossfade behind Shizuo's full narrative. */
.company-story{position:relative;isolation:isolate;overflow:hidden;min-height:980px;background:var(--ink);color:#fff}
.company-story::before{content:none}
.company-story-slides,.company-story-shade{position:absolute;inset:0}
.company-story-slides{z-index:0;background:var(--ink)}
.company-story-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.045);transition:opacity 1.5s ease,transform 7s ease}
.company-story-slides img.is-active{opacity:1;transform:scale(1)}
.company-story-shade{z-index:2;background:linear-gradient(180deg,rgba(7,24,19,.68),rgba(7,24,19,.8))}
.company-story-content{position:relative;z-index:3;display:block!important}
.company-hero-full,.company-story,.company-story+.section.sage{padding-left:7vw;padding-right:7vw}
.company-story .profile-copy{position:relative;z-index:3;width:100%;max-width:none;margin:0;padding:clamp(34px,4.5vw,68px);overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:48px 8px 34px 8px;background:rgba(8,28,22,.58);backdrop-filter:blur(12px);box-shadow:0 28px 70px rgba(0,0,0,.3)}
.company-story .profile-copy::before{content:"";position:absolute;z-index:0;inset:0;background:url("assets/shizuo-v2/full_length_crossing_arms.png") center bottom/min(58vw,790px) auto no-repeat;opacity:.23;filter:saturate(.72) contrast(.94);pointer-events:none}
.company-story .profile-copy::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(7,24,19,.76) 0%,rgba(7,24,19,.62) 54%,rgba(7,24,19,.26) 100%);pointer-events:none}
.company-story .profile-copy>*{position:relative;z-index:2;max-width:780px}
.company-story .section-label{color:var(--yellow)}
.company-story .profile-copy h2{margin-top:16px;color:#fff}
.company-story .profile-copy p{font-family:var(--serif);line-height:2.05;color:rgba(255,255,255,.88)}
.company-story .company-story-lead{font-size:clamp(1.18rem,1.7vw,1.55rem);color:#fff}
.company-story .company-story-signature{text-align:right;color:var(--yellow)}
.company-story .company-story-character{display:none}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form button:disabled{cursor:not-allowed;opacity:.55}
.privacy-scroll{height:230px;overflow-y:auto;padding:22px 24px;border:1px solid rgba(16,40,34,.2);border-radius:12px;background:#f7f4eb;color:var(--ink);overscroll-behavior:contain;scrollbar-gutter:stable}
.privacy-scroll h3{margin:0 0 16px;font:600 18px/1.5 var(--serif)}
.privacy-scroll p{margin:0 0 13px;font-size:11px;line-height:1.9}
.privacy-scroll a{text-underline-offset:4px}

/* Company page desktop composition: vertical titles and centred narrative. */
@media(min-width:901px){
  .company-hero-full .hero-copy{display:grid;justify-items:center;text-align:center}
  .company-hero-full .hero-copy h1{width:auto;height:auto;margin:24px auto;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;font-size:clamp(3rem,4vw,4.75rem);line-height:1.05}
  .company-hero-full .hero-copy>p:not(.eyebrow){margin-inline:auto}
  .company-story .profile-copy{text-align:center}
  .company-story .profile-copy::after{background:rgba(7,24,19,.58)}
  .company-story .profile-copy>*{max-width:860px;margin-left:auto;margin-right:auto}
  .company-story .profile-copy h2{width:auto;height:auto;margin:26px auto 42px;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;font-size:clamp(2.5rem,3.7vw,4.25rem);line-height:1.08}
  .company-story .profile-copy p{max-width:700px;margin-top:1.7em;margin-bottom:1.7em;line-height:2.3}
  .company-story .profile-copy .company-story-lead{margin-top:2.2em;margin-bottom:2.2em}
  .company-story .company-story-signature{text-align:center}
}

@media(max-width:900px){
  .company-story{min-height:0}
  .company-story-shade{background:linear-gradient(180deg,rgba(7,24,19,.76),rgba(7,24,19,.86))}
  .company-story .profile-copy{max-width:none;margin-inline:auto}
  .company-story .profile-copy::before{background-size:min(92vw,650px) auto;opacity:.15}
  .company-story .profile-copy::after{background:rgba(7,24,19,.64)}
  .company-hero-full .hero-copy,.company-story .profile-copy{text-align:left}
  .company-hero-full .hero-copy h1,.company-story .profile-copy h2{height:auto;writing-mode:horizontal-tb;text-orientation:mixed}
}

@media(max-width:600px){
  .company-hero-full,.company-story,.company-story+.section.sage{padding-left:22px!important;padding-right:22px!important}
  .company-story .profile-copy{padding:26px 22px;border-radius:30px 6px 24px 6px}
  .company-story .profile-copy p{line-height:1.95}
}

@media(prefers-reduced-motion:reduce){
  .company-story-slides img{transition:none;transform:none}
}

/* Product selection: keep the accent border even on every edge. */
.product-card:has(.product-checkbox:checked){outline:0}
.product-card:has(.product-checkbox:checked)::after{
  content:"";
  position:absolute;
  z-index:5;
  inset:0;
  border:5px solid var(--vermilion);
  border-radius:inherit;
  box-sizing:border-box;
  pointer-events:none;
}

/* Product PNGs have a white canvas; match the photo stage to remove the visible square. */
.product-card .photo{background:#fff}




/* 美濃焼への想い：文章の強調 */
.company-story .story-name {
  font-weight: 700;
  color: #f0a080;
}

/* 文章中で特に伝えたい言葉 */
.company-story .story-key {
  display: inline-block;
  margin-top: 8px;
  color: #f0a080;
  font-family: var(--serif);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

/* 真面目に、まっすぐ */
.company-story .story-strong {
  color: #fff;
  font-size: 1.1em;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* 仕事の筋だけは曲げない */
.company-story .story-statement {
  margin: clamp(38px, 5vw, 68px) 0;
  color: #f0a080;
  font-family: var(--serif);
  font-size: clamp(1.55rem, 3vw, 2.6rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.08em;
}

.company-story .story-statement strong {
  font-weight: 700;
}

/* 国産の器に、真心を込める */
.company-story .story-closing {
  margin: clamp(36px, 5vw, 64px) 0;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(1.3rem, 2.2vw, 2rem);
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.07em;
}

/* スマホでは少し抑える */
@media (max-width: 600px) {
  .company-story .story-key {
    font-size: 1.2rem;
  }

  .company-story .story-statement {
    margin: 32px 0;
    font-size: 1.55rem;
  }

  .company-story .story-closing {
    margin: 32px 0;
    font-size: 1.3rem;
  }
}

/* 強調文章の中央位置を統一 */
.company-story .profile-copy .story-statement,
.company-story .profile-copy .story-closing {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* 「仕事の筋だけは曲げない」 */
.company-story .profile-copy .story-statement {
  margin-top: clamp(38px, 5vw, 68px);
  margin-bottom: clamp(38px, 5vw, 68px);
}

/* 最後のメッセージ */
.company-story .profile-copy .story-closing {
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.9;
}

.company-story .profile-copy .story-closing span {
  display: block;
  white-space: nowrap;
}

/* スマホでは画面幅に合わせて自然に折り返す */
@media (max-width: 600px) {
  .company-story .profile-copy .story-statement,
  .company-story .profile-copy .story-closing {
    text-align: center;
  }

  .company-story .profile-copy .story-closing {
    font-size: 1.25rem;
  }

  .company-story .profile-copy .story-closing span {
    white-space: normal;
  }
}