/* html, body {
  margin: 0;
  padding: 0;
} */

summary {
    position: relative;
    display: block;
    /* 矢印を消す */
    padding: 10px;
    padding-left: 25px;
    cursor: pointer;
    background-color: var(--summary-background-color);
    transition: 0.2s;
}

summary:hover {
    background-color: var(--summary-background-hover-color);
    ;
}

summary::-webkit-details-marker {
    display: none;
}

/* 疑似要素でアイコンを表示 */
summary::before,
summary::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

summary::before {
    width: 20px;
    height: 20px;
    border-radius: 50em;
}

summary::after {
    left: 8px;
    width: 0;
    height: 0;
    border-width: 4px 0 4px 8px;
    border-color: transparent transparent transparent #fff;
    box-sizing: border-box;
    transition: .1s;
}

/* オープン時 */
details[open] summary {
    background-color: var(--summary-background-color);
}

details[open] summary::after {
    transform: rotate(90deg);
    left: 6px;
    top: 2px;
}

/* アニメーション */
details[open] .wrapper {
    animation: accordionOpen 0.5s ease;
}

@keyframes accordionOpen {
    0% {
        opacity: 0;
        transform: translateY(-5px);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}