.guest {
  font-size: 14px;
  .l-btn {
    text-align: right;
  }
  .button-rectangle {
    width: 200px;
    margin: 0 0 10px auto;
  }
  .button-rectangle a {
    background-color: var(--brand-color1);
    border-color: var(--brand-color1);

    .fa-location-dot {
      margin: 0 5px 0 0;
    }
  }
  .button-rectangle a:hover {
    color: var(--brand-color1);
    background-color: var(--color-white);
  }
  .day {
    font-family: var(--font-akazukin);
    font-size: 32px;
    font-weight: 700;

    span {
      margin: 0 0 0 5px;
      font-size: 22px;
      font-weight: 700;
      display: inline-block;
    }
  }
  .guests {
    margin: 0 0 30px 0;
  }
  .guests_list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .guests_item {
    width: 49%;
    margin: 0 0 10px 0;
    background: var(--color-gray-light);

    .item-top {
      padding: 10px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: relative;
    }
    .item-top::after {
      content: '';
      width: calc(100% - 40px);
      height: 2px;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      background-image: repeating-linear-gradient(to right, var(--color-white) 0 2px, transparent 2px 4px);
      display: block;
    }
    .name {
      font-size: 16px;
      font-weight: 600;
    }
    .category {
      padding: 5px 10px;
      margin: 0 0 0 10px;
      color: var(--color-gray);
      font-size: 12px;
      line-height: 1;
      border-radius: 50vh;
      background: var(--color-white);
      display: inline-block;
    }
    .link {
      font-size: 18px;
      color: var(--color-red);
    }
    .item-bottom {
      padding: 10px 20px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
    }
    .time {
      margin: 0 5px 0 0;
    }
    .program {
      margin: 0 10px 0 0;
    }
    .program a {
      color: var(--color-red);
      opacity: 1;
      transition: opacity 0.25s ease;
    }
    .program a:hover {
      opacity: 0.6;
    }
    .fa-regular {
      margin: 0 1px 0 0;
    }
  }
}

@media screen and (max-width: 800px) {
  .guest {
    .day {
      font-size: 26px;
      span {
        font-size: 16px;
      }
    }
    .guests_list {
      flex-direction: column;
    }
    .guests_item {
      width: 100%;

      .item-top,
      .item-bottom {
        padding-left: 10px;
        padding-right: 10px;
      }
      .item-top::after {
        width: calc(100% - 20px);
      }
      .name {
        font-size: 14px;
      }
      .category {
        font-size: 10px;
      }
    }
  }
}
