@import url("../fonts/400.css");
@import url("../fonts/700.css");
/* カスタマイズ：色・書体・余白は下記の変数で変更できます。 */
:root{--eco-ink:#163e2e;--eco-green:#367451;--eco-paper:#f8faf6;--eco-line:#d8e0d5;--eco-muted:#58675c;--eco-clean:0;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--eco-paper);color:var(--eco-ink);font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2d8b63;outline-offset:6px}h1,h2,h3,p{margin:0;word-break:auto-phrase;text-wrap:pretty}em{font-style:normal;color:var(--eco-green)}.eco-skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.eco-skip:focus{top:10px}.eco-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:27px 4.6%;background:rgba(248,250,246,.92);backdrop-filter:blur(14px);border-bottom:1px solid transparent}.eco-header.is-scrolled{border-bottom-color:var(--eco-line)}.eco-brand{display:flex;flex-direction:column;line-height:1.4;white-space:nowrap}.eco-brand>span{font-size:10px;font-weight:700;letter-spacing:.24em}.eco-brand>strong{font-size:25px;letter-spacing:.04em;font-weight:900}.eco-header-right{display:flex;align-items:center;gap:30px}.eco-header-note{font-size:11px;font-weight:600;letter-spacing:.06em}.eco-contact-link{font-size:12px;font-weight:700;border-bottom:1px solid #163e2e;padding:5px 0}.eco-contact-link span{padding-left:20px}.eco-menu-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:1px solid var(--eco-line);border-radius:50%;background:transparent;cursor:pointer}.eco-menu-toggle span{display:block;height:1px;width:15px;background:var(--eco-ink)}.bs-nav-menu{position:fixed;right:3%;top:96px;z-index:30;background:#fff;box-shadow:0 18px 65px #163e2e20;border:1px solid var(--eco-line);padding:28px 38px;min-width:280px;display:none}.bs-nav-menu.is-open{display:grid;gap:10px}.bs-nav-menu a{padding:6px;border-bottom:1px solid var(--eco-line);font-size:14px}.eco-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.eco-orbit{position:absolute;width:min(51vw,790px);aspect-ratio:1;right:0;top:50%;transform:translate(10%,-50%);border:1px solid #dbe5d7;border-radius:50%;background:#eaf1e5}.eco-orbit:before,.eco-orbit:after{content:'';position:absolute;inset:7%;border:1px solid #d9e4d4;border-radius:50%}.eco-orbit:after{inset:16%;background:#edf4e9}.eco-watermark{position:absolute;right:3.5%;top:17%;font-family:Arial,sans-serif;font-size:clamp(65px,9.2vw,160px);font-weight:900;line-height:.91;letter-spacing:-.07em;color:#dbe7d5;opacity:.65}.bs-stage{position:absolute;top:0;height:1px;width:100%;pointer-events:none}.bs-canvas--page{position:fixed;inset:0;z-index:1;pointer-events:none}.bs-canvas canvas{display:block;width:100%;height:100%}.eco-home main{position:relative;z-index:3;pointer-events:none}.eco-home main a{pointer-events:auto}.eco-chapter{min-height:110svh;display:flex;align-items:center;padding:140px 8.5% 110px}.eco-copy{width:49%;max-width:650px}.eco-eyebrow{font-family:Arial,'Noto Sans JP','Yu Gothic',sans-serif;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.14em;margin-bottom:30px}.eco-eyebrow i{width:7px;height:7px;border-radius:50%;background:#6b9c53}.eco-chapter h1,.eco-chapter h2{font-size:clamp(38px,4.8vw,76px);letter-spacing:-.055em;line-height:1.48;font-weight:800}.eco-hero{min-height:100svh;position:relative}.eco-hero h1{font-size:clamp(38px,4.9vw,78px);white-space:nowrap}.eco-lead{font-size:clamp(15px,1.36vw,21px);font-weight:600;line-height:1.9;margin-top:29px;letter-spacing:.04em}.eco-description{font-size:clamp(13px,1vw,16px);line-height:2.15;color:var(--eco-muted);margin-top:18px;letter-spacing:.045em}.eco-text-link{display:inline-flex;align-items:center;gap:42px;font-size:12px;font-weight:700;border-bottom:1px solid #6d8c75;padding-bottom:7px;margin-top:28px}.eco-text-link span{font-size:20px}.eco-tags{display:flex;gap:8px;margin-top:38px;flex-wrap:wrap}.eco-tags span{font-size:10px;border:1px solid #c8d6c5;border-radius:30px;padding:4px 13px}.eco-scroll{position:absolute;bottom:34px;left:8.5%;font:9px Arial,sans-serif;letter-spacing:.15em;display:flex;gap:35px;align-items:center}.eco-scroll span{font-size:20px}.eco-chapter-nav{position:fixed;left:2.4%;top:50%;transform:translateY(-50%);z-index:7;display:grid;gap:16px}.eco-chapter-nav a{font:10px Arial,sans-serif;display:flex;align-items:center;gap:7px;color:#6c796f}.eco-chapter-nav a:before{content:'';width:11px;height:1px;background:#b5c4b2}.eco-chapter-nav a[aria-current]{color:#163e2e;font-weight:700}.eco-chapter-nav a[aria-current]:before{background:#2b6145;width:21px}.eco-service-list{margin-top:24px;max-width:460px}.eco-service-list article{display:flex;gap:21px;padding:18px 0;border-top:1px solid var(--eco-line)}.eco-service-list article>span{font:11px Arial,sans-serif;color:#708b74;padding-top:7px}.eco-service-list h3{font-size:18px;line-height:1.5}.eco-service-list p{font-size:12px;line-height:1.85;color:var(--eco-muted);margin-top:6px}.eco-small{font-size:10px;line-height:1.8;color:var(--eco-muted);margin-top:16px}.eco-history-title{font-size:clamp(33px,4vw,57px)!important}.eco-years{display:flex;align-items:baseline;gap:15px;margin:10px 0}.eco-years strong{font-family:Arial,sans-serif;font-size:clamp(100px,14vw,215px);font-weight:400;line-height:1;letter-spacing:-.09em;margin-right:10px}.eco-years span{font-size:22px}.eco-button{background:var(--eco-ink);color:white!important;border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:70px;font-size:14px;font-weight:600;padding:19px 25px;min-width:260px;margin-top:30px;transition:background .2s,transform .2s}.eco-button:hover{background:#326b4f;transform:translateY(-2px)}.eco-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.eco-sub-link{display:block;font-size:11px;margin-top:20px;text-decoration:underline;text-underline-offset:5px}.eco-scene-caption{position:fixed;right:13%;bottom:8%;z-index:4;font-size:10px;letter-spacing:.12em;color:#637566;pointer-events:none}.eco-progress{height:2px;position:fixed;inset:auto 0 0;z-index:40;background:#e5ece2}.eco-progress-fill{height:100%;background:#367451;transform:scaleX(0);transform-origin:left}.eco-footer{position:relative;z-index:5;padding:40px 8.5%;background:#edf2e9;border-top:1px solid #d7e1d2;display:flex;align-items:center;gap:40px}.eco-footer nav{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;max-width:620px}.eco-footer small{font-size:9px;white-space:nowrap;margin-left:auto}.eco-footer .eco-brand>strong{font-size:19px}.eco-static-visual{position:fixed;right:8%;top:38%;z-index:1;width:32vw;text-align:center;color:#367451}.has-3d .eco-static-visual{display:none}.eco-static-house{font:180px Georgia;line-height:1;color:#397957}.eco-static-earth{font-size:18px;padding:40px 10px;background:#dfedda;border-radius:50%;margin:auto;max-width:250px}.eco-page{max-width:900px;margin:0 auto;padding:170px 35px 100px;min-height:80svh}.eco-page h1{font-size:clamp(30px,4.5vw,56px);line-height:1.5;letter-spacing:-.035em}.eco-page-lead{font-size:19px;line-height:1.9;margin-top:25px}.eco-page h2{font-size:23px;margin:42px 0 15px}.eco-page p{margin:18px 0;line-height:2.1;color:#475b4c}.eco-back-home{display:block;margin-top:55px;border-top:1px solid var(--eco-line);padding-top:22px;font-size:13px}.eco-company{margin-top:40px}.eco-company div{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--eco-line);padding:20px 0}.eco-company dt{font-weight:700}.eco-company dd{margin:0}.eco-faq{margin-top:40px}.eco-faq details{border-top:1px solid var(--eco-line);padding:23px 0}.eco-faq summary{cursor:pointer;font-weight:700;font-size:16px}.eco-faq details p{font-size:14px}.eco-notice{padding:25px 30px;background:#eaf0e5;border-left:3px solid #619162;margin-top:35px}.eco-article-card{display:block;border-top:1px solid var(--eco-line);border-bottom:1px solid var(--eco-line);margin-top:45px;padding:30px 0}.eco-article-card>span,.eco-article-card>b{font-size:12px}.eco-article-card h2{margin-top:13px}.eco-contact-points{padding-left:22px}.eco-inner .eco-header{border-bottom:1px solid var(--eco-line)}
@media(min-width:1700px){.eco-copy{max-width:700px}.eco-chapter{padding-left:12%}}
@media(max-width:1050px){.eco-header-note{display:none}.eco-header{padding:22px 5%}.eco-chapter{padding-left:8%;padding-right:5%}.eco-copy{width:51%}.eco-chapter-nav{left:2%}.eco-service-list article{gap:13px}.eco-footer{flex-wrap:wrap}.eco-footer small{margin-left:0}.eco-chapter h1{font-size:4.8vw}}
@media(max-width:759px){.eco-header{padding:17px 6%;height:82px}.eco-brand>span{font-size:8px}.eco-brand>strong{font-size:20px}.eco-header-right{gap:13px}.eco-contact-link{font-size:10px}.eco-contact-link span{padding-left:8px}.eco-menu-toggle{width:32px;height:32px}.bs-nav-menu{top:81px;right:6%;left:6%;min-width:0}.eco-chapter{padding:112px 7% 52svh;min-height:112svh;align-items:flex-start}.eco-copy{width:100%;max-width:none;background:linear-gradient(var(--eco-paper) 88%,rgba(248,250,246,0));padding-bottom:25px}.eco-eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:19px}.eco-chapter h1,.eco-chapter h2{font-size:clamp(31px,8.8vw,52px);line-height:1.46;letter-spacing:-.05em}.eco-lead{font-size:14px;line-height:1.8;margin-top:18px}.eco-description{font-size:12px;line-height:1.95;margin-top:12px}.eco-tags{margin-top:18px;gap:5px}.eco-tags span{font-size:8px;padding:3px 9px}.eco-text-link{font-size:10px;margin-top:16px;gap:25px;padding-bottom:3px}.eco-hero{min-height:114svh}.eco-hero .eco-description{margin-top:10px}.eco-scroll{bottom:25px;font-size:8px;left:7%}.eco-chapter-nav{left:auto;right:3%;top:63%;gap:13px;z-index:6}.eco-chapter-nav a{font-size:8px;gap:4px}.eco-chapter-nav a:before{width:5px}.eco-chapter-nav a[aria-current]:before{width:10px}.eco-orbit{width:105vw;top:70%;right:50%;transform:translate(50%,-50%)}.eco-watermark{font-size:19vw;top:57%;right:9%}.eco-scene-caption{right:0;left:0;bottom:5%;text-align:center;font-size:8px}.eco-service-list{margin-top:18px}.eco-service-list article{padding:12px 0}.eco-service-list h3{font-size:16px}.eco-service-list p{font-size:11px;line-height:1.8}.eco-service-list article>span{font-size:9px}.eco-services{min-height:136svh}.eco-small{font-size:9px;margin-top:10px}.eco-history-title{font-size:29px!important}.eco-years{margin-top:12px}.eco-years strong{font-size:140px}.eco-years span{font-size:19px}.eco-button{font-size:12px;min-width:230px;padding:15px 21px;margin-top:20px}.eco-sub-link{font-size:10px;margin-top:15px}.eco-footer{padding:27px 7%;gap:22px}.eco-footer nav{gap:10px 20px}.eco-footer small{width:100%}.eco-footer .eco-brand>strong{font-size:18px}.eco-static-visual{top:62%;width:70vw;right:15%}.eco-static-house{font-size:110px}.eco-static-earth{font-size:12px;max-width:190px;padding:20px}.eco-page{padding:125px 7% 65px}.eco-page h1{font-size:30px}.eco-page h2{font-size:21px}.eco-page p{font-size:14px}.eco-page-lead{font-size:16px!important}.eco-company div{grid-template-columns:100px 1fr;font-size:13px}.eco-notice{padding:20px}.eco-notice strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.eco-progress,.eco-scene-caption{display:none}}

/* 縦画面では上側を文章、下側を3Dの舞台に分けます。通常のスクロール操作を維持。 */
@media(max-width:759px){.has-3d .eco-home main{-webkit-mask-image:linear-gradient(to bottom,transparent calc(var(--eco-page-y,0px) + 16px),#000 calc(var(--eco-page-y,0px) + 28px),#000 calc(var(--eco-page-y,0px) + 54svh),transparent calc(var(--eco-page-y,0px) + 58svh));mask-image:linear-gradient(to bottom,transparent calc(var(--eco-page-y,0px) + 16px),#000 calc(var(--eco-page-y,0px) + 28px),#000 calc(var(--eco-page-y,0px) + 54svh),transparent calc(var(--eco-page-y,0px) + 58svh))}.eco-copy{background:transparent}.eco-chapter-nav{right:3%;top:69%}.eco-tags{display:none}.eco-scene-caption{display:none}}
