@charset "UTF-8";

/* ======================================================
 * baseball schedule index
 * ------------------------------------------------------
 * - Override
 * - Content
====================================================== */


/* ------------------------------------------------------
 * Override
------------------------------------------------------ */


/* ------------------------------------------------------
 * Content
------------------------------------------------------ */

/*----- PC -----*/
@media (min-width: 1025px) {
}

/*----- TB / PC（parts_pc.cssの適用域に合わせる） -----*/
@media print, screen and (min-width: 767px) {
  :root {
    /* デザイン基準幅。案件で変わるのはこの2行だけ */
    --vw-min: 768;
    --vw-max: 1920;

    /* 768px→0、1920px→1 になる進捗率。全パーツ共通 */
    --fluid: (100vw - var(--vw-min) * 1px) / (var(--vw-max) - var(--vw-min));
  }

  /*----- schedule-index-layout -----*/
  .schedule-index-layout {
    max-width: 1600px;
    margin: 0 auto;
  }

  /*----- schedule-index-calendar -----*/
  .schedule-index-calendar.fc .fc-toolbar-chunk:first-child {
    flex: 1;
  }
  .schedule-index-calendar.fc .fc-toolbar-chunk:last-child {
    flex: 0;
  }
  .schedule-index-calendar.fc .fc-header-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: clamp(
      20px,
      calc(20px + (42 - 20) * var(--fluid)),
      42px
    );
    padding-bottom: clamp(
      17px,
      calc(17px + (19 - 17) * var(--fluid)),
      19px
    );
    border-bottom: 1px solid #e94709;
  }
  .schedule-index-calendar.fc .fc-toolbar-title {
    font-size: clamp(
      2.4rem,
      calc(24px + (30 - 24) * var(--fluid)),
      3.0rem
    );
    line-height: 1.5;
    font-weight: bold;
  }
  .schedule-index-calendar.fc .fc-button-group {
    display: flex;
    column-gap: clamp(
      11px,
      calc(11px + (22 - 11) * var(--fluid)),
      22px
    );
  }
  .schedule-index-calendar.fc .fc-button,
  .schedule-index-calendar.fc .fc-button:active {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
    appearance: none;
    border-radius: 0;


    --label-fz: clamp(
      1.288rem,
      calc(12.88px + (18 - 12.88) * var(--fluid)),
      1.8rem
    );
    --label-pad: clamp(
      8px,
      calc(8px + (10 - 8) * var(--fluid)),
      10px
    );

    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    min-width: fit-content;
    padding-block: var(--label-pad);
    padding-inline: clamp(20px, calc(20px + (29 - 20) * var(--fluid)), 29px);
    background-color: #f4f4f0;
    color: #000;
    font-size: var(--label-fz);
    line-height: 1.0;
    transition: opacity 0.3s;
  }
  .schedule-index-calendar.fc .fc-button:not(:disabled):active:focus {
    box-shadow: none;
  }
  .schedule-index-calendar.fc .fc-button:focus-visible {
    outline: auto;
  }
  .schedule-index-calendar.fc .fc-button:disabled {
    display: none;
  }
  .schedule-index-calendar.fc .fc-button:hover {
    opacity: 0.6;
  }

  .schedule-index-calendar.fc .fc-button.fc-prev-button {
    padding-left: clamp(
      calc(20px + (var(--label-fz) + var(--label-pad) * 2)),
      calc((20px + (29 - 20) * var(--fluid) + calc(var(--label-fz) + var(--label-pad) * 2))),
      calc(29px + (var(--label-fz) + var(--label-pad) * 2))
    );
  }
  .schedule-index-calendar.fc .fc-button.fc-next-button {
    padding-right: clamp(
      calc(20px + (var(--label-fz) + var(--label-pad) * 2)),
      calc((20px + (29 - 20) * var(--fluid) + calc(var(--label-fz) + var(--label-pad) * 2))),
      calc(29px + (var(--label-fz) + var(--label-pad) * 2))
    );
  }

  .schedule-index-calendar.fc .fc-prev-button::before,
  .schedule-index-calendar.fc .fc-next-button::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: calc(var(--label-fz) + var(--label-pad) * 2);
    height: calc(var(--label-fz) + var(--label-pad) * 2);
    background: #e94709;
  }
  .schedule-index-calendar.fc .fc-prev-button::before { left: -1px; }
  .schedule-index-calendar.fc .fc-next-button::after  { right: -1px; }

  .schedule-index-calendar.fc .fc-prev-button::after,
  .schedule-index-calendar.fc .fc-next-button::before {
    content: "";
    width: clamp(
      1.1rem,
      calc(11px + (14 - 11) * var(--fluid)),
      1.4rem
    );
    height: clamp(
      1.1rem,
      calc(11px + (14 - 11) * var(--fluid)),
      1.4rem
    );
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    top: calc(50% - 0.7rem);
    top: clamp(
      calc(50% - 0.5rem),
      calc(50% - 5px + (5 - 7) * var(--fluid)),
      calc(50% - 0.7rem)
    );
    z-index: 2;
  }
  .schedule-index-calendar.fc .fc-prev-button::after  {
    left: clamp(
      1.3rem,
      calc(13px + (18 - 13) * var(--fluid)),
      1.8rem
    );
    transform: rotate(-135deg) skew(-15deg, -15deg);
  }
  .schedule-index-calendar.fc .fc-next-button::before {
    right: clamp(
      1.3rem,
      calc(13px + (18 - 13) * var(--fluid)),
      1.8rem
    );
    transform: rotate(45deg) skew(-15deg, -15deg);
  }

  .schedule-index-calendar .schedule-index-calendar__caption {
    margin-bottom: calc(22px + (46 - 22) * var(--fluid));
  }
  .schedule-index-calendar .schedule-index-calendar__note-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .schedule-index-calendar .schedule-index-calendar__note-list > li {
    position: relative;
    padding-left: calc(1em + 5px);
    font-size: clamp(
      1.3rem,
      calc(13px + (16 - 13) * var(--fluid)),
      1.6rem
    );
    line-height: 1.5;
  }
  .schedule-index-calendar .schedule-index-calendar__note-list__mark {
    position: absolute;
    left: 0;
    top: 0;
  }

  .schedule-index-calendar.fc .fc-day,
  .schedule-index-calendar.fc .fc-cell-shaded,
  .schedule-index-calendar.fc .fc-day-disabled {
    background-color: #fff;
  }
  .schedule-index-calendar.fc .fc-col-header .fc-day {
    background-color: #f1f1f1;
    vertical-align: middle;
    text-align: center;
  }
  .schedule-index-calendar.fc .fc-col-header .fc-col-header-cell-cushion {
    color: #000;
    font-size: clamp(1.42rem, calc(14.2px + (18 - 14.2) * var(--fluid)), 1.8rem);
    font-weight: bold;
    line-height: 1.6;
  }
  .schedule-index-calendar.fc .fc-day-sun {
    background-color: #fff0f0;
  }
  .schedule-index-calendar.fc .fc-day-sun .fc-daygrid-day-number {
    color: #d92222;
  }
  .schedule-index-calendar.fc .fc-day-sat {
    background-color: #e8f1fa;
  }
  .schedule-index-calendar.fc .fc-day-sat .fc-daygrid-day-number {
    color: #126cd0;
  }
  .schedule-index-calendar.fc .fc-daygrid-day.fc-day-today {
    background-color: #fff3cd;
  }
  .schedule-index-calendar.fc .fc-scrollgrid-section-body .fc-daygrid-day-top {
    display: block;
    margin-bottom: clamp(2px, calc(2px + (5 - 2) * var(--fluid)), 5px);
  }
  .schedule-index-calendar.fc .fc-daygrid-day-number {
    color: #666;
    font-size: clamp(2.2rem, calc(22px + (28 - 22) * var(--fluid)), 2.8rem);
    font-weight: bold;
    line-height: 1.0;
  }

  .schedule-index-calendar td.fc-day,
  .schedule-index-calendar th.fc-day {
    border: 1px solid #ddd;
    vertical-align: top;
    transition: 0.3s;
    padding: clamp(
      8px,
      calc(8px + (20 - 8) * var(--fluid)),
      20px
    );
  }
  .schedule-index-calendar tbody td.fc-day,
  .schedule-index-calendar tbody th.fc-day {
    height: clamp(
      125px,
      calc(125px + (178 - 125) * var(--fluid)),
      178px
    );
  }
  .schedule-index-calendar tbody td.fc-day:has(a.fc-event:hover),
  .schedule-index-calendar tbody th.fc-day:has(a.fc-event:hover) {
    background-color: #f4f4f0;
  }


  .schedule-index-calendar.fc .fc-h-event {
    background-color: transparent;
    border: none;
    border-radius: 0;
  }
  .schedule-index-calendar.fc .fc-daygrid-day-events {
    margin-bottom: 0;
  }
  .schedule-index-calendar.fc a.fc-event:not(:hover) .schedule-index-calendar__match.is-cancel .schedule-index-calendar__location,
  .schedule-index-calendar.fc a.fc-event:not(:hover) .schedule-index-calendar__match.is-cancel .schedule-index-calendar__time,
  .schedule-index-calendar.fc a.fc-event:not(:hover) .schedule-index-calendar__match.is-cancel .schedule-index-calendar__title {
    color: #666;
    text-decoration: line-through;
  }
  .schedule-index-calendar.fc .fc-daygrid-event {
    margin-top: 0;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__category {
    display: flex;
    flex-direction: column;
    row-gap: 3px;
    margin-top: 2px;
  }
  .schedule-index-calendar.fc [class*="schedule-index-calendar__badge"] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    padding-block: 4px;
    padding-inline: clamp(
      11px,
      calc(11px + (15 - 11) * var(--fluid)),
      15px
    );
    font-size: clamp(
      0.945rem,
      calc(9.45px + (12 - 9.45) * var(--fluid)),
      1.2rem
    );
    font-weight: normal;
    line-height: 1.0;
    text-align: center;
    white-space: normal;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__badge--lv1 {
    border: 1px solid #7f7f7f;
    background-color: #7f7f7f;
    color: #fff;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__badge--lv2 {
    border: 1px solid #e94709;
    background-color: #e94709;
    color: #fff;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__badge--lv3 {
    border: 1px solid #e94709;
    background-color: #fff;
    color: #e94709;
  }
  .schedule-index-calendar.fc a.fc-event.is-nolink {
    pointer-events: none;
  }
  .schedule-index-calendar.fc a.fc-event:hover .schedule-index-calendar__title {
    text-decoration: underline;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__title {
    margin-bottom: clamp(
      3px,
      calc(3px + (5 - 3) * var(--fluid)),
      5px
    );
    color: #333;
    font-size: clamp(
      1.26rem,
      calc(12.6px + (16 - 12.6) * var(--fluid)),
      1.6rem
    );
    font-weight: bold;
    line-height: 1.5;
    white-space: normal;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__time,
  .schedule-index-calendar.fc .schedule-index-calendar__location {
    color: #333;
    font-size: clamp(
      1.1rem,
      calc(11px + (14 - 11) * var(--fluid)),
      1.4rem
    );
    font-weight: normal;
    line-height: 1.6;
    white-space: normal;
  }
}

/*----- 3カラム 1062px～ -----*/
@media screen and (min-width: 1062px) {
}

/*----- 4カラム 1430px～ -----*/
@media screen and (min-width: 1430px) {
}

/*----- 5カラム 1778px～ -----*/
@media screen and (min-width: 1778px) {
}

/*----- SP ～766px -----*/
@media screen and (max-width: 766px) {
  /*----- schedule-index-calendar -----*/
  .schedule-index-calendar.fc {
    padding-top: max(20px, 5.33vw);
  }
  .schedule-index-calendar.fc .fc-toolbar-chunk:first-child {
    flex: 1;
  }
  .schedule-index-calendar.fc .fc-toolbar-chunk:last-child {
    flex: 0;
  }
  .schedule-index-calendar.fc .fc-header-toolbar {
    display: block;
    margin-bottom: max(18px, 4.8vw);
    padding-bottom: 11px;
    border-bottom: 1px solid #e94709;
  }
  .schedule-index-calendar.fc .fc-toolbar-title {
    margin-bottom: max(15px, 4.0vw);
    font-size: max(1.7rem, 4.53vw);
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
  }
  .schedule-index-calendar.fc .fc-button-group {
    display: flex;
    justify-content: center;
    column-gap: max(15px, 4.0vw);
  }
  .schedule-index-calendar.fc .fc-button,
  .schedule-index-calendar.fc .fc-button:active {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
    appearance: none;
    border-radius: 0;

    --label-fz: max(1.4rem, 3.73vw);
    --label-pad: max(9px, 2.4vw);

    position: relative;
    flex-grow: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    max-width: max(
      calc((100% - 15px) / 2),
      calc((100% - 4.0vw) / 2)
    );
    min-width: fit-content;
    padding-block: var(--label-pad);
    padding-inline: max(13px, 3.46vw);
    background-color: #f4f4f0;
    color: #000;
    font-size: var(--label-fz);
    line-height: 1.0;
  }
  .schedule-index-calendar.fc .fc-button:not(:disabled):active:focus {
    box-shadow: none;
  }
  .schedule-index-calendar.fc .fc-button:focus-visible {
    outline: auto;
  }
  .schedule-index-calendar.fc .fc-button:disabled {
    display: none;
  }

  .schedule-index-calendar.fc .fc-button.fc-prev-button {
    padding-left: max(
      calc(13px + (var(--label-fz) + var(--label-pad) * 2)),
      calc(3.46vw + (var(--label-fz) + var(--label-pad) * 2))
    );
  }
  .schedule-index-calendar.fc .fc-button.fc-next-button {
    padding-right: max(
      calc(13px + (var(--label-fz) + var(--label-pad) * 2)),
      calc(3.46vw + (var(--label-fz) + var(--label-pad) * 2))
    );
  }

  .schedule-index-calendar.fc .fc-prev-button::before,
  .schedule-index-calendar.fc .fc-next-button::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: calc(var(--label-fz) + var(--label-pad) * 2);
    height: calc(var(--label-fz) + var(--label-pad) * 2);
    background: #e94709;
  }
  .schedule-index-calendar.fc .fc-prev-button::before { left: -1px; }
  .schedule-index-calendar.fc .fc-next-button::after  { right: -1px; }

  .schedule-index-calendar.fc .fc-prev-button::after,
  .schedule-index-calendar.fc .fc-next-button::before {
    content: "";
    width: max(1.0rem, 2.66vw);
    height: max(1.0rem, 2.66vw);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    top: calc(50% - 0.7rem);
    top: clamp(
      calc(50% - 0.5rem),
      calc(50% - 5px + (5 - 7) * var(--fluid)),
      calc(50% - 0.7rem)
    );
    z-index: 2;
  }
  .schedule-index-calendar.fc .fc-prev-button::after  {
    left: max(1.6rem, 4.26vw);
    transform: rotate(-135deg) skew(-15deg, -15deg);
  }
  .schedule-index-calendar.fc .fc-next-button::before {
    right: max(1.6rem, 4.26vw);
    transform: rotate(45deg) skew(-15deg, -15deg);
  }

  .schedule-index-calendar .schedule-index-calendar__caption {
    margin-bottom: max(20px, 5.3vw);
  }
  .schedule-index-calendar .schedule-index-calendar__note-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .schedule-index-calendar .schedule-index-calendar__note-list > li {
    position: relative;
    padding-left: calc(1em + 7px);
    font-size: max(1.3rem, 3.46vw);
    line-height: 1.5;
  }
  .schedule-index-calendar .schedule-index-calendar__note-list__mark {
    position: absolute;
    left: 0;
    top: 0;
  }

  .schedule-index-calendar.fc .fc-day {
    background-color: #fff;
  }
  .schedule-index-calendar.fc .fc-scrollgrid thead,
  .schedule-index-calendar.fc .fc-day-disabled {
    display: none;
  }
  .schedule-index-calendar.fc col,
  .schedule-index-calendar.fc tbody,
  .schedule-index-calendar.fc tr,
  .schedule-index-calendar.fc th,
  .schedule-index-calendar.fc td {
    display: block;
    width: 100% !important;
  }
  .schedule-index-calendar.fc .fc-scrollgrid {
    border: none;
  }
  .schedule-index-calendar.fc .fc-scrollgrid-section,
  .schedule-index-calendar.fc .fc-scrollgrid-section table,
  .schedule-index-calendar.fc .fc-scrollgrid-section > td {
    height: auto;
  }
  .schedule-index-calendar.fc .fc-scrollgrid-section > td,
  .schedule-index-calendar.fc .fc-scrollgrid-section > th {
    border: none;
  }
  .schedule-index-calendar.fc .fc-scrollgrid-sync-table {
    border-top: 1px solid #ddd;
  }
  .schedule-index-calendar.fc .fc-scrollgrid-sync-table th,
  .schedule-index-calendar.fc .fc-scrollgrid-sync-table td {
    border-top: none;
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
  }
  .schedule-index-calendar.fc .fc-day-sun {
    background-color: #fff0f0;
  }
  .schedule-index-calendar.fc .fc-day-sun .fc-daygrid-day-number {
    color: #d92222;
  }
  .schedule-index-calendar.fc .fc-day-sat {
    background-color: #e8f1fa;
  }
  .schedule-index-calendar.fc .fc-day-sat .fc-daygrid-day-number {
    color: #126cd0;
  }
  .schedule-index-calendar.fc .fc-daygrid-day.fc-day-today {
    background-color: #fff3cd;
  }


  .schedule-index-calendar.fc .fc-daygrid-day-frame {
    display: flex;
    align-items: flex-start;
    column-gap: max(8px, 2.13vw);
    padding-block: max(10px, 2.66vw);
    padding-inline: max(15px, 4.0vw);
  }
  .schedule-index-calendar.fc .fc-daygrid-day-frame >.fc-daygrid-day-bg:empty {
    display: none;
  }
  .schedule-index-calendar.fc .fc-daygrid-day-frame::before,
  .schedule-index-calendar.fc .fc-daygrid-day-frame::after {
    content: none;
  }
  .schedule-index-calendar.fc .fc-day-disabled {
    display: none;
  }

  .schedule-index-calendar.fc .fc-daygrid-day-top {
    flex-shrink: 0;
    display: block;
    min-width: max(47px, 12.53vw);
  }
  .schedule-index-calendar.fc .fc-daygrid-day-number {
    flex-shrink: 0;
    display: block;
    min-width: max(24px, 6.4vw);
    padding: 0;
    padding-right: max(1.4rem, 3.73vw);
    color: #666;
    font-size: max(2.4rem, 6.4vw);
    font-weight: bold;
    line-height: 1.0;
    text-align: center;
  }
  .schedule-index-calendar.fc .fc-daygrid-day-number::after {
    position: absolute;
    right: 0;
    top: max(6px, 1.6vw);
    color: #000;
    font-size: max(1.4rem, 3.73vw);
    font-weight: bold;
    line-height: 1.0;
  }
  .schedule-index-calendar.fc .fc-day-sun .fc-daygrid-day-number::after {
    content: '日';
  }

  .schedule-index-calendar.fc .fc-day-mon .fc-daygrid-day-number::after {
    content: '月';
  }

  .schedule-index-calendar.fc .fc-day-tue .fc-daygrid-day-number::after {
    content: '火';
  }

  .schedule-index-calendar.fc .fc-day-wed .fc-daygrid-day-number::after {
    content: '水';
  }

  .schedule-index-calendar.fc .fc-day-thu .fc-daygrid-day-number::after {
    content: '木';
  }

  .schedule-index-calendar.fc .fc-day-fri .fc-daygrid-day-number::after {
    content: '金';
  }

  .schedule-index-calendar.fc .fc-day-sat .fc-daygrid-day-number::after {
    content: '土';
  }
  .schedule-index-calendar.fc .fc-daygrid-day-events {
    display: flex;
    flex-direction: column;
    row-gap: 5px;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: max(4px, 1.06vw);
  }
  .schedule-index-calendar.fc .fc-daygrid-day-events::before,
  .schedule-index-calendar.fc .fc-daygrid-day-events::after {
    content: none;
  }
  .schedule-index-calendar.fc .fc-h-event {
    width: 100%;
    background-color: transparent;
    border: none;
    border-radius: 0;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__match.is-cancel .schedule-index-calendar__location,
  .schedule-index-calendar.fc .schedule-index-calendar__match.is-cancel .schedule-index-calendar__time,
  .schedule-index-calendar.fc .schedule-index-calendar__match.is-cancel .schedule-index-calendar__title {
    color: #666;
    text-decoration: line-through;
  }
  .schedule-index-calendar.fc .fc-daygrid-event {
    margin-top: 0;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__match + .schedule-index-calendar__match {
    margin-top: 8px;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__category {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 2px;
  }
  .schedule-index-calendar.fc [class*="schedule-index-calendar__badge"] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    margin-bottom: 3px;
    padding-block: max(4px, 1.06vw);
    padding-inline: max(14px, 3.73vw);
    font-size: max(1.0rem, 2.66vw);
    font-weight: normal;
    line-height: 1.0;
    text-align: center;
    white-space: normal;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__badge--lv1 {
    border: 1px solid #7f7f7f;
    background-color: #7f7f7f;
    color: #fff;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__badge--lv2 {
    border: 1px solid #e94709;
    background-color: #e94709;
    color: #fff;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__badge--lv3 {
    border: 1px solid #e94709;
    background-color: #fff;
    color: #e94709;
  }
  .schedule-index-calendar.fc a.fc-event.is-nolink {
    pointer-events: none;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__title {
    margin-bottom: max(3px, 0.8vw);
    color: #333;
    font-size: max(1.4rem, 3.73vw);
    font-weight: bold;
    line-height: 1.5;
    white-space: normal;
  }
  .schedule-index-calendar.fc .schedule-index-calendar__time,
  .schedule-index-calendar.fc .schedule-index-calendar__location {
    color: #333;
    font-size: max(1.2rem, 3.2vw);
    font-weight: normal;
    line-height: 1.6;
    white-space: normal;
  }
}
