: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}.top-entry-bar{background:#f7f3ed;border-top:1px solid #e5ded4;padding:24px 16px}.top-entry-inner{margin:0 auto;max-width:1080px;width:100%}.top-entry-heading{margin:0 auto 18px;max-width:680px;text-align:center}.top-entry-heading>span{color:var(--brand);font-size:.68rem;font-weight:700;letter-spacing:.14em}.top-entry-heading h2{font-size:1.25rem;margin-top:3px}.top-entry-heading p{color:var(--muted);font-size:.8rem;margin-top:5px}.top-entry-actions{margin:0 auto;max-width:420px}.top-entry-card{align-items:center;background:#fff;border:1px solid transparent;border-radius:18px;box-shadow:var(--shadow-sm);display:grid;gap:15px;grid-template-columns:48px minmax(0,1fr) auto;min-height:82px;min-width:0;overflow:hidden;padding:16px 20px;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease);will-change:transform}.top-entry-card:focus-visible,.top-entry-card:hover{outline:none;transform:translateY(-4px) scale(1.015)}.top-entry-arrow{background:#fff;border-radius:50%;box-shadow:0 4px 14px #0000002e;color:var(--brand);display:grid;height:38px;place-items:center;position:relative;transition:transform .25s var(--ease);width:38px;z-index:1}.top-entry-arrow svg{height:19px;width:19px}.top-entry-card:focus-visible .top-entry-arrow,.top-entry-card:hover .top-entry-arrow{transform:translate(5px) scale(1.08)}.top-entry-apply{animation:top-entry-pulse 2.6s var(--ease) infinite;background:var(--brand-grad);box-shadow:0 10px 28px #a8120652,0 2px 6px #a812063d;color:#fff;text-align:left}.top-entry-apply:focus-visible,.top-entry-apply:hover{animation-play-state:paused;background:var(--brand-grad-hover);box-shadow:0 18px 40px #a812066b,0 4px 10px #a812064d}.top-entry-apply:after{animation:top-entry-shine 3.4s ease-in-out infinite;background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.28) 50%,transparent);content:"";height:100%;left:-60%;pointer-events:none;position:absolute;top:0;transform:skew(-18deg);width:45%}@keyframes top-entry-shine{0%,to{left:-60%}45%,55%{left:120%}}@keyframes top-entry-pulse{0%,to{box-shadow:0 10px 28px #a8120652,0 2px 6px #a812063d,0 0 #c41a0a66}50%{box-shadow:0 12px 32px #a8120661,0 2px 6px #a812063d,0 0 0 8px #c41a0a00}}@media(prefers-reduced-motion:reduce){.top-entry-apply,.top-entry-apply:after{animation:none}}.top-entry-icon{background:var(--brand-soft);border-radius:50%;color:var(--brand);display:grid;height:48px;place-items:center;position:relative;width:48px;z-index:1}.top-entry-apply .top-entry-icon{background:#ffffff2e;box-shadow:inset 0 0 0 1px #ffffff40;color:#fff}.top-entry-icon svg{height:26px;width:26px}.top-entry-copy{display:flex;flex-direction:column;line-height:1.35;min-width:0;position:relative;z-index:1}.top-entry-copy small{align-self:flex-start;border-radius:var(--radius-pill);color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.04em;margin-bottom:4px;padding:2px 9px}.top-entry-copy strong{color:var(--ink);font-size:1.08rem;font-weight:800;letter-spacing:.01em}.top-entry-copy>span{color:var(--muted);font-size:.76rem}.top-entry-apply .top-entry-copy small{background:#fff3;color:#fff}.top-entry-apply .top-entry-copy>span{color:#ffffffd1}.top-entry-apply .top-entry-copy strong{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.18)}.app-bar{background:#fff;border-bottom:1px solid var(--hairline);justify-content:space-between;padding:4px 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}.brand-side{min-width:0}.brand-side,.station-switcher{align-items:center;display:flex}.station-switcher{align-self:stretch;position:relative}.station-button{align-items:center;background:#fff;border:0;color:#777;cursor:pointer;display:inline-flex;justify-content:center;min-height:44px;transition:background-color .15s var(--ease),color .15s var(--ease);width:80px}.station-button:focus-visible,.station-button:hover,.station-switcher-open .station-button{background:var(--surface-hover);color:var(--ink)}.station-button:focus-visible{box-shadow:inset var(--ring);outline:none}.station-dots{align-content:center;display:grid;gap:6px;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);height:20px;justify-content:center;width:20px}.station-dots span{background:currentColor;border-radius:50%;display:block;height:100%;width:100%}.station-menu{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-lg);left:0;min-width:224px;padding:6px;position:absolute;top:calc(100% + 1px);z-index:120}.station-menu-link{align-items:center;border-radius:var(--radius-sm);color:var(--ink);display:flex;font-size:.9rem;font-weight:700;gap:10px;min-height:40px;padding:8px 12px;transition:background-color .15s var(--ease),color .15s var(--ease);white-space:nowrap}.station-menu-link:focus-visible,.station-menu-link:hover{background:var(--brand-soft);color:var(--brand);outline:none}.station-menu-logo{flex-shrink:0;height:28px;-o-object-fit:cover;object-fit:cover;width:28px}.logo-wrapper{align-items:center;display:flex;min-width:0;padding-left:8px}.logo{display:block;max-height:34px;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){.top-entry-bar{padding:16px 8px}.top-entry-heading{margin-bottom:12px;padding:0 8px}.top-entry-heading h2{font-size:1rem}.top-entry-heading p{font-size:.72rem;line-height:1.5}.top-entry-card{border-radius:14px;gap:11px;grid-template-columns:40px minmax(0,1fr) auto;min-height:70px;padding:12px 14px}.top-entry-icon{height:40px;width:40px}.top-entry-icon svg{height:22px;width:22px}.top-entry-arrow{height:32px;width:32px}.top-entry-arrow svg{height:17px;width:17px}.top-entry-copy strong{font-size:.96rem}.top-entry-copy small{font-size:.62rem}.top-entry-copy strong{font-size:.82rem}.top-entry-copy>span{font-size:.68rem}.station-button{min-height:40px;width:52px}.station-dots{gap:6px;grid-template-columns:repeat(2,6px);grid-template-rows:repeat(2,6px);height:18px;width:18px}.station-menu{min-width:min(224px,calc(100vw - 16px))}.logo-wrapper{padding-left:4px}.logo{max-height:25px}.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-manage-link{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-soft);display:inline-flex;margin:4px auto 18px;max-width:100%;padding:9px 14px;text-align:left;transition:color .15s var(--ease),border-color .15s var(--ease),background-color .15s var(--ease);width:-moz-fit-content;width:fit-content}.footer-manage-link>span:first-child{display:flex;flex-direction:column;line-height:1.35}.footer-manage-link small{color:var(--muted);font-size:.66rem}.footer-manage-link strong{font-size:.78rem}.footer-manage-link:focus-visible,.footer-manage-link:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);outline:none}.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)}
