.js-accordion .faq_q {
	cursor: pointer;
	position: relative;
	transition: opacity .3s;

	&:hover {
		opacity: .7;
	}

	&::after {
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		content: "";
		display: inline-block;
		background-image: url('../img/icon_open.svg');
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		width: 16px;
		height: 16px;

		@media screen and (min-width: 600px) {
			right: 25px;
		}
	}

	&.is-open::after {
		background-image: url('../img/icon_close.svg');
		height: 2px;
	}
}

.js-accordion .faq_a {
	display: none;
}

.js-service-slider-thumbnail {
	& .swiper-slide {
		cursor: pointer;
		opacity: .4;
		transition: opacity .5s;

		&.swiper-slide-thumb-active {
			opacity: 1;
		}
	}
}


/* --------------------------
サイドナビ＞目次追従
-------------------------- */
#fix_sidebar {
	width: var(--swl-sidebar_width);
}

#fix_sidebar {
	position: sticky;
	top: 150px !important;
}


/* --------------------------
SP＞画面下部固定バナー
-------------------------- */
@media screen and (max-width: 959px) {
    body {
        padding-bottom: 60px; /* 固定メニューの高さに合わせて余白を設定 */
    }
    .p-fixBtnWrap {
        bottom: 5.0em; /* 上に戻るボタンの位置を上に */
    }
    #footer_btn {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 99;
        background-color: var(--color_white);
        padding: .3em .3em;
    }
    #footer_btn .swell-block-column {
        padding: .5em;
    }
    #footer_btn .swell-block-button__link[data-has-icon] {
        padding: 1em 1em;
    }    
}