@charset "utf-8";
/* ===================================================
	Other CSS
	スタイルが極端に少なくなるページ等、このCSSにまとめて記述する。
====================================================== */

/* ---------------------------------------------------
	FAQ
------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Bellefair&display=swap&text=FAQ404'); /* fonts サブセット */
.bellefair {
	font-family: "Bellefair", serif;
	font-weight: 400;
	font-style: normal;
}
.lead_txt {
	line-height: 1.5;
	padding: 90px 0 70px;
	font-size: 26px;
	text-align: center;
}
.faq_list {
	padding-bottom: 80px;
}
.faq_list>section {
	position: relative;
	border: 1px solid #aaa;
}
.faq_list>section+section {
	margin-top: 22px;
}
.icon_q {
	padding: 42px 80px 45px 100px;
	color: #000;
}
.icon_q:hover {
	cursor: pointer;
}
.icon_q::before {
	position: absolute;
	top: 38px;
	left: 40px;
	content: 'Q';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	font-size: 20px;
	border-radius: 50%;
	background-color: var(--color1);
	color: #fff;
	font-family: "Bellefair", serif;
}
.icon_q::after {
	position: absolute;
	top: 45px;
	right: 40px;
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border-right: 1px solid;
	border-bottom: 1px solid;
	transform: rotate(45deg);
}
.icon_q.active::after {
	transform: rotate(225deg) translate(-8px, -8px);
}
.faq_contents {
	margin-top: -10px;
	padding: 0 80px 45px 100px;
}

@media screen and (min-width: 601px) {
	#sec_lead {
		text-align: center;
	}
	.lead_txt {
		text-align: center;
	}
}
@media screen and (max-width: 600px) {
	.lead_txt {
		padding: 50px 0;
		font-size: 18px;
	}
	.faq_list {
		padding-bottom: 60px;
	}
	.icon_q {
		padding: 30px 40px 30px 60px;
	}
	.icon_q::before {
		top: 28px;
		left: 20px;
		width: 30px;
		height: 30px;
		font-size: 17px;
	}
	.icon_q::after {
		top: 35px;
        right: 20px;
		width: 10px;
		height: 10px;
	}
	.icon_q.active::after {
		transform: rotate(225deg) translate(-4px, -4px);
	}
	.faq_contents {
		padding: 0 40px 30px 60px;
	}
}


/* ---------------------------------------------------
	404
------------------------------------------------------ */
#error #main_img {
	height: 400px;
    background-color: #aaa;
}
#error #main_img:has(.tit)::before {
	content: none;
}
#error #sec_lead .en {
	font-size: 14px;
	color: #aaa;
}
#error #sec_lead>p:last-child {
	margin: 1.5em 0 2em;
	text-align: center;
}
#error #sec_lead>p+p {
	margin-top: 1em;
}

@media screen and (max-width: 600px) {
	#error #main_img {
		height: auto;
		aspect-ratio: 1.414 / 1;
	}
	#error #sec_lead .en {
		margin-top: 0.5em;
	}
}
