#faq .faq_wrap {
  margin: 100px 0;
}
#faq .faq_wrap h2 {
  color: var(--theme01);
}
#faq dl.faq_list {
  margin: 40px 0;
  border-bottom: 1px solid #ccc;
}
#faq dl.faq_list dt {
  padding: 20px 0;
  padding-left: 50px;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.5;
  display: block;
  position: relative;
  border-top: 1px solid #ccc;
  cursor: pointer;
  transition: color 0.2s;
}
#faq dl.faq_list dt::before {
  content: "Q.";
  color: var(--theme01);
  text-align: right;
  width: 40px;
  display: block;
  position: absolute;
  left: 0;
}
#faq dl.faq_list dt:hover {
  color: var(--theme01);
}
#faq dl.faq_list dt:hover::after {
  color: var(--theme01);
}
#faq dl.faq_list dt.active {
  color: var(--theme01);
}
#faq dl.faq_list dt.active:hover {
  color: var(--theme02);
}
#faq dl.faq_list dd {
  display: none;
  margin: 0;
  padding: 40px 0;
  padding-left: 50px;
  border-top: 1px solid #f5f5f5;
  line-height: 1.8;
  color: #666;
  position: relative;
}
#faq dl.faq_list dd > *:first-child {
  margin-top: 0;
}
#faq dl.faq_list dd > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767.98px) {
  #faq .faq_wrap {
    margin: 60px 0;
  }
  #faq dl.faq_list dt {
    padding: 16px;
    padding-left: 40px;
  }
  #faq dl.faq_list dt::before {
    width: 30px;
  }
  #faq dl.faq_list dd {
    padding-left: 40px;
  }
}/*# sourceMappingURL=faq.css.map */