@charset "utf-8";
/* CSS Document - XO Event Calendar 単一イベントページ */

/*====================================
  ページ余白
====================================*/
.page_singe {
   margin-bottom: 80px;
}

/*====================================
  コンテナ
====================================*/
.event-detail {
   max-width: 900px;
   margin: 0 auto;
   padding: 0 0 60px;
}

/*====================================
  見出し
====================================*/
.event-detail__badge {
   margin: 0 0 .8em;
   color: var(--color-blue);
   font-size: 1.5rem;
   display: inline-block;
   padding: .3em .8em;
   border-radius: 20px;
   background: #cfe4f7;
}
.event-detail__contents {
   color: var(--color-blue);
   font-size: 3rem;
   margin: 0 0 1.5em;
}
.event-detail__title {
   position: relative;
   padding: .5em 0 .6em 1.7rem;
   margin: 1.6em 0 .9em;
   font-size: 2.3rem;
   font-weight: bold;
   border-bottom: 1px solid #ddd;
}
.event-detail__title::before {
   content: "";
   position: absolute;
   left: 0;
   top: 46%;
   transform: translateY(-50%);
   width: 3px;
   height: 68%;
   background: var(--color-blue);
}

/*====================================
  イベント詳細テーブル
====================================*/
.event-detail__table {
   width: 100%;
   margin-top: 20px;
   border-collapse: collapse;
   border-spacing: 0;
}

.event-detail__table th,
.event-detail__table td {
   border: 1px solid #ccc;
   padding: 10px 1em;
   line-height: 1.5;
   vertical-align: middle;
}

.event-detail__table th {
   background: #eee;
   width: 25%;
   font-weight: bold;
   color: #333;
   text-align: center;
}

.event-detail__table td p {
   margin: .5em 0;
}

.event-detail__table td a {
   color: var(--color-blue);
}

.event-detail__table td.event_info {
   font-weight: 500;
   font-size: 1.2em;
}

.event-detail__table td ul {
   margin-left: 2em;
   list-style-type: inherit;
}

.event-detail__table td ul li {
   list-style-type: inherit;
   margin: .2em 0;
}

.speaker_wrap{
   display: flex;
   justify-content: space-between;
}
.speaker_img{
   width: 25%;
}
.speaker_box{
   width: 71%;
}
.speaker_name{
   font-size: 2.2rem;
}
.speaker_affiliation{
   margin: 1em 0;
}
.speaker_info{
   color: #222;
   line-height: 170%;
   font-size: .9em;
}

/*====================================
  アクションボタン（2つ横並び）LP合わせ
====================================*/
.event-detail__actions {
   display: flex;
   justify-content: space-between;
   max-width: 650px;
   margin: 8rem auto 0;
}

/* common.css の .btn (width:380px, margin:0 auto) を上書き */
.event-detail__actions .event-detail__btn {
   width: 48%;
   margin: 0;
   height: auto;
   padding: 20px 0;
   border-radius: 50px;
   font-size: 1.1em;
   font-weight: bold;
   text-align: center;
}

/* 「この日程で申し込む」— LP合わせ: ゴールド背景 + 黒文字 */
.event-detail__actions .btn_orange.event-detail__btn {
   background: #f0bf46;
   color: #000;
   border: 1px solid #ef8419;
   box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.2);
}

/* 「別の日を指定する」— LP合わせ: 白背景 + 青枠 + 青文字 */
.event-detail__actions .btn_line.event-detail__btn {
   color: #0061af;
   background: #fff;
   border: 1px solid #0061af;
   box-shadow: none;
}

/*====================================
  レスポンシブ
====================================*/
@media screen and (max-width: 767px) {
   .event-detail {
      padding: 0 20px 0px;
   }
   
   .event-detail__badge {
      font-size: 1.3rem;
   }
   
   .event-detail__contents {
      font-size: 1.8rem;
    }
   
   .event-detail__title{
      font-size: 1.5rem;
   }

   .event-detail__table {
      width: 100%;
      margin-top: 20px;
      border-collapse: collapse;
      border-spacing: 0;
   }
   
   .event-detail__table tr,
   .event-detail__table th,
   .event-detail__table td {
      display: block;
      width: 100%;
      box-sizing: border-box;
      border-collapse: collapse;
      border-spacing: 0;
      text-align: left;
      border: 0;
   }
   
   .event-detail__table td {
      padding-bottom: 1.8em;
   }

   .event-detail__actions {
      flex-direction: column;
      align-items: center;
      gap: 14px;
   }

   .event-detail__actions .event-detail__btn {
      width: 100%;
   }
   
   .speaker{
      margin-bottom: 30px;
   }
   .speaker_wrap{
      display: block;
   }
   .speaker_img{
      width: 60%;
      margin: auto auto 15px;
   }
   .speaker_box{
      width: 100%;
   }
   .speaker_name{
      font-size: 1.1em;
   }
   .seminar .flex_between{
      display: block;
      margin: 0;
      padding: 0;
   }
   .seminar .flex_between li{
      width: 100%;
      margin: 12px auto;
   }
}
