/*--------------------------------
common
--------------------------------*/
* {
	margin: 0;
	padding: 0
}
*:focus {
	outline: none!important;
}
body {
	position: relative;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
a {
	text-decoration: none;
	transition: .5s;
}
a:hover {
	opacity: .7;
}
h1, h2, h3, p, ul, dl, dt, dd {
	margin: 0;
}
ul.d-flex,
ul.d-inline-flex {
	list-style-type: none;
	padding: 0!important;
}
img {
	width: 100%;
	max-width: 100%;
}
.small {
	font-size: 15px;
}
.mt-6 {
	margin-top: 4.5rem;
}

/*--------------------------------
nav
--------------------------------*/
nav .logo img {
	max-width: 252px;
}

/*--------------------------------
main
--------------------------------*/
main section {
	padding: 150px 0;
}
h2 {
	display: inline;
	font-size: 40px;
	font-weight: bold;
	color: #fff;
	border-bottom: 2px solid #fff;
	padding-bottom: 10px;
}
h3 {
	font-size: 30px;
	font-weight: bold;
	color: #002E74;
	text-align: center;
	background-color: #fff;
	padding: 8px 10px;
}
/*- content01 ----------*/
.content01 {
	position: relative;
	color: #fff;
	background: #003696;
	background: linear-gradient(to right, #003696 0%, #134AC3 35%, #43B3D7 100%);
	padding-bottom: 0;
	z-index: 0;
}
.content01:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("../images/content01_bg01.png") no-repeat top left / contain;
	z-index: -1;
}
.content01 .lead_txt {
	font-size: 20px;
	line-height: 1.8;
}
/*- content02 ----------*/
.content02 {
	position: relative;
	background: #003696;
	background: linear-gradient(to right, #003696 0%, #134AC3 35%, #43B3D7 100%);
	overflow: hidden;
	padding-top: 300px;
	z-index: 0;
}
.content02:before {
	content: "";
	position: absolute;
	top: 50px;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	background-color: #DDE5F7;
	transform: skewY(-8deg) translateY(90px);
	z-index: -1;
}
.content02:after {
	content: "";
	position: absolute;
	top: 30%;
	left: 0;
	right: 0;
	max-width: 1920px;
	width: 100%;
	height: 144px;
	background: url("../images/content02_bg01.png") no-repeat top center / contain;
	margin: 0 auto;
	z-index: -1;
}
.content02 .img01 img {
	max-width: 529px;
}
.content02 .text-box {
	font-size: 34px;
	font-weight: bold;
	color: #fff;
	background-color: #7BA3E2;
	border-radius: 6px;
	box-shadow: 6px 6px 6px rgba(0, 0, 0, .2);
	padding: 40px;
}
/*- content03 ----------*/
.content03 {
	position: relative;
	background: #003696;
	background: linear-gradient(to right, #003696 0%, #134AC3 35%, #43B3D7 100%);
	padding-bottom: 0;
	z-index: 0;
}
.content03:before {
	content: "";
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../images/content03_bg01.png") no-repeat top left / cover;
	z-index: -1;
}
/*- Q&A ----------*/
.qa {
	position: relative;
	background-color: #E9E9E9;
	z-index: 0;
}
.qa:before,
.qa:after {
	content: "";
	position: absolute;
	max-width: 1260px;
	width: 100%;
	height: 398px;
	z-index: -1;
}
.qa:before {
	top: 0;
	left: 0;
	background: url("../images/qa_bg01.png") no-repeat center / cover;
}
.qa:after {
	bottom: 0;
	right: 0;
	background: url("../images/qa_bg02.png") no-repeat center / cover;
}
.qa dl {
	border-top: 1px solid #000;
}
.qa dl:last-child {
	border-bottom: 1px solid #000;
}
.qa dt {
	position: relative;
	font-size: 22px;
	padding: 22px 80px;
}
.qa dt:hover {
	cursor: pointer;
}
.qa dt:before,
.qa dt:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.qa dt:before {
	left: 25px;
	width: 32px;
	height: 32px;
	background: url("../images/qa_icon_Q.png") no-repeat center / cover;
}
.qa dt:after {
	right: 10px;
	width: 23px;
	height: 23px;
	background: url("../images/qa_icon_plus.png") no-repeat center / contain;
}
.qa dt.active:after {
	background: url("../images/qa_icon_minus.png") no-repeat center / contain;
}
.qa dd {
	position: relative;
	font-size: 18px;
	background-color: #fff;
	border-radius: 3px;
	padding: 20px 70px;
	margin: 0 10px 30px 10px;
}
.qa dd:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background: url("../images/qa_icon_A.png") no-repeat center / cover;
	width: 32px;
	height: 32px;
}
/*- content04 ----------*/
.content04 {
	position: relative;
	color: #fff;
	background: #003696;
	background: linear-gradient(to right, #003696 0%, #134AC3 35%, #43B3D7 100%);
	padding: 100px 0;
}
.content04 .box {
	background-color: #287CE1;
	border: 1px solid #29B3FF;
	border-radius: 6px;
	padding: 40px;
}
.content04 .box .ttl {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.2;
	background-color: #0047FF;
	border-radius: 3px;
	padding: 12px;
}
.content04 .box .tell {
	font-size: 45px;
	font-weight: bold;
}
.content04 .box .tell a {
	color: #fff;
	text-decoration: none;
}
.content04 .box .time {
	font-size: 22px;
}
.content04 .box .time .label {
	display: inline-block;
	font-size: 17px;
	border: 1px solid #fff;
	border-radius: 20rem;
	padding: 2px 12px;
	margin-right: 10px;
}
.content04 ul a {
	color: #FFFF00;
	text-decoration: underline;
}
.content04 ul a:hover {
	text-decoration: none;
}
/*- content05 ----------*/
.content05 {
	position: relative;
	padding: 30px 0 0 0;
	z-index: 0;
}


/*--------------------------------
footer
--------------------------------*/
footer .f-link {
	background: #efefef;
}
footer .f-link ul li {
	font-size: 12px;
	display: inline-block;
	margin-right: 15px;
}
footer .logo img {
	max-width: 134px;
}

/*--------------------------------
media
--------------------------------*/
.sp {
	display: none;
}
@media (min-width: 576px) {
	/*- header ----------*/
	header {
		position: relative;
		background: url("../images/header_bg.jpg") no-repeat center bottom / cover;
		padding-top: 2rem;
	}
	header:before,
	header:after {
		content: "";
		position: absolute;
		max-width: 974px;
		width: 52vw;
		height: 321px;
	}
	header:before {
		top: 0;
		left: 0;
		background: url("../images/header_before.png") no-repeat center / cover;
	}
	header:after {
		right: 0;
		bottom: 0;
		background: url("../images/header_after.png") no-repeat top left / cover;
	}
	header h1 img {
		max-width: 999px;
	}
	.content01:after {
		content: "";
		position: absolute;
		top: 35%;
		left: 0;
		max-width: 1000px;
		width: 100%;
		height: 428px;
		background: url("../images/content01_bg02.png") no-repeat top left / contain;
		z-index: -1;
	}
	.content01 .img01 img {
		max-width: 243px;
	}
	.content05:after {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0;
		max-width: 1260px;
		width: 100%;
		height: 398px;
		background: url("../images/qa_bg02.png") no-repeat top left / cover;
		z-index: -1;
	}
}
@media (min-width: 768px) {
	.content04 a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}
@media (min-width: 992px) {
	.container {
		max-width: 1024px;
	}
	.content01:after {
		top: 22%;
	}
}
@media (max-width: 991px) {
	h2 {
		line-height: 2;
	}
}
@media (max-width: 767px) {
	.mt-4 {
		margin-top: 1rem !important;
	}
	.mt-5 {
		margin-top: 1.5rem !important;
	}
	.mt-6 {
		margin-top: 3rem !important;
	}
	/*- main ----------*/
	main section {
		padding: 70px 0;
	}
	.content01:before {
		background-image: url("../images/content01_bg01_sp.png");
	}
	.content02:after {
		top: 8%;
		height: 386px;
		background-image: url("../images/content02_bg01_sp.png");
	}
}
@media (max-width: 575px) {
	.pc {
		display: none;
	}
	.sp {
		display: inline-block;
	}
	/*- nav ----------*/
	nav .logo img {
		max-width: 180px;
	}
	/*- main ----------*/
	main section {
		padding: 50px 0;
	}
	h2 {
		font-size: 34px;
	}
	h3 {
		font-size: 24px;
	}
	.content01 .img01 {
		padding: 0;
	}
	.content02 .text-box {
		font-size: 28px;
		padding: 20px;
	}
	.content04 .box {
		padding: 20px;
	}
	.content04 .box .ttl {
		font-size: 20px;
	}
	/*- footer ----------*/
	footer {
		margin-top: 0;
	}
}
