@charset "UTF-8";

/* =========================================
   Schedule page override (structure-scoped)
   想定:
   main.u-bg or main.p-bg
     .meatup-block-fullWide__inner
       h1.h1-schedule（::beforeで英字）
       .p-schedule-date__container（タブ）
       .p-cast__container（カード）
   ========================================= */

/* ====== 0) スコープ（この内側だけ触る） ====== */
main.u-bg .meatup-block-fullWide__inner,
main.p-bg .meatup-block-fullWide__inner{
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 clamp(16px, 2vw, 24px) !important;
  box-sizing: border-box;
}

/* 背景：scheduleページにだけ当てたいなら main単体は触らない */
main.u-bg,
main.p-bg{
  background-image: url(../img/bg_pc.jpg) !important;
  background-size: cover !important;
  background-position: center !important;
}

/* ====== 1) 見出し（擬似要素でアイブロー） ====== */
/* まず親テーマの h1 { width:80%; color:#fff; } を殺す */
main.u-bg .meatup-block-fullWide__inner h1,
main.p-bg .meatup-block-fullWide__inner h1{
  width: auto !important;
}

main.u-bg .meatup-block-fullWide__inner h1.h1-schedule,
main.p-bg .meatup-block-fullWide__inner h1.h1-schedule{
  position: relative;                /* 擬似要素の基準 */
  text-align: center !important;
  margin: 10px auto 24px !important;
  padding-top: 28px !important;      /* 擬似要素の居場所 */
  font-size: clamp(28px, 3vw, 42px) !important;
  letter-spacing: .05em !important;
  font-weight: 500 !important;
  color: #111 !important;
  line-height: 1.2;
}

/* 親テーマが .h1-schedule:before を持ってるので、まず無効化 */
main.u-bg .meatup-block-fullWide__inner h1.h1-schedule::before,
main.p-bg .meatup-block-fullWide__inner h1.h1-schedule::before{
  content: "Schedule";               /* ← ここを変える */
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 14px;
  letter-spacing: .12em;
  line-height: 1;
  color: #000;                       /* 赤にしたいならここ */
  font-family: 'Great Vibes', sans-serif;
  font-weight: 400;
  pointer-events: none;
}

/* ====== 2) 日付タブ（大理石用） ====== */
main.u-bg .meatup-block-fullWide__inner .p-schedule-date__container,
main.p-bg .meatup-block-fullWide__inner .p-schedule-date__container{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: clamp(8px, 1.2vw, 16px) !important;
  padding: 0 !important;
  margin: clamp(12px, 1.8vw, 18px) 0 clamp(18px, 2.4vw, 26px) !important;
  list-style: none !important;
}

/* 通常 */
main.u-bg .meatup-block-fullWide__inner a.p-schedule-date__wrapper,
main.p-bg .meatup-block-fullWide__inner a.p-schedule-date__wrapper{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  text-decoration: none !important;

  /* ←ここ変更 */
  border: 1px solid rgba(0,0,0,.08) !important;
  background: rgba(255,255,255,.85) !important;
  backdrop-filter: blur(4px);
  color: #222 !important;

  box-shadow: 0 4px 12px rgba(0,0,0,.06);

  transition: transform .12s ease, background .12s ease, box-shadow .12s ease;
}

/* hover */
main.u-bg .meatup-block-fullWide__inner a.p-schedule-date__wrapper:hover,
main.p-bg .meatup-block-fullWide__inner a.p-schedule-date__wrapper:hover{
  transform: translateY(-1px);
  background: #ffffff !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  opacity: 1;
}

/* active（選択中） */
main.u-bg .meatup-block-fullWide__inner a.p-schedule-date__wrapper--active,
main.p-bg .meatup-block-fullWide__inner a.p-schedule-date__wrapper--active{
  background: #1f2a44 !important; /* ネイビー寄り */
  border-color: #1f2a44 !important;
  color: #fff !important;
}

/* テキスト */
main.u-bg .meatup-block-fullWide__inner .p-schedule-date__wrapper li,
main.p-bg .meatup-block-fullWide__inner .p-schedule-date__wrapper li{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  font-size: clamp(13px, 1.4vw, 15px) !important;
  letter-spacing: .02em !important;
}

/* ====== 3) キャストカード（Schedule内） ====== */
main.u-bg .meatup-block-fullWide__inner .p-cast__container,
main.p-bg .meatup-block-fullWide__inner .p-cast__container{
  display: grid !important; /* 親のflex潰し */
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.6vw, 20px) !important;
  align-items: start !important;

  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* 親の width:50% / flex-basis などを無効化 */
main.u-bg .meatup-block-fullWide__inner .p-cast__container > .p-cast__wrapper,
main.p-bg .meatup-block-fullWide__inner .p-cast__container > .p-cast__wrapper{
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  flex-basis: auto !important;
  display: block !important;

  border-radius: 16px;
  overflow: hidden;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.12);
  padding: clamp(10px, 1.4vw, 14px);
  box-sizing: border-box;
}

/* 画像枠：縦横比固定 */
main.u-bg .meatup-block-fullWide__inner .p-cast_list-item__img-wrapper,
main.p-bg .meatup-block-fullWide__inner .p-cast_list-item__img-wrapper{
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 3 / 4;
}

