@charset "utf-8";
.faq .menu li {
  width: 33.3%;
}
.faq .block:nth-of-type(even) {
  background-color: var(--light-gray);
}
.faq .block > div {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
}
.faq h3 {
  width: 30%;
}
.faq h3 + div {
  width: 70%;
}
.faq dl {
  border-bottom: solid 1px var(--dark-gray);
  padding: 1em;
  position: relative;
}
.faq dl:first-of-type {
  padding-top: 0;
}
.faq dl:last-of-type {
  border-bottom: none;
}
.faq dl::after {
  content: url("../images/icon_plus_red.svg");
  display: block;
  height: 1em;
  position: absolute;
  right: 1em;
  top: 2em;
  width: 1em;
}
.faq dl.close {
  padding-bottom: 1em;
}
.faq dl.close::after {
  content: url("../images/icon_minus_red.svg");
}
.faq dt {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.45;
}
.faq dt::before {
  color: var(--red);
  content: "Q.";
  font-size: 3.8rem;
  font-weight: bold;
  margin-right: 0.35em;
  width: 1em;
}
.faq dt > div {
  width: calc(100% - 8rem);
}
.faq dd {
  padding: 1em 0;
}
@media screen and (max-width: 767px) {
  .faq .block {
    padding: 0;
  }
  .faq .block > div {
    display: block;
  }
  .faq h3,
  .faq h3 + div {
    width: 100%;
  }
  .faq dl {
    padding-left: 0;
    padding-right: 0;
  }
  .faq dl:first-of-type {
    padding-top: 1em !important;
  }
  .faq dt {
    font-size: 1.8rem;
  }
  .faq dt::before {
    font-size: 2.8rem;
  }
}