/* ========================================
  Section 8 : FAQ
  - 見出しあり / 強調は余白と線
  - アコーディオンは details/summary
======================================== */

.section-faq{
  padding: clamp(4rem, 8vw, 6rem) 0;
}

.section-faq__container{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 4vw, 2rem);
}

.section-faq__head{
  margin-bottom: clamp(1.5rem, 4vw, 2.25rem);
}

.section-faq__title{
  margin: 0;
  font-size: clamp(1.25rem, 1.2vw + 1rem, 1.65rem);
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* FAQ list */
.faq{
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: rgba(255,255,255,0.45);
}

/* item */
.faq-item{
  border-top: 1px solid var(--line);
}

.faq-item:first-child{
  border-top: none;
}

/* summary */
.faq-item__q{
  list-style: none;
  cursor: pointer;
  padding: clamp(1rem, 2.6vw, 1.35rem) clamp(1rem, 3.2vw, 1.5rem);
  padding-right: clamp(3rem, 7vw, 3.75rem);
  position: relative;

  line-height: 1.6;
  font-weight: 500;
}

.faq-item__q::-webkit-details-marker{
  display: none;
}

/* ＋／− */
.faq-item__q::after,
.faq-item__q::before{
  content: "";
  position: absolute;
  right: clamp(1rem, 3.2vw, 1.5rem);
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--text-muted);
  transform: translateY(-50%);
  opacity: 0.85;
}

.faq-item__q::before{
  transform: translateY(-50%) rotate(90deg);
}

/* open state -> minus */
.faq-item[open] .faq-item__q::before{
  transform: translateY(-50%) rotate(0deg);
  opacity: 0; /* 縦線を消して − に */
}

/* answer */
.faq-item__a{
  padding: 0 clamp(1rem, 3.2vw, 1.5rem) clamp(1rem, 2.8vw, 1.25rem);
  color: var(--text-muted);
  line-height: 1.9;
}

/* 余計な強調を避ける */
.faq-item__a p{
  margin: 0;
}

/* hover (控えめ) */
.faq-item__q:hover{
  background: rgba(180, 90, 115, 0.06); /* --accent-weak 相当の薄さ */
}
