:root{--ink:#24322f;--paper:#fbfaf7;--cream:#f2efe8;--sand:#e6ddd0;--sage:#d7e0d8;--green:#547568;--green-deep:#38594e;--orange:#b87355;--muted:#6c7770;--line:#d8ded8;--serif:"Noto Serif JP", "Yu Mincho", serif;--sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus-visible{outline-offset:4px;outline:3px solid #e5b879}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-header{z-index:50;backdrop-filter:blur(14px);background:#fbfaf7f5;border-bottom:1px solid #d8ded8e6;position:sticky;top:0}.header-inner{grid-template-columns:minmax(240px,1fr) minmax(250px,.9fr) auto;align-items:center;gap:28px;max-width:1160px;min-height:74px;margin:auto;padding:0 24px;display:grid}.brand{align-items:center;gap:11px;width:fit-content;display:inline-flex}.brand-mark{background:var(--ink);color:#f5d69b;letter-spacing:.04em;border-radius:7px;place-items:center;width:37px;height:37px;font-size:10px;font-weight:800;display:grid}.brand-copy{gap:2px;display:grid}.brand-copy strong{font-family:var(--serif);letter-spacing:-.04em;font-size:15px;font-weight:600}.brand-copy small{color:var(--muted);letter-spacing:.04em;font-size:9px}.header-note{color:var(--muted);letter-spacing:.04em;margin:0;font-size:10px;line-height:1.6}.header-actions{justify-content:end;align-items:center;gap:19px;display:flex}.header-stamp{color:var(--orange);letter-spacing:.15em;text-align:right;font-size:8px;font-weight:900;line-height:1.35}.header-stamp b{color:var(--ink);font-size:7px}.desktop-nav{border-top:1px solid var(--line);justify-content:center;align-items:stretch;max-width:1160px;margin:auto;font-size:12px;font-weight:700;display:flex}.desktop-nav a{border-right:1px solid var(--line);text-align:center;min-width:100px;padding:12px 22px 11px;position:relative}.desktop-nav a:first-child{border-left:1px solid var(--line)}.desktop-nav a:after{background:var(--orange);content:"";height:3px;transition:right .2s;position:absolute;bottom:0;left:0;right:100%}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}.portal-link{color:var(--green-deep);letter-spacing:.08em;justify-self:end;font-size:10px;font-weight:800}.portal-link span{color:var(--orange);margin-left:5px;font-size:13px}.menu-button,.mobile-nav{display:none}main{min-height:55vh}.site-footer{background:var(--green-deep);color:#fff;padding:70px 7vw 24px}.footer-grid{grid-template-columns:1.5fr .7fr .7fr;gap:7vw;max-width:1120px;margin:auto;display:grid}.footer-brand{font-family:var(--serif);letter-spacing:-.06em;font-size:25px}.footer-grid p{color:#ffffffb8;margin:18px 0 0;font-size:12px;line-height:1.9}.footer-grid .footer-disclosure{color:#ffffff94;max-width:470px;margin-top:14px;font-size:10px;line-height:1.8}.footer-nav{align-content:start;gap:10px;font-size:12px;display:grid}.footer-nav span{color:#f5d69b;letter-spacing:.12em;margin-bottom:4px;font-size:10px;font-weight:800}.footer-nav a{color:#ffffffd1}.footer-nav a:hover{color:#fff;text-underline-offset:4px;text-decoration:underline}.footer-bottom{color:#ffffff94;border-top:1px solid #fff3;justify-content:space-between;gap:20px;max-width:1120px;margin:58px auto 0;padding-top:16px;font-size:10px;display:flex}@media (width<=900px){.header-inner{grid-template-columns:1fr auto;min-height:68px;padding:0 6vw}.header-note,.header-stamp,.desktop-nav,.portal-link{display:none}.header-actions{gap:0}.menu-button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;place-content:center;gap:6px;display:grid}.menu-button span{background:currentColor;width:16px;height:1px;display:block}.mobile-nav{border-top:1px solid var(--line);background:var(--paper);gap:0;padding:10px 6vw 20px;display:grid}.mobile-nav[hidden]{display:none}.mobile-nav a{border-bottom:1px solid var(--line);padding:13px 0;font-size:13px}.footer-grid{grid-template-columns:1fr 1fr;gap:42px 8vw}.footer-grid>:first-child{grid-column:1/-1}}@media (width<=520px){.brand-copy small{font-size:8px}.site-footer{padding:58px 7vw 20px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-grid>:first-child{grid-column:auto}.footer-bottom{gap:8px;margin-top:45px;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
