@charset "utf-8";

/* ----------------------------------------
  faq
---------------------------------------- */

/* ---------- detail ---------- */
.p-faq-detail {
  width: 100%;
  margin-top: 180px;
  padding: 0 50px;
}

.p-faq-detail__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.p-faq-detail__unit + .p-faq-detail__unit {
  margin-top: 50px;
}

@font-face {
  font-family: "NotoSansJPRegular";
  src: url("/assets/fonts/NotoSansJP-Regular.ttf");
}

.p-faq-detail__question {
  appearance: none;
  resize: none;
  outline: none;
  background: transparent;
  width: 100%;
  text-align: left;
  font-family: "NotoSansJPRegular", 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: calc(36 / 18);
  color: var(--color-base);
  border: 1px solid var(--color-sub);
  border-radius: 100px;
  padding: 18px 100px 18px 50px;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.p-faq-detail__question::before {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  border-bottom: 1px solid var(--color-main);
  border-right: 1px solid var(--color-main);
  position: absolute;
  top: calc(50% - 7px);
  right: 55px;
  z-index: 1;
  transform-origin: 100% 100%;
  transform: rotate(45deg);
  transition: opacity .3s;
}

.p-faq-detail__question.is-active::before {
  opacity: 0;
}

.p-faq-detail__question::after {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  border-top: 1px solid var(--color-main);
  border-left: 1px solid var(--color-main);
  position: absolute;
  top: calc(50%);
  right: 55px;
  z-index: 1;
  transform-origin: 100% 100%;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity .3s;
}

.p-faq-detail__question.is-active::after {
  opacity: 1;
}

.p-faq-detail__answer {
  width: 100%;
  margin-top: 40px;
  padding: 0 10% 50px 10%;
  display: none;
}

.p-faq-detail__text {
  text-align: justify;
  font-size: 1.6rem;
  line-height: calc(32 / 16);
}

.p-faq-detail__text--indent {
  margin-left: 1em;
}

.p-faq-detail__text + .p-faq-detail__text {
  margin-top: 30px;
}

.p-faq-detail__text a {
  text-decoration: underline;
  transition: opacity .3s;
}

.p-faq-detail__text a:hover {
  opacity: 0.5;
}

.p-faq-detail__hr {
  border-top:1px solid var(--color-sub);
  margin: 22px 0;
}

.p-faq-detail__heading {
  font-size: 1.6rem;
  line-height: calc(32 / 16);
  margin-top: 30px;
}

@media screen and (max-width:768px) {
  .p-faq-detail {
    margin-top: 120px;
    padding: 0 20px;
  }

  .p-faq-detail__unit + .p-faq-detail__unit {
    margin-top: 30px;
  }

  .p-faq-detail__question {
    font-size: 1.4rem;
    padding: 10px 50px 10px 30px;
  }

  .p-faq-detail__question::before {
    width: 8px;
    height: 8px;
    top: calc(50% - 5px);
    right: 30px;
  }

  .p-faq-detail__question::after {
    width: 8px;
    height: 8px;
    right: 30px;
  }

  .p-faq-detail__answer {
    margin-top: 20px;
    padding: 0 20px 30px 20px;
  }

  .p-faq-detail__text {
    font-size: 1.4rem;
  }

  .p-faq-detail__text + .p-faq-detail__text {
    margin-top: 20px;
  }

  .p-faq-detail__hr {
    margin: 15px 0;
  }

  .p-faq-detail__heading {
    font-size: 1.4rem;
    margin-top: 20px;
  }
}



/* ---------- issue ---------- */
.p-faq-issue {
  margin-top: 100px;
}

@media screen and (max-width:768px) {
  .p-faq-issue {
    margin-top: 50px;
  }
}
