

.faq-category {
  margin-top: 100px;
}

.faq-box {
  margin-top: 15px; 
  border-bottom: 1px dashed #364478;
  margin-bottom: 1em;
}

.faq-box h3 {
  font-weight: 500 !important;
}

.faq-box summary {
  list-style: none;
  cursor: pointer;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.faq-box summary h3 {
  margin: 0;
  flex: 1;
}

.faq-box > .faq-answer p::before {
  content: "A. ";
  font-weight: bold;
}

.faq-box summary::after {
  content: "＋";
  margin-left: auto;
  font-size: 1.4rem;
  font-weight: bold;
  flex-shrink: 0;
}

summary::-webkit-details-marker {
  display: none;
}

summary h3::before {
  content: "Q. ";
  font-weight: bold;
}

details[open] summary::after {
  content: "−";
}

.faq-answer {
  overflow: hidden;
  will-change: opacity, transform;
}

details[open] .faq-answer {
  animation: faqFade 0.25s ease-out both;
}

@keyframes faqFade {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}