@charset "UTF-8";
/*
  /rakurakucloud/jidootai/asset/css/page/seminar/p-seminar-conference02.css
  /seminar/conference02/ FV以外用CSS
*/

.p-seminar-conference02 {
  /* 共催企業：左下の装飾を欠けずに表示（下端をセクション下端に合わせ、上はFVに重ねる） */
  & .m-seminar-detail-sponsor {
    overflow: visible;

    &::after {
      bottom: 0;
      left: 0;
      width: 460px;
      height: 514px;
      transform: none;
      @media screen and (max-width: 1024px) {
        width: 306px;
        height: 342px;
      }
    }
  }

  /* タイムテーブル：基調講演カードの上書き（白背景＋枠線、角丸の登壇者写真） */
  & .m-seminar-detail-timetable-box__card--keynote {
    border: 2px solid var(--gray-bg-01);

    & .m-seminar-detail-timetable-box__speakers {
      gap: 20px 40px;
    }
    & .m-seminar-detail-timetable-box__speaker-image-wrap {
      border-radius: 10px;
    }
  }

  /* タイムテーブル詳細モーダル：上下2段構成（上：セッション概要、下：講師情報）に上書き */
  & .m-seminar-detail-timetable-modal__content {
    display: flex;
    flex-direction: column;
    width: 1200px;
    max-width: 100%;
  }
  & .m-seminar-detail-timetable-modal__left {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 440px;
    grid-template-areas:
      "meta meta"
      "title logo";
    align-items: center;
    gap: 20px;
    border-radius: 10px 10px 0 0;
    padding: 60px 40px 30px;
    @media screen and (max-width: 1024px) {
      grid-template-columns: minmax(0, 1fr) 320px;
    }
    @media screen and (max-width: 840px) {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas:
        "meta"
        "title"
        "logo";
      padding: 50px 15px 30px;
    }
  }
  & .m-seminar-detail-timetable-modal__meta-wrap {
    grid-area: meta;
  }
  & .m-seminar-detail-timetable-modal__company {
    font-size: 18px;
    line-height: 1;
    @media screen and (max-width: 840px) {
      font-size: 16px;
      line-height: 1.4;
    }
  }
  & .m-seminar-detail-timetable-modal__session-title {
    grid-area: title;
    font-size: 24px;
    line-height: 1.3;
    @media screen and (max-width: 840px) {
      font-size: 20px;
      line-height: 1.4;
    }
  }
  & .m-seminar-detail-timetable-modal__logo-wrap {
    grid-area: logo;
    height: 150px;
    padding: 10px;
    @media screen and (max-width: 840px) {
      height: 120px;
    }
  }
  & .m-seminar-detail-timetable-modal__logo {
    width: 266px;
    @media screen and (max-width: 840px) {
      width: 200px;
    }
  }
  & .m-seminar-detail-timetable-modal__logo-doble {
    width: 240px;
    @media screen and (max-width: 840px) {
      width: 230px;
    }
  }
  & .m-seminar-detail-timetable-modal__right {
    border-radius: 0 0 10px 10px;
    padding: 30px 40px;
    @media screen and (max-width: 840px) {
      padding: 30px 15px;
    }
  }
  & .m-seminar-detail-timetable-modal__speakers {
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 30px 40px;
    @media screen and (max-width: 1024px) {
      grid-auto-flow: row;
    }
  }
  & .m-seminar-detail-timetable-modal__speaker {
    gap: 20px;

    /* 講師が1名の場合は、講師情報と紹介文を横並びにする */
    &:only-child {
      flex-direction: row;
      align-items: flex-start;
      @media screen and (max-width: 840px) {
        flex-direction: column;
      }
    }
  }
  & .m-seminar-detail-timetable-modal__speaker-head {
    align-items: flex-start;
    flex-shrink: 0;
  }
  & .m-seminar-detail-timetable-modal__speaker-image-wrap {
    width: 120px;
    height: 120px;
    border: 0;
    border-radius: 5px;
    background: var(--gray-bg-02);
    @media screen and (max-width: 840px) {
      width: 90px;
      height: 90px;
    }
  }
  & .m-seminar-detail-timetable-modal__speaker-info {
    max-width: 336px;
    gap: 10px;
  }
  & .m-seminar-detail-timetable-modal__speaker-affiliation {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
  }
  & .m-seminar-detail-timetable-modal__speaker-bio {
    font-size: 14px;
    line-height: 1.7;
  }
  & .m-seminar-detail-timetable-modal__cta {
    margin: 20px 0 0 0;
  }
}
