:root{--color-ink: #1b3a2b;--color-text: #222e26;--color-muted: #46564b;--color-green: #2e7d32;--color-green-deep: #1b5e20;--color-mint: #eaf4ec;--color-mint-strong: #c9dfce;--color-border: #c5d8ca;--color-paper: #ffffff;--font-display: "Zen Maru Gothic", "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;--font-body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--radius-card: 16px;--radius-control: 12px;--content-width: 46rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-paper);color:var(--color-text);font-family:var(--font-body);font-size:1.125rem;line-height:1.9;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}::selection{background:var(--color-mint-strong)}h1,h2,h3{font-family:var(--font-display);color:var(--color-ink);line-height:1.4;margin:0}p,ul{margin:0}a{color:var(--color-green);text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1.5px}a:hover{color:var(--color-green-deep)}:focus-visible{outline:3px solid var(--color-green);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:1rem;top:1rem;z-index:10;padding:.75rem 1.25rem;background:var(--color-green-deep);color:#fff;font-weight:700;border-radius:var(--radius-control);text-decoration:none;transform:translateY(-300%)}.skip-link:focus-visible{transform:none;color:#fff}.site-header{border-bottom:1px solid var(--color-mint-strong);background:var(--color-paper)}.site-header-inner{max-width:var(--content-width);margin-inline:auto;padding:1rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem}.brand{display:flex;align-items:center;gap:.75rem}.walker-mark{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:10px;background:var(--color-green);color:#fff}.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.375rem;color:var(--color-ink)}.brand-sub{color:var(--color-green)}.header-nav{display:flex;gap:.5rem;list-style:none;margin:0;padding:0}.header-nav a{display:inline-block;padding:.6rem 1rem;font-weight:700;color:var(--color-ink);text-decoration:none;border-radius:var(--radius-control)}.header-nav a:hover{background:var(--color-mint);color:var(--color-green-deep)}.hero{max-width:var(--content-width);margin-inline:auto;padding:clamp(3rem,8vw,4.5rem) 1.5rem 1rem;text-align:center}.eyebrow{color:var(--color-green);font-weight:700;letter-spacing:.14em;font-size:1rem;margin-bottom:1rem}.hero h1{font-size:clamp(1.9rem,5vw,2.6rem);font-weight:700}.hero-lead{margin-top:1.5rem;color:var(--color-muted)}.footpath{display:block;width:min(100%,34rem);margin:2.5rem auto 0}.footpath-step{animation:step-in .6s ease-out backwards}@keyframes step-in{0%{opacity:0}to{opacity:1}}.section{max-width:var(--content-width);margin-inline:auto;padding:clamp(2.5rem,6vw,3.5rem) 1.5rem;scroll-margin-top:1.5rem}.section h2{font-size:clamp(1.45rem,3.5vw,1.75rem);text-align:center;margin-bottom:.75rem}.section-lead{text-align:center;color:var(--color-muted);margin-bottom:1.5rem}.card{background:var(--color-paper);border:1.5px solid var(--color-border);border-radius:var(--radius-card);padding:clamp(1.5rem,4vw,2.25rem)}.contact-card{margin-top:1.5rem;display:grid;gap:1.25rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.5rem;padding:.9rem 2.25rem;background:var(--color-green);color:#fff;font-family:inherit;font-size:1.15rem;font-weight:700;border-radius:var(--radius-control);text-decoration:none;justify-self:start}.button:hover{background:var(--color-green-deep);color:#fff}.button:focus-visible{outline-color:var(--color-ink)}.contact-address{color:var(--color-muted);font-size:1rem}.email{color:var(--color-ink);font-size:1.1rem;overflow-wrap:anywhere}.hint{background:var(--color-mint);border-radius:var(--radius-control);padding:1.25rem 1.5rem}.hint h3{font-size:1.05rem;margin-bottom:.5rem}.hint ul{padding-left:1.4em}.faq-list{display:grid;gap:.75rem}.faq-item{background:var(--color-paper);border:1.5px solid var(--color-border);border-radius:var(--radius-control);overflow:hidden}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;font-weight:700;font-size:1.1rem;color:var(--color-ink);cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{background:var(--color-mint)}.faq-item[open] summary{background:var(--color-mint);border-bottom:1px solid var(--color-border)}.faq-marker{position:relative;flex-shrink:0;width:1.75rem;height:1.75rem;border:2px solid var(--color-green);border-radius:50%}.faq-marker:before,.faq-marker:after{content:"";position:absolute;inset:0;margin:auto;width:.85rem;height:2px;border-radius:1px;background:var(--color-green)}.faq-marker:after{transform:rotate(90deg);transition:transform .2s ease}.faq-item[open] .faq-marker:after{transform:rotate(0)}.faq-a{padding:1.25rem 1.5rem;display:grid;gap:.75rem}.faq-a ul{padding-left:1.4em;display:grid;gap:.4rem}.section-mint{max-width:none;padding-inline:0;background:var(--color-mint)}.section-mint-inner{max-width:var(--content-width);margin-inline:auto;padding-inline:1.5rem}.section-mint h2{margin-bottom:1.5rem}.resource-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.resource-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;padding:1rem 1.4rem;background:var(--color-paper);border:1.5px solid var(--color-border);border-radius:var(--radius-control);font-weight:700;color:var(--color-ink);text-decoration:none}.resource-link svg{flex-shrink:0;color:var(--color-green)}.resource-link:hover{border-color:var(--color-green);color:var(--color-green-deep)}.site-footer{background:var(--color-ink);color:#e9f2ec}.site-footer-inner{max-width:var(--content-width);margin-inline:auto;padding:3rem 1.5rem;display:grid;gap:1.25rem}.footer-brand{display:flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-weight:700;font-size:1.2rem}.site-footer .walker-mark{background:var(--color-mint);color:var(--color-ink)}.site-footer address{font-style:normal;font-size:1rem}.site-footer a{color:#a5d6a7}.site-footer a:hover{color:#c8e6c9}.copyright{font-size:.95rem;color:#b7cbbd}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:480px){.button{justify-self:stretch;width:100%}.header-nav a{padding:.6rem .7rem}}
