/* =======================================
   スケジュールページ
======================================= */

/* ===== メイン ===== */
.p-schedule {
  /* max-width: 1200px; */
  margin: 0 auto;
  /* padding: 40px 16px; */
  background-color: #F6F6F6;
}
.p-schedule__title {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 32px;
  text-align: left;
}

/* ===== ページタイトル ===== */
.p-schedule__visual {
  position: relative;
  overflow: hidden;
  height: 256px;
  margin-top: 104px;
  background-color: #E7E7E7;
  background-repeat: no-repeat;
  background-position: center top;
  /* background-size: auto; */
  background-size: 1440px auto;
  background-image: url('../img/title_back_pc.png');
}

@media (max-width: 767px) {
  .p-schedule__visual {
    height: 200px;
    background-size: 100% auto;
    background-image: url('../img/title_back_sp.png');
  }
}
.p-schedule__visual-inner {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 1152px;
  transform: translateY(-50%);
  text-align: left;
  z-index: 1;
}

.p-schedule__title {
  margin: 0;
  color: #000;
  font-size: 32px;
  font-weight: 500;
}
.p-schedule__title span {
  font-family: 'Noto Sans JP', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN',
    'Hiragino Sans', 'Segoe UI', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 16px;
  font-weight: 400;
}

/* ===== 日付ボタン ===== */
.p-schedule__nav {
  display: flex;
  flex-wrap: wrap;
  width: 1152px;
  gap: 48px 64px;
  justify-content: center;
  margin: 0 auto 72px;
  padding-top: 136px;
}
.p-schedule__btn {
  background: transparent;
  color: #000;
  border: 1px solid #000;
  font-size: 24px;
  font-family: "Times New Roman", Times, serif;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
  width: 240px;
  height: 56px;
}
.p-schedule__btn span {
  font-size: 16px;
}
.p-schedule__btn:hover {
  background: #5D5D5D;
  color: #fff;
  border: 1px solid #5D5D5D;
}
.p-schedule__btn.is-active {
  background: #5D5D5D;
  color: #fff;
  border: 1px solid #5D5D5D;
}

/* ===== 各日付セクション ===== */
.p-schedule__day {
  width: 1152px;
  margin: 0 auto;
  padding-bottom: 80px;
}
.p-schedule__day-title {
  font-size: 24px;
  margin-bottom: 40px;
  padding-left: 24px;
  background-color: #E7E7E7;
  line-height: 64px;
  height: 64px;
  font-weight: 400;
  font-family: "Times New Roman", Times, serif;
}
.p-schedule__day-title span {
  font-size: 18px;
}

/* ===== イベントカード ===== */
.p-schedule__card {
  border: 1px solid #000;
  background-color: transparent;
  margin-bottom: 40px;
  transition: all 0.3s;
}
.p-schedule__card:hover {
  opacity: .7;
}


/* ==========================
　カードのホバーアニメーション
========================== */
.p-schedule__card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 24px;
  position: relative;
}
.p-schedule__card-link::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 65px;
    margin: auto;
    width: 63px;
    height: 1px;
    background: #000;
    transition: .3s;
}
.p-schedule__card-link::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 65px;
    margin: auto;
    width: 16px;
    height: 16px;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-135deg);
    transition: .3s;
}
.p-schedule__card-link:hover::before{
    right: 55px;
    width: 73px;
}
.p-schedule__card-link:hover::after{
    right: 55px;
}
/* ================== ここまで ================== */

.p-schedule__card-label {
  display: flex;
  /* gap: 16px; */
  align-items: center;
  margin-bottom: 14px;
}

/* .p-schedule__card-meta {
  display: flex;
  gap: 40px;
} */

.p-schedule__label-main,
.p-schedule__label-satellite {
  display: inline-block;
  font-size: 13px;
  width: 112px;
  height: 28px;
  line-height: 28px;
  color: #fff;
  text-align: center;
}
/* .p-schedule__label-floor {
  display: inline-block;
  font-size: 13px;
  width: 112px;
  color: #000;
  border: 1px solid #000;
  text-align: center;
} */
.p-schedule__label-type {
  display: inline-block;
  font-size: 13px;
  width: 112px;
  color: #000;
  border: 1px solid #000;
  text-align: center;
}
.p-schedule__label-main {
  background-color: #B3FD90; /* メイン会場 */
  color: #5D5D5D;
}
.p-schedule__label-satellite {
  background-color: transparent; /* サテライト会場 */
  color: #5D5D5D;
  /* border: #5D5D5D 1px solid; */
}



.p-schedule__label-floor-type.is-free {
  background-color: #E7E7E7;
  color: #5D5D5D;
  width: 112px;
  font-size: 13px;
  text-align: center;
  height: 28px;
  line-height: 28px;
}
.p-schedule__label-floor-type.is-paid {
  background-color: #F9F900;
  color: #5D5D5D;
  width: 112px;
  font-size: 13px;
  text-align: center;
  height: 28px;
  line-height: 28px;
}
.p-schedule__label-floor-type.is-floor-6 {
  background-color: #14BCFF;
  color: #fff;
  width: 112px;
  font-size: 13px;
  text-align: center;
  height: 28px;
  line-height: 28px;
}
.p-schedule__label-floor-type.is-floor-7 {
  background-color: transparent;
  color: #14BCFF;
  box-shadow: inset 0 0 0 1px #14BCFF;
  width: 112px;
  font-size: 13px;
  text-align: center;
  height: 28px;
  line-height: 28px;
}




