@layer page {
  .faq__inner {
    --container-w: 60rem;
  }
  .faq__item + .faq__item {
    padding-top: 3.125rem;
    margin-top: 3.125rem;
    border-top: 1px solid #707070;
  }
  .faq__item:last-child {
    padding-bottom: 3.125rem;
    border-bottom: 1px solid #707070;
  }
  .faq__question {
    position: relative;
    padding-left: 3.1875rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.65;
    color: #24b151;
  }
  @media screen and (max-width: 767px) {
    .faq__question {
      padding-top: 0.2em;
      font-size: 1rem;
    }
  }
  .faq__question::before {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    padding-bottom: 0.3em;
    font-family: var(--serif);
    font-size: 1.375rem;
    line-height: 1;
    color: #fff;
    content: "Q";
    background-image: linear-gradient(to right, #19c601, #01a28a);
  }
  @media screen and (max-width: 767px) {
    .faq__question::before {
      font-size: 1.125rem;
    }
  }
  .faq__answer {
    position: relative;
    padding-left: 3.1875rem;
    margin-top: 1.5625rem;
    font-size: 1rem;
    line-height: 1.65;
  }
  @media screen and (max-width: 767px) {
    .faq__answer {
      padding-top: 0.2em;
      font-size: 0.875rem;
    }
  }
  .faq__answer::before {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    padding-bottom: 0.2em;
    font-family: var(--serif);
    font-size: 1.375rem;
    line-height: 1;
    color: #24b151;
    content: "A";
    background-color: #fff;
    border: 1px solid #24b151;
  }
  @media screen and (max-width: 767px) {
    .faq__answer::before {
      font-size: 1.125rem;
    }
  }
  .faq__answer-txt {
    padding-top: 0.1em;
  }
  .faq__note {
    margin-top: 0.625rem;
    font-size: 0.875rem;
  }
  @media screen and (max-width: 767px) {
    .faq__note {
      font-size: 0.75rem;
    }
  }
}