@charset "UTF-8";


.faq_container {
	display: flex;
	max-width: 1000px;
	margin: 0 auto;
	flex-direction: column;

	row-gap: 40px;
}


.faq_item {
	overflow: hidden;
}
.faq_content {
	display: flex;
	flex-direction: column;
}

.faq_theme {
	display: flex;
	position: relative;
	font-weight: 500;
	font-size: 18px;
	column-gap: 10px;
	align-items: center;
}


.faq_theme span {
	display: flex;
	position: relative;
	min-width: 40px;
	padding-bottom: 5px;
	border-radius: 100%;
	background-color: #142b8b;
	color: #ffffff;
	font-weight: bold;
	font-size: 23px;
	line-height: 1;
	letter-spacing: 0.05em;
	justify-content: center;
	align-items: center;

	aspect-ratio: 1/1;
}

.faq_theme span::before {
	display: block;
	position: absolute;
	right: 0;
	bottom: 20px;
	z-index: -1;
	width: 100px;
	height: 500px;
	background-color: #ffffff;
	content: "";
}

.faq_theme span::after {
	display: block;
	position: absolute;
	top: 0;
	z-index: -1;
	width: 100%;
	height: calc(100% + 5px);
	background-color: #ffffff;
	content: "";
}

.faq_answer {
	display: flex;
	position: relative;
	z-index: -3;
	padding-left: clamp(0rem, -3.116rem + 6.49vw, 1.156rem);
	font-weight: 500;
	font-size: 15px;
	line-height: 25px;
	column-gap: clamp(0.625rem, -1.059rem + 3.51vw, 1.25rem);
	align-items: flex-start;
}

.faq_answer span {
	display: flex;
	position: relative;
	color: #142b8b;
	font-weight: bold;
	font-size: 23px;
	letter-spacing: 0.05em;
	align-items: center;
}

.faq_answer span::before {
	display: block;
	width: 10px;
	height: 1px;
	margin-right: 5px;
	background-color: #142b8b;
	content: "";
}

.faq_answer span::after {
	display: block;
	position: absolute;
	right: calc(100% - 1px);
	bottom: 12px;
	z-index: -3;
	width: 1px;
	height: 1000px;
	background-color: #142b8b;
	content: "";
}

@media screen and (min-width: 768px) {
	.main_container {
		padding-bottom: 100px;
	}
	.common_page-title {
		margin-bottom: 55px;
	}

	.faq_container {
		width: 95%;
		margin-bottom: 110px;
	}
	.faq_content {
		row-gap: 30px;
	}
}

@media screen and (max-width: 767px) {
	.main_container {
		padding-bottom: 50px;
	}
	.common_page-title {
		margin-bottom: 30px;
	}

	.faq_container {
		width: 100%;
		margin-bottom: 50px;
		padding: 0 20px;
	}
	.faq_content {
		row-gap: 20px;
	}

	.faq_answer p {
		margin-top: -2px;
	}

	.faq_answer p br {
		display: none;
	}
}
