.faq-group {
  margin-bottom: var(--sp1);
}

.faq-group-button {
  display: flex;
  gap: 0.25rem;
}

.faq-group-button__icon {
  --width: 1.25rem;
  --border-width: 0.25rem;
  position: relative;
  display: block;
  width: var(--width);
  height: var(--width);
  margin-right: var(--sp0-5);
}
.faq-group-button__icon:before, .faq-group-button__icon:after {
  content: "";
  position: absolute;
  top: calc(50% - var(--border-width) / 2);
  left: 0;
  width: 100%;
  height: 0;
  border-top: solid var(--border-width) currentColor;
}
.faq-group-button__icon:after {
  transform: rotate(90deg);
  transition: opacity 0.2s;
}
.faq-group-button[aria-expanded=true] .faq-group-button__icon:after {
  opacity: 0;
}

.faq-group__summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  touch-action: manipulation;
  list-style: none;
}
.faq-group__summary::-webkit-details-marker {
  display: none;
}

.faq-group__icon {
  --width: 1.25rem;
  --border-width: 0.25rem;
  position: relative;
  width: var(--width);
  height: var(--width);
  margin-right: var(--sp0-5);
  color: var(--color-primary);
}
.faq-group__icon:before, .faq-group__icon:after {
  content: "";
  position: absolute;
  top: calc(50% - var(--border-width) / 2);
  left: 0;
  width: 100%;
  height: 0;
  border-top: solid var(--border-width) currentColor;
}
.faq-group__icon:after {
  transform: rotate(90deg);
  transition: opacity 0.2s;
}
.faq-group[open] .faq-group__icon:after {
  opacity: 0;
}

.faq-group__title {
  display: inline;
  margin: 0;
}

.faq-group__content {
  padding-left: var(--sp2);
  border-left: solid 10px #eee;
}

.faq__question {
  margin: var(--sp2) 0 var(--sp);
}

.faq__answer {
  margin: 0;
}