@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	padding: 8rem 0 3.3rem;
	position: relative;
	background: url(../img/index/main_visual_bg01.jpg) no-repeat right bottom;
	background-size: cover;
}
.mainVisual::after {
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/index/main_visual_bg02.png) no-repeat;
	background-size: 144rem auto;
	width: 144rem;
	height: 126.8rem;
	content: "";
}
.mainVisual::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 11.5rem;
	background-color: #a0acaf;
	content: "";
	z-index: 1;
}
.mainVisual .imgBox {
	width: 115.4rem;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.mainVisual .photo {
	width: 32.4rem;
	margin-left: 13.6rem;
}
.mainVisual .textBox {
	margin-top: 21rem;
	width: 65.1rem;
}
.mainVisual .textImg {
	width: 53.9rem;
	margin: 7.7rem auto 0;
}
#main {
	margin-top: 0.3rem;
	position: relative;
	z-index: 2;
}
#main .textInfo {
	position: relative;
	z-index: 2;
	padding: 6.7rem 2rem 7rem;
	text-align: center;
	color: #004b9e;
	font-size: 3.55rem;
	font-weight: 700;
	line-height: 1.7;
	font-style: italic;
	background: rgba(160, 172, 175, 0.9);
}
#main .bgBox {
	padding: 7rem 0 8.1rem;
	position: relative;
	background: url(../img/index/main_bg02.png) no-repeat left top,url(../img/index/main_bg03.jpg) no-repeat center center;
	background-size: 31.8rem auto, cover;
}
#main .bgBox::after {
	position: absolute;
	right: 0;
	bottom: -11.1rem;
	background: url(../img/index/main_bg01.png) no-repeat;
	background-size: 130.7rem auto;
	width: 130.7rem;
	height: 148.6rem;
	content: "";
}
#main .bgBox > div {
	position: relative;
	z-index: 2;
}
#main .textBox {
	margin: 0 auto 7.8rem;
	width: 80%;
}
#main .textBox p {
	margin-bottom: 3.5rem;
	text-align: center;
	line-height: 2.18;
}
#main .snsBox {
	width: 59.7rem;
	margin: 0 auto;
}
#main .snsBox .title {
	margin: 3.4rem 0 1.6rem;
	text-align: center;
	color: #004b9e;
	font-weight: 600;
}
#main .snsBox li {
	margin: 0 1.2rem;
	width: 4.1rem;
}
#main .snsBox a:hover {
	opacity: 0.7;
}
@media all and (max-width: 767px) {
	.mainVisual {
		padding: 13.5rem 0 3.9rem;
		background-image: url(../img/index/main_visual_bg01_sp.jpg);
	}
	.mainVisual::after {
		background: url(../img/index/main_visual_bg02_sp.png) no-repeat;
		background-size: 37.5rem auto;
		width: 37.5rem;
		height: 122.4rem;
	}
	.mainVisual::before {
		height: 7rem;
	}
	.mainVisual .imgBox {
		width: auto;
		display: block;
	}
	.mainVisual .photo {
		width: auto;
		margin: 0 0 0 0.9rem;
		text-align: center;
	}
	.mainVisual .photo img {
		width: 23.1rem;
	}
	.mainVisual .textBox {
		margin: -21.5rem auto 0;
		width: 32.5rem;
	}
	.mainVisual .textImg {
		width: auto;
		margin: 3.8rem -0.2rem 0;
	}
	#main {
		margin-top: 0;
	}
	#main .textInfo {
		padding: 2.8rem 2rem 3rem;
		font-size: 2.84rem;
		line-height: 1.6;
	}
	#main .bgBox {
		padding: 5.1rem 0 5.9rem;
		background-image: url(../img/index/main_bg02_sp.png),url(../img/index/main_bg03.jpg);
		background-size: 37.5rem auto, cover;
	}
	#main .bgBox::after {
		bottom: -5.3rem;
		background: url(../img/index/main_bg01_sp.png) no-repeat;
		background-size: 37.5rem auto;
		width: 37.5rem;
		height: 127.5rem;
	}
	#main .textBox {
		margin-bottom: 5.2rem;
		width: auto;
	}
	#main .textBox p {
		margin-bottom: 3.6rem;
	}
	#main .snsBox {
		width: 34rem;
	}
}