@charset "UTF-8";
@import url("root.css");
/*-----*ブレイクポイントルール*-----*/
/* スマートフォン：max-width:767px */
/* タブレット：min-width:768px */
/* PC：min-width:1025px */
/***************************************
-------------- FAQ --------------
***************************************/
@media (max-width: 767px) {
  .scroll-margin {
    scroll-margin-top: 80px;
  }
}
.page_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 3%;
  margin: 80px auto 0;
}

@media (max-width: 767px) {
  .page_menu li {
    min-width: 0;
    width: 47%;
  }
}
.page_menu li a {
  display: block;
  text-align: center;
  padding: 1em 20px;
  color: var(--base-color04);
  height: 100%;
  border: 2px solid var(--base-color04);
  font-weight: bold;
  transition: 0.2s;
}

.page_menu li a:hover {
  color: #fff;
  background: var(--base-color04);
}

#faq .faq_wrap:not(:last-child) {
  margin-bottom: 40px;
}

#faq .faq_wrap {
  padding: min(3%, 25px);
  border: solid 1px var(--base-color04);
  display: flex;
  flex-flow: column;
}

#faq dl {
  margin: 30px auto;
}

#faq .question {
  font-size: clamp(1.8rem, 1.73rem + 0.3vw, 2rem);
  position: relative;
  font-weight: bold;
  background: #fafafa;
  padding: 15px 0 15px 70px;
}

#faq .answer {
  position: relative;
  padding: 15px 0 15px 70px;
  background: #fff;
}

#faq .question::before {
  content: "Q";
  display: block;
  width: 40px;
  height: 40px;
  line-height: 35px;
  background: var(--base-color04);
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 32px;
  bottom: auto;
  left: 30px;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

#faq .answer::before {
  content: "A";
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  background: var(--base-color01);
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 28px;
  bottom: auto;
  left: 30px;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

/*FAQ 開閉式*/
#faq .qa_active .question {
  cursor: pointer;
  padding-right: 40px;
}

#faq .qa_active .question:after {
  content: "+";
  font-family: "Font Awesome 6 Free";
  position: absolute;
  top: 15px;
  right: 15px;
  transition: 0.3s;
}

#faq .qa_active .question.open:after {
  transform: rotate(135deg);
  transition: 0.3s;
}

#faq .qa_active .answer {
  display: none;
}