@charset "UTF-8";

/* アコーディオンメニュー */
#accordion-block .content {
	max-width: 960px;
	margin: 0 auto;
}

#accordion-block .inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
}


/* アコーディオンメニュー-FAQ */
.faq__unit {
	padding: 32px;
	background-color: var(--color_gray05);
	border-radius: 16px;
	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	-ms-border-radius: 16px;
	-o-border-radius: 16px;
}

.faq__unit input {
	display: none;
}

.faq__unit .faq__q {
	display: flex;
	align-items: start;
	gap: 0 0.8em;
	padding-right: 2.3em;
	position: relative;
	cursor: pointer;
}

.faq__unit .faq__q::after,
.faq__unit .faq__q::before {
	content: "";
	position: absolute;
	right: 0.75em;
	top: 0.75em;
	width: 1px;
	height: 1.5em;
	background-color: var(--color_black);
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-ms-transition: 0.3s;
	-o-transition: 0.3s;
}

.faq__unit .faq__q::after {
	transform: rotate(90deg);
}

.faq__unit input:checked ~ .faq__q::before {
	transform: rotate(90deg) !important;
	-webkit-transform: rotate(90deg) !important;
	-moz-transform: rotate(90deg) !important;
	-ms-transform: rotate(90deg) !important;
	-o-transform: rotate(90deg) !important;
}

.faq__unit .faq__q .q-mark {
	font-size: clamp(28px, 5.5vw, 40px);
	line-height: 1.0;
	font-weight: var(--fw_en_bold);
}

.faq__unit .faq__q .question {
	font-size: clamp(15px, 2.5vw, 18px);
	line-height: 1.5;
	font-weight: var(--fw_jp_bold);
	margin-top: 0.5em;
}

.faq__unit .faq__a {
	max-height: 0;
	padding: 0 24px;
	visibility: hidden;
	margin-top: 0;
	overflow: hidden;
	background-color: var(--color_white);
	border-radius: 16px;
	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	-ms-border-radius: 16px;
	-o-border-radius: 16px;
	transition: 0.3s ease-in;
	-webkit-transition: 0.3s ease-in;
	-moz-transition: 0.3s ease-in;
	-ms-transition: 0.3s ease-in;
	-o-transition: 0.3s ease-in;
}

.faq__unit input:checked ~ .faq__a {
	max-height: 100%;
	padding: 24px;
	visibility: visible;
	margin-top: 24px;
}


/* スマートフォン用 */
@media screen and (max-width: 768px) {

	/* アコーディオンメニュー */
	#accordion-block .inner {
		gap: 16px;
	}


	/* アコーディオンメニュー-FAQ */
	.faq__unit {
		padding: 16px;
	}

	.faq__unit .faq__q {
		gap: 0 0.4em;
		padding-right: 1.6em;
	}

	.faq__unit .faq__q::after,
	.faq__unit .faq__q::before {
		right: 0.5em;
		top: 0.5em;
		height: 1.0em;
	}

	.faq__unit .faq__q .question {
		margin-top: 0.2em;
	}

	.faq__unit .faq__a {
		padding: 0 16px;
	}

	.faq__unit input:checked ~ .faq__a {
		padding: 16px;
		margin-top: 16px;
	}

}
