  .faq:not(.no-container) {
    padding: 0 25px 50px;

    @media screen and (min-width: 769px) {
      max-width: 1000px;
      box-sizing: content-box;
      margin: 0 auto;
      padding: 0 25px 90px;
    }
  }

  :where(.faq) {
    .faq-question {
      font-size: calc(var(--rem) * 14);
      letter-spacing: 0.7px;
      position: relative;
      padding-right: 25px;
      line-height: 25px;
      display: flex;

      @media screen and (min-width: 769px) {
        font-size: calc(var(--rem) * 15);
        letter-spacing: 0.75px;
        padding-right: 32px;
        line-height: 30px;
      }

      &::after {
        content: "";
        display: inline-block;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 20px;
        height: 20px;
        background-image: url("../../images/common/icon_open.svg");
        background-size: contain;
        background-repeat: no-repeat;

        @media screen and (min-width: 769px) {
          width: 25px;
          height: 25px;
        }
      }
      span {
        color: #DF8F9B;
        padding-right: 9px;
        font-family: hiragino-kaku-gothic-pron, sans-serif;
      }
    }

    .faq-item {
      padding: 17px 0;
      cursor: pointer;

      @media screen and (min-width: 769px) {
        padding: 22px 40px;
      }
    }

    .faq-item+.faq-item {
      border-top: 1.34px solid #CBCBCB;
    }

    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.6s ease, padding 0.6s linear;
      padding: 0;
      font-size: calc(var(--rem) * 14);
      letter-spacing: 0.7px;
      line-height: 25px;

      .answer {
        color: #DF8F9B;
        padding-right: 9px;
      }

      @media screen and (min-width: 769px) {
        font-size: calc(var(--rem) * 15);
        letter-spacing: 0.75px;
        line-height: 30px;
      }
    }

    .faq-answer__inner {
      display: flex;
      margin-top: 9px;

      @media screen and (min-width: 769px) {
        margin-top: 13px;
      }
    }

    .faq-item.is-open {
      .faq-question {
        &::after {
          background-image: url("../../images/common/icon_close.svg");
        }
      }

      .faq-answer {
        max-height: 500px;
      }
    }
  }