:root{--font-brush:"Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif;--primary-base:35, 94, 63;--primary:rgb(var(--primary-base));--primary-hover:#17452d;--primary-light:#e7f1ea;--secondary:#b69455;--secondary-hover:#7d6233;--secondary-light:#f3ecdf;--accent:#b44332;--background:#f5f3ee;--foreground:#172536;--white:#fff;--gray-light:#e2e8f0;--gray-medium:#a0aec0;--gray-dark:#4a5568;--border-radius:6px;--shadow:0 8px 24px #12243612;--shadow-lg:0 22px 48px #12243629;--font-scale:1;--line-height-scale:1.5;--font-xs:calc(14px * var(--font-scale));--font-sm:calc(16px * var(--font-scale));--font-md:calc(18px * var(--font-scale));--font-lg:calc(22px * var(--font-scale));--font-xl:calc(28px * var(--font-scale));--font-xxl:calc(36px * var(--font-scale))}body.high-contrast{--background:#000;--foreground:#fff;--primary:#ff0;--primary-hover:#ff3;--primary-light:#330;--secondary:#0ff;--secondary-hover:#3ff;--secondary-light:#033;--white:#000;--gray-light:#fff;--gray-medium:#fff;--gray-dark:#ccc;--shadow:none;--shadow-lg:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--foreground);font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-md);line-height:var(--line-height-scale);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none;transition:color .2s}a:focus-visible,button:focus-visible,input:focus-visible{outline:4px solid var(--accent);outline-offset:2px}.btn{font-size:var(--font-lg);border-radius:var(--border-radius);cursor:pointer;text-align:center;border:2px solid #0000;justify-content:center;align-items:center;min-height:60px;padding:18px 32px;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}body.high-contrast .btn-primary{color:#000!important}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--secondary-light);color:var(--secondary-hover);border-color:var(--secondary)}body.high-contrast .btn-secondary{color:#0ff;background-color:#000;border-color:#0ff}.btn-secondary:hover{background-color:var(--secondary);color:#fff}.card{background-color:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--gray-light);padding:24px;transition:transform .2s,box-shadow .2s}body.high-contrast .card{border:2px solid #fff}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}main{flex:1;width:100%;overflow-x:hidden}.site-shell{grid-template-columns:260px minmax(0,1fr);align-items:start;width:100%;margin:0;display:grid}.site-main{min-width:0}.side-nav{color:#fff;box-shadow:var(--shadow-lg);background:#1f5a3c;border:0;border-radius:0 0 4px;margin:0 0 24px;padding:28px 16px;position:sticky;top:0}.side-nav-title{letter-spacing:.14em;color:#d8c79f;margin:0 8px 12px;font-size:13px;font-weight:700}.side-nav-group{border-top:1px solid #ffffff29}.side-nav-link{min-height:56px;font-size:var(--font-sm);border-radius:3px;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex}.side-nav-link:hover,.side-nav-link:focus-visible{color:#1f5a3c;background:#fff}.side-nav-sub{color:#dce5ec;margin:-5px 12px 8px 48px;font-size:14px;text-decoration:underline;display:block}.side-nav-member{color:#fff;background:0 0;border:1px solid #d8c79f;border-radius:3px;justify-content:center;align-items:center;min-height:52px;margin-top:16px;padding:10px;font-weight:700;display:flex}.mobile-menu,.legacy-global-nav{display:none}.priority-panel{background:#fff;border-bottom:1px solid #d7dee5;padding:42px 0 34px}.priority-kicker{color:var(--accent);letter-spacing:.12em;margin-bottom:6px;font-size:14px;font-weight:700}.priority-panel h2{font-size:var(--font-xl);margin-bottom:20px;line-height:1.35}.priority-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.priority-card{border:1px solid #ccd6df;border-top:4px solid var(--primary);min-height:118px;box-shadow:var(--shadow);background:#fff;border-radius:4px;grid-template-rows:auto auto;grid-template-columns:52px 1fr;column-gap:12px;padding:22px;display:grid}.priority-card>span{grid-row:1/3;align-self:center;font-size:36px}.priority-card strong{font-size:var(--font-lg);align-self:end;line-height:1.3}.priority-card small{font-size:var(--font-xs);color:var(--gray-dark)}.priority-card:hover,.priority-card:focus-visible{box-shadow:var(--shadow-lg);background:#f4f7f9;transform:translateY(-3px)}.priority-emergency{border-top-color:var(--accent)}.demo-entry-row .btn{opacity:.88;min-height:40px!important;padding:7px 12px!important;font-size:12px!important}.hero-section{isolation:isolate;position:relative;overflow:hidden}.hero-section:after{content:"笠縫";z-index:-1;color:#ffffff0e;font-family:var(--font-brush);letter-spacing:.08em;white-space:nowrap;pointer-events:none;font-size:clamp(150px,20vw,300px);line-height:1;position:absolute;bottom:-34px;right:3%}.home-summary{margin-top:48px}.home-summary-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px;display:flex}.home-summary-heading p{color:var(--primary);letter-spacing:.15em;font-size:13px;font-weight:700}.home-summary-heading h2{font-size:var(--font-xl)}.home-summary-heading>a{color:var(--primary);font-weight:700;text-decoration:underline}.home-summary-grid{background:#fff;border-top:1px solid #cbd8cf;border-left:1px solid #cbd8cf;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-summary-card{border-bottom:1px solid #cbd8cf;border-right:1px solid #cbd8cf;flex-direction:column;min-height:150px;padding:22px;display:flex}.home-summary-card span{color:var(--primary);font-size:13px;font-weight:700}.home-summary-card strong{font-size:var(--font-md);margin:10px 0 auto;line-height:1.55}.home-summary-card small{color:var(--gray-dark);margin-top:12px}.home-summary-card:hover,.home-summary-card:focus-visible{background:var(--primary-light)}.service-directory{color:var(--foreground);border-top:4px solid var(--primary);box-shadow:var(--shadow);background:#fff;margin:64px 20px 0;padding:38px 0 50px}.service-directory-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.service-directory-heading p{color:var(--gray-dark);font-size:var(--font-sm);margin-top:5px}.service-directory-heading h3{font-size:var(--font-xl)}.service-directory-heading>a{min-height:48px;color:var(--primary);border:1px solid var(--primary);padding:11px 16px;font-weight:700}.service-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.service-directory-grid a{border:1px solid #cbd8cf;border-left:4px solid var(--primary);background:#f5f8f6;align-items:center;min-height:66px;padding:14px 18px;font-weight:700;display:flex}.service-directory-grid a:after{content:"→";color:var(--primary);margin-left:auto}.service-directory-grid a:hover,.service-directory-grid a:focus-visible{background:var(--primary-light);color:var(--primary-hover)}@media (max-width:1050px){.site-shell{display:block}.side-nav{display:none}.mobile-menu{border:2px solid var(--primary);background:var(--white);border-radius:12px;margin:12px 16px;display:block}.mobile-menu summary{min-height:58px;color:var(--primary-hover);cursor:pointer;align-items:center;padding:10px 16px;font-weight:700;display:flex}.mobile-menu nav{padding:0 12px 14px}}@media (max-width:768px){.priority-panel{padding-top:24px}.priority-grid{grid-template-columns:1fr}.priority-card{min-height:100px}.demo-entry-row{display:none!important}.hero-section:after{font-size:120px;bottom:-8px;right:-12%}.home-summary-heading{flex-direction:column;align-items:stretch}.home-summary-grid{grid-template-columns:1fr}.home-summary-card{min-height:120px}.service-directory-heading{flex-direction:column;align-items:stretch}.service-directory-grid{grid-template-columns:1fr}.service-directory{margin:48px 12px 0;padding:30px 0 38px}}img,video{max-width:100%;height:auto;display:block}ul,ol{list-style:none}@media (max-width:768px){.container{padding:0 16px}.btn{width:100%;font-size:var(--font-md);padding:16px 20px}}.card{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s}.card:hover{border-color:var(--primary-light);transform:translateY(-4px);box-shadow:0 12px 20px -5px #00000014,0 8px 12px -5px #00000008}.interactiveCardDisabled{opacity:.8;background-color:var(--white);pointer-events:none;border:2px dashed var(--gray-light)!important}
