/* トップページ専用スタイル */

/* 最上部のキャッチコピーバー */
.top-catch-bar {
  background: #FF4081;
  padding: 10px 15px;
  text-align: center;
  position: relative;
  width: 100%;
  box-shadow: 0 2px 10px rgba(255, 64, 129, 0.3);
}

.catch-text {
  color: #FFFFFF;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 2px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  line-height: 1.2;
}

/* ヘッダー */
.header {
  text-align: center;
  padding: 20px 0 40px;
  margin: 0 calc(50% - 50vw);
  position: relative;
  background-image: url("../../assets/bg_top_circle_pc.png");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
}
.main-title-image {
  max-width: 950px;
  width: 100%;
  height: auto;
}

/* キャンペーンセクション */
.campaign-section {
  text-align: center;
  margin: 20px 0 40px;
  position: relative;
}

.campaign-title {
  display: none; /* 画像で表示するため非表示 */
}

.period {
  font-size: 18px;
  color: var(--text-main);
  font-weight: bold;
  margin-bottom: 10px;
}

.period-note {
  font-size: 14px;
  color: var(--text-sub);
  line-height: 1.6;
}

/* キャラクター表示エリア */
.character-section {
  margin: 20px 0 60px;
  position: relative;
  text-align: center;
}

.character-visual-wrapper {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}

.character-main-image {
  width: 100%;
  height: auto;
  display: block;
}

/* 削除: キャラクターカード関連のスタイル */
.character-cards,
.character-card,
.card-1,
.card-2,
.card-3,
.card-4,
.card-5 {
  display: none;
}

/* CTAセクション */
.cta-section {
  text-align: center;
  margin: 60px 0;
}

.cta-button-wrapper {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: transform 0.3s ease;
  display: inline-block;
}

.cta-button-wrapper:hover {
  transform: translateY(-3px);
}

.cta-button-image {
  max-width: 680px;
  width: 100%;
  height: auto;
  display: block;
}

/* 削除: 古いボタンスタイル */
.cta-button {
  display: none;
}

/* 参加方法セクション */
.participation-section {
  margin: 80px 0;
  text-align: center;
}

.participation-header {
  margin-inline: calc(50% - 50vw);
  margin-bottom: 40px;
}

.participation-title-image {
  max-width: 1000px;
  width: 100%;
  height: auto;
}

.step-images {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
}
.step-image {
  width: 49%;
  height: auto;
}

/* 削除: 古い参加方法のスタイル */
.section-title,
.subtitle,
.steps,
.step-item,
.step-number,
.step-content,
.step-title,
.step-description,
.step-note {
  display: none;
}

/* プレゼントセクション */
.present-section {
  margin: 80px 0;
  text-align: center;
}

.present-header {
  margin-inline: calc(50% - 50vw);
  margin-bottom: 40px;
}

.present-title-image {
  max-width: 1000px;
  width: 100%;
  height: auto;
}

.present-top-row {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
  max-width: 900px;
  margin: 0 auto 40px;
}

.present-image {
  width: 49%;
  height: auto;
}

.present-bottom-row {
  text-align: center;
}

.present-image-single {
  max-width: 900px;
  width: 90%;
  height: auto;
}

/* 削除: 古いプレゼントスタイル */
.present-subtitle,
.present-items,
.present-item,
.present-badge,
.present-content,
.present-name,
.present-count {
  display: none;
}

/* 告知セクション */
.announcement-section {
  margin: 80px 0;
  text-align: center;
}

.announcement-image {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* 注意事項セクション */
.notes-section {
  width: 100%;
  max-width: 600px;
  margin: 80px auto 0;
}

.notes-card {
}

.notes-section .section-title {
  display: block;
  font-size: 28px;
  font-weight: bold;
  color: var(--primary-pink);
  text-align: center;
  margin-bottom: 40px;
}

.notes-content h4 {
  font-size: 18px;
  font-weight: bold;
  margin: 30px 0 15px;
}

.notes-content h4:first-child {
  margin-top: 0;
}

.notes-list {
  list-style: none;
  padding: 0;
  margin-bottom: 30px;
}

.notes-list li {
  position: relative;
  padding: 8px 0 8px 25px;
  font-size: 14px;
  color: var(--text-main);
  line-height: 1.5;
}

.notes-list li::before {
  content: '•';
  position: absolute;
  left: 10px;
  color: var(--primary-pink);
  font-weight: bold;
}

/* 削除: 放送情報セクション（告知画像で代替） */
.broadcast-section,
.broadcast-banner,
.broadcast-title,
.broadcast-info,
.broadcast-date,
.broadcast-channels,
.channel,
.broadcast-note,
.broadcast-streaming,
.streaming-platforms,
.platform,
.streaming-date,
.streaming-detail {
  display: none;
}


@media (max-width: 767px) {
  .top-catch-bar {
    padding: 3vw 0;
  }
  .catch-text {
    font-size: 5vw;
    letter-spacing: 0.1vw;
  }

  .header {
    padding: 5vw 2vw 6vw;
    background-image: url("../../assets/bg_top_circle_sp.png");
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: cover;
  }

  .character-section {
    margin: 30px 0 40px;
  }

  .cta-button-image {
  }

  .participation-section {
    margin: 60px 0;
  }

  .participation-title-image {
  }

  .step-images {
    flex-direction: column;
    gap: 20px;
  }

  .step-image {
    width: 100%;
  }

  .present-section {
    margin: 60px 0;
  }

  .present-title-image {
  }

  .present-top-row {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
  }

  .present-image,
  .present-image-single {
    width: 100%;
  }

  .present-image-single {
    max-width: none;
    width: 95%;
  }

  .announcement-section {
    margin: 60px 0;
  }

  .announcement-image {
    border-radius: 10px;
  }

  .notes-section {
    max-width: none;
  }

  .notes-section .section-title {
    font-size: 24px;
  }
}
