.faq {
    margin-bottom: 40px;
}

.faq__section_title {
    text-align: center;
}

.faq__section_description {
    text-align: center;
}

.faq__item {
    text-align: left;
    background-color: #f9fafa;
    width: 100%;
    border-radius: 16px;
    margin-bottom: 16px;
}

.faq__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    background: none;
    border-radius: 16px;
    border: 1px solid #e7e9eb;
    transition: 0.3s ease-out;
    width: 100%;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    font-size: 20px;
    line-height: 28px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.faq__header:hover {
    background: #f0f1f2;
    border: 1px solid #e7e9eb;
}

.faq__header:active {
    box-shadow: 0 0 12px #ddd inset;
    border: 1px solid #e7e9eb;
}

.faq__header:focus {
    border: 1px solid #e7e9eb;
}

.faq__detail {
    box-sizing: content-box;
    display: grid;
    transition: all 0.3s ease-out;
    grid-template-rows: minmax(0, 0fr);
    overflow: hidden;
    padding: 0 24px;
}

.faq__detail p:last-child {
    margin-bottom: 0;
}

.faq__item.open .faq__detail {
    grid-template-rows: minmax(0, 1fr);
}

.faq__content {
    padding: 24px 0;
}

.faq__plus {
    width:16px;
    height:16px;
    position:relative;
    flex-shrink:0;
    margin-left:24px;
}

.faq__plus::after,
.faq__plus::before {
    content:"";
    position:absolute;
    height:2px;
    width:100%;
    background-color:#0d273a;
    top:7px;
    left:0;
    transform-origin:center;
    transition:0.15s ease-out;
}

.faq__plus::before {
    transform:rotate(90deg);
}

.faq__item.open .faq__detail,
.faq__item.open .faq__header {
    border-radius: 16px 16px 0 0;
}

.faq__item.open .faq__plus::before {
    transform:rotate(0deg);
}
