#template-about .faq-container {
  margin-bottom: 80px;
  color: var(--primary);
  max-width: 760px;
}

@media (min-width: 64rem) {
  #template-about .faq-container {
    margin-bottom: 20vh;
    width: 58vw;
    max-width: 920px;
  }
}

#template-about .faq-kicker {
  font-family: var(--font-content);
  font-size: 14px;
  line-height: 1;
  text-transform: uppercase;
  margin: 0 0 32px;
}

#template-about .faq-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#template-about .faq-item {
  width: 100%;
  opacity: .62;
  transition: opacity .48s cubic-bezier(.19, 1, .22, 1);
}

#template-about .faq-item:hover,
#template-about .faq-item[open] {
  opacity: 1;
}

#template-about .faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 8px 0;
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--font-content);
  font-size: 14px;
  line-height: 1.15;
  text-transform: uppercase;
  width: auto;
}

#template-about .faq-item summary::-webkit-details-marker {
  display: none;
}

#template-about .faq-item summary:after {
  content: "";
  flex: 0 0 auto;
}

#template-about .faq-item summary:before {
  content: ">";
  display: inline-block;
  flex: 0 0 auto;
  transform: translateY(-1px);
  transition: transform .48s cubic-bezier(.19, 1, .22, 1);
}

#template-about .faq-item[open] summary:before {
  transform: translateY(-1px) rotate(90deg);
}

#template-about .faq-answer {
  padding: 12px 8vw 28px 22px;
  font-family: var(--font-title), Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: .98;
  animation: faqAnswerIn .64s cubic-bezier(.19, 1, .22, 1) both;
}

#template-about .faq-answer p {
  margin: 0;
}

#template-about .faq-answer a {
  color: inherit;
  text-decoration: none;
  position: relative;
}

#template-about .faq-answer a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .02em;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
}

#template-about .faq-answer a:hover:after {
  transform: scaleX(0);
  transform-origin: right;
}

#template-about .faq-answer .faq-en {
  display: block;
  margin-top: 10px;
  font-family: var(--font-content);
  font-size: 12px;
  line-height: 1.35;
  text-transform: uppercase;
  opacity: .62;
}

@media (min-width: 64rem) {
  #template-about .faq-item summary {
    padding: 10px 0;
  }

  #template-about .faq-answer {
    max-width: 620px;
    font-size: 40px;
    padding-bottom: 34px;
  }
}

@keyframes faqAnswerIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
