/* =========================================================
   アコーディオン（Q&A）
   開閉は js（.is-open の付け外し）
   ========================================================= */
.faq-item { background: var(--bg-2); padding: 0 20px; }
.faq-item__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 28px 0;
  text-align: left;
  font-size: clamp(16px, 1.67vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--main);
}
.faq-item__q img {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  transition: transform .3s;
}
.faq-item.is-open .faq-item__q img { transform: rotate(180deg); }

.faq-item__a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .35s ease;
}
.faq-item.is-open .faq-item__a { grid-template-rows: 1fr; }
.faq-item__a > p {
  overflow: hidden;
  font-size: clamp(15px, 1.39vw, 20px);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: .03em;
}
.faq-item.is-open .faq-item__a > p { padding-bottom: 30px; }
.faq-item__a strong { font-weight: 700; }
.faq-item__a strong.black { font-weight: 900; }

/* ---- Responsive ---- */
@media (max-width: 560px) {
  .faq-item__q { padding: 20px 0; gap: 12px; }
  .faq-item__q img { width: 28px; height: 28px; }
  .faq-item.is-open .faq-item__a > p { padding-bottom: 20px; }
}
