.live {
  .select-wrap {
    width: 200px;
    margin: 0 0 20px 0;
    position: relative;
  }
  .select-wrap::before,
  .select-wrap::after {
    content: '';
    position: absolute;
    pointer-events: none;
  }

  .select-wrap::before {
    content: '';
    width: 40px;
    height: 40px;
    border-radius: 0 4px 4px 0;
    background-color: var(--color-gray-dark);
    right: 0;
    display: inline-block;
  }

  .select-wrap::after {
    content: '';
    width: 10px;
    height: 10px;
    border-bottom: 2px solid var(--color-white);
    border-right: 2px solid var(--color-white);
    position: absolute;
    top: calc(50% - 2px);
    right: 20px;
    transform: translate(50%, -50%) rotate(45deg);
  }

  .select-month {
    width: 200px;
    height: 40px;
    padding: 5px 10px;
    border: 2px solid var(--color-gray-dark);
    border-radius: 4px;
    cursor: pointer;
  }

  .select-month:focus {
    outline: 1px solid var(--color-gray-dark);
  }

  .calendar_list {
    margin: 0 0 20px 0;
    border: solid 1px var(--color-gray);
  }
  .calendar_item {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
  }
  .calendar_item:not(:last-of-type) {
    border-bottom: solid 1px var(--color-gray);
  }
  .day {
    width: 150px;
    padding: 10px;
    font-weight: 600;
    text-align: center;
    background: var(--color-gray-light);
    border-right: solid 1px var(--color-gray);

    span {
      font-size: 12px;
      line-height: 1;
      display: block;
      text-align: left;
    }
  }
  .live-wrap {
    width: calc(100% - 150px);
    background: var(--color-white);
  }
  .live_item {
    padding: 10px;
    .name {
      margin: 0 0 5px 0;
      font-weight: 600;
    }
    .place,
    .time,
    .fee,
    .info {
      padding: 0 0 0 90px;
      font-size: 13px;
      position: relative;
    }
    .place::before,
    .time::before,
    .fee::before,
    .info::before {
      position: absolute;
      left: 0;
      top: 0;
    }
    .place::before {
      content: '会場';
    }
    .time::before {
      content: '開場／開演';
    }
    .fee::before {
      content: 'チケット';
    }
    .info::before {
      content: 'お問い合わせ';
    }
  }
  .live_item:not(:last-child) {
    border-bottom: dotted 2px var(--color-gray);
  }
}

@media screen and (max-width: 800px) {
  .live {
    .select-wrap,
    .select-month {
      width: 100%;
    }
    .calendar_item {
      flex-direction: column;
    }
    .day,
    .live-wrap {
      width: 100%;
    }
    .day {
      border-right: none;
      border-bottom: solid 1px var(--color-gray);
    }
    .live_item {
      .place,
      .time,
      .fee,
      .info {
        padding-left: 80px;
        font-size: 12px;
      }
    }
  }
}
