@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#gHeader {
	margin-bottom: 0;
}
#main .mainImg {
	margin-bottom: -4px;
	position: relative;
	overflow: hidden;
}
#main .mainImg .txtBox {
	position: absolute;
	top: 56%;
	left: 50%;
	width: 1120px;
	transform: translate(-50%, -50%);
}
#main .mainImg .txtBox p {
	font-size: 2.5rem;
	line-height: 1.4;
}
#main .mainImg .txtBox .title {
	margin-bottom: 15px;
	color: #64b6c8;
	font-size: 5rem;
	font-weight: 300;
}
#main .mainBox {
	margin-bottom: 162px;
}
#main .midBox {
	margin-bottom: 121px;
}
#main .midBox p {
	line-height: 1.65;
}
#main .policy .headLine02 {
	position: relative;
	z-index: 1;
}
#main .policy .mainBox {
	max-width: 878px;
}
#main .photoList {
	display: flex;
}
#main .photoList li {
	margin: 0 5px;
	width: 284px;
}
#main .photoList li:nth-child(3n) {
	margin-right: 0;
}
#main .business .headLine02 {
	margin-bottom: 138px;
}
#main .business .mainBox {
	margin-bottom: 328px;
}
#main .business .midBox {
	margin-bottom: 137px;
}
#main .imgBox {
	margin-bottom: 227px;
	display: flex;
	justify-content: space-between;
}
#main .imgBox .photoBox {
	margin-right: 5px;
	width: 425px;
	order: 2;
}
#main .imgBox .txtBox {
	margin: -8px 0 0 20px;
	width: 510px;
}
#main .imgBox .txtBox p {
	font-size: 1.8rem;
	line-height: 1.7;
}
#main .imgBox .txtBox .txt {
	line-height: 2.2;
}
#main .imgBox .txtBox .title {
	margin-bottom: 30px;
	font-size: 3rem;
}
#main .company .headLine02 {
	margin-bottom: 130px;
}
#main .company table {
	margin-bottom: 53px;
	width: 100%;
	border-collapse: collapse;
}
#main .company th, #main .company td {
	padding: 14px;
	font-size: 1.8rem;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #727171;
}
#main .company th {
	width: 22%;
	color: #41648c;
	font-weight: normal;
}
#main .company tr:first-child th, #main .company tr:first-child td {
	vertical-align: top;
}
#main .company td .small {
	font-size: 1.4rem;
}
#main .company .tdStyle {
	padding: 33px 14px;
	line-height: 2.2;
}
#main .company .mapBox {
	margin: 0 10px;
}
#main .company .map {
	margin-bottom: 5px;
}
#main .company .mapBox p {
	line-height: 1.7;
}
#main .company .mainBox {
	margin-bottom: 0;
}
@media all and (max-width: 896px) {
	#main .mainImg .txtBox {
		padding: 0 10px;
		left: 0;
		top: 50%;
		width: 100%;
		transform: translate(0, -50%);
		box-sizing: border-box;
	}
	#main .mainImg .txtBox p {
		font-size: 1.4rem;
		text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
	}
	#main .mainImg .txtBox .title {
		margin-bottom: 10px;
		font-size: 2.2rem;
	}
	#main .mainBox {
		margin-bottom: 80px;
	}
	#main .midBox {
		margin-bottom: 50px;
	}
	#main .business .headLine02 {
		margin-bottom: 60px;
	}
	#main .business .mainBox {
		margin-bottom: 100px;
	}
	#main .business .midBox {
		margin-bottom: 60px;
	}
	#main .imgBox {
		margin-bottom: 70px;
		flex-wrap: wrap;
	}
	#main .imgBox .photoBox {
		margin-right: 0;
		width: 100%;
		order: 0;
	}
	#main .imgBox .photoBox img {
		width: 100%;
	}
	#main .imgBox .txtBox {
		margin: 20px 0 0;
		width: 100%;
	}
	#main .imgBox .txtBox p {
		font-size: 1.3rem;
	}
	#main .imgBox .txtBox .title {
		margin-bottom: 10px;
		font-size: 1.7rem;
	}
	#main .company .headLine02 {
		margin-bottom: 60px;
	}
	#main .company table {
		margin-bottom: 30px;
	}
	#main .company th, #main .company td {
		padding: 10px 5px;
		font-size: 1.2rem;
	}
	#main .company th {
		width: 40%;
		letter-spacing: -0.5px;
	}
	#main .company td .small {
		font-size: 1.2rem;
	}
	#main .company .tdStyle {
		padding: 15px 5px;
	}
	#main .company .mapBox {
		margin: 0 5px;
	}
	#main .company .map iframe {
		height: 200px;
	}
}