.faq_q {
    color: black;
    padding-right: 50px !important;
    /* アイコンと重ならないように余白を追加 */
    padding-left: 3.5em !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 0em 1em !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;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.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% !important;
    transform: translateY(-50%) !important;
    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: 0 !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;
    display: flex;
    align-items: center;
    max-height: none!important;

    @media screen and (max-width: 959px) {
        padding: 2.3em 1em 1em 1em!important;

        top: 0 !important;
    }
}

@media screen and (max-width: 959px) {
    .swell-block-faq .faq_a:before {
        top: 0 !important;
        transform: translateY(0) !important;
    }
}