/**
 * SWELL FAQ：アコーディオン表示
 */

.swell-child-faq--accordion .faq_q {
	position: relative;
	padding-right: 2.75em;
	cursor: pointer;
	user-select: none;
}

.swell-child-faq--accordion .faq_q::after {
	position: absolute;
	top: 50%;
	right: 0.35em;
	display: block;
	width: 1.5em;
	font-size: 1.1em;
	line-height: 1;
	text-align: center;
	transform: translateY(-50%);
	opacity: 0.55;
	transition: transform 0.25s, opacity 0.25s;
	content: '+';
}

.swell-child-faq--accordion .swell-block-faq__item.is-opened > .faq_q::after {
	content: '−';
	opacity: 0.85;
}

.swell-child-faq--accordion .faq_a {
	opacity: 1;
	transition:
		height 0.25s,
		padding 0.25s,
		opacity 0.25s,
		visibility 0.25s;
}

.swell-child-faq--accordion .swell-block-faq__item.is-opened > .faq_a {
	overflow: visible;
}

.swell-child-faq--accordion .swell-block-faq__item:not(.is-opened) > .faq_a {
	height: 0 !important;
	margin: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
}

/* シンプル・線あり：Q/A 間の区切り線（SWELL アコーディオン相当） */
.swell-child-faq--accordion:not(.is-style-faq-box):not(.is-style-faq-stripe)
	.swell-block-faq__item.is-opened
	> .faq_a {
	border-top: 1px dashed var(--color_border);
}

.is-style-faq-box.swell-child-faq--accordion .swell-block-faq__item:not(.is-opened) > .faq_q {
	border-bottom: none;
}

/* エディターでは編集しやすいよう常に展開 */
.editor-styles-wrapper .swell-child-faq--accordion .faq_q,
.block-editor-writing-flow .swell-child-faq--accordion .faq_q {
	cursor: text;
}

.editor-styles-wrapper .swell-child-faq--accordion .faq_q::after,
.block-editor-writing-flow .swell-child-faq--accordion .faq_q::after {
	display: none;
}

.editor-styles-wrapper .swell-child-faq--accordion .swell-block-faq__item:not(.is-opened) > .faq_a,
.block-editor-writing-flow .swell-child-faq--accordion .swell-block-faq__item:not(.is-opened) > .faq_a {
	height: auto !important;
	padding-top: 1em !important;
	padding-bottom: 1em !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.editor-styles-wrapper .is-style-faq-box.swell-child-faq--accordion .swell-block-faq__item:not(.is-opened) > .faq_a,
.block-editor-writing-flow .is-style-faq-box.swell-child-faq--accordion .swell-block-faq__item:not(.is-opened) > .faq_a {
	padding-top: 1.25em !important;
	padding-bottom: 1.25em !important;
}