/* 画像をフィット */
main.u-bg .meatup-block-fullWide__inner .p-cast_list-item__img-cast,
main.p-bg .meatup-block-fullWide__inner .p-cast_list-item__img-cast{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* 額縁が不要なら scheduleでも消す */
main.u-bg .meatup-block-fullWide__inner .p-cast_list-item__img-frame,
main.p-bg .meatup-block-fullWide__inner .p-cast_list-item__img-frame{
  display: none !important;
}

/* ===== テキスト類：視認性改善版 ===== */

/* 名前 */
main.u-bg .meatup-block-fullWide__inner .p-cast__list-item__name,
main.p-bg .meatup-block-fullWide__inner .p-cast__list-item__name {
  display: block;
  margin-top: 14px;
  font-size: clamp(20px, 2vw, 28px) !important;
  line-height: 1.35;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f1f1f !important;
  text-shadow: none;
}

/* 体型情報 */
main.u-bg .meatup-block-fullWide__inner .p-cast__list-item__property,
main.p-bg .meatup-block-fullWide__inner .p-cast__list-item__property {
  display: block;
  margin-top: 6px;
  font-size: clamp(14px, 1.3vw, 17px) !important;
  line-height: 1.5;
  text-align: center;
  font-weight: 500;
  color: #6a6a6a !important;
  opacity: 1;
}

/* 出勤時間 */
main.u-bg .meatup-block-fullWide__inner .p-cast__list-item__time,
main.p-bg .meatup-block-fullWide__inner .p-cast__list-item__time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 16px auto 0;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: clamp(16px, 1.8vw, 22px) !important;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff !important;
  background: linear-gradient(135deg, #b12a2a, #d14a4a);
  box-shadow: 0 8px 18px rgba(177, 42, 42, 0.22);
}

/* Moreボタン */
main.u-bg .meatup-block-fullWide__inner a.p-cast__list-item__more,
main.p-bg .meatup-block-fullWide__inner a.p-cast__list-item__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 14px auto 0;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid #1f2a44;
  background: #1f2a44;
  color: #fff !important;
  font-size: clamp(14px, 1.4vw, 16px) !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 8px 18px rgba(31, 42, 68, 0.18);
}

/* Moreボタン hover */
main.u-bg .meatup-block-fullWide__inner a.p-cast__list-item__more:hover,
main.p-bg .meatup-block-fullWide__inner a.p-cast__list-item__more:hover {
  background: #2c3b63;
  border-color: #2c3b63;
  color: #fff !important;
  opacity: 1;
  transform: translateY(-1px);
}

/* カード下の文字エリア全体を整える */
main.u-bg .meatup-block-fullWide__inner .p-cast__wrapper,
main.p-bg .meatup-block-fullWide__inner .p-cast__wrapper {
  text-align: center;
}

/* Moreと時間を中央に寄せやすくする保険 */
main.u-bg .meatup-block-fullWide__inner .p-cast__list-item__time,
main.u-bg .meatup-block-fullWide__inner a.p-cast__list-item__more,
main.p-bg .meatup-block-fullWide__inner .p-cast__list-item__time,
main.p-bg .meatup-block-fullWide__inner a.p-cast__list-item__more {
  width: fit-content;
}

/* SPで少し詰める */
@media (max-width: 600px) {
  main.u-bg .meatup-block-fullWide__inner .p-cast_list-item__name,
  main.p-bg .meatup-block-fullWide__inner .p-cast_list-item__name {
    margin-top: 12px;
    font-size: 18px !important;
  }

  main.u-bg .meatup-block-fullWide__inner .p-cast_list-item__property,
  main.p-bg .meatup-block-fullWide__inner .p-cast_list-item__property {
    font-size: 14px !important;
  }

  main.u-bg .meatup-block-fullWide__inner .p-cast_list-item__time,
  main.p-bg .meatup-block-fullWide__inner .p-cast_list-item__time {
    margin-top: 14px;
    padding: 9px 16px;
    font-size: 18px !important;
  }

  main.u-bg .meatup-block-fullWide__inner a.p-cast_list-item__more,
  main.p-bg .meatup-block-fullWide__inner a.p-cast_list-item__more {
    min-height: 40px;
    margin-top: 12px;
    padding: 0 20px;
    font-size: 14px !important;
  }
}

/* ====== 4) レスポンシブ ====== */
@media (max-width: 1000px){
  main.u-bg .meatup-block-fullWide__inner .p-cast__container,
  main.p-bg .meatup-block-fullWide__inner .p-cast__container{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px){
  main.u-bg .meatup-block-fullWide__inner .p-schedule-date__container,
  main.p-bg .meatup-block-fullWide__inner .p-schedule-date__container{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  main.u-bg .meatup-block-fullWide__inner a.p-schedule-date__wrapper,
  main.p-bg .meatup-block-fullWide__inner a.p-schedule-date__wrapper{
    width: 100%;
    padding: 0 !important;
  }
}

@media (max-width: 600px){
  main.u-bg .meatup-block-fullWide__inner .p-cast__container,
  main.p-bg .meatup-block-fullWide__inner .p-cast__container{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  main.u-bg .meatup-block-fullWide__inner .p-schedule-date__container,
  main.p-bg .meatup-block-fullWide__inner .p-schedule-date__container{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}