:root{color-scheme:light;--paper:#f7f6f2;--ink:#242925;--muted:#586159;--line:#d6dbd2;--green:#31513e;--soft:#e9ede5;--accent:#bd582d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--green)}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.5;letter-spacing:-.035em}p{color:var(--muted)}.wrap{max-width:1200px;padding-inline:40px;margin-inline:auto}.header{min-height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{display:inline-flex;align-items:center;gap:16px;font-size:30px;letter-spacing:-1.7px;font-weight:650;text-decoration:none}.wordmark span{font-size:12px;font-weight:400;letter-spacing:.08em;border-left:1px solid var(--line);padding-left:16px}.header nav{display:flex;gap:32px;font-size:14px}.header nav a{padding-block:12px;text-decoration:none}.header nav a:hover,.header nav a[aria-current]{text-decoration:underline}.skip{position:fixed;top:-100px;left:16px;z-index:10;padding:12px 20px;background:white}.skip:focus{top:12px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--green)}.dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:8px}.hero{position:relative;padding:76px 0 60px;border-bottom:1px solid var(--line);overflow:hidden}.hero h1{font-size:clamp(36px,5.4vw,64px);margin:24px 0 28px;line-height:1.55;position:relative;z-index:1}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;position:relative;z-index:1}.hero-bottom p{line-height:2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:15px 24px;background:var(--green);color:white;text-decoration:none;font-size:14px;min-height:52px;flex-shrink:0;border-radius:3px}.button:hover{background:#203e2d;color:white}.button span{font-size:20px}.hero-decoration{position:absolute;width:240px;height:190px;right:30px;top:80px;transform:rotate(-16deg);opacity:.8}.hero-decoration span{position:absolute;display:block;width:140px;height:140px;border:1px solid #b5bfae;border-radius:50%}.hero-decoration span:nth-child(2){left:58px;top:28px}.hero-decoration span:nth-child(3){left:95px;top:-30px;background:#e9ede580}.section{padding-block:72px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.section-heading h2,.principles h2{font-size:28px;margin-top:12px}.section-heading>p{font-size:14px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:28px;display:flex;flex-direction:column}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.status{font-size:11px;color:var(--green);padding:1px 9px;background:var(--soft);border-radius:3px;white-space:nowrap}.service-visual{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px -28px;padding:24px 28px;min-height:164px;background:#edf0e8}.sapa .service-visual{background:#edf0f1}.service-visual h3{font-size:27px;flex-shrink:0}.service-visual svg{width:138px;height:116px;stroke:#5a7460;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.sapa svg{stroke:#5c747b}.service-name{color:var(--ink);font-size:20px;font-weight:600;margin-bottom:12px}.service-card>p:not(.service-name){font-size:14px}.service-card dl{border-top:1px solid var(--line);padding-top:18px;margin:20px 0 12px;font-size:13px}.service-card dt{font-size:11px;color:var(--muted)}.service-card dd{margin:4px 0 0}.service-card .note{font-size:12px!important;line-height:1.85}.service-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:auto;padding-top:18px;position:relative;top:10px;min-height:52px;font-size:14px;color:var(--green);font-weight:600;text-decoration:none}.service-link:hover{text-decoration:underline}.service-link span{font-size:23px}.updated{font-size:12px;margin-top:20px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid var(--line)}.text-link{display:inline-block;margin-top:28px;font-size:14px;min-height:44px}.principles ol{list-style:none;counter-reset:principle;margin:0;padding:0}.principles li{counter-increment:principle;position:relative;padding:0 0 24px 42px;margin-bottom:24px;border-bottom:1px solid var(--line)}.principles li:last-child{margin-bottom:0;padding-bottom:0;border:0}.principles li:before{content:"0" counter(principle);position:absolute;left:0;top:3px;font-size:12px;color:var(--green)}.principles h3{font-size:19px;margin-bottom:8px}.principles p{font-size:14px}.contact-strip{padding:32px 40px;background:var(--soft);display:flex;justify-content:space-between;align-items:center;gap:24px;border-radius:8px;margin-bottom:72px}.contact-strip h2{font-size:24px;margin:8px 0}.contact-strip p:not(.eyebrow){font-size:13px}.secondary{background:transparent;border:1px solid var(--green);color:var(--green)}.footer{border-top:1px solid var(--line);padding-top:40px;padding-bottom:28px;display:grid;grid-template-columns:1fr auto;gap:24px}.footer .wordmark{font-size:24px}.footer p{font-size:12px;margin-top:8px}.footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px;font-size:12px}.footer nav a{padding-block:12px}.footer .copyright{grid-column:1/-1;font-size:11px}.prose{max-width:760px;margin:64px auto 88px;overflow-wrap:anywhere}.prose h1{font-size:clamp(28px,5vw,44px);margin:16px 0 28px}.prose h2{font-size:23px;margin:40px 0 16px}.prose p{margin-block:14px}.prose .lead{font-size:18px;margin-bottom:36px}.prose li{margin:8px 0;color:var(--muted)}.info{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);font-size:15px}.info dt,.info dd{margin:0;padding:18px 0;border-bottom:1px solid var(--line)}.info dt{color:var(--muted)}.contact-box{background:var(--soft);padding:28px;border-radius:8px}.contact-address{font-size:14px}.preview-banner{padding:6px 20px;text-align:center;background:#f5e6c5;color:#644714;font-size:12px}@media(max-width:760px){.wrap{padding-inline:20px}.header{min-height:88px;gap:16px}.wordmark{font-size:26px;gap:10px}.wordmark span{font-size:10px;padding-left:10px}.header nav{gap:16px;font-size:12px}.hero{padding:48px 0 40px}.hero h1{font-size:clamp(30px,6.8vw,48px);margin-block:22px}.hero-decoration{right:-110px;top:25px;opacity:.4}.hero-bottom{display:block}.hero-bottom p{font-size:14px}.hero .button{margin-top:28px}.section{padding-block:48px}.section-heading{display:block}.section-heading h2,.principles h2{font-size:25px}.section-heading>p{margin-top:16px}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr}.service-card{padding:24px}.service-visual{margin-inline:-24px;padding-inline:24px}.service-visual h3{font-size:26px}.principles{grid-template-columns:1fr;gap:24px}.contact-strip{display:block;padding:28px 24px;margin-bottom:48px}.contact-strip .button{margin-top:24px}.footer{grid-template-columns:1fr;padding-top:28px}.footer nav{gap:8px 20px}.prose{margin:40px auto 64px}.prose .lead{font-size:16px}.prose .lead br{display:none}.info{grid-template-columns:100px 1fr}}@media(max-width:380px){.header{flex-wrap:wrap;padding-block:16px;gap:8px}.header nav{width:100%;justify-content:flex-end}.service-visual svg{width:92px}.service-visual h3{font-size:23px}.card-top .eyebrow{font-size:10px}.contact-box{padding:20px}.button{gap:20px;padding-inline:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
