/* ============================
   LAUGH DiAMOND UNIT CSS
   原石 × 再起 × 意志
============================ */

/* 全体背景 */
body {
  background:
    radial-gradient(circle at top left, rgba(200, 240, 255, 0.55), transparent 55%),
    radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.7), transparent 60%),
    linear-gradient(
      135deg,
      #eaf6ff,  /* ライトブルー */
      #ffffff,  /* ホワイト */
      #dff1ff   /* 透明感ブルー */
    );

  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  margin: 0;
  padding: 0;

}

/* ----------------------------
   ヒーロー
---------------------------- */
.hero-card {
  width: 90%;
  max-width: 1200px;
  margin: 40px auto;
  display: flex;
  align-items: center;

  background: linear-gradient(
    135deg,
    rgba(120, 230, 200, 0.95), /* Mint */
    rgba(255, 80, 80, 0.90),   /* Red */
    rgba(200, 160, 230, 0.90), /* Light Purple */
    rgba(255, 90, 170, 0.92)   /* Deep Pink */
  );

  border-radius: 22px;
  padding: 32px;
  box-shadow: 0 0 30px rgba(180, 120, 200, 0.45);
  overflow: hidden;
}

.hero-text {
  flex: 1;
  padding-right: 20px;
  font-size: 20px;
  color: #ffffff;
  font-weight: bold;
  text-shadow: 0 0 10px rgba(0,0,0,0.4);
  opacity: 0;
  animation: textFade 2.5s ease forwards 0.5s;
}

.hero-img {
  flex: 1;
  width: 100%;
  max-width: 500px;
  border-radius: 15px;
  opacity: 0;
  animation: logoFade 2.5s ease forwards 1s;
}

/* フェードインアニメーション */
@keyframes textFade {
  from { opacity: 0; transform: translateX(-20px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes logoFade {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ----------------------------
   セクション
---------------------------- */
section {
  max-width: 1000px;
  margin: 55px auto;
  padding: 26px 22px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 5px 25px rgba(160, 160, 220, 0.35);
}

/* 見出し */
h2 {
  color: #ffffff;
  padding: 12px 20px;
  border-radius: 14px;
  margin-bottom: 25px;

  background: linear-gradient(
    135deg,
    #78e6c8,
    #ff5050,
    #c8a0e6,
    #ff5aaa
  );

  text-shadow: 0 0 8px rgba(0,0,0,0.35);
}

/* ----------------------------
   楽曲一覧
---------------------------- */
.song-list {
  display: flex;
  justify-content: center;
  gap: 25px;
}

.song-item {
  width: 220px;
  transition: 0.3s ease;
}

.song-img {
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 0 18px rgba(200, 160, 230, 0.45);
}

.song-item:hover {
  transform: translateY(-6px) scale(1.03);
}

/* ----------------------------
   戻るボタン
---------------------------- */
.back-btn {
  display: block;
  width: fit-content;
  margin: 40px auto;

  padding: 10px 18px;
  border-radius: 12px;

  background: linear-gradient(
    45deg,
    #78e6c8,
    #ff5050,
    #c8a0e6,
    #ff5aaa
  );

  color: #fff;
  text-decoration: none;
  box-shadow: 0 0 18px rgba(200, 160, 230, 0.6);
}

.back-btn:hover {
  transform: scale(1.05);
}

/* ----------------------------
   レスポンシブ
---------------------------- */
@media (max-width: 768px) {
  .hero-card {
    flex-direction: column;
    text-align: center;
  }

  .hero-img {
    margin-top: 20px;
  }

  .song-item {
    width: 80%;
  }
}
