@charset "UTF-8";
/* よくあるご質問 */
.faq {
  padding-top: 10.5rem;
  margin-top: -5.5rem;
}
@media print, screen and (width >=768px) {
  .faq {
    padding-top: 10rem;
    margin-top: 0;
  }
}
.faq__wrap {
  padding-inline: 5.1775147929%;
  margin-inline: auto;
}
@media print, screen and (width >=768px) {
  .faq__wrap {
    padding-inline: 5%;
  }
}
.faq__container {
  margin-top: 2.5rem;
}
@media print, screen and (width >=768px) {
  .faq__container {
    margin-top: 5rem;
  }
}
.faq-list {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
.faq-item {
  background-color: #fff;
}
.faq-item__control {
  display: flex;
  align-items: start;
  inline-size: 100%;
  text-align: left;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 1em 3.5rem 1em 1em;
  position: relative;
}
@media print, screen and (width >=768px) {
  .faq-item__control {
    font-size: 1.8rem;
    padding: 1em 6rem 1em 3.2rem;
  }
}
.faq-item__control:before, .faq-item__control:after {
  content: "";
  display: block;
  position: absolute;
  top: 1.8em;
  right: 10px;
  inline-size: 16px;
  block-size: 2px;
  transform: translateY(-50%);
  background-color: #535353;
  transition: transform 0.3s ease;
}
@media print, screen and (width >=768px) {
  .faq-item__control:before, .faq-item__control:after {
    right: 20px;
    inline-size: 20px;
    block-size: 2px;
  }
}
.faq-item__control:after {
  transform: translateY(-50%) rotate(90deg);
}
.faq-item__control[aria-expanded=true]:after {
  transform: translateY(-50%) rotate(0);
}
.faq-item__answer {
  display: none;
  padding: 1em 1em 1em 1.4rem;
  border-top: 1px dashed #d9d9d9;
}
@media print, screen and (width >=768px) {
  .faq-item__answer {
    padding: 1em 6rem 1em 3.2rem;
  }
}
.faq-item .answer {
  display: flex;
  align-items: start;
  margin: 0;
}
.faq-item__label {
  display: inline-block;
  inline-size: 5%;
  min-inline-size: 40px;
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  position: relative;
}
@media print, screen and (width >=768px) {
  .faq-item__label {
    min-inline-size: 55px;
    font-size: 2.2rem;
  }
}
.answer .faq-item__label {
  color: #767676;
}
.faq-item__label:after {
  content: "｜";
  font-weight: 300;
  padding-left: 0.3em;
}
@media print, screen and (width >=768px) {
  .faq-item__label:after {
    padding-left: 0.5em;
  }
}
.faq-item__text {
  flex: 1 0;
  margin: 0;
}
.answer .faq-item__text {
  font-size: 1.2rem;
  line-height: 1.8;
}
@media print, screen and (width >=768px) {
  .answer .faq-item__text {
    font-size: 1.6rem;
  }
}
.faq-item__text a {
  text-decoration: underline;
}
.faq-item__text table th {
  font-weight: inherit;
}
@media screen and (width <768px) {
  .faq-item__text table,
.faq-item__text tr {
    display: block;
  }
  .faq-item__text th,
.faq-item__text td {
    display: inline;
  }
}