      body {
        margin: 0;
        font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN",
          "Hiragino Sans", Meiryo, sans-serif;
        background-color: #f9f9f9;
        color: #333;
      }

      /* レイアウト用 */
      .spacer {
        height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
      }

      .title {
        font-size: 3rem;
        font-weight: 800;
        margin-bottom: 1rem;
        color: #2c3e50;
        letter-spacing: 0.05em;
      }

      /* カードリストのコンテナ */
      .list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 30px;
        max-width: 1100px;
        margin: 0 auto;
        padding: 50px 20px 150px;
      }

      /* 個別のカードアイテム */
      .item {
        position: relative;
        width: 100%;
        height: 340px;
        perspective: 1000px;
        cursor: pointer;
      }

      /* 表面と裏面の共通設定 */
      .front,
      .back {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        backface-visibility: hidden;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
        transition: box-shadow 0.3s ease;
        padding: 24px;
        box-sizing: border-box;
        font-weight: bold;

        /* 文字色を白に統一（表面もカラーにするため） */
        color: #fff;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
      }

      .item:hover .front,
      .item:hover .back {
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
      }

      /* 表面のデザイン */
      .front {
        /* ベースのスタイル */
        transform: rotateY(180deg); /* 初期状態は裏返し */
      }

      /* 裏面のデザイン */
      .back {
        transform: rotateY(0deg); /* 初期状態を表向き */
      }

      /* --- カラー設定 --- */

      /* 表面（Front）も多彩に：明るめの鮮やかなグラデーション */
      .item:nth-child(1) .front {
        background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
      }
      .item:nth-child(2) .front {
        background: linear-gradient(135deg, #a18cd1 0%, #fbc2eb 100%);
      }
      .item:nth-child(3) .front {
        background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
      }
      .item:nth-child(4) .front {
        background: linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%);
      }
      .item:nth-child(5) .front {
        background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
      }
      .item:nth-child(6) .front {
        background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
      }

      /* 裏面（Back）：深みのある落ち着いたグラデーション */
      .item:nth-child(1) .back {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      }
      .item:nth-child(2) .back {
        background: linear-gradient(135deg, #2af598 0%, #009efd 100%);
      }
      .item:nth-child(3) .back {
        background: linear-gradient(135deg, #b721ff 0%, #21d4fd 100%);
      }
      .item:nth-child(4) .back {
        background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
      }
      .item:nth-child(5) .back {
        background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
      }
      .item:nth-child(6) .back {
        background: linear-gradient(135deg, #c471f5 0%, #fa71cd 100%);
      }

      .icon {
        margin-bottom: 1.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 80px;
        height: 80px;
        font-size: 1.8rem;
      }

      .icon svg {
        width: 100%;
        height: 100%;
        fill: currentColor;
      }

      /* 表面のアイコン（リロード）設定 */
      .front .icon {
        flex-direction: column;
        height: auto;
        gap: 1rem;
      }
      .front .icon svg {
        width: 64px;
        height: 64px;
        opacity: 0.9; /* 白背景でなくなったので少し濃く */
      }

      /* 削除した.descの代わりに、裏面のテキストサイズを少し調整 */
      .back > div:nth-child(2) {
        font-size: 1.2rem;
        letter-spacing: 0.05em;
      }
