@font-face{font-family:BBJP;src:url('/assets/fonts/noto-sans-jp-japanese-400-normal.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:BBJP;src:url('/assets/fonts/noto-sans-jp-japanese-700-normal.woff2') format('woff2');font-display:swap;font-weight:700}
:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#eaf5ff;background:#061020}*{box-sizing:border-box}html{scroll-behavior:smooth}html[lang="ja"] body,html[lang="ja"] button,html[lang="ja"] select{font-family:BBJP,system-ui,sans-serif}body{margin:0;line-height:1.55}a{color:inherit}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #86dafe;outline-offset:3px}.skip{position:absolute;top:-100px;left:12px;z-index:10;background:#fff;color:#000;padding:10px}.skip:focus{top:6px}.bar{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:10px max(16px,calc((100vw - 1140px)/2));min-height:64px;background:rgba(6,18,34,.96);border-bottom:1px solid #294564;flex-wrap:wrap}.brand{text-decoration:none;font-weight:850;letter-spacing:.06em;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:.88rem}.brand img{border-radius:7px}.brand b{color:#80d7ff}.bar nav{display:flex;flex-wrap:wrap;gap:17px;font-size:.85rem}.bar nav a:hover{color:#99e4ff}.lang{display:flex;align-items:center;gap:8px;color:#a6cadf;font-size:.75rem}.lang select{max-width:165px;min-height:39px;padding:7px 10px;background:#0d2845;border:1px solid #3b6b90;border-radius:8px;color:#f1f9ff}.intro,main>.group-head,main>.cards,main>.note{max-width:1140px;margin-left:auto;margin-right:auto}main{padding:0 14px 48px}.intro{padding:clamp(26px,5vw,62px) 3px 22px}.eyebrow{font-size:.73rem;font-weight:850;letter-spacing:.16em;color:#88d9ff}.intro h1{font-size:clamp(1.7rem,4vw,3rem);letter-spacing:-.04em;line-height:1.2;margin:10px 0}.intro p{color:#c1d5e9;max-width:760px;margin:0 0 18px}.intro-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #55b8ee;border-radius:10px;padding:9px 14px;color:#e8f8ff;background:#0a3554;font-weight:750;min-height:44px}.group-head{padding:17px 2px 12px;border-top:1px solid #264767;margin-top:20px}.group-head h2{margin:0;font-size:clamp(1.17rem,2vw,1.5rem)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{border:1px solid #29496b;border-radius:14px;background:linear-gradient(145deg,#0c2545,#07182e);min-width:0;overflow:hidden}.art{display:block;position:relative;text-decoration:none}.art img{display:block;width:100%;height:auto;aspect-ratio:2.7;object-fit:cover;background:#061e32}.info{padding:11px 14px 14px}.info h3{font-size:1.1rem;margin:0 0 4px;line-height:1.35;color:#f0f8ff}.info p{font-size:.88rem;color:#b8cee5;margin:0 0 11px;min-height:2.6em}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:9px;padding:8px 10px;border:1px solid #436a8c;background:#102d4b;color:#e6f4ff;text-decoration:none;font-size:.79rem;font-weight:800;white-space:normal;text-align:center}.actions a.primary{border-color:#4bb9ec;background:#0b4a70}.actions a:hover,.actions a:focus-visible{background:#175279;border-color:#88d6fb}.note{font-size:.84rem;color:#a9c0d7;padding:25px 0 0}footer{background:#071324;border-top:1px solid #234260;text-align:center;padding:21px;color:#b9d4e8;font-size:.82rem}footer a{color:#c9e8ff}@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){.cards{grid-template-columns:1fr}.bar{gap:8px;justify-content:space-between}.brand{font-size:.77rem}.bar nav{order:3;width:100%;font-size:.79rem;gap:14px}.lang span{display:none}.lang select{max-width:135px}.intro{padding-top:26px}.info p{min-height:0}.art img{aspect-ratio:3.2}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Small, localized shortcut: find Celebration Weeks without eight-card scrolling. */
.intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.intro-actions a#celebrationJump{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;padding:9px 3px;background:transparent;border:0;border-radius:5px;color:#a9e2ff;font-weight:700;font-size:.87rem}
.intro-actions a#celebrationJump:hover{text-decoration:underline;color:#fff}
#celebration{scroll-margin-top:18px}
