/*==================================================
section FAQ
===================================*/
.qa {
  background: #e9e6e2;
  padding: 4rem 0 5rem;
}

.qa .section__title {
  text-align: left;
  margin: 0;
  flex-shrink: 0;
  position: relative;
}

.qa .section__jp {
  position: relative;
  padding-bottom: 2rem;
}

.qa .section__jp::after {
  content: "";
  width: 1em;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}

.qa__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 2rem;
}

.qa__items {
  margin-top: 0;
  width: 100%;
}

.qa__item:not(:first-child) {
  margin-top: 1rem;
}

.qa__question {
  position: relative;
  padding: 1rem 1rem 1rem 2.8rem;
  background: #21a937;
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  cursor: pointer;
}

.qa__question::before {
  position: absolute;
  top: 50%;
  left: 1rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "Q.";
  color: #fff;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.08em;
}

.qa__question span::after,
.qa__question span::before {
  display: block;
  position: absolute;
  top: 50%;
  width: 1rem;
  height: 2px;
  background: #fff;
  content: "";
  -webkit-transform: translateY(-50%);
  right: 10px;
  transform: translateY(-50%);
}

.qa__question span::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.qa__question.is-active span::after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}

.qa__answer {
  display: none;
  position: relative;
  padding: 1rem 3.8rem;
  border: 1px solid #21a937;
  color: #000000;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  background: #ffffff;
}

.qa__answer.is-active {
  display: block;
}

.qa__answer span {
  position: relative;
}

.qa__answer span::before {
  position: absolute;
  top: 50%;
  top: 0;
  left: -2.7rem;
  content: "A.";
  color: #21a937;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.08em;
}

@media screen and (min-width: 768px) {
  .qa {
    padding-top: 9.1rem;
    padding-bottom: 5.9rem;
  }

  .qa__inner {
    flex-direction: row;
    gap: 6rem;
  }

  .qa__items {
    margin-top: 2.7rem;
    width: 80%;
  }

  .qa__item:not(:first-child) {
    margin-top: 2rem;
  }

  .qa__question {
    padding: 2.8rem 7rem;
    letter-spacing: 0.07em;
    font-size: 1.4rem;
  }

  .qa__question::before {
    left: 3rem;
    font-size: 2.6rem;
    line-height: 2;
  }

  .qa__question span::after,
  .qa__question span::before {
    right: 50px;
    width: 2rem;
  }

  .qa__answer {
    padding: 2.8rem 7rem;
    line-height: 3rem;
    letter-spacing: 0.02em;
    font-size: 1.4rem;
  }

  .qa__answer span::before {
    left: -4rem;
    font-size: 2.6rem;
  }
}

/*==================================================
section FAQ END
===================================*/
