body {
            background-color: #2F4F4F; /* 黒板色 */
            color: #f0f0f0;
            font-family: 'Yomogi', cursive;
            overflow-x: hidden;
            min-height: 100vh;
            position: relative;
        }

        /* チョークの粉の質感 */
        .chalkboard-texture {
            position: fixed;
            inset: 0;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");
            pointer-events: none;
            z-index: 0;
        }

        /* 夕日の斜光（God Rays） */
        .sunset-light {
            position: fixed;
            top: -50%;
            right: -20%;
            width: 150%;
            height: 200%;
            background: radial-gradient(circle at 50% 50%, rgba(255, 160, 0, 0.4) 0%, transparent 60%);
            transform: rotate(-30deg);
            pointer-events: none;
            mix-blend-mode: overlay;
            z-index: 10;
            animation: light-shift 20s infinite alternate ease-in-out;
        }
        @keyframes light-shift {
            0% { opacity: 0.3; transform: rotate(-30deg) translateY(0); }
            100% { opacity: 0.6; transform: rotate(-32deg) translateY(20px); }
        }

        /* チョーク文字 */
        .chalk-text {
            color: #fff;
            text-shadow: 2px 2px 0px rgba(0,0,0,0.2);
            position: relative;
        }
        /* チョークのかすれ */
        .chalk-text::before {
            content: attr(data-text);
            position: absolute;
            left: 0;
            top: 0;
            color: transparent;
            background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAIklEQVQIW2NkQAKrVq36zwjjgzjIHFBm//79/xkYEA0kKgEA+g4X53K0gW0AAAAASUVORK5CYII=") repeat;
            -webkit-background-clip: text;
            background-clip: text;
            opacity: 0.5;
            pointer-events: none;
        }

        /* 時間割表デザイン */
        .schedule-table {
            border: 2px solid rgba(255,255,255,0.8);
            width: 100%;
            border-collapse: collapse;
        }
        .schedule-table th, .schedule-table td {
            border: 1px solid rgba(255,255,255,0.5);
            padding: 1rem;
            text-align: center;
        }
        .schedule-table th {
            font-size: 1.2rem;
            color: #ffeb3b; /* 黄色チョーク */
        }