/*---------------------------
アンカーリンク
---------------------------*/
.category {
  padding-top: 0.80rem;
}
@media screen and (max-width: 640px) {
  .category {
    padding-top: 0.40rem;
  }
}

.category .in {
  max-width: 10.80rem;
  margin: auto;
}

.category .in .list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.20rem;
}
@media screen and (max-width: 640px) {
  .category .in .list {
    display: block;
    gap:0;
  }
}

.category .in .list .link {
  font-size: 0.16rem;
  padding-right: 0.20rem;
}
@media screen and (max-width: 640px) {
  .category .in .list .link {
    font-size: 0.14rem;
    padding-right: 0;
    padding-bottom: 0.20rem;
  }
}

.category .in .list .link a {
  color: #222;
  font-weight: 500;
}

.category .in .list .link a:hover {
  color: #FA7D91;
}

.category .in .list .link a span::before {
  content: "";
  width: 0.20rem;
  height: 0.06rem;
  display: inline-block;
  background-image: url(../img/faq/anc_arrow.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  top: -0.02rem;
  transition: all 0.3s;
}

.category .in .list .link a:hover span::before {
  top: 0.01rem;
}

/*---------------------------
よくある質問
---------------------------*/
.faq_wrap {
  padding-top: 0.80rem;
}
@media screen and (max-width: 640px) {
  .faq_wrap {
    padding-top: 0.40rem;
  }
}

.faq_wrap .in {
  max-width: 10.80rem;
  margin: auto;
}

.faq_wrap .in .sec_tit {
  font-size: 0.28rem;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 640px) {
  .faq_wrap .in .sec_tit {
    font-size: 0.15rem;
  }
}

.faq_wrap .in .sec_tit::before {
  content: "";
  width: 100%;
  height: 0.02rem;
  background-color: #FA7D91;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}

.faq_wrap .in .sec_tit span {
  position: relative;
  display: inline-block;
  z-index: 1;
  padding-right: 0.20rem;
  background-color: #FFF;
}

.faq_wrap .in .faq_box {
  padding-top: 0.40rem;
}
@media screen and (max-width: 640px) {
  .faq_wrap .in .faq_box {
    padding-top: 0.25rem;
  }
}

.faq_wrap .in .faq_box .faq_tit {
  background-color: #F2F2F2;
  padding: 0.15rem;
  font-size: 0.18rem;
  font-weight: 700;
  border-radius: 0.06rem;
  line-height: 1.65;
  text-indent: -0.15rem;
  padding-left: 0.5rem;
}
@media screen and (max-width: 640px) {
  .faq_wrap .in .faq_box .faq_tit {
    background-color: #F2F2F2;
    padding: 0.10rem;
    font-size: 0.15rem;
    text-indent: -0.11rem;
    padding-left: 0.40rem;
  }
}

.faq_wrap .in .faq_box .faq_tit span::before {
  content: "Q.";
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  padding-right: 0.10rem;
  color: #FA7D91;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .faq_wrap .in .faq_box .faq_tit span::before {
    padding-right: 0.06rem;
  }
}

.faq_wrap .in .faq_box .txt_box {
  padding: 0.10rem 0;
  font-size: 0.16rem;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .faq_wrap .in .faq_box .txt_box {
    font-size: 0.14rem;
    line-height: 1.875;
  }
}

.faq_wrap .in .faq_box .txt_box .faq_table {
  padding-bottom: 0.20rem;
}

.faq_wrap .in .faq_box .txt_box .faq_table:last-child {
  padding-bottom: 0;
}

.faq_wrap .in .faq_box .txt_box .faq_table .cat {
  font-weight: 700;
}

.faq_wrap .in .faq_box .txt_box .faq_table table {
  background-color: #CCC;
  width: 100%;
  border-collapse:separate;
  border-spacing:1px;
}
@media screen and (max-width: 640px) {
  .faq_wrap .in .faq_box .txt_box .faq_table table {
    font-size: 0.13rem;
    line-height: 1.75;
  }
}

.faq_wrap .in .faq_box .txt_box .faq_table table th,
.faq_wrap .in .faq_box .txt_box .faq_table table td {
  text-align: left;
  font-weight: 400;
  background-color: #FFF;
  padding: 0.10rem;
}

.faq_wrap .in .faq_box .txt_box .faq_table table th {
  width: 2.00rem;
}
@media screen and (max-width: 640px) {
  .faq_wrap .in .faq_box .txt_box .faq_table table th {
    width: 1.00rem;
  }
}

.faq_wrap .in .faq_box .txt_box .marker {
  background: linear-gradient(transparent 60%, yellow 0%);
  font-weight: 700;
}

.faq_wrap .in .faq_box .txt_box .caption {
  font-size: 0.14rem;
  display: inline-block;
  line-height: 1.75;
}

.faq_wrap .in .faq_box .txt_box .txt a {
  color: #52A4C3;
  font-weight: 500;
  text-decoration: underline;
}

.faq_wrap .in .faq_box .txt_box .txt a:hover {
  text-decoration: none;
}

.faq_wrap .in .faq_box .txt_box .txt a.new_win::after {
  content: "";
  width: 0.20rem;
  height: 0.14rem;
  display: inline-block;
  background-image: url(../img/faq/icon_new_win.svg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  top: 0.01rem;
}

.last_btn {
  padding-top: 0.50rem;
  padding-bottom: 1.40rem;
}
@media screen and (max-width: 640px) {
  .last_btn {
    padding-bottom: 0.70rem;
  }
}