.p-schedule__card-title {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 14px;
}
.p-schedule__card-time {
  font-size: 13px;
  line-height: 1.6;
}
.p-schedule__card-event-title {
  font-size: 13px;
  line-height: 1.6;
}
/* .p-schedule__meta-value {
  font-size: 15px;
} */



/* ========================================
  カード修正のCSS　特設会場
======================================== */
.p-schedule__label-floor {
  background: #F9F900;
  color: #5D5D5D;
  font-size: 13px;
  margin-right: 16px;
  width: 112px;
  /* height: 24px; */
  display: inline-block;
  line-height: 26px;
  text-align: center;
}
.p-schedule__label-type {
  background: transparent;
  border: 1px solid #5D5D5D;
  color: #5D5D5D;
  font-size: 13px;
  margin-right: 16px;
  width: 112px;
  /* height: 24px; */
  display: inline-block;
  line-height: 24px;
  text-align: center;
}
.p-schedule__label-fee.is-free {
  background: transparent;
  border: 1px solid #14BCFF;
  color: #14BCFF;
  font-size: 13px;
  width: 91px;
  /* height: 24px; */
  display: inline-block;
  line-height: 24px;
  text-align: center;
}
.p-schedule__label-fee.is-paid {
  background: #14BCFF;
  color: #fff;
  font-size: 13px;
  width: 91px;
  height: 24px;
  display: inline-block;
  line-height: 24px;
  text-align: center;
}
.p-schedule__card-title {
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 14px;
}
.p-schedule__meta-row {
  display: flex;
  gap: 40px;
}

/* ========================================
  カード修正のCSS　サテライト会場
======================================== */
.p-schedule__label-satellite {
  background: #B3FD90;
  color: #656565;
  margin-right: 16px;
}
.p-st-schedule__card-title {
  font-size: 18px;
  margin-bottom: 4px;
  font-weight: 400;
}
.p-schedule__venue {
  font-size: 13px;
  margin-bottom: 14px;
}







/* ===== SP対応（768px未満） ===== */
@media (max-width: 767px) {
  .p-schedule__visual {
    margin-top: 72px;
  }
  .p-schedule__title {
    font-size: 23px;
    padding-left: 16px;
  }
  .p-schedule__nav {
    /* flex-direction: column; */
    align-items: stretch;
    gap: 24px;
    width: 100%;
    padding: 72px 16px 64px;
    margin-bottom: 0;
  }
  .p-schedule__nav .p-schedule__btn {
    width: calc(50% - 12px);
    font-size: 19px;
  }
  .p-schedule__btn span {
    font-size: 13px;
  }
  .p-schedule__card {
    margin-bottom: 48px;
  }

  /* ==========================
  カードの矢印
  ========================== */
  .p-schedule__card-link {
    padding: 16px 107px 16px 16px;
  }
  .p-schedule__card-link::before{
      top: auto;
      bottom: 31px;
      right: 26px;
      width: 47px;
      height: 1px;
  }
  .p-schedule__card-link::after{
      top: auto;
      bottom: 24px;
      right: 27px;
      width: 16px;
      height: 16px;
  }
  /* ここまで */

  .p-schedule__card-meta {
    flex-direction: column;
    gap: 14px;
  }
  .p-schedule__card:last-child {
    margin-bottom: 0;
  }
  .p-schedule__day-title {
    font-size: 21px;
    padding-left: 16px;
    height: 48px;
    line-height: 48px;
  }
  .p-schedule__day-title span {
    font-size: 15px;
  }
  .p-schedule__label-main, .p-schedule__label-satellite {
    font-size: 12px;
  }
  .p-schedule__label-floor {
    font-size: 12px;
    padding: 4px 6px;
  }
  .p-schedule__label-type {
    font-size: 12px;
    padding: 4px 6px;
  }
  .p-schedule__card-title {
    font-size: 17px;
  }
  .p-schedule__day {
    width: 100%;
    padding: 0 16px;
    padding-bottom: 64px;
  }

  .p-schedule__label-floor-type.is-free {
    font-size: 12px;
  }
  .p-schedule__label-floor-type.is-paid {
    font-size: 12px;
  }
  .p-schedule__label-floor-type.is-floor-6 {
    font-size: 12px;
  }
  .p-schedule__label-floor-type.is-floor-7 {
    font-size: 12px;
  }

  .p-schedule__meta-label {
    font-size: 12px;
  }


  /* カード修正のCSS */
  .p-schedule__card-label {
    flex-wrap: wrap;
  }
  .p-schedule__meta-row {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .p-schedule__label-floor {
    width: auto;
    padding: 0 6px;
  }
  .p-schedule__label-type {
    width: auto;
    padding: 0 6px;
  }
  .p-schedule__label-fee.is-free {
    width: auto;
    padding: 0 6px;
  }
  .p-schedule__label-fee.is-paid {
    width: auto;
    padding: 0 6px;
  }
  .p-schedule__label-floor {
    margin-right: 5px;
  }
  .p-schedule__label-type {
    margin-right: 5px;
  }
  .p-schedule__label-satellite {
    margin-right: 5px;
  }
}
