/* object/project/seminar.css */
/* セミナーページ固有のスタイル */

/* =========================================================
   セミナーセクション全体
========================================================= */
.seminar-section {
  padding-top: 140px;
  padding-bottom: 140px;
  background-color: var(--color-white);
}

/* --- セクション共通タイトル --- */
.section-title-main {
  font-size: 2.4rem;
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 5rem;
  letter-spacing: 0.05em;
  color: #2B2A32;
}

@media (max-width: 991px) {
  .section-title-main {
    font-size: 2rem;
    margin-bottom: 3.5rem;
  }
}

/* =========================================================
   最新セミナー情報
========================================================= */
.latest-seminar-wrap {
  padding: 20px 0;
}

.seminar-shape {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  opacity: 0.8;
}

.shape-1 {
  top: -40px;
  left: -15%;
  width: 110px;
}

.shape-2 {
  top: -60px;
  right: -160%;
  width: 135px;
}

.shape-3 {
  bottom: -20px;
  left: -5%;
  width: 100px;
}

.shape-4 {
  bottom: -40px;
  right: -140%;
  width: 125px;
}

.seminar-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #2B2A32;
}

.seminar-details,
.seminar-details p {
  margin-bottom: 2rem;
  color: #2B2A32;
}

.seminar-desc,
.seminar-desc p {
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 2.5rem;
  color: #2B2A32;
}

/* =========================================================
   これまでのセミナー一覧
========================================================= */
.past-seminar-grid {
  margin-top: var(--spacing-lg);
  padding-top: var(--spacing-lg);
}

/* --- 個別セミナーカード --- */
.seminar-card {
  background: #fff;
  border-radius: 15px;
  padding: 2rem;
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
}

.seminar-card-no {
  color: #2B2A32;
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}

.seminar-card-title {
  flex: 1;
  font-weight: 400;
  font-size: 0.95rem;
  line-height: 1.4;
  color: #2B2A32;
}

.seminar-card-img {
  width: 100%;
  border-radius: 0;
}

/* =========================================================
   YouTubeバナー
   YouTubeへのリンクやアイコンを配置するエリアです。
========================================================= */
.youtube-banner {
  background-color: #fff;
  border-radius: 12px;
  padding: 1.5rem 2rem;
  max-width: 1000px;
  margin: 4rem auto 5rem;
}

.youtube-banner-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.25rem;
}

.youtube-icon-wrap {
  flex-shrink: 0;
}

.youtube-icon-svg {
  width: 42px;
  height: auto;
}

.youtube-text-wrap {
  text-align: left;
}

.youtube-text {
  font-size: 1.3rem;
  font-weight: 700;
  color: #2B2A32;
  margin-bottom: 0.25rem;
  line-height: 1.5;
}

.youtube-sub {
  font-size: 0.85rem;
  color: #2B2A32;
  display: block;
  line-height: 1.5;
}

/* --- タブレット対応 (Bootstrap md以下) --- */
@media (max-width: 991.98px) {
  .seminar-section {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .section-title-main {
    font-size: 2rem;
    margin-bottom: 3.5rem;
  }

  .seminar-title {
    font-size: 1.35rem;
  }

  .seminar-card {
    padding: 1.5rem;
  }

  .youtube-text {
    font-size: 1rem;
  }

  .shape-1 { width: 80px; left: -10%; }
  .shape-2 { width: 100px; right: -130%; }
  .shape-3 { width: 70px; left: -2%; }
  .shape-4 { width: 90px; right: -110%; }
}

/* --- モバイル対応 (Bootstrap sm以下) --- */
@media (max-width: 767.98px) {
  .seminar-section {
    padding-top: 80px;
    padding-bottom: 80px;
    overflow-x: hidden;
  }

  .section-title-main {
    font-size: 1.6rem;
    margin-bottom: 2.5rem;
  }

  .seminar-title {
    font-size: 1.3rem;
  }

  .seminar-details {
    word-break: break-word;
  }

  .seminar-desc {
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
  }

  .seminar-card {
    padding: 1.25rem;
    margin-bottom: 1.5rem;
  }

  .latest-seminar-img {
    max-width: 80%;
    margin: 0 auto;
  }

  .shape-1 {
    top: -10px;
    left: -2%;
    width: 60px;
  }
  .shape-2 {
    top: 40px;
    right: -2%;
    width: 75px;
  }
  .shape-3 {
    bottom: 20px;
    left: -2%;
    width: 50px;
  }
  .shape-4 {
    bottom: -20px;
    right: -2%;
    width: 65px;
  }
  .shape-5 {
    top: 20%;
    left: -2%;
    width: 70px;
  }
  .shape-6 {
    top: 50%;
    right: -2%;
    width: 60px;
  }
  .shape-7 {
    bottom: 20%;
    left: 0;
    width: 55px;
  }
  .shape-8 {
    bottom: -20px;
    right: -2%;
    width: 75px;
  }

  .seminar-card-title {
    font-size: 1rem;
  }

  .youtube-banner {
    padding: 1.25rem;
  }

  .youtube-banner-inner {
    flex-direction: column;
    gap: 0.75rem;
  }

  .youtube-text {
    font-size: 0.95rem;
  }

  .youtube-sub {
    font-size: 0.9rem;
  }

  .youtube-icon-svg {
    width: 36px;
  }
}