@charset "utf-8";

/* -------------------------------------------------
	.faq
------------------------------------------------- */

.faq-area {
	background: #AABDC6;
	border-bottom: solid 14px #fff;
}

.faq-group {
	padding: 46px 34px 54px;
	background: #EDEDED;
}

.faq {
	border: solid 1px #7E7E7E;
}

.faq + .faq {
	margin-top: 15px;
}
.faq .label {
	font-size: 26px;
	font-family: 'Raleway';
	font-weight: 700;
	color: #346DAF;
	line-height: 1;
	position: absolute;
	left: 19px;
	top: 16px;
}

.faq .q-box,
.faq .a-box {
	padding: 15px 0 14px 63px;
	position: relative;
}

.faq .q-box {
	width: 100%;
	padding-right: 110px;
	background: #E0F5FF;
	border: none;
	display: block;
	text-align: left;
	cursor: pointer;
	transition: background 0.2s ease-out;
}
.faq .q-box:hover,
.faq.on .q-box {
	background: #F0E98F;
}
.faq .q-box p {
	font-size: 18px;
	line-height: calc(30 / 18);
	font-weight: bold;
	color: #0A0A0A;
}

.faq .q-box .toggle-btn {
	display: flex;
	align-items: center;
	gap: 0 12px;
	position: absolute;
	right: 23px;
	top: 19px;
}
.faq .q-box .toggle-btn .text {
	font-size: 14px;
}
.faq .q-box .toggle-btn .text::before {
	content: "開く";
}
.faq.on .q-box .toggle-btn .text::before {
	content: "閉じる";
}
.faq .q-box .toggle-btn .symbol {
	width: 18px;
	height: 18px;
	position: relative;
}
.faq .q-box .toggle-btn .symbol::before,
.faq .q-box .toggle-btn .symbol::after {
	width: 22px;
	height: 5px;
	background: #346DAF;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
}
.faq .q-box .toggle-btn .symbol::before {
	transform: translateY(-50%);
}
.faq .q-box .toggle-btn .symbol::after {
	transform: translateY(-50%) rotate(-90deg);
}
.faq.on .q-box .toggle-btn .symbol::after {
	transform: translateY(-50%) rotate(0deg);
}

.faq .acc-target {
	display: none;
}
.faq .acc-target.visible {
	display: block;
}

.faq .a-box {
	background: #fff;
	padding-right: 15px;
	border-top: solid 1px #7E7E7E;
}
.faq .a-box p {
	font-size: 16px;
	line-height: calc(24 / 16);
}
.faq .a-box .label {
	color: #49AD9B;
}

@media print, screen and (min-width:741px) {
	.faq-group {
		max-width: 1005px;
		border-left: solid 4px #fff;
		border-right: solid 4px #fff;
		margin: 0 auto;
		box-sizing: border-box;
	}
}

@media screen and (max-width:740px) {
	.faq-group {
		padding: 43px 0 50px;
	}
	.faq {
		width: calc(337 var(--spp));
		margin: 0 auto;
	}
	.faq .label {
		font-size: 24px;
		left: 12px;
		top: 14px;
	}

	.faq .q-box,
	.faq .a-box {
		padding: 14px 0 13px 45px;
	}

	.faq .q-box {
		width: 100%;
		padding-right: 42px;
	}
	.faq .q-box p {
		font-size: 16px;
		line-height: calc(24 / 16);
	}

	.faq .q-box .toggle-btn {
		gap: 0;
		right: 10px;
		top: 13px;
	}
	.faq .q-box .toggle-btn .text {
		display: none;
	}
	.faq .q-box .toggle-btn .symbol {
		width: 24px;
		height: 25px;
		border: solid 1px #649ABC;
		background: #fff;
	}
	.faq .q-box .toggle-btn .symbol::before,
	.faq .q-box .toggle-btn .symbol::after {
		width: 14px;
		height: 3px;
		left: 50%;
	}
	.faq .q-box .toggle-btn .symbol::before {
		transform: translate(-50%,-50%);
	}
	.faq .q-box .toggle-btn .symbol::after {
		transform: translate(-50%,-50%) rotate(-90deg);
	}
	.faq.on .q-box .toggle-btn .symbol::after {
		transform: translate(-50%,-50%) rotate(0deg);
	}

	.faq .a-box {
		padding-right: 15px;
	}
	.faq .a-box p {
		font-size: 15px;
		line-height: calc(24 / 15);
	}
}
