 .noise-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle, rgba(14, 13, 13, 0.822) 15px, transparent 15px);
            background-size: 4px 4px;
            pointer-events: none;
            z-index: 9999;
            mix-blend-mode: screen;
            animation: noise-anim 0.15s infinite;
        }

        @keyframes noise-anim {
            0% { transform: translate(0, 0); opacity: 0.3; }
            15% { transform: translate(-8px, 4px); opacity: 0.6; }
            30% { transform: translate(5px, -5px); opacity: 0.2; }
            45% { transform: translate(-4px, 8px); opacity: 0.7; }
            60% { transform: translate(7px, 2px); opacity: 0.3; }
            75% { transform: translate(-6px, -3px); opacity: 0.5; }
            90% { transform: translate(3px, 6px); opacity: 0.2; }
            100% { transform: translate(0, 0); opacity: 0.4; }
        }

/* --- 基本設定 --- */
        :root {
            --bg-color: #0d0d0d;        /* 重厚な黒 */
            --accent-green: #39ff14;   /* ネオングリーン（Toxic） */
            --accent-purple: #bc13fe;  /* ネオンパープル */
            --text-color: #e0e0e0;
        }

        body {
            margin: 0;
            padding: 0;
            background-color: var(--bg-color);
            color: var(--text-color);
            font-family: 'Bungee,Bungee_Inline,Honk,Rubik_Glitch/Rubik_Glitch/OFL.txt', cursive, sans-serif;
            line-height: 1.6;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        /* --- ヘッダー --- */
        header {
            padding: 2rem;
            border-bottom: 2px solid var(--accent-green);
            text-align: center;
        }

        header h1 {
            margin: 0;
            font-size: 2rem;
            letter-spacing: 0.2rem;
            color: var(--accent-green);
            text-shadow: 0 0 10px var(--accent-green);
        }

        nav ul {
            list-style: none;
            padding: 0;
            display: flex;
            justify-content: center;
            gap: 20px;
        }

        nav a {
            color: var(--text-color);
            text-decoration: none;
            font-weight: bold;
            transition: 0.3s;
        }

        nav a:hover {
            color: var(--accent-purple);
        }

        /* --- メインコンテンツ --- */
        main {
            flex: 1;
            padding: 40px 20px;
            max-width: 1000px;
            margin: 0 auto;
        }

        /* トップ画像エリア（権利関係注意！） */
       

        /* --- フッター（要件：文言指定） --- */
        footer {
            background-color: #000;
            color: #888;
            text-align: center;
            padding: 20px 0;
            font-size: 0.9rem;
            border-top: 1px solid #333;
        }

        /* --- レスポンシブ --- */
        @media (max-width: 600px) {
            header h1 { font-size: 1.5rem; }
            .hero { height: 250px; }
        }