@charset "utf-8";

/*============================
よくある質問
============================*/
.faq_wrap {
  background-color: #F2EFE3;
  padding: 0.55rem 0.70rem;
  border-radius: 0.15rem;
  margin-bottom: 0.40rem;
}

@media screen and (max-width: 640px) {
  .faq_wrap {
    background-color: #F2EFE3;
    padding: 0.28rem 0.20rem;
    border-radius: 0.075rem;
    margin-bottom: 0.20rem;
  }
}

.faq_wrap .faq_wrap_title {
  text-align: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.24rem;
  position: relative;
  padding-bottom: 0.25rem;
  margin-bottom: 0.30rem;
}

@media screen and (max-width: 640px) {
  .faq_wrap .faq_wrap_title {
    font-size: 0.15rem;
    padding-bottom: 0.12rem;
    margin-bottom: 0.15rem;
  }
}

.faq_wrap .faq_wrap_title span::after {
  content: "";
  width: 0.80rem;
  height: 2px;
  background-color: #000;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

@media screen and (max-width: 640px) {
  .faq_wrap .faq_wrap_title span::after {
    width: 0.40rem;
  }
}

.faq_wrap .faq_box {
  border-bottom: 1px solid #E0DBCA;
}

.faq_wrap .faq_box .faq_title {
  font-size: 0.18rem;
  letter-spacing: 0.08em;
  padding: 0.15rem 0.50rem 0.15rem 0.40rem;
  position: relative;
  cursor: pointer;
  line-height: 1.85;
}

@media screen and (max-width: 640px) {
  .faq_wrap .faq_box .faq_title {
    font-size: 0.12rem;
    letter-spacing: 0.08em;
    padding: 0.10rem 0.25rem 0.10rem 0.30rem;
    position: relative;
    cursor: pointer;
    line-height: 2;
  }
}

.faq_wrap .faq_box .faq_title::before {
  content: "Q.";
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.24rem;
  position: absolute;
  left: 0;
  top: 0.10rem;
}

@media screen and (max-width: 640px) {
  .faq_wrap .faq_box .faq_title::before {
    font-size: 0.15rem;
    top: 0.06rem;
  }
}

.faq_wrap .faq_box .faq_title::after {
  content: "";
  width: 0.19rem;
  height: 0.11rem;
  background-image: url(../img/faq/acc_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 0.30rem;
  transform: translateY(-50%);
  transition: all 0.3s;
}

@media screen and (max-width: 640px) {
  .faq_wrap .faq_box .faq_title::after {
    width: 0.14rem;
    height: 0.08rem;
    top: 0.22rem;
  }
}

.faq_wrap .faq_box .faq_title.open::after {
  transform: translateY(-50%) rotate(-180deg);
}

.faq_wrap .faq_box .textbox {
  background-color: #FAF9F4;
  border-radius: 0.15rem;
  padding: 0.15rem 0.70rem;
  margin-bottom: 0.09rem;
  position: relative;
  display: none;
}

@media screen and (max-width: 640px) {
  .faq_wrap .faq_box .textbox {
    border-radius: 0.075rem;
    padding: 0.05rem 0.10rem 0.05rem 0.38rem;
    margin-bottom: 0.15rem;
  }
}

.faq_wrap .faq_box .textbox::before {
  content: "A.";
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.24rem;
  color: #7EBB19;
  position: absolute;
  left: 0.38rem;
  top: 0.18rem;
}

@media screen and (max-width: 640px) {
  .faq_wrap .faq_box .textbox::before {
    font-size: 0.15rem;
    left: 0.12rem;
    top: 0.10rem;
  }
}

.faq_wrap .faq_box .textbox .text {
  font-size: 0.16rem;
  letter-spacing: 0.08em;
  line-height: 2;
}

@media screen and (max-width: 640px) {
  .faq_wrap .faq_box .textbox .text {
    font-size: 0.12rem;
  }
}