@charset "UTF-8";
.sec-title {
  flex-wrap: wrap;
}
.relation__box {
  display: block;
}
.relation__figure {
  width: 100%;
}
.relation--wide .relation__figure svg {
  min-width: 490px;
}

/* --- 主なご質問（枠つきアコーディオン） --- */
.qa-list {
  display: grid;
  gap: 10px;
}
.qa-list__item {
  border: 1px solid var(--c-border);
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}
.qa-list__q {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  padding: 7px 18px;
  text-align: left;
}
.qa-list__q:hover {
  color: var(--c-blue);
}
.qa-list__mark {
  flex: none;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-blue);
  line-height: 1.7;
}
.faq-col__q .qa-list__text {
  flex: 1 1 auto;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--c-text);
}
.qa-list__a {
  padding: 0 18px 8px 40px;
  font-size: 13.5px;
  line-height: 1.9;
}
.qa-list__a[hidden] {
  display: none;
}
@media (max-width: 1080px) {
  .faq-contact__center {
    text-align: center;
  }
}

/* ==========================================================================
   カテゴリー別のよくあるご質問（faq-ui-proposal.html 案Cより移植）
   ========================================================================== */
/* --- 全幅Q&Aリスト --- */
.qa {
  border-top: 1px solid var(--c-border);
}
.qa__item {
  border-bottom: 1px solid var(--c-border);
}
.qa__item[hidden] {
  display: none;
}

.qa__q {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  padding: 17px 8px;
  text-align: left;
}
.qa__q:hover {
  background: #fafcfe;
}
.qa__badge {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--c-blue);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.qa__badge--a {
  background: var(--c-green);
}
.qa__text {
  flex: 1 1 auto;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.65;
  color: var(--c-navy);
}
.qa__cat {
  display: inline-block;
  margin-right: 8px;
  padding: 2px 10px;
  border-radius: 11px;
  background: #e4eef6;
  color: var(--c-blue-dark);
  font-size: 10.5px;
  font-weight: 700;
  vertical-align: 2px;
}
.qa__toggle {
  position: relative;
  flex: none;
  width: 16px;
  height: 16px;
  margin-top: 5px;
}
.qa__toggle::before,
.qa__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1.8px;
  background: var(--c-blue);
  transform: translateY(-50%);
  transition: opacity 0.25s ease;
}
.qa__toggle::after {
  transform: translateY(-50%) rotate(90deg);
}
.qa__q[aria-expanded="true"] .qa__toggle::after {
  opacity: 0;
}

.qa__a {
  padding: 0 8px 22px 38px;
}
.qa__a[hidden] {
  display: none;
}
.qa__a-inner {
  display: flex;
  gap: 12px;
  padding: 18px 22px;
  border-radius: 8px;
  background: var(--c-bg-tint);
}
.qa__a-body {
  min-width: 0;
  flex: 1 1 auto;
}

/* ★回答本文：1行40字前後になるよう行長を制限 */
.qa__a-text {
  font-size: 14px;
  line-height: 1.95;
  color: var(--c-text);
}
.qa__a-text + .qa__a-text {
  margin-top: 10px;
}

.qa__a-more {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 14px;
  padding: 8px 18px;
  border: 1px solid var(--c-blue);
  border-radius: 4px;
  background: #fff;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--c-blue-dark);
}
.qa__a-more:hover {
  background: var(--c-blue);
  color: #fff;
}

/* 回答内に図を置く場合 */
.qa__a-body .relation {
  margin-top: 16px;
}
.qa__a-body .relation__figure {
  overflow-x: auto;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 8px;
  padding: 10px;
}
.qa__a-body .relation__figure svg {
  display: block;
  width: 100%;
  height: auto;
  min-width: 680px;
}
.qa__a-body .scroll-hint {
  margin-bottom: 6px;
  font-size: 11.5px;
  color: var(--c-text-sub);
}

/* --- カテゴリーブロック --- */
.cat-block {
  margin-top: 30px;
  scroll-margin-top: 80px;
}
.cat-block__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid var(--c-border);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--c-bg-tint);
}
.cat-block__head img {
  width: 28px;
  height: 28px;
}
.cat-block__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--c-navy);
}
.cat-block__body {
  padding: 0 16px;
  border: 1px solid var(--c-border);
  border-top: 0;
  border-radius: 0 0 8px 8px;
}
.cat-block .qa {
  border-top: 0;
}
.cat-block .qa__item:last-child {
  border-bottom: 0;
}

/* 見出し色 */
.is-green {
  color: #1f7a52;
}
.is-purple {
  color: #6b51ae;
}
.is-orange {
  color: #c86a1e;
}

@media (max-width: 640px) {
  .qa__text {
    font-size: 14.5px;
  }
  .qa__a {
    padding: 0 0 20px 6px;
  }
  .qa__a-inner {
    padding: 14px 16px;
    gap: 10px;
  }
  .qa__a-more {
    justify-content: center;
  }
}

/* 「主なご質問」もカテゴリー別FAQと同じ枠線つきのブロックにする */
.qa-box {
  padding: 0 16px;
  border: 1px solid var(--c-border);
  border-radius: 8px;
}
.qa-box .qa {
  border-top: 0;
}
.qa-box .qa__item:last-child {
  border-bottom: 0;
}
