:root{--brand:#a81206;--brand-dark:#7a0d04;--brand-soft:#fef2f2;--brand-grad:linear-gradient(135deg,#c41a0a,#7a0d04);--brand-grad-hover:linear-gradient(135deg,#a81206,#5b0a03);--accent:#d97706;--ink:#1f2937;--ink-soft:#4b5563;--muted:#6b7280;--hairline:#f1f1ef;--border:#e7e5e0;--card-border:#e7e5e0;--surface:#fff;--surface-alt:#fafaf8;--surface-hover:#f5f4f0;--ring:0 0 0 3px rgba(168,18,6,.18);--shadow-xs:0 1px 2px rgba(17,24,39,.04);--shadow-sm:0 1px 3px rgba(17,24,39,.06),0 1px 2px rgba(17,24,39,.04);--shadow-md:0 4px 12px rgba(17,24,39,.06),0 2px 4px rgba(17,24,39,.04);--shadow-lg:0 12px 32px rgba(17,24,39,.08);--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-pill:999px;--ease:cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0;width:100%}body{color:var(--ink);font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;-webkit-tap-highlight-color:rgba(0,0,0,0);background:var(--surface-alt);font-feature-settings:"palt" 1}a{color:inherit;cursor:pointer;text-decoration:none}button{font:inherit}img{max-width:100%;vertical-align:middle}ul{list-style:none;margin:0;padding:0}h1,h2,h3,h4{font-weight:700;letter-spacing:-.01em;line-height:1.35;margin:0}p{margin:0}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}input,select,textarea{color:inherit;font:inherit}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.app{display:flex;flex-direction:column;min-height:100vh}.app-bar{background:#fff;border-bottom:1px solid var(--hairline);justify-content:space-between;padding:8px 0;position:sticky;top:0;z-index:100}.app-bar,.side{align-items:center;display:flex}.side-right{gap:16px;justify-content:flex-end;padding-right:24px}.logo-wrapper{align-items:center;display:flex;min-width:0;padding-left:32px}.logo{display:block;max-height:36px;max-width:100%;width:auto}.sub-nav{background:#fff;border-bottom:1px solid gray;border-top:1px solid #eee}.sub-nav-inner{align-items:center;display:flex;gap:24px;justify-content:flex-start;margin:0;overflow-x:auto;padding:6px 16px 6px 96px}.sub-nav-link{align-items:center;color:#333;display:inline-flex;font-size:15px;font-weight:700;gap:8px;padding:4px 8px;transition:color .15s var(--ease);white-space:nowrap}.sub-nav-link.router-link-exact-active,.sub-nav-link:hover{color:var(--brand)}.sub-nav-icon{flex-shrink:0;height:24px;width:24px}@media(max-width:599px){.logo-wrapper{padding-left:12px}.logo{max-height:26px}.side-right{gap:6px;padding-right:10px}.sub-nav-inner{gap:6px;padding-left:16px}.sub-nav-link{flex-direction:column;font-size:11px;gap:4px;min-width:68px;padding-left:0;padding-right:0}}.icon-btn{align-items:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--ink-soft);cursor:pointer;display:inline-flex;justify-content:center;padding:8px;transition:background-color .15s var(--ease),color .15s var(--ease)}.icon-btn:hover{background:var(--surface-hover);color:var(--ink)}.cart-link{position:relative}.cart-badge{background:var(--brand);border-radius:9px;color:#fff;font-size:.68rem;font-weight:700;height:18px;line-height:18px;min-width:18px;padding:0 5px;pointer-events:none;position:absolute;right:0;text-align:center;top:2px}.cart-link-bump{animation:cartBump .7s var(--ease)}@keyframes cartBump{0%{transform:scale(1)}20%{transform:scale(1.25)}40%{transform:scale(.92)}60%{transform:scale(1.1)}80%{transform:scale(.97)}to{transform:scale(1)}}.login-link{border-radius:var(--radius-sm);color:var(--brand);font-size:.9rem;font-weight:600;padding:6px 12px;transition:background-color .15s var(--ease)}.login-link:hover{background:var(--brand-soft)}.admin-link{background:var(--ink);border-radius:var(--radius-pill);color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.02em;padding:6px 12px;transition:background-color .15s var(--ease),transform .15s var(--ease)}.admin-link:hover{background:#000;transform:translateY(-1px)}.app-main{flex:1;margin:0 auto;max-width:1080px;padding:24px 16px 48px;width:100%}@media(min-width:600px){.app-main{padding:32px 24px 72px}}.app-footer{background-color:#fff;border-top:1px solid var(--hairline);padding:28px 16px 24px;text-align:center}.footer-links{display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:center;margin-bottom:16px}.footer-links a{color:var(--muted);cursor:pointer;font-size:.8rem;transition:color .15s var(--ease)}.footer-links a:hover{color:var(--brand)}.footer-talent{display:flex;justify-content:center;margin:6px 0 14px}.talent-link{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);font-size:.78rem;padding:6px 14px;transition:color .15s var(--ease),border-color .15s var(--ease),background-color .15s var(--ease)}.talent-link:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.copyright{color:var(--muted);font-size:.75rem}.btn{align-items:center;background:var(--brand);border:0;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);color:#fff;cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:600;gap:6px;justify-content:center;letter-spacing:.01em;padding:11px 20px;transition:background-color .15s var(--ease),box-shadow .15s var(--ease),transform .1s var(--ease)}.btn:hover:not(:disabled){background:var(--brand-dark);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.btn-outline{background:#fff;border:1px solid var(--border);color:var(--ink)}.btn-outline:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-soft)}.btn-ghost{background:transparent;box-shadow:none;color:var(--brand);padding:6px 10px}.btn-ghost:hover:not(:disabled){background:var(--brand-soft);box-shadow:none}.section-title{border-left:3px solid var(--brand);font-size:1.3rem;font-weight:700;letter-spacing:-.01em;margin:28px 0 16px;padding-left:12px}@media(min-width:600px){.section-title{font-size:1.5rem}}.app-main input[type=datetime-local],.app-main input[type=email],.app-main input[type=number],.app-main input[type=password],.app-main input[type=text],.app-main input[type=url],.app-main select,.app-main textarea{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.surface-card{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
