      /* グローバルリセットとフォント設定 */
      body {
        font-family: "Space Mono", monospace;
        background-color: #000;
        color: #00ff66; /* ネオングリーン */
        margin: 0;
        overflow: hidden; /* ローディング中はスクロールを禁止 */
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
      }

      /* ------------------------------------- */
      /* ローディングオーバーレイのスタイル */
      /* ------------------------------------- */
      .loader-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        background: #000;
        z-index: 9999;
      }

      .pixel-grid {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: grid;
        gap: 1px; /* グリッドの隙間 */
        padding: 1px;
        box-sizing: border-box;
      }

      .pixel-cell {
        background-color: rgba(0, 255, 102, 0.1); /* 薄いグリッド線 */
        transition: background-color 0.1s ease;
        box-shadow: 0 0 1px rgba(0, 255, 102, 0.05);
      }

      .pixel-cell.accent {
        background-color: rgba(0, 255, 102, 0.3); /* アクセントカラーのセル */
        box-shadow: 0 0 5px rgba(0, 255, 102, 0.5);
      }

      .pixel-overlay-content {
        position: relative;
        z-index: 10000;
        text-align: center;
        padding: 20px;
        pointer-events: none; /* クリック無効化 */
      }

      .pixel-logo {
        font-family: "Press Start 2P", cursive;
        font-size: clamp(1.5rem, 5vw, 4rem); /* レスポンシブなフォントサイズ */
        color: #00ff66;
        text-shadow: 0 0 10px #00ff66, 0 0 20px #00cc52; /* ネオン効果 */
        margin-bottom: 20px;
        animation: flicker 1s infinite alternate; /* 点滅アニメーション */
      }

      .pixel-loading {
        font-size: clamp(0.8rem, 2vw, 1.5rem);
        color: #fff;
        opacity: 0.8;
        letter-spacing: 0.2em;
      }

      /* ネオン点滅アニメーション */
      @keyframes flicker {
        0%,
        19%,
        21%,
        23%,
        25%,
        54%,
        56%,
        100% {
          text-shadow: 0 0 10px #00ff66, 0 0 20px #00cc52;
          opacity: 1;
        }
        20%,
        24%,
        55% {
          text-shadow: none;
          opacity: 0.7;
        }
      }

      /* ------------------------------------- */
      /* メインコンテンツ (FV) のスタイル */
      /* ------------------------------------- */
      #main-content {
        opacity: 0; /* 初期状態では非表示 */
        text-align: center;
        padding: 20px;
      }

      .hero-title {
        font-family: "Press Start 2P", cursive;
        font-size: clamp(2rem, 8vw, 6rem);
        line-height: 1.2;
        color: #00ff66;
        text-shadow: 0 0 15px #00ff66, 0 0 30px #00cc52;
        margin-bottom: 30px;
        letter-spacing: 0.1em;
      }

      .hero-subtitle {
        font-size: clamp(1rem, 3vw, 2rem);
        color: #fff;
        margin-bottom: 50px;
        letter-spacing: 0.2em;
      }

      .view-more-button {
        display: inline-block;
        font-family: "Press Start 2P", cursive;
        font-size: clamp(0.7rem, 2vw, 1rem);
        color: #000;
        background-color: #00ff66;
        padding: 15px 30px;
        border: 3px solid #00ff66;
        text-decoration: none;
        cursor: pointer;
        box-shadow: 0 0 10px #00ff66, 0 0 20px rgba(0, 255, 102, 0.8);
        transition: all 0.1s ease-in-out;
        letter-spacing: 0.1em;
      }

      .view-more-button:hover {
        background-color: #00cc52;
        color: #fff;
        box-shadow: 0 0 20px #00cc52, 0 0 40px rgba(0, 204, 82, 1);
        transform: scale(1.05);
      }

      /* レスポンシブ対応 */
      @media (max-width: 600px) {
        .hero-title {
          margin-bottom: 20px;
        }
      }
