/* ==================================================
   セミナー会場切り替え
================================================== */

.seminar-tabs {
  width: 100%;
  margin: 0 auto;
}

/* ---------- タブボタン ---------- */
.seminar-tabs__nav {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.seminar-tabs__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 52px;
  padding: 12px 45px 12px 20px;
  border: 0;
  background: #114d7e;
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  appearance: none;
  transition:
    background-color .2s ease,
    opacity .2s ease;
}
/* 未選択 */
.seminar-tabs__button:not(.is-active) {
  background: #2172b3;
}
/* ホバー */
.seminar-tabs__button:hover {
  background: #114d7e;
}
/* 選択中 */
.seminar-tabs__button.is-active {
  background: #114d7e;
}

/* ---------- 右側の矢印 ---------- */
.seminar-tabs__icon {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-70%) rotate(45deg);
  transition: transform .2s ease;
}
/* 選択中は上向き */
.seminar-tabs__button.is-active .seminar-tabs__icon {
  transform: translateY(-30%) rotate(225deg);
}

/* ---------- コンテンツ ---------- */
.seminar-tabs__panel {
  display: none;
}
.seminar-tabs__panel.is-active {
  display: block;
}

/* ==================================================
   スマートフォン
================================================== */

@media (max-width: 767px) {
  .seminar-tabs__nav {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 15px;
  }
  .seminar-tabs__button {
    width: 100%;
    min-height: 50px;
    padding: 10px 40px 10px 15px;
    font-size: 15px;
  }
}


/* ==================================================
   Seminar Schedule
================================================== */

/* カテゴリーラベル */
.label_category10,.label_category11,.label_category12 {
  display: inline-block;
  background: #052579;
}
/* 詳細背景 */
.box_light {
  background: #EBEBEB;
}
/* 写真間の余白 */
.gap10 {
  gap: 10px;
}
/* PC時の登壇者写真幅 */
.w15 {
  width: 15%;
}


/* ==================================================
   Seminar Table
================================================== */

.seminar_schedule .table_basic {
  border-collapse: collapse;
}
/* ヘッダー */
.seminar_schedule .table_basic th {
  padding: 15px 20px;
  border: 0;
  background: #052579;
  color: #fff;
  font-size: 1.6rem;
}
.seminar_schedule .table_basic th::before,
.seminar_schedule .table_basic th::after {
  display: none;
}
.seminar_schedule .table_basic th:first-child {
  border-right: 1px dotted rgba(255,255,255,.7);
}
/* 本文 */
.seminar_schedule .table_basic td {
  padding: 15px;
  border-bottom: 1px solid #333333;
  vertical-align: middle;
}
.seminar_schedule .table_basic td:first-child {
  border-right: 1px dotted #333333;
}
/* 日時 */
.seminar_schedule .seminar_date {
  text-align: center;
  white-space: nowrap;
}


/* ==================================================
   Speaker
================================================== */

.seminar_schedule .seminar_speakers {
  align-items: flex-start;
}
.seminar_schedule .seminar_speakers img {
  display: block;
  width: 100%;
  height: auto;
}


/* ==================================================
   Accordion
================================================== */

.seminar_accordion {
  margin-top: 10px;
}
.seminar_detail_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 10px 45px;
  border: 0;
  border-radius: 0;
  background: #2172b3;
  color: #fff;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  appearance: none;
  transition: background-color .2s ease;
}
.seminar_detail_btn:hover {
  background: #114d7e;
}
/* 矢印 */
.seminar_detail_btn::after {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  transform: translateY(-70%) rotate(45deg);
  transition: transform .2s ease;
}
/* 開いた状態 */
.seminar_detail_btn.is-open::after {
  transform: translateY(-30%) rotate(225deg);
}
/* 詳細 */
.seminar_detail_panel {
  margin-top: 0;
  line-height: 1.7;
}
.seminar_detail_panel[hidden] {
  display: none;
}
/* 詳細本文 */
.seminar_detail_panel {
  margin-top: 0;
  line-height: 1.7;
}
.seminar_detail_panel[hidden] {
  display: none;
}


/* ==================================================
   SP
================================================== */

@media (max-width: 768px) {

  /*
    既存のw○sp指定より優先して
    テーブルセルを100%にする
  */
  .seminar_schedule .table_basic th,
  .seminar_schedule .table_basic td {
    width: 100% !important;
    max-width: none;
  }


  /* スマホではヘッダーを非表示 */
  .seminar_schedule .table_basic thead {
    display: none;
  }


  .seminar_schedule .table_basic tr {
    display: block;
    border-bottom: 1px solid #333333;
  }


  .seminar_schedule .table_basic td {
    display: block;
    padding: 2.67vw;
    border-bottom: 0;
  }


  /* 日時 */
  .seminar_schedule .table_basic td:first-child {
    border-right: 0;
    border-bottom: 1px dotted #333333;
    background: #EBEBEB;
  }

  .seminar_schedule .seminar_date {
    text-align: left;
  }


  /* 写真 */
  .seminar_schedule .seminar_speakers {
    gap: 2.67vw;
  }

  .seminar_schedule .seminar_speakers .w30sp {
    width: calc(33.333% - 1.8vw);
  }


  /* 詳細ボタン */
  .seminar_accordion .seminar_detail_btn {
    font-size: 1.5rem;
  }

  .seminar_detail_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 10px 45px;
}

.seminar_detail_btn span {
  line-height: 1.4;
}

}