:root{--ink:#142b23;--forest:#102a23;--cream:#f2f0e8;--paper:#faf9f5;--accent:#b94a35;--line:#d3d5c9;--muted:#52635b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;padding:12px}.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.site-header{height:76px;display:flex;align-items:center;gap:36px;padding:0 clamp(24px,4.4vw,80px);background:var(--forest);color:#fff}
.brand{text-decoration:none;display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:16px;font-weight:800;letter-spacing:.03em}
.brand-mark{font-family:Georgia,serif;font-size:28px;font-weight:400;color:#e5e7ce;line-height:1}
.site-header nav{margin-left:auto;display:flex;gap:32px}.site-header nav a{text-decoration:none;font-size:13px;font-weight:650;color:#e6e9e0}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}
.draft-tag{border:1px solid #658176;border-radius:99px;padding:7px 11px;color:#e1e9dd;font:600 10px/1 Arial,sans-serif;letter-spacing:.13em;white-space:nowrap}
.hero{min-height:min(790px,calc(100svh - 76px));display:grid;grid-template-columns:45% 55%;background:var(--cream)}
.hero-copy{padding:30px clamp(24px,5vw,94px) 25px clamp(24px,6vw,110px);display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.hero-topline{font-size:13px;font-weight:700;display:flex;align-items:center;gap:10px;letter-spacing:.04em}.dot{height:8px;width:8px;background:var(--accent);border-radius:50%;display:inline-block}
.section-kicker{font:700 11px/1.5 Arial,sans-serif;letter-spacing:.24em;color:var(--accent);margin:0 0 24px}
.hero h1{font-size:clamp(64px,7vw,112px);line-height:1.13;letter-spacing:-.08em;margin:0 0 34px;font-weight:800;white-space:nowrap}
.hero-lead{font-size:clamp(16px,1.35vw,19px);line-height:1.8;font-weight:650;margin:0 0 34px;letter-spacing:.01em}
.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:54px;padding:15px 20px;background:var(--forest);color:#fff;text-decoration:none;font-size:14px;font-weight:700}.primary-link:hover{background:#265043}.primary-link span{font-size:19px}
.hero-bottomline{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #bfc9bc;padding-top:16px;font-size:11px;font-weight:650;color:var(--muted)}
.hero-visual{position:relative;overflow:hidden;background:#74836b}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:55% 50%}.photo-credit{position:absolute;bottom:18px;right:20px;color:#fff;background:#102a23ba;padding:8px 10px;font-size:10px}
.intro{padding:clamp(85px,10vw,160px) clamp(24px,6vw,110px) clamp(95px,11vw,170px);background:var(--paper)}
.intro-label{display:flex;align-items:center;gap:18px;font-size:11px;font-weight:700;letter-spacing:.12em}.label-line{height:1px;background:var(--accent);width:35px}
.intro-main{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(45px,8vw,140px);align-items:end;margin-top:76px}
.intro h2{font-size:clamp(38px,4.6vw,73px);line-height:1.34;letter-spacing:-.055em;margin:0;font-weight:800}.intro-body{border-left:1px solid var(--line);padding-left:28px;color:#344d40}.intro-body p{font-size:17px;line-height:2;margin:0 0 18px}.intro-body p:last-child{margin-bottom:0}
.scene{display:grid;grid-template-columns:56% 44%;min-height:640px;background:var(--forest);color:#f8faf5}.scene-image{position:relative;min-height:560px;overflow:hidden}.scene-image img{width:100%;height:100%;object-fit:cover;object-position:center}.scene-image span{position:absolute;left:24px;bottom:22px;font-size:10px;background:#102a23d9;padding:8px 10px;color:#fff}
.scene-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:75px clamp(30px,5.4vw,100px)}.scene-content .section-kicker{color:#d9bcb0}.scene h2{font-size:clamp(48px,5vw,82px);line-height:1.35;letter-spacing:-.06em;margin:0 0 30px}.scene-content>p:not(.section-kicker){font-size:17px;line-height:1.9;max-width:380px;color:#e3ebe4}.text-link{margin-top:30px;border-bottom:1px solid #aac7b2;padding-bottom:10px;font-size:15px;font-weight:700;text-decoration:none;display:flex;gap:32px}.text-link:hover{color:#d2e0cc}
.site-footer{padding:36px clamp(24px,6vw,110px);background:#091b16;color:#dce7dc;display:flex;justify-content:space-between;gap:16px;font-size:13px}.site-footer span:first-child{font-weight:800}
@media(max-width:900px){.site-header{height:68px}.hero{min-height:0;grid-template-columns:1fr}.hero-copy{min-height:620px;padding:24px 6vw}.hero h1{font-size:clamp(62px,10vw,86px)}.hero-visual{height:570px}.intro-main{gap:44px}.intro h2{font-size:clamp(38px,5.4vw,57px)}.scene{grid-template-columns:1fr}.scene-image{height:500px;min-height:0}.scene-content{padding:75px 7vw 90px}}
@media(max-width:600px){.site-header{height:64px;padding:0 18px}.brand{font-size:13px;gap:8px}.brand-mark{font-size:25px}.site-header nav{display:none}.draft-tag{margin-left:auto;font-size:8px;padding:6px 8px}.hero-copy{min-height:515px;padding:21px 24px 25px}.hero-message{padding-top:40px}.section-kicker{font-size:10px;margin-bottom:17px}.hero h1{font-size:clamp(60px,16vw,78px);margin-bottom:24px}.hero-lead{font-size:15px;margin-bottom:27px}.primary-link{width:100%;max-width:310px}.hero-bottomline{font-size:9px}.hero-visual{height:390px}.hero-visual img{object-position:55% 48%}.photo-credit{bottom:12px;right:12px;font-size:9px}.intro{padding:85px 24px 100px}.intro-main{display:block;margin-top:48px}.intro h2{font-size:clamp(35px,9.4vw,48px)}.intro-body{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:34px}.intro-body p{font-size:15px;line-height:1.9}.scene-image{height:310px}.scene-image span{left:12px;bottom:12px;font-size:9px}.scene-content{padding:74px 24px 87px}.scene h2{font-size:54px}.scene-content>p:not(.section-kicker){font-size:15px}.site-footer{padding:28px 24px;flex-direction:column;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.addition{padding:110px clamp(24px,6vw,110px)}.addition h2{font-size:clamp(38px,4.4vw,68px);line-height:1.3;letter-spacing:-.05em;margin:0 0 30px}.section-lead{font-size:19px;line-height:1.9}.soil-list{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:65px}.soil-list article{border-top:1px solid #aebdaf;padding-top:24px}.soil-list article>span{color:var(--accent);font-size:13px}.soil-list h3{font-size:24px;margin:22px 0 16px}.soil-list p,.addition p{line-height:1.9}.connect{background:#e5e9df}.connect-list{margin-top:50px}.connect-list>a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px 0;border-top:1px solid #aebdaf;text-decoration:none}.connect-list>a:last-child{border-bottom:1px solid #aebdaf}.connect-list h3{font-size:28px;margin:12px 0}.connect-list p{margin:0 0 12px}.connect-list small{color:#405849}.channel{font-size:14px;letter-spacing:.08em;font-weight:700}.connect-list>a>span{font-size:36px}.connect-list a:hover h3{text-decoration:underline;text-underline-offset:6px}.access,.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.access address{font-style:normal;font-size:18px;line-height:1.9}.access .text-link,.contact .text-link{display:inline-block;margin-top:12px}.phone{display:block;font-size:25px;margin-top:25px;text-decoration:none;font-weight:700}.map-wrap iframe{width:100%;height:420px;border:0;background:#e5e9df}.map-wrap p{font-size:12px;color:#52635b}.contact{background:var(--cream)}.contact form{min-width:0}.contact label{display:block;font-size:14px;font-weight:700;margin:0 0 9px}.contact label span{font-size:11px;color:#9b3826;margin-left:8px}.contact input,.contact textarea,.contact select{font:inherit;font-size:16px;border:1px solid #8d9b8d;border-radius:0;background:var(--paper);padding:13px;width:100%;margin-bottom:25px;color:var(--ink)}.contact textarea{resize:vertical}.form-note,#form-status{font-size:13px}.contact button{border:0;cursor:pointer;font-family:inherit}.site-header{gap:22px}.site-header nav{gap:22px}
@media(max-width:1100px){.site-header nav{gap:14px}.site-header nav a{font-size:11px}.access,.contact{gap:40px}}
@media(max-width:768px){.addition{padding:80px 24px}.soil-list,.access,.contact{grid-template-columns:1fr;gap:34px}.soil-list{margin-top:40px}.soil-list h3{font-size:23px}.connect-list h3{font-size:23px}.map-wrap iframe{height:320px}.site-header nav{display:none}.draft-tag{margin-left:auto}}
.header-shop{color:#fff;border:1px solid #819a89;padding:10px 14px;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;min-height:44px;display:flex;align-items:center}.header-shop:hover{background:#29473b}.mobile-menu{display:none}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:19px}.hero-shop{font-size:14px;font-weight:700;text-underline-offset:5px;padding:7px 0;min-height:36px}.text-link:hover{color:var(--ink)}.scene .text-link:hover{color:#d2e0cc}.intro{padding-top:100px;padding-bottom:110px}.intro-main{margin-top:50px}.scene{min-height:530px}.scene-image{min-height:500px}.section-kicker{letter-spacing:.13em}.photo-credit{font-size:11px}.soil-list p{font-size:16px}
@media(max-width:1100px){.site-header{position:relative;gap:14px;z-index:10}.site-header>nav{display:none}.header-shop{margin-left:auto}.mobile-menu{display:block}.mobile-menu summary{list-style:none;cursor:pointer;padding:12px 8px;font-size:13px;font-weight:700;min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{color:#d5e5c9}.mobile-menu nav{display:flex;flex-direction:column;gap:0;margin:0;position:absolute;top:100%;left:0;right:0;background:var(--forest);padding:12px 24px 24px;box-shadow:0 14px 18px #0002}.mobile-menu nav a{font-size:16px;padding:16px 0;border-bottom:1px solid #658176;min-height:52px}.mobile-menu nav a:last-child{border-bottom:0}}
@media(max-width:600px){.hero-copy{min-height:560px}.hero-message{padding-top:22px}.hero h1{font-size:clamp(49px,15.5vw,78px)}.hero-bottomline{margin-top:24px}.hero-actions{gap:10px}.hero-shop{font-size:14px}.header-shop{padding:9px;font-size:11px}.site-header{padding:0 14px;gap:8px}.brand{font-size:12px;gap:5px}.brand-mark{font-size:22px}.mobile-menu summary{font-size:12px;padding:12px 4px}.intro{padding:70px 24px 80px}.intro-main{margin-top:35px}.scene-image{min-height:0}.scene-content{padding-top:60px;padding-bottom:65px}.scene .text-link{font-size:14px}.addition{padding-top:75px;padding-bottom:75px}}

.map-preview{min-height:320px;background:#e5e9df;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;text-align:center}.map-preview>span{font-size:24px;font-weight:700}.map-preview button{border:0;font-family:inherit;cursor:pointer}.map-preview[hidden],.map-wrap iframe[hidden]{display:none}@media(max-width:360px){.intro h2{font-size:29px}.addition h2{font-size:32px}.scene h2{font-size:45px}.connect-list h3{font-size:21px}}
