/* components/objects/_accordion.html */
/* 参考：https://www.tak-dcxi.com/article/accordion-slide-animation-can-be-implemented-in-two-line-of-css/ */
.accordion {
  background-color: var(--white);
  border-radius: 16px;
  padding-inline: 16px;
}

.accordion .accordion__summary {
  /* 初期値のlist-item以外 */
  display: block flow;
  cursor: pointer;
  padding-block: 16px;
  padding-inline-end: 24px;
  position: relative;
}

.accordion .accordion__summary .accordion__summary__text {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--primary-color);
}

.accordion .accordion__summary .accordion__summary__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  margin: auto;
}
.accordion .accordion__summary .accordion__summary__icon::before,
.accordion .accordion__summary .accordion__summary__icon::after {
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  background-color: var(--primary-color);
  transition: transform 0.2s;
  position: absolute;
  inset: 0;
  margin: auto;
}

.accordion .accordion__summary .accordion__summary__icon::before {
  transform: rotate(90deg);
}

.accordion[open] .accordion__summary .accordion__summary__icon::before {
  transform: rotate(0deg);
}

.accordion .accordion__summary::-webkit-details-marker {
  display: none;
}

.accordion .accordion__summary + * {
  display: block grid;
  transition: grid-template-rows 0.5s;
}

.accordion .accordion__panel .accordion__panel__inner {
  overflow: hidden;
}

.accordion .accordion__panel .accordion__panel__content {
  padding-block-end: 16px;
}
