@charset "UTF-8";

.faq_list_wrap {
  padding: 80px 0;

  @media (max-width: 1079.98px) {
    padding: 60px 5%;
  }
}

.faq_list .wp-block-group__inner-container {
  gap: 20px;
  display: grid;
  grid-auto-flow: row;
}

.top-info-section__title--center {
  text-align: center;
  width: 100%;
}

.faq_list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0 0 32px;
}

.faq {
  padding: 0;
  margin: 0;
  display: flex;
  flex-flow: column;
  gap: 0;
  border: none;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
}

.question {
  display: flex;
  align-items: center;
}

.question strong {
  text-align: center;
  font-size: 20px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
}

.faq .question {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: flex-start;
  font-weight: 600;
  padding: 24px 32px;
  background: transparent;
}

.faq .question.open {
  padding-bottom: 0;
}

.faq .faq-q-label {
  flex-shrink: 0;
  font-family: Inter, Figtree, "Hiragino Sans", sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 24px;
  color: #0076e5;
}

.faq .faq-q-text {
  flex: 1;
  min-width: 0;
  font-size: 18px;
  font-weight: 600;
  color: #383b42;
  line-height: 1.45;
}

.faq .answer {
  display: none;
  max-height: none;
  padding: 24px 32px 28px;
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  color: #383b42;

  .contact_tel_wrap {
    padding: 0;
    gap: 12px;
    margin-top: 12px;
  }

  .contact_tel_info {
    font-size: 14px;
  }

  .form_note_list {
    width: 100%;
  }
}

.faq .answer.open {
  display: block;
}

.faq .toggle-icon {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-left: auto;
  margin-right: 0;
  display: inline-block;
  border-radius: 50%;
  background: #eaefff;
}

/* FAQ アーカイブ等：Qラベルなしの質問テキスト */
.faq .question > span:first-of-type:not(.toggle-icon):not(.faq-q-label) {
  flex: 1;
  min-width: 0;
  font-size: 18px;
  font-weight: 600;
  color: #383b42;
  line-height: 1.45;
}

.faq .bar {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  margin-left: -5px;
  margin-top: -1px;
  background-color: #0076e5;
  transition: transform 0.4s ease;
}

.faq .bar1 {
  transform: translateY(-50%) rotate(0deg);
}

.faq .bar2 {
  transform: translateY(-50%) rotate(90deg);
}

.faq .question.open .bar1 {
  transform: translateY(-50%) rotate(45deg);
}

.faq .question.open .bar2 {
  transform: translateY(-50%) rotate(-45deg);
}

/* よくある質問直下：一覧へ（Figma 文言・トーンは top-info-section__more と共通） */
.top-info-faq-block__faq-more {
  display: flex;
  justify-content: center;
  align-items: center;
}

.top-info-faq-block__faq-more .top-info-section__more {
  font-size: 14px;
  line-height: 28px;
}

/* お役立ち・資料一覧カード共通（landing など FAQ と同時利用時にも適用） */
.top-info-section {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.top-info-faq-block__row > .top-info-section {
  max-width: none;
  margin: 0;
  width: 100%;
}

.top-info-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.top-info-section__title {
  font-size: 24px;
  font-weight: 600;
  color: #383b42;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.top-info-section__head .top-info-section__title {
  margin: 0;
}

.top-info-section__title.top-info-section__title--center {
  margin: 0 auto 24px;
}

.top-info-section__more {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #383b42;
  letter-spacing: 0.02em;
  line-height: 28px;
  text-decoration: none;
  transition: opacity 0.25s ease;
}

@media (hover: hover) and (pointer: fine) {
    .top-info-section__more:hover {
        opacity: 0.65;
    }
}

.top-info-section__more-icon {
  flex-shrink: 0;
}

.top-info-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.top-info-card {
  margin: 0;
}

.top-info-card__link {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 16px 12px 12px;
  background: #fff;
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  transition:
    box-shadow 0.25s ease,
    opacity 0.25s ease;
}

@media (hover: hover) and (pointer: fine) {
    .top-info-card__link:hover {
        box-shadow: 0 8px 24px rgb(56 59 66 / 8%);
        opacity: 0.98;
    }
}

.top-info-card__thumb {
  flex-shrink: 0;
  width: 220px;
  height: 115px;
  border-radius: 12px;
  overflow: hidden;
  background: #e8eaef;
}

.top-info-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.top-info-card__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.top-info-card__title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #3e4043;
}

.top-info-card__meta {
  margin: 0;
  font-size: 12px;
  color: #9398a4;
  line-height: 1.5;
}

.top-info-card__tags {
  margin: 0;
  font-size: 12px;
  color: #9398a4;
  line-height: 1.5;
}

.top-info-download-card {
  padding-right: 12px;
}

.top-info-download-card__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0076e5;
}

.top-info-download-card__icon svg {
  display: block;
}

.top-info-section--download .top-info-cards {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 575.98px) {
  .top-info-card__link {
    flex-wrap: wrap;
  }

  .top-info-card__thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 220 / 115;
  }
}
