/* color */
/* font-size */
/* font-weight */
/* opacity */
/* padding */
/* padding top & bottom */
/* magin bottom */
/* flex */
/* media-query */
/* --------------------------------------------------------------------
 FAQ
-------------------------------------------------------------------- */
.faq {
  padding: 120px 0;
}
@media (max-width: 1024px) {
  .faq {
    padding: 80px 0;
  }
}
@media (max-width: 599px) {
  .faq {
    padding: 64px 0;
  }
}

.accordion__item {
  position: relative;
}
.accordion__toggle {
  display: none;
}
.accordion__ttl {
  display: block;
  background: url("../img/faq/icon_q.svg") no-repeat left top 20px;
  background-size: 40px;
  font-size: 22px;
  color: #333;
  font-weight: 600;
  padding: 24px 56px;
  cursor: pointer;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
@media (max-width: 1024px) {
  .accordion__ttl {
    font-size: 20px;
  }
}
@media (max-width: 599px) {
  .accordion__ttl {
    font-size: 16px;
  }
}
@media (max-width: 1024px) {
  .accordion__ttl {
    background-size: 32px;
    background-position: left top 22px;
    padding: 24px 56px 24px 48px;
  }
}
@media (max-width: 599px) {
  .accordion__ttl {
    background-size: 28px;
    background-position: left top 14px;
    padding: 16px 40px;
  }
}
.accordion__ttl:hover {
  opacity: 0.6;
}
.accordion__ttl:after {
  content: "";
  position: absolute;
  right: 16px;
  top: 29px;
  width: 2px;
  height: 24px;
  background-color: #009FE8;
  transition: all 0.3s;
  transform: rotate(90deg);
}
@media (max-width: 599px) {
  .accordion__ttl:after {
    right: 10px;
    top: 20px;
    height: 16px;
  }
}
.accordion__ttl:before {
  content: "";
  position: absolute;
  right: 16px;
  top: 29px;
  width: 2px;
  height: 24px;
  background-color: #009FE8;
  transition: all 0.3s;
}
@media (max-width: 599px) {
  .accordion__ttl:before {
    right: 10px;
    top: 20px;
    height: 16px;
  }
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  border-bottom: solid 1px #BEE6FC;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.accordion-content__txt {
  background: url("../img/faq/icon_a.svg") no-repeat left top;
  background-size: 40px;
  margin-bottom: 24px;
  padding: 0 0 0 56px;
}
@media (max-width: 599px) {
  .accordion-content__txt {
    margin-bottom: 16px;
  }
}
@media (max-width: 1024px) {
  .accordion-content__txt {
    background-size: 32px;
    padding: 0 0 0 48px;
  }
}
@media (max-width: 599px) {
  .accordion-content__txt {
    background-size: 28px;
    padding: 0 0 0 40px;
  }
}

.accordion__toggle:checked + .accordion__ttl + .accordion-content {
  max-height: 1000px;
  transition: all 1.5s;
}

.accordion__toggle:checked + .accordion__ttl:before {
  transform: rotate(90deg) !important;
}
