:root{--white:#fff;--paper:#f7f9f7;--paper-green:#e8f5ee;--ink:#1a1a2a;--body:#454957;--muted:#6a6a7a;--green:#2a8a50;--green-hover:#1f713f;--green-dark:#1a5c34;--green-deep:#0e2f20;--green-light:#3aaa68;--border:#ded;--border-strong:#b8c9bc;--danger:#9f2e2e;--display:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--latin:"Montserrat", "Noto Sans JP", sans-serif;--container:1160px;--gutter:clamp(20px, 4vw, 48px);--section-space:clamp(72px, 7vw, 100px);--header-height:72px;--radius:12px;--shadow-media:0 18px 46px #1243271f;--focus:#1468c3;color-scheme:light;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px);background:var(--white);overflow-x:clip}body{background:var(--white);min-width:320px;color:var(--body);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.8;overflow-x:clip}body,button,input,textarea,select{font-family:var(--sans)}main{padding-top:var(--header-height)}.home-page main{padding-top:0}img,video{max-width:100%;display:block}img{height:auto}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{color:var(--ink);line-break:strict;text-wrap:balance}p,li,dd{line-break:strict;text-wrap:pretty}@supports (word-break:auto-phrase){h1,h2,h3,p,li,dd{word-break:auto-phrase}}::selection{color:var(--ink);background:#cfe5d6}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--ink);color:var(--white);padding:10px 16px;transition:transform .16s;position:fixed;inset:12px auto auto 12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.container{width:min(100% - (var(--gutter) * 2), var(--container));margin-inline:auto}.section{padding-block:var(--section-space)}.section--paper{background:var(--paper)}.section--green-paper{background:var(--paper-green)}.section-header{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:end;gap:clamp(32px,7vw,112px);margin-bottom:clamp(44px,5vw,76px);display:grid}.section-header--stack{display:block}.section-header--stack>p{max-width:760px;margin-top:20px}.section-title,.page-hero h1{font-family:var(--display);letter-spacing:-.025em;margin-bottom:0;font-size:clamp(38px,4.2vw,66px);font-weight:700;line-height:1.3}.section-header>p,.section-lead{color:var(--muted);margin-bottom:0;font-size:clamp(16px,1.3vw,20px);line-height:1.9}.text-link{min-height:44px;color:var(--green);border-bottom:1px solid;align-items:center;gap:14px;font-weight:700;text-decoration:none;transition:gap .16s,color .16s;display:inline-flex}.text-link:hover{color:var(--green-hover);gap:20px}.text-link [data-icon],.button [data-icon]{flex:none}.button{border:1px solid var(--green);background:var(--green);min-height:54px;color:var(--white);border-radius:6px;justify-content:center;align-items:center;gap:18px;padding:13px 24px;font-size:16px;font-weight:700;line-height:1.4;text-decoration:none;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.button:hover{border-color:var(--green-hover);background:var(--green-hover);transform:translateY(-1px)}.button--outline{color:var(--green);background:0 0}.button--outline:hover{background:var(--green);color:var(--white)}.button--outline-light{width:min(100%,424px);color:var(--white);background:0 0;border-color:#ffffffdb}.button--outline-light:hover{border-color:var(--white);background:var(--white);color:var(--green-dark)}.button--header{border-color:var(--green-light);background:var(--green-light);white-space:nowrap;border-radius:4px;min-height:46px;padding-inline:22px;font-size:14px}.site-header{z-index:200;border-bottom:1px solid var(--border);background:#fffffffa;width:100%;transition:background-color .18s,border-color .18s,box-shadow .18s;position:fixed;top:0;left:0;box-shadow:0 7px 24px #0c2b1b0f}.site-header__inner{width:min(100% - 48px,1200px);height:var(--header-height);justify-content:space-between;align-items:center;gap:28px;margin-inline:auto;display:flex}.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand__mark{object-fit:contain;flex:none;width:42px;height:42px;transition:filter .18s}.brand__name{font-family:var(--latin);letter-spacing:.035em;font-size:24px;font-weight:800;line-height:1}.brand__company{color:var(--body);letter-spacing:.04em;margin-left:-3px;font-size:12px;font-weight:700}.site-nav{align-items:center;gap:clamp(24px,3vw,42px);display:flex}.site-nav__list{align-items:center;gap:clamp(20px,2.4vw,34px);margin:0;padding:0;list-style:none;display:flex}.site-nav__list a{min-height:44px;color:var(--ink);letter-spacing:.02em;align-items:center;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.site-nav__list a:after{background:var(--green-light);content:"";transform-origin:0;height:1px;transition:transform .16s;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0)}.site-nav__list a:hover:after,.site-nav__list a[aria-current=page]:after{transform:scaleX(1)}.menu-toggle{display:none}.site-header--overlay:not(.is-scrolled){box-shadow:none;background:0 0;border-color:#ffffff1f}.site-header--overlay:not(.is-scrolled) .brand,.site-header--overlay:not(.is-scrolled) .brand__company,.site-header--overlay:not(.is-scrolled) .site-nav__list a{color:var(--white)}.site-header--overlay:not(.is-scrolled) .brand__company{color:#ffffffdb}.site-header--overlay:not(.is-scrolled) .brand__mark{filter:invert()}.site-footer{background:var(--green-deep);color:var(--white);border-top:0;padding-block:64px 24px}.site-footer__top{border-bottom:1px solid #ffffff2e;grid-template-columns:minmax(260px,.8fr) minmax(440px,1.2fr);justify-content:space-between;align-items:start;gap:clamp(48px,8vw,112px);padding-bottom:42px;display:grid}.site-footer__identity>p{color:#ffffffb3;max-width:360px;margin:20px 0 0;font-size:14px;line-height:1.8}.brand--footer .brand__name{font-size:27px}.brand--footer,.brand--footer .brand__company{color:var(--white)}.brand--footer .brand__company{color:#ffffffd1}.brand--footer .brand__mark{filter:invert()}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px;display:grid}.footer-nav a{color:#ffffffd1;border-bottom:1px solid #ffffff1f;align-items:center;min-height:42px;font-size:14px;font-weight:600;text-decoration:none;transition:color .16s,border-color .16s;display:inline-flex}.footer-nav a:hover{border-color:var(--green-light);color:var(--white)}.site-footer__contact{border-bottom:1px solid #ffffff2e;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;padding-block:34px;display:grid}.site-footer__contact p{color:#ffffffad;margin:0;font-size:13px}.site-footer__contact .site-footer__contact-label{color:var(--white);margin-bottom:4px;font-size:18px;font-weight:700}.site-footer address{font-style:normal}.site-footer address a{min-height:52px;color:var(--white);border:1px solid #ffffff6b;border-radius:6px;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;transition:border-color .16s,background-color .16s;display:inline-flex}.site-footer address a:hover{border-color:var(--white);background:#ffffff14}.site-footer address [data-icon]{color:var(--green-light);flex:none}.site-footer address strong{font-family:var(--latin);font-size:17px;font-weight:700}.site-footer address .site-footer__contact-arrow{color:var(--white)}.site-footer__bottom{justify-content:space-between;gap:24px;padding-top:24px;display:flex}.site-footer__bottom p{color:#ffffff8f;margin:0;font-size:12px}.contact-band{background:var(--green-dark);color:var(--white);padding-block:clamp(76px,7vw,112px)}.contact-band h2,.contact-band h3{color:var(--white)}.contact-band__header{text-align:center;max-width:1050px;margin:0 auto 52px}.contact-band__header h2{font-family:var(--display);margin-bottom:16px;font-size:clamp(34px,3.8vw,56px);font-weight:500;line-height:1.42}.contact-band__header p{color:#ffffffd6;margin-bottom:0}.contact-band__routes{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin-inline:auto;display:grid}.contact-band__routes>div{text-align:center;flex-direction:column;align-items:center;padding-inline:clamp(28px,4vw,64px);display:flex}.contact-band__routes>div+div{border-left:1px solid #ffffff73}.contact-band__routes h3{font-family:var(--display);margin-bottom:6px;font-size:30px;font-weight:500}.contact-band__routes p{color:#ffffffc7;margin-bottom:6px;font-size:14px}.contact-band__email{color:var(--white);margin-bottom:18px;font-size:clamp(22px,2.2vw,30px);font-weight:700;text-decoration:none}.contact-band__email:hover{text-decoration:underline}.contact-band__note{color:#ffffffbd;text-align:center;margin:28px 0 0;font-size:13px}.page-hero{border-bottom:1px solid var(--border);background:var(--paper);padding-block:clamp(74px,8vw,124px)}.page-hero__inner{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:end;gap:clamp(42px,8vw,130px);display:grid}.page-hero__inner>*{min-width:0}.page-hero h1{font-size:clamp(48px,4.8vw,70px)}.page-hero__lead{max-width:700px;color:var(--muted);margin:0;font-size:clamp(17px,1.6vw,23px);line-height:1.95}.page-hero__meta{color:var(--green);letter-spacing:.08em;margin-bottom:18px;font-size:13px;font-weight:800}.content-section{padding-block:var(--section-space)}.content-section+.content-section{border-top:1px solid var(--border)}.prose{max-width:820px}.prose h2{font-family:var(--display);margin-bottom:28px;font-size:clamp(34px,3.8vw,56px);font-weight:500;line-height:1.4}.prose h3{margin:42px 0 14px;font-size:24px}.prose p,.prose li{font-size:17px;line-height:2}.prose a{color:var(--green)}.info-table{border-collapse:collapse;width:100%}.info-table th,.info-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:22px 18px}.info-table th{width:28%;color:var(--green);font-size:14px}.info-table td{color:var(--body)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=980px){:root{--header-height:64px}.section-header,.page-hero__inner{grid-template-columns:1fr;gap:24px}.site-header__inner{width:calc(100% - 32px);height:var(--header-height)}.menu-toggle{z-index:203;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background-color .16s,color .16s;display:inline-flex;position:relative}.menu-toggle:hover{background:#2a8a501a}.site-header--overlay:not(.is-scrolled) .menu-toggle,.menu-open .menu-toggle{color:var(--white)}.site-header--overlay:not(.is-scrolled) .menu-toggle:hover,.menu-open .menu-toggle:hover{background:#ffffff1a}.menu-toggle__close,.menu-open .menu-toggle__open{display:none}.menu-open .menu-toggle__close{display:block}.site-nav{z-index:201;width:100%;height:100dvh;padding:calc(var(--header-height) + 42px) clamp(24px, 8vw, 80px) 40px;background:var(--green-deep);opacity:0;visibility:hidden;flex-direction:column;align-items:stretch;gap:34px;transition:opacity .18s,transform .18s,visibility 0s linear .18s;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-12px)}.menu-open .site-nav{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)}.site-nav__list{gap:0;width:min(100%,720px);margin-inline:auto;display:grid}.site-nav__list li{border-bottom:1px solid #ffffff2e}.site-nav__list li:first-child{border-top:1px solid #ffffff2e}.site-nav__list a{width:100%;min-height:64px;color:var(--white);letter-spacing:.04em;font-size:20px}.site-nav__list a:after{background:var(--green-light);width:72px;height:2px;bottom:-1px;right:auto}.site-nav .button--header{width:min(100%,720px);min-height:54px;margin-inline:auto;font-size:16px}.menu-open .site-header .brand,.menu-open .site-header .brand__company{z-index:203;color:var(--white);position:relative}.menu-open .site-header .brand__company{color:#ffffffdb}.menu-open .site-header .brand__mark{filter:invert()}html.menu-open{overflow:hidden}.site-footer__top,.site-footer__contact{grid-template-columns:1fr}.footer-nav{width:100%}}@media (width<=720px){:root{--gutter:20px;--section-space:60px}html{scroll-padding-top:calc(var(--header-height) + 20px)}body{font-size:15px;line-height:1.78}.brand{gap:8px}.brand__mark{width:40px;height:40px}.brand__name{font-size:21px}.brand__company{font-size:11px}.section-title,.page-hero h1{font-size:clamp(36px,11vw,48px)}.page-hero h1{overflow-wrap:anywhere;word-break:normal}.section-header{margin-bottom:40px}.button{width:100%;min-height:52px}.button--header{width:100%}.contact-band__header{text-align:left}.contact-band__routes{grid-template-columns:1fr}.contact-band__routes>div{text-align:left;align-items:flex-start;padding:28px 0}.contact-band__routes>div+div{border-top:1px solid #ffffff73;border-left:0}.contact-band__email{font-size:23px}.contact-band__note{text-align:left}.site-footer{padding-block:48px 22px}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;display:grid}.site-footer__contact{gap:22px;padding-block:28px;display:grid}.site-footer address a{justify-content:space-between;width:100%}.site-footer__bottom{gap:4px;display:grid}.info-table,.info-table tbody,.info-table tr,.info-table th,.info-table td{width:100%;display:block}.info-table th{border-bottom:0;padding-bottom:4px}.info-table td{padding-top:4px}}@media (width<=390px){.brand__mark{width:36px;height:36px}.brand__name{font-size:19px}.brand__company{font-size:10px}}.site-nav :focus-visible,.site-footer :focus-visible,.menu-open .site-header :focus-visible,.site-header--overlay:not(.is-scrolled) :focus-visible{outline-color:#b9f3cb}
