@charset "utf-8";

/* -------------------------------------------------
	faq-block
------------------------------------------------- */

.faq-block .cate + .cate {
	padding-top: 100px;
}
.faq-block .cate .headline {
	height: 68px;
	margin-bottom: 45px;
	color: #fff;
	font-size: 21px;
	font-weight: 700;
	background: #105fdf;
	display: flex;
	justify-content: center;
	align-items: center;
}
.faq-block .cate dl dt {
	min-height: 37px;
	padding: 5px 0 0 55px;
	margin-bottom: 12px;
	font-size: 21px;
	font-weight: 700;
	color: #2f50aa;
	line-height: 1.4;
	position: relative;
	border-bottom: solid 1px #2f50aa;
}
.faq-block .cate dl dd {
	padding: 0 0 0 55px;
	font-size: 16px;
	line-height: 1.75;
	position: relative;
}
.faq-block .cate dl dd + dt {
	margin-top: 55px;
}
.faq-block .cate dl dt::before,
.faq-block .cate dl dd::before {
	font-size: 37px;
	font-weight: 700;
	color: #2f50aa;
	line-height: 1;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
}
.faq-block .cate dl dt::before { content: "Q."; }
.faq-block .cate dl dd::before { content: "A."; left: 0.1em; }

.faq-block .cate dl dd p + p {
	margin-top: 1.2em;
}

.faq-block .cate dl dd .help {
	margin-top: 10px;
	text-align: right;
}

@media print, screen and (min-width:768px) {
	.faq-block {
		padding: 185px 0 90px;
		background: url(../img/logo_07.svg) no-repeat center top / 2001.7px auto;
		position: relative;
	}
	.faq-block::after {
		width: 100%;
		height: 600px;
		display: block;
		content: "";
		background: -moz-linear-gradient(top, #fff, rgba(197,221,251,0.4));
		background: -webkit-linear-gradient(top, #fff, rgba(197,221,251,0.4));
		background: linear-gradient(to bottom, #fff, rgba(197,221,251,0.4));
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.faq-block .cate {
		position: relative;
		z-index: 10;
	}
}

@media screen and (max-width:767px) {
	.faq-block {
		padding: calc(127 / 750 * 100vw) 0 calc(100 / 750 * 100vw);
		background: url(../img/faq/faq/bg_01.jpg) no-repeat 0 0 / 100% 100%;
		position: relative;
	}
	.faq-block::before {
		content: "";
		width: calc(738 / 750 * 100vw);
		height: calc(78 / 750 * 100vw);
		background: url(../img/logo_09.svg) no-repeat center center / contain;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		display: block;
	}
	.faq-block .cate + .cate {
		padding-top: calc(100 / 750 * 100vw);
	}
	.faq-block .cate .headline {
		height: calc(143 / 750 * 100vw);
		margin-bottom: calc(65 / 750 * 100vw);
		font-size: calc(31 / 750 * 100vw);
	}
	.faq-block .cate dl dt {
		min-height: 0;
		padding: 0 0 0 calc(95 / 750 * 100vw);
		margin-bottom: 2vw;
		font-size: calc(30 / 750 * 100vw);
	}
	.faq-block .cate dl dd {
		padding: 0 0 0 calc(95 / 750 * 100vw);
		font-size: calc(27 / 750 * 100vw);
	}
	.faq-block .cate dl dd + dt {
		margin-top: calc(80 / 750 * 100vw);
	}
	.faq-block .cate dl dt::before,
	.faq-block .cate dl dd::before {
		font-size: calc(72 / 750 * 100vw);
	}
	.faq-block .cate dl dt::before { top: auto; bottom: 2vw; }

	.faq-block .cate dl dd .help {
		margin-top: 2vw;
	}
}