.case {
  background: #FFF8F9;
  padding: 34px 22px;
  @media screen and (min-width: 769px) {
    padding: 45px 0;
  }
}

:where(.case) {
  .case__name {
    color: #DF8F9B;
    font-size: calc(var(--rem) * 15);
    letter-spacing: 0.75px;
    margin-bottom: 6px;
    @media screen and (min-width: 769px) {
      font-size: calc(var(--rem) * 16);
      letter-spacing: 1.28px;
      line-height: 28px;
      margin-bottom: 4px;
    }
  }
  .case__subtitle {
    color: #77535F;
    font-size: calc(var(--rem) * 13);
    letter-spacing: 1.04px;
    margin-bottom: 15px;
    @media screen and (min-width: 769px) {
      line-height: 27px;
      margin-bottom: 15px;
    }
  }
  .case__item {
    background: #FFF;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 25px 15px;
    @media screen and (min-width: 769px) {
      padding: 42px 25px 24px;
      border-radius: 16px;
    }
  }
  .case__thumb {
    margin-bottom: 10px;
    @media screen and (min-width: 769px) {
      margin-bottom: 38px;
    }
  }
  .case__meta-row {
    font-size: calc(var(--rem) * 12);
    letter-spacing: 0.96px;
    line-height: 22px;
    @media screen and (min-width: 769px) {
      font-size: calc(var(--rem) * 13);
      letter-spacing: 1.04px;
      line-height: 24px;
    }
  }
  .case__meta {
    margin-bottom: 10px;
    @media screen and (min-width: 769px) {
      margin-bottom: 27px;
    }
  }
  .case__meta-dt {
    color: #DF8F9B;
  }
  .case__more {
    display: block;
    width: calc(var(--vw) * 193);
    margin: 0 auto;
    @media screen and (min-width: 769px) {
      width: 268px;
    }
  }
  .case__page-button {
    display: block;
    width: calc(var(--vw) * 220);
    margin: 0 auto;
    @media screen and (min-width: 769px) {
      width: 350px;
    }
  }
  /* swiper用 */
  .swiper-slide {
    height: initial !important;
  }
  .swiper-wrapper {
    align-items: stretch;
    margin-bottom: 42px;
    @media screen and (min-width: 769px) {
      margin-bottom: 30px;
    }
  }
  /* PCでスライドが3枚以下 */
  .case-swiper.is-not-swiper {
    @media screen and (min-width: 769px) {
      padding: 0 50px;
        .swiper-wrapper {
          gap: 40px;
          place-content: center;
        }
        .swiper-slide {
          width: 100%;
          max-width: 500px;
          flex-shrink: initial;
        }
    }
  }
  .swiper-slide {
    @media screen and (min-width: 769px) {
      width: 400px;
    }
  }
  .swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 13px !important;
  }
  .swiper-pagination-bullet {
    opacity: 1 !important;
    margin: 0 7px !important;
    width: 9px !important;
    height: 9px !important;
    background: #D9D9D9 !important;
  }
  .swiper-pagination-bullet-active {
    background: #DF8F9B !important;
    width: 12px !important;
    height: 12px !important;
    opacity: 1 !important;
  }
}