/* FAQ */
.qa_box {
	margin: 0 0 clamp(45px, 6vw, 80px);
}

.qa_box h2 {
	position: relative;
	margin: 0 0 1.5em;
	padding: 0 0 .8em 1em;
	border-left: solid 2px var(--color-main);
	border-bottom: solid 1px #d9d9d9;
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
	font-weight: 700;
	line-height: 1.5;
	color: #222;
}

.qa_box h2::after {
	position: absolute;
	left: -2px;
	bottom: -1px;
	display: block;
	width: 90px;
	height: 2px;
	background: var(--color-main-shade);
	content: "";
}

.qa_box dl {
	overflow: hidden;
	margin: 0 0 18px;
	background: #fff;
	border: solid 1px rgba(var(--color-main-rgb), .35);
	border-radius: 8px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .05);
}

.qa_box dt,
.qa_box dd {
	position: relative;
	margin: 0;
	padding: 1.1em 1.4em 1.1em 4.2em;
	line-height: 1.9;
}

.qa_box dt {
	background: var(--bg-color-sub);
	font-weight: 700;
	color: #222;
}

.qa_box dd {
	color: #444;
	border-top: solid 1px #eee;
}

.qa_box dt::before,
.qa_box dd::before {
	position: absolute;
	left: 1.2em;
	top: 1.05em;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	font-size: .9em;
	font-weight: 700;
	line-height: 1;
}

.qa_box dt::before {
	content: "Q";
	background: var(--color-main-shade);
	color: #fff;
}

.qa_box dd::before {
	content: "A";
	background: var(--color-point2);
	color: #fff;
}

@media screen and (max-width: 667px) {
	.qa_box {
		margin-bottom: 42px;
	}

	.qa_box h2 {
		margin-bottom: 1.1em;
		padding-left: .8em;
	}

	.qa_box dl {
		margin-bottom: 14px;
		border-radius: 6px;
	}

	.qa_box dt,
	.qa_box dd {
		padding: .95em 1em .95em 3.6em;
		line-height: 1.8;
	}

	.qa_box dt::before,
	.qa_box dd::before {
		left: .9em;
		width: 1.9em;
		height: 1.9em;
	}
}