@charset "UTF-8";

/*=======================================================
FAQ
=======================================================*/
.bl-faq{
	padding: 64px 0 80px;
}
.bl-faq-item + .bl-faq-item{
	margin-top: 40px;
}
.bl-q {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 24px;
	padding: 12px 54px 10px 80px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
	background: #3D2569;
	position: relative;
}
.bl-q::before {
	content: '';
	position: absolute;
	background: url(../images/faq/q.svg) top center / contain no-repeat;
	width: 40px;
	height: 40px;
	top: 50%;
	transform: translateY(-50%);
	left: 24px;
}
.bl-q::after {
	content: '▼';
	position: absolute;
	line-height: 1;
	width: 30px;
	height: 30px;
	background: #fff;
	color: #3D2569;
	font-size: 12px;
	border-radius: 5px;
	display:flex;
	justify-content: center;
	align-items: center;
	top: 50%;
	transform: translateY(-50%);
	right: 16px;
}
.bl-faq-item[open] .bl-q::after {
	content: '▲';
}
.bl-a{
	overflow: hidden;
	position: relative;
}
.bl-a > * {
	padding: 24px 0 0 0;
}
@media screen and (max-width: 750px) {
	.bl-q {
		font-size: 28px;
	padding: 12px 54px 10px 80px;
	}
	.bl-q::before {
		width: 40px;
		height: 40px;
		left: 16px;
	}
	.bl-q::after {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}
}

details::details-content {
	content-visibility: unset;
	display: block grid;
}
@media (prefers-reduced-motion: no-preference) {
	details::details-content {
		transition-duration: 0.5s;
		transition-property: grid-template-rows;
	}
}
details:not([open])::details-content {
	grid-template-rows: 0fr;
}
details[open]::details-content {
	grid-template-rows: 1fr;
}
details > div {
	overflow: hidden;
}