@layer pages {
  #after-service .section-main {
    @media (max-width: 1020px) {
      padding-bottom: 102px;
    }
  }

  #after-service .section-main>.container {
    max-width: 1726px;
    padding-right: min(50px, calc(50 / 1920 * 100vw));

    @media (max-width: 1020px) {
      padding-right: 0;
    }
  }

  /* [data-variant-page="after-service"]
  --------------------------------------------- */
  [data-variant-page="after-service"] {
    grid-template-columns: clamp(300px, calc(538 / 1920 * 100vw), 538px) 1fr;
    gap: min(166px, calc(166 / 1920 * 100vw));
    padding-top: min(164px, calc(164 / 1920 * 100vw));

    @media (width < 1400px) {
      gap: min(70px, calc(60 / 1400 * 100vw));
    }

    @media (max-width: 1020px) {
      grid-template-columns: 100%;
      gap: 0;
      padding-top: 52px;
    }
  }

  /* .section-panel
  --------------------------------------------- */
  .section-panel[data-variant-page="after-service"] {
    @media (max-width: 1020px) {
      padding-inline: 20px;
    }

    >.panel {
      display: block;
    }

    >.content {
      @media (width < 1900px) {
        padding-right: 20px;
      }

      @media (max-width: 1020px) {
        padding-right: 0;
      }
    }

    >.content>.heading {
      font-family: var(--font-family-noto-serif);
      font-size: 1.5rem;
      font-weight: 500;
      font-feature-settings: "palt" on;
      line-height: 160%;
      letter-spacing: 0.08em;

      @media (max-width: 1020px) {
        margin-top: 52px;
        font-size: 1rem;
      }
    }

    >.content>.heading+.text {
      margin-top: 32px;

      @media (max-width: 1020px) {
        margin-top: 16px;
      }
    }

    >.content>.text {
      font-size: 1.125rem;
      font-style: normal;
      font-weight: 400;
      font-feature-settings: "palt" on;
      line-height: 200%;
      letter-spacing: 0.08em;

      &:not(first-child) {
        margin-top: 16px;

        @media (max-width: 1020px) {
          margin-top: 8px;
        }
      }

      @media (max-width: 1020px) {
        font-size: 0.875rem;
        line-height: 2;
      }
    }

    >.content>.list-after-service-01 {
      &:not(:first-child) {
        margin-top: 40px;

        @media (max-width: 1020px) {
          margin-top: 37px;
        }
      }
    }

    >.content>.image {
      position: relative;
      max-width: -moz-fit-content;
      max-width: fit-content;
      margin-inline: auto;

      &:not(:first-child) {
        display: block;
        margin-top: 40px;

        @media (max-width: 1020px) {
          margin-top: 20px;
        }
      }

      @media (max-width: 1020px) {
        display: block;
        width: 100%;
        height: auto;
        -o-object-fit: cover;
        object-fit: cover;
      }

      &[data-variant-align="center"] {
        display: flex;
        justify-content: center;
      }
    }

    >.content>.image>figcaption.image-caption {
      right: 0;
      bottom: min(-13px, calc(-13 / 1920 * 100vw));
      padding: 0;
      color: var(--color-basic-brown);

      @media (max-width: 1020px) {
        bottom: min(-16px, calc(-16 / 375 * 100vw));
      }
    }

    >.content>button[data-open-modal] {
      position: relative;
      display: block;
      margin-top: 40px;
      cursor: default;

      @media (max-width: 1020px) {
        margin-top: 20px;
        cursor: pointer;
      }

      &::after {
        @media (max-width: 1020px) {
          position: absolute;
          right: 5px;
          bottom: 5px;
          width: 28px;
          height: 28px;
          content: "";
          background: url("/images/renoalpha/common/icon-zoom-01.svg") no-repeat;
          background-size: contain;
        }
      }
    }

    >.content picture>img {
      display: block;
      width: auto;
      max-width: 100%;
      height: auto;
      -o-object-fit: contain;
      object-fit: contain;

      @media (max-width: 1020px) {
        width: 100%;
        height: auto;
        -o-object-fit: cover;
        object-fit: cover;
      }
    }

    >.content picture>img[src$="img-after-service-02-pc.png"] {
      @media (min-width: 1021px) {
        max-width: 700px;
        margin: auto;
      }
    }

    >.content>.note {
      &:not(:first-child) {
        margin-top: 40px;

        @media (max-width: 1020px) {
          margin-top: 20px;
        }
      }
    }
  }

  .after-service-panel {
    position: relative;
    height: 100%;

    >.box-sticky {
      position: sticky;
      top: min(164px, calc(164 / 1920 * 100vw));

      @media (max-width: 1020px) {
        position: static;
        top: 0;
      }
    }

    >.box-sticky>.heading {
      font-family: var(--font-family-noto-serif);
      font-size: min(2rem, calc(32 / 1920 * 100vw));
      font-weight: 500;
      font-feature-settings: "palt" on;
      line-height: 1.6;
      letter-spacing: 0.04em;

      @media (max-width: 1020px) {
        font-size: 1.25rem;
      }
    }
  }
}