﻿/* Asia/Tokyo, 2025-10-28 11:00(UTC+09:00) /css/qa.css */
/* Uses shared .page-header + .page-title from common.css */

/* Spacing after page header now comes from common.css */
.faq-list {
  display: grid;
  gap: 1.6rem;
}
.faq-item {
  border: 2px solid #d9e6f5;
  border-radius: 10px;
  background: #fff;
  padding: 0;
  overflow: clip;
}
.faq-item[open] {
  border-color: #b9d3ef;
  background: #f9fcff;
}
.faq-item > summary {
  cursor: pointer;
  list-style: none;
  padding: 1.2rem 1.6rem;
  font-size: var(--fs-19);
  font-weight: 700;
  color: #013a73;
  position: relative;
  outline: none;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
  content: "";
  position: absolute;
  right: 1.2rem;
  top: 50%;
  width: 10px; height: 10px;
  border-right: 3px solid #0075c9;
  border-bottom: 3px solid #0075c9;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.2s ease;
}
.faq-item[open] > summary::after {
  transform: translateY(-30%) rotate(225deg);
}
.faq-item .answer {
  padding: 0 1.6rem 1.4rem;
  font-size: var(--fs-17);
  color: #333;
  line-height: 1.9;
}
.faq-item .answer p { margin: 0; }
.faq-item .answer p + p { margin-top: var(--para-gap); }
.legacy-blue {
  color: blue;
  text-decoration: underline;
}
@media (max-width: 600px) {
  .faq-item > summary { font-size: var(--fs-17); padding: 1rem 1.2rem; }
  .faq-item .answer { padding: 0 1.2rem 1.1rem; font-size: var(--fs-16); }
}

/* 繧｢繧ｯ繧ｻ繧ｷ繝薙Μ繝・ぅ */
.faq-item > summary:focus-visible {
  outline: 3px solid #9cd1ff;
  outline-offset: 2px;
  border-radius: 8px;
}

