:root{
  --orange:#ff6b2c;--orange-dark:#e95518;--orange-pale:#fff1e8;
  --cream:#fffaf4;--sky:#edf6fb;--ink:#1f2328;--muted:#687079;
  --line:#eadfd7;--white:#fff;--soft:#f7f7f5;--green:#38a765;--blue:#63bde8;
  --shadow:0 20px 50px rgba(48,32,22,.10);--radius:28px;--max:1120px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;max-width:100%}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{font-size:.72rem;letter-spacing:.2em;font-weight:900;color:var(--orange);text-transform:uppercase}.serif{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
.site-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(234,223,215,.82)}
.navbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:-.02em}.brand-mark{width:32px;height:32px;border-radius:11px;background:linear-gradient(145deg,var(--orange),#ff9c6d);box-shadow:0 7px 18px rgba(255,107,44,.25);position:relative}.brand-mark:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;right:6px;bottom:6px;opacity:.9}.brand small{display:block;font-size:.62rem;color:var(--muted);letter-spacing:.08em;font-weight:700}.nav-links{display:flex;align-items:center;gap:6px}.nav-links a{padding:9px 13px;border-radius:999px;font-size:.78rem;font-weight:850;letter-spacing:.04em}.nav-links a:hover,.nav-links a[aria-current="page"]{background:var(--orange-pale);color:var(--orange-dark)}.nav-entry{background:var(--orange)!important;color:#fff!important}.nav-entry:hover{background:var(--orange-dark)!important;color:#fff!important}.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-btn span{width:18px;height:2px;background:var(--ink);border-radius:2px}.mobile-nav{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 21px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 12px 28px rgba(255,107,44,.22)}.btn-primary:hover{background:var(--orange-dark)}.btn-secondary{background:#fff;border-color:var(--line)}.btn-secondary:hover{border-color:var(--orange);color:var(--orange)}
.site-footer{background:#171a1d;color:#d7dbde;padding:34px 0 26px;margin-top:0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:end}.footer-title{font-weight:900}.footer-title small{display:block;color:#9ba1a5;font-size:.72rem;margin-top:3px}.footer-nav{display:flex;gap:14px;flex-wrap:wrap;font-size:.74rem}.footer-copy{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:.68rem;color:#92989c}
.focusable:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(255,107,44,.35);outline-offset:3px}
.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:#171a1d;color:#fff;padding:10px 14px;border-radius:10px}.skip-link:focus{top:12px}
.loading-card,.empty-card,.error-card{padding:28px;border:1px dashed var(--line);border-radius:20px;text-align:center;background:#fff}.empty-card strong,.error-card strong{display:block;margin-bottom:6px}.empty-card p,.error-card p{margin:0;color:var(--muted);font-size:.9rem}
@media(max-width:760px){.wrap{width:min(var(--max),calc(100% - 28px))}.navbar{height:64px}.brand{font-size:.88rem}.brand small{font-size:.57rem}.nav-links{display:none}.menu-btn{display:flex}.mobile-nav{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.mobile-nav>div{overflow:hidden}.mobile-nav.open{grid-template-rows:1fr}.mobile-nav-inner{padding:0 14px 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-nav a{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:.8rem;font-weight:850;text-align:center}.mobile-nav a[aria-current="page"]{background:var(--orange-pale);color:var(--orange-dark);border-color:#ffd4bf}.mobile-nav .nav-entry{grid-column:1/-1}.footer-grid{display:block}.footer-nav{margin-top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
