.top-faq {

}

.top-faq__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 56px;
  padding-block: 80px;
}

.top-faq__title {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-bold);
  color: var(--text-color);
  text-align: center;
}

.top-faq__footer {
  display: flex;
  justify-content: center;
}
/* ==============================================================
    [faq]
   ============================================================== */
   .page-faq__contents {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .page-faq__contents::before {
    height: 100%;
  }
  .page-faq__contents.page_bg-name::after {
    top: 24px;
    left: 432px;
  }
  
  .page-faq__contents .container {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }

  .page-faq__lists {
    width: 100%;
  }
  
  .page-faq__contents-box {
    background: #fff;
    padding: 80px;
    border-radius: 40px;
    color: var(--text-color);
    box-shadow: 0 0 15px #edebe899;
  }
  
  .page-faq__contents-title {
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-bold);
    color: var(--text-color);
    text-align: center;
    margin-bottom: 40px;
  }
  
  /* 質問ボタン */
  .page-faq__question .faq-toggle {
    width: 100%;
    padding-right: 24px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-normal);
    cursor: pointer;
    display: flex;
    align-items: center;
    position: relative;
  }
  
  .page-faq__question .faq-toggle::before {
    background: url("../../assets/img/icon_question.svg") no-repeat 0 50%;
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    margin-right: 8px;
    flex-shrink: 0;
  }
  
  /* ▶ アイコン */
  .page-faq__question .faq-toggle::after {
    background: url("../../assets/img/icon_arrow.svg") no-repeat 50% 50%;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    width: 9px;
    height: 14px;
    transform: rotate(90deg); /* 閉じているとき */
    transition: transform .2s ease;
    flex-shrink: 0;
    margin-top: -8px;
  }
  
  /* 開いているときのアイコン回転 */
  .page-faq__question.is-open .faq-toggle::after {
    transform: rotate(-90deg);
  }
  
  .page-faq__answer + .page-faq__question {
    margin-top: 56px;
  }
  
  /* 答え */
  .page-faq__answer {
    background: var(--orange-base-transparent);
    line-height: var(--line-height-relaxed);
    display: none;
    height: 0;
    padding: 24px;
    margin-top: 24px;
    box-sizing: border-box;
    transition: .3s;
  }
  
  .page-faq__question.is-open + .page-faq__answer {
    display: block;
    height: auto;
  }
  
  @media(max-width: 767px) {
    .page-faq__contents-box {
      padding: 32px 24px;
      border-radius: 24px;
    }
    .page-faq__question .faq-toggle {
      align-items: flex-start;
    }
    .page-faq__question .faq-toggle::before {
      background-size: cover;
      width: 32px;
      height: 32px;
      transform: translateY(-2px);
    }
    .page-faq__question .faq-toggle {
      font-size: var(--font-size-h3);
    }
    .page-faq__answer {
      font-size: var(--font-size-body);
    }
  }
