.faq_q {
    background-color: var(--color_main);
    color: black;
    padding-right: 50px !important;
    /* アイコンと重ならないように余白を追加 */
}

.faq_a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out, border 0.3s ease-out;
    padding: 0 1em 0 4em !important;
    /* 横方向のpaddingをopen時(1em)と合わせる */
    opacity: 0;
    /* 透明度もアニメーション */
    transition: all 0.3s ease-out;
}


.swell-block-faq .faq_q:before,
.swell-block-faq .faq_a:before {
    box-shadow: none;
    left: 10px;
}

.swell-block-faq .swell-block-faq__item+.swell-block-faq__item {
    position: relative;
}

.swell-block-faq__item .faq_q:after {
    content: "\e910";
    font-family: icomoon !important;
    color: black;
    font-weight: bold;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4em;
}
@media screen and (max-width: 959px) {
    .swell-block-faq__item .faq_q:after {
        right: 20px !important;
    }
    .is-style-faq-box .faq_a:before, .is-style-faq-box .faq_q:before, .is-style-faq-stripe .faq_a:before, .is-style-faq-stripe .faq_q:before {
    left: 1em;
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%) !important;
}
}

.swell-block-faq__item.open .faq_q:after {
    content: "\e912";
}

.swell-block-faq__item .faq_q:after {
    content: "\e91c";
}

.swell-block-faq__item.open .faq_q:after {
    content: "\e919";
}

.faq_a.open {
    padding: 1.25em 1em 1.25em 4em !important;
    opacity: 1;
}