@charset "UTF-8";

/* =========================================================
 * SWELLアコーディオン（親テーマから子テーマへ移行）
 * FAQブロックも同じ見た目・開閉にする
 * ========================================================= */

.swell-block-accordion__item + .swell-block-accordion__item,
.swell-block-faq .swell-block-accordion__item + .swell-block-accordion__item {
	margin-top: 0.5em;
}

.swell-block-accordion__title {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1em;
	font-weight: 400;
	background: var(--color_gray);
	cursor: pointer;
	list-style: none;
}

.swell-block-accordion__title::-webkit-details-marker,
.swell-block-faq .swell-block-accordion__title::-webkit-details-marker {
	display: none;
}

.swell-block-accordion__title::marker {
	content: "";
	display: none;
}

.swell-block-accordion__label {
	flex: 1 1 auto;
	margin: 0;
	padding: 0 1em 0 0;
	font-weight: inherit;
	font-size: inherit;
	word-break: break-all;
}

.swell-block-accordion__icon {
	flex: 0 0 auto;
	width: 1em;
	font-size: 1.25em;
	text-align: right;
}

.swell-block-accordion__body {
	height: auto;
	padding: 1em;
	overflow: hidden;
	opacity: 1;
	transition: padding 0.25s, height 0.25s, opacity 0.25s, visibility 0.25s;
}

:not(.is-opened) > .swell-block-accordion__body {
	height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	opacity: 0;
}

.swell-block-accordion.is-style-simple .swell-block-accordion__title,
.swell-block-accordion.is-style-border .swell-block-accordion__title {
	background: none;
}

.swell-block-accordion.is-style-simple .swell-block-accordion__body,
.swell-block-accordion.is-style-border .swell-block-accordion__body {
	margin: 0 0.5em;
	padding: 1em 0.5em;
	border-top: 1px dashed var(--color_border);
}

.swell-block-accordion.is-style-border > .swell-block-accordion__item {
	border: 1px solid var(--color_border);
}

.swell-block-accordion.is-style-simple > .swell-block-accordion__item {
	margin-bottom: 0;
	border-bottom: 1px solid var(--color_border);
}

.swell-block-accordion.is-style-simple > .swell-block-accordion__item:first-child {
	border-top: 1px solid var(--color_border);
}

.swell-block-accordion.is-style-simple > .swell-block-accordion__item + .swell-block-accordion__item {
	margin-top: 0;
}

.swell-block-accordion.is-style-main .swell-block-accordion__title {
	color: #fff;
	background-color: var(--color_main);
}

.swell-block-accordion.is-style-main .swell-block-accordion__body {
	border: solid 1px var(--color_main);
	border-top: none;
}

.c-switchIconBtn,
.c-switch_icon_btn {
	position: relative;
	display: block;
}

.c-switchIconBtn .__icon--closed,
.c-switchIconBtn .__icon_closed,
.c-switch_icon_btn .__icon--closed,
.c-switch_icon_btn .__icon_closed {
	display: block;
	width: 100%;
	font-size: inherit;
	line-height: 1;
	transform: scale(1) rotate(0);
	transition: transform 0.25s, opacity 0.25s;
}

.c-switchIconBtn .__icon--opened,
.c-switchIconBtn .__icon_opened,
.c-switch_icon_btn .__icon--opened,
.c-switch_icon_btn .__icon_opened {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-size: inherit;
	line-height: 1;
	transform: scale(0.5) rotate(-180deg);
	opacity: 0;
	transition: transform 0.25s, opacity 0.25s;
}

.c-switchIconBtn[data-opened="true"] > .__icon--closed,
.c-switchIconBtn[data-opened="true"] > .__icon_closed,
.c-switch_icon_btn[data-opened="true"] > .__icon--closed,
.c-switch_icon_btn[data-opened="true"] > .__icon_closed {
	transform: scale(0.5) rotate(180deg);
	opacity: 0;
}

.c-switchIconBtn[data-opened="true"] > .__icon--opened,
.c-switchIconBtn[data-opened="true"] > .__icon_opened,
.c-switch_icon_btn[data-opened="true"] > .__icon_opened,
.c-switch_icon_btn[data-opened="true"] > .__icon--opened {
	transform: scale(1) rotate(0);
	opacity: 1;
}

/* ---- FAQ：シンプルアコーディオン + Q/A ---- */
.swell-block-faq.swell-child-faq-acc {
	display: block;
}

.swell-block-faq.swell-child-faq-acc .swell-block-faq__item {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--color_border);
}

.swell-block-faq.swell-child-faq-acc .swell-block-faq__item:first-child {
	border-top: 1px solid var(--color_border);
}

.swell-block-faq.swell-child-faq-acc .swell-block-faq__item + .swell-block-faq__item {
	margin-top: 0;
	padding-top: 0;
}

.swell-block-faq.swell-child-faq-acc .faq_q {
	padding: 1.5em 1em 1.5em 3em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	background: none;
}

.swell-block-faq.swell-child-faq-acc .faq_a,
.swell-block-faq.swell-child-faq-acc .faq_a p {
	font-family: 'Noto Serif JP', serif;
}

.swell-block-faq.swell-child-faq-acc .faq_a,
.swell-block-faq.swell-child-faq-acc.is-style-simple .faq_a.swell-block-accordion__body {
	margin: 0 !important;
	padding: 1em 1em 1em 3em !important;
}

.swell-block-faq.swell-child-faq-acc :not(.is-opened) > .faq_a {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.swell-block-faq.swell-child-faq-acc .faq_q::before,
.swell-block-faq.swell-child-faq-acc .faq_a::before {
	position: absolute;
	top: 1.25em;
	left: 0;
	display: block;
	width: 2em;
	color: var(--color_faq_q, #d55656) !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	line-height: 2;
	text-align: center;
	border: 0 !important;
	box-shadow: none !important;
	background: none !important;
	border-radius: 0;
}

.swell-block-faq.swell-child-faq-acc .faq_q::before {
	content: "Q";
}

.swell-block-faq.swell-child-faq-acc .faq_a::before {
	content: "A";
	top: 1em;
}

.swell-block-faq.swell-child-faq-acc :not(.is-opened) > .faq_a::before {
	display: none;
}

/* ---- FAQセクション背景：ごく薄い中華風装飾 ---- */
.swell-block-fullWide:has(.swell-child-faq-acc) {
	position: relative;
	overflow: hidden;
	background-color: #f7f7f7;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='220' viewBox='0 0 320 220'%3E%3Cg fill='none' stroke='%23c4a36a' stroke-width='1.1' opacity='0.11'%3E%3Cpath d='M38 58c10-20 34-18 42-2 10-14 32-12 38 6 16-4 26 12 16 24H34c-14-2-10-18 4-28z'/%3E%3Cpath d='M198 148c12-18 36-16 44 0 10-12 30-10 36 6 14-2 24 12 14 22h-98c-12-2-10-16 4-28z'/%3E%3C/g%3E%3Cg fill='none' stroke='%23ae271f' stroke-width='0.7' opacity='0.06'%3E%3Cpath d='M260 36h12v8h-4v4h8v-4h4v12h-8v4h-8v-4h-4z'/%3E%3Cpath d='M48 176h12v8h-4v4h8v-4h4v12h-8v4h-8v-4h-4z'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat;
	background-size: 320px 220px;
}

.swell-block-fullWide:has(.swell-child-faq-acc) > .swell-block-fullWide__inner {
	position: relative;
	z-index: 1;
}
