:root { font-family: Inter, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; color: #f8f3df; background: #07121f; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; line-height: 1.9; }
a { color: #63d6d1; }
a:focus-visible, button:focus-visible { outline: 3px solid #ffbf3f; outline-offset: 3px; }
header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 28px; border-bottom: 1px solid rgba(248,243,223,.34); }
header > a { color: #f8f3df; text-decoration: none; font-family: Georgia, "Yu Mincho", serif; font-size: 1.4rem; font-weight: 700; }
header nav { display: flex; gap: 18px; }
main { max-width: 860px; margin: 0 auto; padding: 72px 28px 90px; }
h1 { font-family: Georgia, "Yu Mincho", serif; font-size: clamp(2.5rem, 8vw, 5rem); line-height: 1.08; letter-spacing: -.04em; margin: 0 0 34px; }
h2 { color: #ffbf3f; margin: 52px 0 12px; font-size: 1.3rem; }
p, li { color: rgba(248,243,223,.82); }
.lead { font-size: 1.12rem; }
.notice { margin: 32px 0; padding: 18px; border-left: 4px solid #63d6d1; background: #0c2034; }
.status { display: inline-block; color: #07121f; background: #ffbf3f; padding: 2px 8px; font-size: .75rem; font-weight: 800; }
button { min-height: 44px; padding: 0 16px; color: #07121f; background: #ffbf3f; border: 0; font-weight: 800; cursor: pointer; }
footer { max-width: 860px; margin: 0 auto; padding: 28px; border-top: 1px solid rgba(248,243,223,.34); display: flex; flex-wrap: wrap; gap: 18px; font-size: .78rem; }
@media (max-width: 600px) { header { padding: 16px 18px; align-items: flex-start; flex-direction: column; } header nav { flex-wrap: wrap; } main { padding: 52px 20px 70px; } footer { padding: 24px 20px; } }
