@media screen and (min-width: 768px) {
  .faq_container {
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(87%, #fff), to(#eaf7ff));
    background: linear-gradient(180deg, #fff 0%, #fff 87%, #eaf7ff 100%);
    padding: 40px 0 168px;
  }
}
@media screen and (max-width: 767px) {
  .faq_container {
    padding: 40px 0 120px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(95%, #fff), color-stop(98%, #eaf7ff), to(#eaf7ff));
    background: linear-gradient(180deg, #fff 0%, #fff 95%, #eaf7ff 98%, #eaf7ff 100%);
  }
}
.faq_block {
  background: #eaf7ff;
  border-radius: 40px;
}
@media screen and (min-width: 768px) {
  .faq_block {
    padding: 60px 0;
  }
}
@media screen and (max-width: 767px) {
  .faq_block {
    padding: 40px 0;
  }
}
.faq_block dl {
  background: #fff;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .faq_block dl {
    padding: 20px 30px;
  }
}
@media screen and (max-width: 767px) {
  .faq_block dl {
    padding: 20px calc((20 / 375) * 100vw);
  }
}
.faq_block dl + dl {
  margin-top: 20px;
}
.faq_block dt,
.faq_block dd {
  position: relative;
}
@media screen and (min-width: 768px) {
  .faq_block dt,
  .faq_block dd {
    padding-left: 70px;
  }
}
@media screen and (max-width: 767px) {
  .faq_block dt,
  .faq_block dd {
    padding-left: 34px;
  }
}
.faq_block dt:before,
.faq_block dd:before {
  position: absolute;
  left: 0;
  font-family: "Montserrat";
  border-radius: 50%;
  aspect-ratio: 1;
  line-height: 1;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .faq_block dt:before,
  .faq_block dd:before {
    width: 40px;
    height: 40px;
    font-size: 24px;
    top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .faq_block dt:before,
  .faq_block dd:before {
    top: 10px;
    width: 24px;
    height: 24px;
    font-size: 14px;
  }
}
.faq_block .quest {
  position: relative;
}
@media screen and (min-width: 768px) {
  .faq_block .quest {
    padding: 7px 70px 7px 10px;
  }
}
@media screen and (max-width: 767px) {
  .faq_block .quest {
    padding: 10px 25px 10px 0;
  }
}
.faq_block .quest:before,
.faq_block .quest:after {
  position: absolute;
  content: "";
  background: #0062b1;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .faq_block .quest:before,
  .faq_block .quest:after {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.faq_block .quest:before {
  height: 2px;
  right: 0;
}
@media screen and (min-width: 768px) {
  .faq_block .quest:before {
    width: 22px;
    top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .faq_block .quest:before {
    width: 12px;
  }
}
.faq_block .quest:after {
  width: 2px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .faq_block .quest:after {
    right: 10px;
    height: 22px;
    top: 6px;
  }
}
@media screen and (max-width: 767px) {
  .faq_block .quest:after {
    right: 5px;
    height: 12px;
  }
}
.faq_block dt:before {
  content: "Q";
  color: #0062b1;
  background: #eaf7ff;
}
@media screen and (min-width: 768px) {
  .faq_block dt:before {
    top: 0;
  }
}
@media screen and (min-width: 768px) {
  .faq_block dt.isOpen .quest:after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
@media screen and (max-width: 767px) {
  .faq_block dt.isOpen .quest:after {
    -webkit-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
  }
}
@media screen and (min-width: 768px) {
  .faq_block .answer {
    padding: 14px 10px 24px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .faq_block .answer {
    padding: 10px 4vw 10px 0;
  }
}
@media screen and (min-width: 768px) {
  .faq_block .answer img {
    width: 130px;
  }
}
.faq_block .answer:has(img) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 10px;
}
@media screen and (max-width: 767px) {
  .faq_block .answer:has(img) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.faq_block dd {
  height: 0;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .faq_block dd {
    padding-right: 60px;
  }
}
.faq_block dd.isOpen {
  height: 100%;
}
.faq_block dd:before {
  content: "A";
  color: #e4532c;
  background: #fff5f3;
}
