.p-sub-title {
  font-size: 36rem;
  text-align: center;
  font-weight: bold;
  margin-top: 80rem;
}
@media only screen and (max-width: 1271px) {
  .p-sub-title {
    margin-top: 60rem;
    font-size: 28rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-sub-title {
    margin-top: 30rem;
    font-size: 20rem;
  }
}

.p-faq-wrap {
  margin-top: 60rem;
}
@media only screen and (max-width: 1271px) {
  .p-faq-wrap {
    margin-top: 40rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-faq-wrap {
    margin-top: 20rem;
  }
}

.p-faq-block + .p-faq-block {
  margin-top: 100rem;
}
@media only screen and (max-width: 767px) {
  .p-faq-block + .p-faq-block {
    margin-top: 50rem;
  }
}

.p-faq-block__title {
  background-color: #333333;
  padding: 10rem;
}

.p-faq-block__title-text {
  color: #fff;
  font-size: 24rem;
}
@media only screen and (max-width: 767px) {
  .p-faq-block__title-text {
    font-size: 20rem;
  }
}

.p-faq-list {
  margin-top: 50rem;
}
@media only screen and (max-width: 767px) {
  .p-faq-list {
    margin-top: 30rem;
  }
}

.p-faq-list__item {
  position: relative;
  border-bottom: solid 1px #d7d7d7;
  padding: 20rem 15rem;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .p-faq-list__item {
    padding: 15rem 10rem;
  }
}
.p-faq-list__item:first-child {
  border-top: solid 1px #d7d7d7;
}
.p-faq-list__item:hover .p-faq-list__question::before, .p-faq-list__item:hover .p-faq-list__question::after {
  opacity: 0.5;
}
.p-faq-list__item.is-open .p-faq-list__question::before {
  opacity: 0;
}
.p-faq-list__item.is-open .p-faq-list__question::after {
  -webkit-transform: translate(0, -50%) rotate(0deg);
          transform: translate(0, -50%) rotate(0deg);
}

.p-faq-list__question {
  position: relative;
  padding-right: 30rem;
}
.p-faq-list__question::before, .p-faq-list__question::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 16rem;
  height: 2rem;
  background-color: #333333;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
}
.p-faq-list__question::after {
  -webkit-transform: translate(0, -50%) rotate(90deg);
          transform: translate(0, -50%) rotate(90deg);
}

.p-faq-list__answer {
  margin-top: 20rem;
  display: none;
}
@media only screen and (max-width: 767px) {
  .p-faq-list__answer {
    margin-top: 15rem;
  }
}

.p-faq-list__question-text,
.p-faq-list__answer-text {
  position: relative;
  padding-left: 1.5em;
  display: inline-block;
}

.p-faq-list__question-text::before {
  content: "Q.";
  position: absolute;
  left: 0;
}

.p-faq-list__answer-text::before {
  content: "A.";
  position: absolute;
  left: 0;
  color: #c61619;
}