/* =============================================
   リセット & ベース
============================================= */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

main.bg-light {
  background-color: #fff !important;
}
main ul,
main ol {
	margin-bottom: 0;
}

main ul li {
  padding: 0;
}

/* =============================================
   CSS カスタムプロパティ（変数）
============================================= */
:root {
  --color-primary:     #101828;  /* ダークネイビー */
  --color-blue:        #0068b6;  /* リンクブルー */
  --color-pink:        #a11066;  /* マゼンタ/ピンク */
  --color-red:         #c9151e;  /* 再生ボタン赤 */
  --color-bg-blue:     #dce6f1;  /* 水色背景 */
  --color-gray-light:  #e5e7eb;  /* ライトグレー */
  --color-border:      #cccccc;  /* ボーダー */
  --color-text-sub:    #4a5565;  /* サブテキスト */
  --width-inner:       1160px;   /* コンテンツ最大幅 */
  --padding-sp:        16px;     /* SP 横パディング */
}

/* =============================================
   l-: Layout（レイアウト）
============================================= */

/* l-inner: 1160px 中央寄せコンテナ */
.l-inner {
  max-width: var(--width-inner);
  margin: 0 auto;
  width: 100%;
}

/* =============================================
   c-: Component（コンポーネント）
============================================= */

/* ------ c-speaker-card: 登壇者カード ------ */
.c-speaker-card {
  /* Figma: w-[158.5px] flex-col gap-[8px] items-center */
  width: 158.5px;
  flex-shrink: 0;
  background: #fff;
  border-radius: 8px;
  padding: 0 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* 顔写真（円形） */
.c-speaker-card__portrait {
  /* Figma: size-[112px] rounded-[56px] */
  width: 112px;
  height: 112px;
  border-radius: 56px;
  overflow: hidden;
  background: var(--color-gray-light);
  flex-shrink: 0;
}

.c-speaker-card__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* 登壇者名 */
.c-speaker-card__name {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 1.6em;
  color: var(--color-primary);
  text-align: center;
  line-height: 1.5;
}

/* 肩書き */
.c-speaker-card__role {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.4em;
  color: var(--color-primary);
  text-align: center;
  line-height: 1.4;
}

/* ------ c-video-item: 動画アイテム（横並び） ------ */
.c-video-item {
  /* Figma: bg-white flex gap-[32px] items-center pr-[24px] rounded-[8px] */
  background: #fff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* サムネイル */
.c-video-item__thumb {
  /* Figma: bg-[#101828] h-[214px] w-[380px] rounded-l-[8px] */
  position: relative;
  width: 380px;
  height: 214px;
  background: #fff;
  border-radius: 8px 0 0 8px;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* YouTube iframe（サムネイルエリア全体に合わせる） */
.c-video-item__thumb iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: none;
}

/* 「Coming soon」テキスト */
.c-video-item__coming {
  position: relative;
  z-index: 1;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  padding: 0 16px;
}

/* テキストエリア */
.c-video-item__text {
  /* Figma: flex-[1_0_0] flex-col gap-[12px] justify-center px-[24px] */
  flex: 1;
  padding: 24px 24px 24px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  justify-content: center;
}

/* 動画タイトル */
.c-video-item__title {
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 2.0em;
  color: var(--color-primary);
  line-height: 1;
  letter-spacing: 0.05em;
}

/* 動画説明 */
.c-video-item__desc {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.6em;
  color: var(--color-primary);
  line-height: 1.7;
  letter-spacing: 0.06em;
}

/* ------ c-article-card: おすすめ記事カード ------ */
.c-article-card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* 記事画像 */
.c-article-card__img {
  width: 100%;
  aspect-ratio: 271 / 192;
  background: var(--color-gray-light);
  overflow: hidden;
}

.c-article-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 記事本文エリア */
.c-article-card__body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

/* 日付 */
.c-article-card__date {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.3em;
  color: var(--color-text-sub);
  line-height: 1;
}

/* 記事タイトル */
.c-article-card__title {
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 1.5em;
  color: var(--color-primary);
  line-height: 1.4;
}

/* 記事説明 */
.c-article-card__desc {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4em;
  color: var(--color-primary);
  line-height: 1.6;
}

/* =============================================
   p-maincontent: メインコンテンツ全体
============================================= */
.p-maincontent {
  /* Figma: flex flex-col items-center pb-[40px] */
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 40px;
  width: 100%;
  font-size: 62.5%; /* 1em = 10px */
}

.win .p-maincontent {
  font-size: 62.5%;
}

.p-maincontent p {
  margin-bottom: 0;
}

main .p-maincontent a {
  color: inherit;
  text-decoration: none;
}

main .p-maincontent ul li:before {
  display: none;
}

/* =============================================
   p-mainvisual: ヒーローセクション
   PC: 高さ 668px、画像LEFT（480×480px正方形）+ テキストRIGHT（flex）
   SP: 高さ auto、画像TOP（全幅×324px）+ テキストBOTTOM（flex-col）
   Figma PC: node-id=20351:4199 / SP: node-id=20481:1155
============================================= */
.p-mainvisual {
  /* Figma: h-[668px] relative w-full */
  position: relative;
  width: 100%;
  height: 668px;
  overflow: hidden;
  flex-shrink: 0;
}

/* 背景テクスチャ画像 */
.p-mainvisual__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* インナーコンテンツ（Figma: size-full flex gap-[40px] items-center）
   最大幅 1160px で中央寄せ */
.p-mainvisual__inner {
  position: absolute;
  inset: 0;
  display: flex;
  gap: 40px;
  align-items: center;
  width: 100%;
  max-width: 1160px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 20px; /* 左右の最小余白 */
}

/* 画像エリア（PC: 480×480px 正方形）
   Figma: mvinner-bg01 size-[480px] overflow-clip */
.p-mainvisual__images {
  width: 480px;
  height: 480px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 4px;
}

/* 写真（コンテナを埋めるようにクロップ表示）
   Figma の画像配置（left:-191px top:-118px w:896px h:598px）を
   object-fit / object-position で近似
   opacity トランジションでフェードイン・アウトを実現 */
.p-mainvisual__images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 40%;
  display: block;
  transition: opacity 0.8s ease-in-out; /* フェードアニメーション */
}

/* テキストエリア（PC: 右 / SP: 下）
   Figma: Inner_text flex-[1_0_0] flex-col gap-[32px] justify-center */
.p-mainvisual__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* タイトルグループ（ラベル + 年号 + キャッチ）
   Figma PC: title flex-col gap-[24px] */
.p-mainvisual__title-group {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* "通販生活の学校 特別プログラム" ラベル
   Figma PC: 20px Medium */
.p-mainvisual__label {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 2.0em;
  color: var(--color-primary);
  line-height: 1;
}

/* 年号 + キャッチのグループ（Figma: main_title flex-col gap-[16px]） */
.p-mainvisual__title {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* "3・11から15年─" 年号（青）
   Figma: text-[24px] text-[#0068b6] font-bold tracking-[1px] */
.p-mainvisual__year {
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 2.4em;
  color: var(--color-blue);
  line-height: 1.35;
  letter-spacing: 0.05em;
}

/* "やっぱりやめませんか、原発。" メインキャッチ
   Figma: text-[40px] font-semibold */
.p-mainvisual__h1 {
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  font-size: 4.0em;
  color: var(--color-primary);
  line-height: 1.2;
}

/* 本文テキスト（Figma: text_box flex-col gap-[16px]） */
.p-mainvisual__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-mainvisual__body p {
  /* Figma: text-[16px] leading-[2] */
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.6em;
  line-height: 2;
  color: var(--color-primary);
}

/* =============================================
   p-links: プログラムリンクセクション（水色背景）
   Figma: bg-[#dce6f1] py-[48px]
============================================= */
.p-links {
  /* Figma: bg-[#dce6f1] py-[48px] */
  width: 100%;
  background: var(--color-bg-blue);
  padding: 48px 0;
  flex-shrink: 0;
}

/* コンテナ（カード 2 枚を中央寄せ） */
.p-links__container {
  /* Figma: flex gap-[24px] justify-center items-start */
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: stretch;
}

/* リンクカード（共通） */
.p-links__card {
  /* Figma: bg-white w-[400px] rounded-[8px] p-[24px] gap-[16px] shadow */
  background: #fff;
  width: 400px;
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 4px 4px 16px 0px rgba(164, 181, 199, 0.8);
  cursor: pointer;
  transition: opacity 0.2s;
  flex-shrink: 0;
}

/* カード 1: ラベルが上・見出しが下（justify-between） */
.p-links__card--primary {
  /* Figma: justify-between */
  justify-content: space-between;
}

.p-links__card:hover {
  opacity: 0.85;
}

/* プログラム番号 + サブタイトル（左ボーダー付き） */
.p-links__label {
  /* Figma: border-l-2 border-black pl-[10px] flex-col gap-[8px] */
  border-left: 2px solid var(--color-primary);
  padding: 2px 0 4px 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* "プログラム N" タグ */
.p-links__tag {
  /* Figma: font-bold text-[16px] NotoSerif */
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 1.6em;
  color: var(--color-primary);
  line-height: 1.125;
}


/* サブタイトル */
.p-links__sub {
  /* Figma: font-medium text-[16px] NotoSans */
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 1.6em;
  color: var(--color-primary);
  line-height: 1;
}

/* 見出し＋説明文のコンテナ */
.p-links__title {
  /* Figma: flex-col gap-[8px] */
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

/* 説明文＋アイコンの行 */
.p-links__desc-row {
  /* Figma: flex items-end gap-[8px] */
  display: flex;
  align-items: flex-end;
  gap: 8px;
  width: 100%;
}

/* 説明文テキスト */
.p-links__desc {
  /* Figma: text-[16px] leading-[1.4] */
  flex: 1;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6em;
  color: var(--color-primary);
  line-height: 1.4;
}

/* カード見出し */
.p-links__heading {
  /* Figma: text-[22px] font-bold NotoSerif leading-[1.2] */
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 2.2em;
  color: var(--color-primary);
  line-height: 1.2;
  letter-spacing: 0.03em;
}

/* 小さい見出し（プログラム 2） */
.p-links__heading--sm {
  /* Figma: text-[18px] leading-[1.4] */
  font-size: 1.8em;
  line-height: 1.4;
}

/* chevronアイコン */
.p-links__icon {
  /* Figma: size-[22px] */
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}


/* =============================================
   p-program: プログラムセクション共通
   Figma: bg-white py-[64px]
============================================= */
.p-program {
  width: 100%;
  background: #fff;
  padding: 64px 0;
  flex-shrink: 0;
}

/* コンテンツ幅 1160px（l-inner 相当） */
.p-program__container {
  /* Figma: w-[1160px] flex-col gap-[40px] */
  max-width: var(--width-inner);
  margin: 0 auto;
  width: 100%;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* ---------- カテゴリータイトル ---------- */
.p-program__category {
  /* Figma: flex-col gap-[24px] items-center */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.p-program__category-labels {
  /* Figma: flex-col gap-[16px] items-center */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* "プログラム N" */
.p-program__category-num {
  /* Figma: text-[24px] NotoSerif SemiBold */
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  font-size: 2.4em;
  color: var(--color-primary);
  line-height: 1;
}

/* セクション名 */
.p-program__category-name {
  /* Figma: text-[32px] NotoSans Medium */
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 3.2em;
  color: var(--color-primary);
  line-height: 1;
  white-space: nowrap;
}

/* 区切り線（黒い細い線） */
.p-program__category-bar {
  /* Figma: bg-black h-[2px] w-[48px] */
  width: 48px;
  height: 2px;
  background: var(--color-primary);
}

/* ---------- バナー（書き出し画像） ---------- */
.p-program__banner {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}

/* バナー書き出し画像 */
.p-program__banner-img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---------- 登壇者グリッド ---------- */
.p-program__speakers {
  /* Figma: flex-col gap-[24px] */
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* "登壇者紹介" / "解説者紹介" 見出し */
.p-program__speakers-heading {
  /* Figma: text-[24px] font-bold NotoSerif */
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 2.4em;
  color: var(--color-primary);
  line-height: 1;
}

/* カードの横並びリスト */
.p-program__speakers-grid {
  /* Figma: flex flex-wrap gap-[0px_8px] */
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

/* ---------- イベント詳細 ---------- */
.p-program__event {
  /* Figma: flex-col gap-[24px] */
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* イベント見出し */
.p-program__event-heading {
  /* Figma: text-[32px] font-bold NotoSerif tracking-[1px] */
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 3.2em;
  color: var(--color-primary);
  line-height: 1.3;
  letter-spacing: 0.05em;
}

/* 日時・会場などメタ情報 */
.p-program__event-meta {
  /* Figma: flex gap-[24px] items-center */
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.p-program__event-meta-item {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* アイコン */
.p-program__event-meta-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* メタテキスト */
.p-program__event-meta-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.2em;
  color: var(--color-text-sub);
  line-height: 1.5;
  letter-spacing: 0.07em;
  white-space: nowrap;
}

/* 本文 + 写真（横並び） */
.p-program__event-body {
  /* Figma: flex gap-[24px] items-start */
  display: flex;
  gap: 24px;
  align-items: center;
}

/* 本文テキスト */
.p-program__event-text {
  flex: 1;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.6em;
  color: var(--color-primary);
  line-height: 2;
}

/* 写真プレースホルダー */
.p-program__event-photo {
  /* Figma: w-[400px] h-[300px] */
  width: 400px;
  height: 300px;
  background: #d9d9d9;
  flex-shrink: 0;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-program__event-photo-label {
  font-size: 1.6em;
  color: var(--color-primary);
}

/* ---------- 動画セクション（水色背景） ---------- */
.p-program__video {
  /* Figma: bg-[#dce6f1] rounded-[8px] p-[32px] flex-col gap-[24px] */
  background: var(--color-bg-blue);
  border-radius: 8px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* 動画セクション見出し */
.p-program__video-heading {
  /* Figma: text-[20px] font-bold NotoSerif tracking-[1px] */
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 2.0em;
  color: var(--color-primary);
  line-height: 1;
  letter-spacing: 0.05em;
}

/* 注記テキスト */
.p-program__video-note {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4em;
  color: var(--color-text-sub);
  line-height: 1.6;
}

/* ---------- program02 固有: 解説者カード ---------- */
.p-program__speaker-card {
  /* Figma: bg-white gap-[32px] rounded-[14px] flex items-start */
  background: #fff;
  border-radius: 14px;
  padding: 24px 32px;
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

/* 顔写真（円形、大きめ） */
.p-program__speaker-portrait {
  /* Figma: size-[180px] rounded-[90px] */
  width: 180px;
  height: 180px;
  border-radius: 90px;
  overflow: hidden;
  background: var(--color-gray-light);
  flex-shrink: 0;
}

.p-program__speaker-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* 解説者プロフィール */
.p-program__speaker-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

/* 解説者名 */
.p-program__speaker-name {
  /* Figma: text-[16px] font-bold */
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 1.6em;
  color: var(--color-primary);
  letter-spacing: 0.06em;
}

/* プロフィール文 */
.p-program__speaker-bio {
  /* Figma: text-[15px] leading-[1.8] */
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.5em;
  color: var(--color-primary);
  line-height: 1.8;
}

/* =============================================
   p-seminars: おすすめのセミナーセクション
============================================= */
.p-seminars {
  width: 100%;
  background: #fff;
  padding: 64px 0;
  flex-shrink: 0;
}

.p-seminars__inner {
  max-width: var(--width-inner);
  margin: 0 auto;
  width: 100%;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

/* "おすすめのセミナー" 見出し */
.p-seminars__heading {
  /* Figma: text-[40px] font-bold NotoSerif text-center */
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 3.2em;
  color: var(--color-primary);
  line-height: 1;
  text-align: center;
}

/* 記事カードグリッド（4列） */
.p-seminars__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  width: 100%;
}

/* =============================================
   レスポンシブ（SP: max-width: 768px）
============================================= */
@media (max-width: 768px) {

  /* ---- mainvisual: SP ----
     Figma SP: node-id=20481:1155 */

  /* SP: 高さを auto に（テキスト量に応じて可変） */
  .p-mainvisual {
    height: auto;
  }

  /* SP: static に切り替えて縦積みに
     Figma SP: Inner_content flex-col gap-[40px] left-[24px] top-[24px] */
  .p-mainvisual__inner {
    position: relative;
    inset: auto;
    left: auto;
    transform: none;
    max-width: none;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    gap: 40px;
  }

  /* SP: 画像エリア（全幅 × 324px）
     Figma SP: Inner_images h-[324px] overflow-clip w-full */
  .p-mainvisual__images {
    width: 100%;
    height: 324px;
    border-radius: 0;
  }

  /* SP: テキストエリア（全幅）*/
  .p-mainvisual__text {
    width: 100%;
    gap: 32px;
  }

  /* SP: タイトルグループ（ラベルとタイトルの間隔を縮小）
     Figma SP: title flex-col gap-[8px] */
  .p-mainvisual__title-group {
    gap: 8px;
  }

  /* SP: ラベル（Figma SP: text-[14px] Medium） */
  .p-mainvisual__label {
    font-size: 1.4em;
    line-height: 1.2;
  }

  /* SP: 年号 + キャッチの間隔を縮小（Figma SP: main_title gap-[4px]） */
  .p-mainvisual__title {
    gap: 4px;
  }

  /* SP: 年号（サイズは PC と同じ） */
  .p-mainvisual__year {
    font-size: 2.4em;
  }

  /* SP: メインキャッチ（Figma SP: text-[32px] leading-[1.2]） */
  .p-mainvisual__h1 {
    font-size: 3.2em;
    line-height: 1.2;    
    padding-bottom: 0;
  }

  /* SP: 本文 */
  .p-mainvisual__body p {
    font-size: 1.4em;
  }
  /* ---- links: SP では縦並び ---- */
  /* Figma SP: px-[24px] py-[32px] */
  .p-links {
    padding: 32px 24px;
  }

  .p-links__container {
    /* Figma SP: flex-col gap-[16px] items-center w-full */
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 16px;
  }

  .p-links__card {
    /* Figma SP: w-full px-[16px] py-[24px] gap-[8px] */
    width: 100%;
    padding: 24px 16px;
    gap: 8px;
  }

  /* カード1もSPではjustify-betweenを解除 */
  .p-links__card--primary {
    justify-content: flex-start;
  }

  .p-links__label {
    /* Figma SP: gap-[4px] */
    gap: 4px;
  }

  .p-links__tag {
    /* Figma SP: text-[14px] */
    font-size: 1.4em;
  }

  /* SP: 見出し＋説明文のgapを縮小（Figma SP: gap-[4px]） */
  .p-links__title {
    gap: 4px;
  }

  .p-links__heading {
    /* Figma SP: text-[18px] */
    font-size: 1.6em;
  }

  /* 説明文テキスト */
  .p-links__desc {
    font-size: 1.3em;
  }

  /* ---- program セクション: SP ---- */
  .p-program {
    padding: 40px 0;
  }

  .p-program__container {
    padding: 0 var(--padding-sp);
    gap: 32px;
  }

  .p-program__category-num {
    font-size: 1.6em;
  }

  .p-program__category-name {
    font-size: 2em;
    white-space: normal;
    text-align: center;
  }

  /* 登壇者グリッド: SP では flex-wrap で小さくまとめる */
  .p-program__speakers-grid {
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  /* イベント見出し */
  .p-program__event-heading {
    font-size: 2.6em;
  }

  /* "登壇者紹介" / "解説者紹介" 見出し */
  .p-program__speakers-heading {
    font-size: 1.8em;
  }

  /* 本文テキスト */
  .p-program__event-text {
    font-size: 1.4em;
  }

  /* SP: カードを縮小（Figma: w-[77px]） */
  .c-speaker-card {
    width: 77px;
  }

  /* SP: 顔写真を縮小（Figma: size-[64px] rounded-[32px]） */
  .c-speaker-card__portrait {
    width: 64px;
    height: 64px;
    border-radius: 32px;
  }

  /* SP: 登壇者名（Figma: text-[16px]） */
  .c-speaker-card__name {
    font-size: 1.4em;
  }

  /* SP: 役職テキストを縮小（Figma: text-[10px]） */
  .c-speaker-card__role {
    font-size: 1.0em;
  }

  /* プロフィール文 */
  .p-program__speaker-bio {
    font-size: 1.4em;
  }

  /* イベント詳細 */
  .p-program__event-meta {
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
  }

  .p-program__event-body {
    flex-direction: column-reverse;
  }

  .p-program__event-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .p-program__video {
      padding: 24px;
    }

  /* 動画アイテム: SP では縦積み */
  .c-video-item {
    flex-direction: column;
    align-items: stretch;
  }
  

  .c-video-item__thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 380 / 214;
    border-radius: 8px 8px 0 0;
  }

  .c-video-item__text {
    padding: 20px 16px;
  }

  .c-video-item__title {
    font-size: 1.6em;
    line-height: 1.4;
  }

  /* 動画説明 */
  .c-video-item__desc {
    font-size: 1.4em;
  }

  /* 動画セクション見出し */
  .p-program__video-heading {
    font-size: 1.8em;
  }


  /* 解説者カード: SP では縦積み */
  .p-program__speaker-card {
    flex-direction: column;
    align-items: center;
    padding: 0px;
  }

  /* おすすめのセミナー */
  .p-seminars {
    padding: 40px 0;
  }

  .p-seminars__inner {
    padding: 0 var(--padding-sp);
    gap: 24px;
  }

  .p-seminars__heading {
    font-size: 2.4em;
  }

  /* 記事カード: 2 列に変更 */
  .p-seminars__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

}

/* ===== タブレット（769px〜1024px）===== */
@media (min-width: 769px) and (max-width: 1024px) {
  /* ---------- メインビジュアル ---------- */
  /* 高さを固定せず、中身に合わせて伸ばす */
  .p-mainvisual {
    height: auto;
    overflow: visible;
  }
  /* 背景画像は height: 100% で親に追従 */
  .p-mainvisual__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* absolute → relative にして親の高さを押し広げる */
  .p-mainvisual__inner {
    position: relative;
    inset: auto;
    transform: none;
    padding: 40px 24px;
    align-items: flex-start;
    gap: 24px;
  }
  /* 画像：PC の 480px → 340px に縮小 */
  .p-mainvisual__images {
    width: 340px;
    height: 340px;
  }
  /* テキスト側 */
  .p-mainvisual__text {
    gap: 20px;
  }
  /* 見出し */
  .p-mainvisual__h1 {
    font-size: 4em;       /* PC: 5em */
  }
  .p-mainvisual__label {
    font-size: 1.6em;     /* PC: 2em */
  }
  .p-mainvisual__year {
    font-size: 2.8em;     /* PC: 3.2em */
  }
  .p-mainvisual__body p {
    font-size: 1.4em;
  }
  /* ---------- リンクカード ---------- */
  .p-links__container {
    gap: 16px;
  }
  /* ---------- プログラムセクション ---------- */
  .p-program__event-heading {
    font-size: 2.8em;     /* PC: 3.2em */
  }
  .p-program__speakers-grid {
    gap: 16px;
  }
  /* ---------- 登壇者カード ---------- */
  .c-speaker-card {
    width: 130px;
  }
  .c-speaker-card__portrait {
    width: 90px;
    height: 90px;
    border-radius: 45px;
  }
  /* ---------- 動画リスト ---------- */
  .c-video-item__thumb {
    width: 280px;
    height: auto;
    aspect-ratio: 380 / 214;
  }
  /* ---------- セミナー一覧：3列 → 2列 ---------- */
  .p-seminars__list {
    grid-template-columns: repeat(2, 1fr);
  }
}