:root{--green:#174b3d;--dark:#152821;--lime:#d9e8a7;--paper:#f7f7f2;--line:#d8ddd5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--dark);font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;line-height:1.8}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}header{position:sticky;top:0;z-index:10;background:rgba(247,247,242,.94);border-bottom:1px solid #dce1db;backdrop-filter:blur(12px)}.header-inner{width:min(1280px,calc(100% - 3rem));height:82px;margin:auto;display:flex;align-items:center;gap:2rem}.brand{display:flex;align-items:center;gap:.75rem;font-weight:700;letter-spacing:.04em;line-height:1.25;white-space:nowrap}.brand small{display:block;color:#708078;font:600 .58rem Arial;letter-spacing:.2em;margin-top:.2rem}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--green);color:var(--lime);font-size:1.6rem}nav{display:flex;gap:2rem;margin-left:auto;font-size:.88rem;font-weight:600}nav a:hover{text-decoration:underline}.pill{display:inline-flex;align-items:center;width:max-content;margin-top:2rem;padding:.85rem 1.45rem;border-radius:999px;background:var(--green);color:#fff;font-weight:700}.pill.small{margin:0;font-size:.82rem}.hero,.section{width:min(1280px,calc(100% - 3rem));margin:auto}.hero{min-height:720px;padding:5rem 0;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:7vw}.label{color:#60776c;font:bold .73rem Arial;letter-spacing:.2em}.hero h1,.section-title,.materials h2,.message h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.3}.hero h1{font-size:clamp(3rem,5.2vw,5.2rem);letter-spacing:-.06em;margin:1.5rem 0}.hero h1 span{display:block;color:var(--green)}.lead{color:#53645c;line-height:2}.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-block:1px solid #cfd7d1}.facts div{padding:1rem;border-right:1px solid #cfd7d1}.facts div:last-child{border:0}.facts b,.facts small{display:block}.facts b{font-family:"Yu Mincho",serif;color:var(--green)}.hero-image{margin:0;padding:2.5rem;background:#e8eddf;border-radius:48% 48% 10px 10px;text-align:center}.hero-image img{max-height:610px;margin:auto;filter:drop-shadow(0 22px 24px rgba(25,47,38,.2))}.hero-image figcaption{margin-top:1.2rem;font:700 .65rem Arial;letter-spacing:.16em}.section{padding:8rem 0}.product{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.gallery figure{margin:0;text-align:center}.gallery img{box-shadow:0 22px 50px rgba(23,50,41,.15)}figcaption{margin-top:.7rem;color:#63716b;font-size:.75rem}.product-copy h2{font-family:"Yu Mincho",serif;font-size:clamp(2.8rem,5vw,4.6rem);margin:.4rem 0}.kicker{color:#60776c}.checks{list-style:none;padding:0;margin:2rem 0}.checks li{border-top:1px solid var(--line);padding:.8rem 0}.checks li::before{content:"✓";color:var(--green);font-weight:bold;margin-right:.7rem}dl{margin:0}dl div{display:grid;grid-template-columns:9rem 1fr;border-top:1px solid var(--line);padding:1rem 0}dt{font-weight:700}dd{margin:0}.note{font-size:.78rem;color:#6b7771}.materials{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:#fff}.material-image img{width:100%;height:100%;object-fit:cover}.material-copy{padding:7vw}.light{color:var(--lime)}.material-copy h2,.message h2{font-size:clamp(2.5rem,4.5vw,4.6rem);margin:1rem 0}.material-copy>p{color:#d8e5df}.material-copy article{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid rgba(255,255,255,.2)}.material-copy h3{margin:0}.material-copy article p{margin:.2rem 0;color:#c9d8d1;font-size:.9rem}.section-title{font-size:clamp(2.6rem,4.5vw,4.5rem)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:4rem}.cards article{background:#fff;padding:2.5rem}.cards span{color:#89a260;font:bold .8rem Arial}.cards h3{font-size:1.25rem;margin:2rem 0 1rem}.cards p{color:#607068}.message{padding:9rem max(1.5rem,calc((100% - 1100px)/2));background:#173d33;color:#fff;text-align:center}.message p:last-child{max-width:650px;margin:auto;color:#d7e2de}.company{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.company dl div{grid-template-columns:8rem 1fr}footer{padding:3rem max(1.5rem,calc((100% - 1280px)/2));background:#102f27;color:#fff;display:flex;align-items:center;gap:3rem}footer p{margin-left:auto;color:#c8d6d0}footer>small{color:#9eb0a8}
@media(max-width:900px){nav{display:none}.hero,.product,.materials,.company{grid-template-columns:1fr}.hero{padding-top:3rem;gap:3rem}.hero-image{max-width:580px;margin:auto}.product{gap:4rem}.material-image{max-height:520px;overflow:hidden}.cards{grid-template-columns:1fr}.company{gap:2rem}footer{align-items:flex-start;flex-direction:column;gap:1rem}footer p{margin:0}.pill.small{display:none}}
@media(max-width:560px){.header-inner,.hero,.section{width:min(100% - 2rem,1280px)}.header-inner{height:70px}.brand{font-size:.82rem}.brand-mark{width:35px;height:35px}.hero{min-height:0;padding:3rem 0}.hero h1{font-size:2.65rem}.facts{margin-top:2.5rem}.facts div{padding:.75rem .35rem}.facts b{font-size:.9rem}.facts small{font-size:.62rem}.hero-image{padding:1.4rem;border-radius:40% 40% 8px 8px}.section{padding:5rem 0}.gallery{gap:.65rem}.product-copy h2{font-size:3rem}dl div,.company dl div{grid-template-columns:1fr;gap:.25rem}.materials{display:block}.material-copy{padding:4.5rem 1.25rem}.cards{margin-top:2.5rem}.cards article{padding:2rem}.message{padding-block:6rem}.message h2{font-size:2.5rem}footer{padding-block:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:hidden}body{overflow-wrap:anywhere}.hero-copy,.hero-image,.product-copy,.gallery,.material-copy,.company>*{min-width:0}.gallery img{width:100%}@media(max-width:380px){.hero h1{font-size:2.3rem}.facts small{letter-spacing:-.02em}.brand{font-size:.76rem}.brand-mark{width:32px;height:32px}}
.activity{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;border-top:1px solid var(--line)}.activity>div>p:last-child{color:#607068;max-width:32rem}.text-link{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:.25em}.contact{padding:8rem max(1.5rem,calc((100% - 900px)/2));background:#174b3d;color:#fff;text-align:center}.contact h2{margin:.8rem 0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.7rem,5vw,4.6rem);font-weight:500}.contact>p{color:#d7e3de}.phone{display:flex;flex-direction:column;width:fit-content;margin:2.5rem auto 0;padding:1.1rem 2rem;border:1px solid rgba(255,255,255,.5);border-radius:1rem;background:#fff;color:#174b3d;font:700 clamp(1.8rem,4vw,3rem) Arial;letter-spacing:.04em}.phone small{margin-bottom:.2rem;font:700 .75rem -apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;letter-spacing:.08em}.contact .contact-note{margin-top:2rem;font-size:.82rem;color:#c7d7d0}@media(max-width:900px){.activity{grid-template-columns:1fr;gap:2rem}}@media(max-width:560px){.contact{padding-block:5rem}.phone{width:100%;padding:1rem .5rem;font-size:1.75rem}}
.mail-link{display:inline-block;margin-top:1.4rem;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:.3em}.contact .contact-hours{margin:.65rem 0 0;color:#d7e3de;font-size:.9rem}
.gallery-single{grid-template-columns:minmax(260px,440px);justify-content:center}.gallery-single figure{width:100%}
@media(max-width:1100px){nav{display:none}.hero,.product,.materials,.company,.activity{grid-template-columns:1fr}.hero{min-height:0;padding-top:4rem;gap:4rem}.hero-copy{max-width:720px}.hero-image{width:min(100%,580px);margin:auto}.product{gap:4rem}.material-image{max-height:540px;overflow:hidden}.company,.activity{gap:2.5rem}.header-inner{gap:1rem}}
@media(max-width:700px){.hero h1{font-size:clamp(2.55rem,12vw,3.6rem)}.hero-lead,.lead{line-height:1.85}.section-title{font-size:clamp(2.45rem,11vw,3.5rem)}.gallery-single{grid-template-columns:minmax(0,420px)}.materials h2{font-size:clamp(2.35rem,11vw,3.4rem)}.company dd,.activity dd{min-width:0}.mail-link,.text-link{overflow-wrap:anywhere}}
@media(min-width:1101px){.hero-image img{width:auto}.product-copy{max-width:540px}}
