:root {
    --red:  #9b1a1a;
    --red2: #c0392b;
    --gold: #c9a333;
}
.section-title {
    text-align: center;
    font-family: 'Cinzel Decorative', cursive;
    color: var(--gold);
    font-size: 2rem;
    margin-bottom: 40px;
    letter-spacing: 4px;
    display: block;
    width: 100%;
}
body { background: #000; color: #eee; font-family: 'Shippori Mincho', serif; padding-top: 80px; }
        .container { max-width: 800px; margin: 0 auto; padding: 20px; }
        .date-tabs { display: flex; overflow-x: auto; gap: 8px; margin-bottom: 30px; scrollbar-width: none; }
        .date-tabs::-webkit-scrollbar { display: none; }
        .date-card { min-width: 80px; background: #111; padding: 12px; text-align: center; border: 1px solid #333; border-radius: 4px; cursor: pointer; flex: 1; }
        .date-card.active { border-color: var(--gold); background: #1a1a1a; }
        .w-sun, .is-holiday { color: #ff4d4d; }
        .w-sat { color: #4d94ff; }
        .member-list { display: none; }
        .member-list.active { display: grid; gap: 15px; }
        .member-row { display: flex; align-items: center; background: #111; border-left: 3px solid #c9a333; padding: 12px; text-decoration: none; color: inherit; border-radius: 0 4px 4px 0; }
        .member-pic { width: 60px; height: 90px; object-fit: cover; margin-right: 15px; }
        .m-name { font-size: 18px; font-weight: bold; color: #c9a333; }
        .nav-back { text-align: center; margin-top: 40px; }
        .nav-back a { color: #666; text-decoration: none; font-size: 13px; }
        footer { margin-top: 80px; border-top: 1px solid #222; padding: 40px 20px; text-align: center; color: #444; font-size: 12px; letter-spacing: 2px; }
        footer .footer-logo { font-family: 'Noto Serif JP', serif; font-size: 18px; color: #c9a333; letter-spacing: 6px; margin-bottom: 16px; }