details.faq-section {
  margin: 0;
  padding: 50px 0;
  border-top: solid 1px var(--main-color);
}
details.faq-section:last-of-type {
  border-bottom: solid 1px var(--main-color);
}
details.faq-section:first-of-type {
  margin-top: 20px;
}

.faq-section .faq-list dt,
.faq-section .faq-list dd {
  display: flex;
  gap: 1.25rem;
}

.faq-section .faq-list dt {
  font-weight: bold;
  font-size: var(--font-heading-3-size);
}

.faq-section .top-btn {
  margin-top: 35px;
}
@media screen and (max-width: 740px) {
  .faq-section .top-btn {
    margin-top: 0;
  }
}
.faq-section h3 {
  scroll-margin-top: 90px;
  margin-top: 35px;
}

.faq-section-marker {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-top: 0.35em;
  margin-right: 20px;
  background-color: var(--main-color);
}
.faq-section span[class^="marker-"].expand {
  margin-top: 0.25em;
  margin-left: auto;
}
.faq-section .faq-icon {
  width: 1.75rem;
  height: 1.75rem;
  margin-top: 0.15rem;
}

.faq-list {
  margin-top: 15px;
}

.faq-accordion {
  border-top: solid 1px var(--sub-color);
}
.faq-accordion:last-child {
  border-bottom: solid 1px var(--sub-color);
}
.faq-accordion > .dropdown-button {
  padding: 30px 0;
}

.faq-accordion .dropdown-content {
  padding-right: 40px;
}
.faq-accordion .dropdown-content p {
  margin-top: 0;
}
.faq-accordion .dropdown-content *:last-child {
  margin-bottom: 30px;
}

/* 電話ブロック */
.contact-info {
  margin-top: 20px;
}

/* メールリスト */
ul.mail-list {
  max-width: 445px;
  margin-top: 20px;
}
ul.mail-list > li.mail-list-item {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.mail-list > li.mail-list-item:not(:first-child) {
  margin-top: 10px;
}
ul.mail-list > li.mail-list-item img {
  border-radius: 5px;
}

/* 追加 */
.faq-section h3 {
  margin-bottom: 15px;
}
