@charset "UTF-8";
/* --------------------------------------------------------
	 faq
	 -------------------------------------------------------- */
.faq-content {
  background: var(--color-beige);
  padding: 10.2564102564vw 0 20.5128205128vw;
}
@media (min-width: 820px) {
  .faq-content {
    padding: 100px 0;
    max-width: inherit;
  }
}

.faq-category {
  margin-bottom: 15.3846153846vw;
}
.faq-category:last-child {
  margin-bottom: 0;
}
@media (min-width: 820px) {
  .faq-category {
    margin-bottom: 60px;
  }
}

@media (min-width: 820px) {
  .detail-body {
    padding: 0 60px;
  }
}

/* ── Q&Aリスト ── */
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw;
  margin-top: 7.6923076923vw;
}
@media (min-width: 820px) {
  .faq-list {
    gap: 40px;
    margin-top: 60px;
  }
}

/* item */
/* question */
.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4.1025641026vw;
  padding: 3.5897435897vw 5.1282051282vw;
  cursor: pointer;
  user-select: none;
  background: #fff;
  transition: background var(--transition-base);
  /* 	@media (any-hover: hover) {
  		&:hover {
  			background: var(--color-blue-sky);
  		}
  	} */
}
@media (min-width: 820px) {
  .faq-question {
    gap: 24px;
    padding: 16px 30px;
  }
}

/* 質問テキスト */
.faq-question__label {
  display: flex;
  gap: 5px;
  font-size: var(--font-size-18);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-blue-deep);
  flex: 1;
}
@media (min-width: 820px) {
  .faq-question__label {
    font-size: var(--font-size-20);
  }
}
.faq-question__label span {
  padding-left: 2.0512820513vw;
  border-left: 3px solid var(--color-blue-deep);
}
@media (min-width: 820px) {
  .faq-question__label span {
    padding-left: 20px;
  }
}

/* +/- アイコン */
.faq-question__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 4.6153846154vw;
  height: 4.6153846154vw;
  position: relative;
}
.faq-question__icon::before, .faq-question__icon::after {
  content: "";
  position: absolute;
  background: var(--color-blue-deep);
  border-radius: 1px;
  transition: transform 0.35s ease, opacity 0.35s ease;
}
.faq-question__icon {
  /* 横線 */
}
.faq-question__icon::before {
  width: 100%;
  height: 2px;
}
.faq-question__icon {
  /* 縦線（+ のときのみ表示） */
}
.faq-question__icon::after {
  width: 2px;
  height: 100%;
}
@media (min-width: 820px) {
  .faq-question__icon {
    width: 18px;
    height: 18px;
  }
}

/* open */
.faq-question[aria-expanded=true] .faq-question__icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

/* ── answer（アコーディオン） ── */
.faq-answer {
  overflow: hidden;
  height: 0;
  transition: height 0.35s ease;
}

/* .is-open のときの height は JS で scrollHeight を直接セットするため CSS 定義は不要 */
.faq-answer__inner {
  padding: 5.1282051282vw;
}
.faq-answer__inner p {
  font-size: var(--font-size-15);
}
.faq-answer__inner p + p {
  margin-top: 12px;
}
@media (min-width: 820px) {
  .faq-answer__inner p {
    font-size: var(--font-size-18);
  }
}
@media (min-width: 820px) {
  .faq-answer__inner {
    padding: 15px 0;
  }
}

/*# sourceMappingURL=faq.css.map */
