
:root{--green:#0a5f20;--green2:#6aa84f;--deep:#173522;--ink:#1f2a24;--muted:#68736d;--soft:#edf3f0;--line:#dce7df;--white:#fff;--shadow:0 24px 70px rgba(23,53,34,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;color:var(--ink);line-height:1.8;background:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:9999}.loader{position:fixed;inset:0;background:linear-gradient(135deg,var(--deep),var(--green));color:#fff;z-index:9999;display:grid;place-content:center;text-align:center;transition:opacity .65s,visibility .65s}.loader.hide{opacity:0;visibility:hidden}.loader-mark{font-size:38px;font-weight:950;letter-spacing:.14em;border:1px solid rgba(255,255,255,.45);padding:24px 36px}.loader p{letter-spacing:.2em;color:#dff4df;font-weight:900}.header{position:sticky;top:0;z-index:1000;height:86px;display:flex;align-items:center;gap:28px;padding:0 5vw;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand span{font-size:28px;font-weight:950;color:var(--green)}.brand small{display:block;font-size:11px;color:var(--muted)}.nav{display:flex;gap:22px;margin-left:auto;font-size:14px;font-weight:900}.nav a.active,.nav a:hover{color:var(--green)}.head-actions{display:flex;gap:14px;align-items:center;font-weight:900}.contact-btn{background:var(--green);color:#fff;border-radius:6px;padding:12px 18px}.tel{font-size:20px;color:var(--green)}.menu{display:none;background:var(--green);color:#fff;border:0;border-radius:999px;padding:10px 14px}.layer{position:relative;overflow:hidden}.hero{min-height:720px;background:var(--soft);display:grid;align-items:end}.hero-slides{position:absolute;inset:0;display:grid;grid-template-columns:3fr 2fr}.slide{width:100%;height:100%;object-fit:cover;opacity:0;position:absolute;inset:0;transition:opacity 1.1s,transform 7s;transform:scale(1.06)}.slide.active{opacity:1;transform:scale(1)}.hero:after,.subhero:after,.contact-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(237,243,240,.2),rgba(237,243,240,.85));z-index:1}.hero-card{position:relative;z-index:2;margin-left:auto;width:min(620px,88%);background:rgba(237,243,240,.96);border-radius:44px 0 0 0;padding:58px 6vw 56px 54px;box-shadow:var(--shadow)}.en{font-size:13px;letter-spacing:.18em;font-weight:950;color:var(--green)}.en.dark{color:#3a4a41}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.18;margin:14px 0;font-weight:950;letter-spacing:-.04em}.hero h1 span{color:var(--green)}.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;border-radius:7px;border:1px solid currentColor;font-weight:950}.btn.green{background:var(--green);color:#fff}.btn.white,.btn.light{background:#fff;color:var(--green)}.btn.outline-light{color:#fff}.information{background:var(--soft);border-radius:0 0 36px 36px;padding:70px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:40px}.information span,.section-head span{display:block;width:24px;height:1px;background:#777;margin-bottom:34px}.information article{background:#fff;border-radius:6px;padding:28px;box-shadow:0 4px 0 rgba(0,0,0,.08);max-width:330px}.information h2{font-size:17px;margin:8px 0 0}.section{padding:105px 7vw}.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:42px}.section-head h2{grid-column:1/-1;font-size:clamp(38px,5vw,76px);margin:0;color:var(--green)}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.biz-card{position:relative;min-height:320px;border-radius:10px;overflow:hidden;color:#fff;box-shadow:var(--shadow)}.biz-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s}.biz-card:hover img{transform:scale(1.06)}.biz-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.1))}.biz-card div{position:absolute;inset:auto 22px 22px;z-index:2;border:1px solid rgba(255,255,255,.72);padding:24px;display:grid;grid-template-columns:.55fr 1fr;gap:18px;align-items:end}.biz-card h3{font-size:30px;line-height:1.25;margin:0}.biz-card p{font-weight:800;margin:0}.parallax{min-height:500px;background-size:cover;background-position:center;background-attachment:fixed;display:grid;place-items:center;text-align:center;color:#fff}.parallax h2{font-size:clamp(40px,6vw,82px);line-height:1.15;margin:0;font-weight:950}.light{background:var(--soft)}.technology{position:relative;min-height:540px;display:grid;align-items:center}.technology:after{content:"Technical Information";position:absolute;left:0;bottom:4%;font-size:9vw;font-weight:950;color:rgba(255,255,255,.65);white-space:nowrap;z-index:0}.tech-copy{position:relative;z-index:1;max-width:660px}.tech-copy h2{font-size:clamp(36px,5vw,70px);line-height:1.18;color:var(--green)}.carousel{padding:90px 0;background:#fff;overflow:hidden}.carousel .section-head{padding:0 7vw}.carousel-track{display:flex;gap:20px;width:max-content;animation:marquee 42s linear infinite}.marquee-card{width:330px;background:var(--soft);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(23,53,34,.06)}.marquee-card img{height:210px;width:100%;object-fit:cover}.marquee-card span{display:block;padding:14px 18px;font-weight:950;color:var(--green)}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.contact-band{min-height:400px;color:#fff;display:grid;align-items:center;padding:70px 7vw}.contact-bg{position:absolute;inset:0;background:linear-gradient(rgba(10,95,32,.72),rgba(10,95,32,.78)),url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=1600&q=80') center/cover}.contact-inner{position:relative;z-index:2;max-width:900px}.contact-band h2{font-size:clamp(34px,5vw,70px);line-height:1.18;margin:0 0 12px}.footer{background:#fff;padding:70px 7vw 24px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:50px;border-bottom:1px solid var(--line);padding-bottom:42px}.footer-logo{font-size:42px;font-weight:950;color:var(--green)}.footer ul{list-style:none;padding:0;margin:0;columns:2}.foot-tel{font-size:28px;font-weight:950;color:var(--green)}.subhero{min-height:460px;color:#fff;display:grid;align-items:end;padding:150px 7vw 90px}.sub-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08)}.subhero:after{background:linear-gradient(90deg,rgba(23,53,34,.85),rgba(10,95,32,.45))}.sub-copy{position:relative;z-index:2;max-width:900px}.sub-copy h1{font-size:clamp(52px,8vw,108px);line-height:1;margin:12px 0}.service-detail{display:grid;gap:42px}.service-detail article{display:grid;grid-template-columns:42% 1fr;gap:42px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 12px 40px rgba(23,53,34,.08)}.service-detail img{height:300px;width:100%;object-fit:cover;border-radius:14px}.service-detail h2{font-size:34px;color:var(--green)}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.work-card img{height:230px;width:100%;object-fit:cover}.work-card p,.work-card h2,.work-card span{display:block;padding:0 22px}.work-card p{color:var(--green);font-weight:950}.work-card h2{font-size:24px}.work-card span{padding-bottom:24px}.voice blockquote{background:#fff;border-left:5px solid var(--green);padding:26px;margin:16px 0}.company,.recruit,.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px}.company h2,.recruit h2{font-size:clamp(34px,5vw,64px);line-height:1.2;color:var(--green)}table{width:100%;border-collapse:collapse;background:#fff;box-shadow:var(--shadow)}th,td{border:1px solid var(--line);padding:20px;text-align:left}th{background:var(--soft);width:30%}.recruit{background:var(--soft)}dl{display:grid;grid-template-columns:130px 1fr;gap:16px;background:#fff;padding:34px;box-shadow:var(--shadow)}dt{font-weight:950;color:var(--green)}.info-list article{border-top:1px solid var(--line);padding-top:24px}.contact{background:var(--soft)}.contact-info,.form{background:#fff;border-radius:18px;padding:34px;box-shadow:var(--shadow)}.phone a{font-size:clamp(34px,5vw,62px);font-weight:950;color:var(--green)}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;font-weight:900}input,textarea{padding:14px;border:1px solid var(--line);font:inherit}.map iframe{width:100%;height:430px;border:0;box-shadow:var(--shadow);border-radius:18px}.privacy{padding-top:34px}.reveal{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease}body.motion-ready .reveal{opacity:.78;transform:translateY(22px)}body.motion-ready .reveal.in{opacity:1;transform:none}:focus-visible{outline:3px solid var(--green2);outline-offset:4px}@media(max-width:900px){.header{height:72px;padding:0 18px}.brand small,.tel,.contact-btn{display:none}.nav{position:fixed;inset:72px 0 auto 0;background:#fff;display:none;flex-direction:column;padding:24px}.nav.open{display:flex}.menu{display:block}.hero{min-height:650px}.hero-card{width:92%;padding:38px 24px;border-radius:28px 0 0 0}.hero h1{font-size:42px}.information,.card-grid,.section-head,.service-detail article,.works-grid,.company,.recruit,.contact,.footer-grid{grid-template-columns:1fr}.section{padding:70px 22px}.biz-card div{grid-template-columns:1fr}.parallax{background-attachment:scroll}.marquee-card{width:260px}}
