/* ════════════════════════════════════════════
   よくある質問（FAQ）ページ
   ════════════════════════════════════════════ */

.learning-faq__lead {
  font-size: .95rem;
  color: #666;
  line-height: 1.8;
  margin: 0 0 2.5rem;
  max-width: 720px;
}
.learning-faq__lead a { color: #1976d2; text-decoration: none; }
.learning-faq__lead a:hover { text-decoration: underline; }

/* カテゴリグループ */
.learning-faq__group { margin-bottom: 2.5rem; }

.learning-faq__category {
  font-size: 1.15rem;
  font-weight: 800;
  color: #1a1560;
  margin: 0 0 1rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid #e8eaf6;
}

/* リスト */
.learning-faq__list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

/* 各Q&A（アコーディオン） */
.learning-faq__item {
  background: #fff;
  border: 1px solid #e6e6ee;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .15s, border-color .15s;
}
.learning-faq__item[open] {
  border-color: #c5cae9;
  box-shadow: 0 4px 16px rgba(57,73,171,.1);
}

/* 質問（summary） */
.learning-faq__q {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1.1rem 1.25rem;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  color: #222;
  font-size: .98rem;
  line-height: 1.5;
  transition: background .15s;
}
.learning-faq__q::-webkit-details-marker { display: none; }
.learning-faq__q:hover { background: #f7f8ff; }

.learning-faq__q-icon {
  flex-shrink: 0;
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #3949ab, #1a1560);
  color: #fff;
  font-weight: 900;
  font-size: .9rem;
  border-radius: 7px;
}
.learning-faq__q-text { flex: 1; }

.learning-faq__arrow {
  flex-shrink: 0;
  font-size: 1.2rem;
  color: #9fa8da;
  font-weight: 700;
  transition: transform .2s;
  line-height: 1;
}
.learning-faq__item[open] .learning-faq__arrow {
  transform: rotate(45deg);
  color: #3949ab;
}

/* 回答 */
.learning-faq__a {
  display: flex;
  gap: .75rem;
  padding: 0 1.25rem 1.25rem;
  align-items: flex-start;
}
.learning-faq__a-icon {
  flex-shrink: 0;
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: #fce4ec;
  color: #c2185b;
  font-weight: 900;
  font-size: .9rem;
  border-radius: 7px;
}
.learning-faq__a-text {
  flex: 1;
  font-size: .92rem;
  line-height: 1.85;
  color: #555;
  padding-top: .2rem;
}
.learning-faq__a-text a { color: #1976d2; text-decoration: none; font-weight: 600; }
.learning-faq__a-text a:hover { text-decoration: underline; }
.learning-faq__a-text strong { color: #333; }

/* お問い合わせボックス */
.learning-faq__contact-box {
  margin-top: 3rem;
  padding: 2rem 1.5rem;
  text-align: center;
  background: linear-gradient(155deg, #f0f4ff, #fafbff);
  border: 1px solid #e0e7ff;
  border-radius: 16px;
}
.learning-faq__contact-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #1a1560;
  margin: 0 0 .5rem;
}
.learning-faq__contact-text {
  font-size: .9rem;
  color: #666;
  margin: 0 0 1.25rem;
  line-height: 1.7;
}
.learning-faq__contact-btn {
  display: inline-block;
  padding: .8rem 2.2rem;
  background: linear-gradient(135deg, #3949ab, #1a237e);
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(40,53,147,.3);
  transition: transform .12s, filter .15s;
}
.learning-faq__contact-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }

/* スマホ */
@media (max-width: 600px) {
  .learning-faq__category { font-size: 1.05rem; }
  .learning-faq__q { font-size: .9rem; padding: .95rem 1rem; gap: .6rem; }
  .learning-faq__q-icon, .learning-faq__a-icon { width: 24px; height: 24px; font-size: .8rem; }
  .learning-faq__a { padding: 0 1rem 1.1rem; gap: .6rem; }
  .learning-faq__a-text { font-size: .88rem; }
}
