
/*---------------------------------------------------------------------*/
/*                                                                       */
/*          よくある質問ページ用CSS　追記分                              */
/*                                                                       */
/*---------------------------------------------------------------------*/


/* ========================================
   QAセクション共通ラッパー
======================================== */
.qa-section {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto 140px;
}


/* ========================================
   アコーディオンアイテム（details/summary）
======================================== */
.qa-item {
  border-bottom: 1px solid #e0e0e0;
}

.qa-item:first-of-type {
  border-top: 1px solid #e0e0e0;
}

/* デフォルトの▶マーカーを非表示 */
.qa-item summary {
  list-style: none;
}

.qa-item summary::-webkit-details-marker {
  display: none;
}


/* ========================================
   summary（質問行）
======================================== */
.qa-summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 0;
  cursor: pointer;
  user-select: none;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

.qa-summary:hover {
  opacity: 0.75;
}


/* ========================================
   Q マーク
======================================== */
.qa-q-mark {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: #2e7d32;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1;
}


/* ========================================
   質問テキスト
======================================== */
.qa-q-text {
  flex: 1;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #222;
  padding-top: 4px;
}


/* ========================================
   開閉矢印アイコン
======================================== */
.qa-arrow {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
  margin-left: auto;
}

.qa-arrow::before,
.qa-arrow::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 2px;
  background: #aaa;
  top: 50%;
  transition: transform 0.3s ease;
}

.qa-arrow::before {
  left: 1px;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: right center;
}

.qa-arrow::after {
  right: 1px;
  transform: translateY(-50%) rotate(-45deg);
  transform-origin: left center;
}

/* open時：矢印を上向きに反転 */
.qa-item[open] .qa-arrow::before {
  transform: translateY(-50%) rotate(-45deg);
}

.qa-item[open] .qa-arrow::after {
  transform: translateY(-50%) rotate(45deg);
}


/* ========================================
   回答エリア
======================================== */
.qa-answer {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 0 0 24px 0;
}


/* ========================================
   A マーク
======================================== */
.qa-a-mark {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: #e0e0e0;
  color: #555;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1;
}


/* ========================================
   回答テキスト
======================================== */
.qa-answer p {
  line-height: 2;
  letter-spacing: 0.1em;
  color: #555;
  margin: 0;
  padding-top: 4px;
}

.qa-answer p a {
  color: #1E587C;
  text-decoration: underline;
}

.qa-answer p a:hover {
  text-decoration: none;
}


/* ========================================
   スマホ対応（QAページ追記分）
   max-width: 767px
======================================== */
@media (max-width: 767px) {

  .qa-section {
    width: 90%;
    margin-bottom: 70px;
  }

  .qa-summary {
    padding: 18px 0;
    gap: 12px;
  }

  .qa-q-mark,
  .qa-a-mark {
    width: 24px;
    height: 24px;
    font-size: 0.82rem;
  }

  .qa-q-text {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .qa-answer {
    gap: 12px;
    padding-bottom: 20px;
  }

  .qa-answer p {
    font-size: 0.9rem;
    line-height: 1.9;
  }

}
