@charset "utf-8";
/* top.css */

/*プロパティ順番
////////////////////////////////////////////////////*//*


	Mozillaが採用している「ボックスモデルによる記述順番」

	01 display
	02 list-style
	03 position
	04 float
	05 clear
	06 width
	07 height
	08 margin
	09 padding
	10 border
	11 background
	12 color
	13 font
	14 text-decoration
	15 text-align
	16 vertical-align
	17 white-space
	18 other text
	19 content


///////////////////////////////////////////////////////*/


/*　トップページ 共通設定
////////////////////////////////////////////////////*/
.mv {
	position: relative;
	width: 100%;
}
.mv .mv_txt {
	position: absolute;
	z-index:2;
	font-size: 8rem;
    top: 55%;
    left: 10%;
    -webkit-transform: translate(-10%, -50%);
    transform: translate(-10%, -50%);
	
}
.mv .mv_txt h2,
.mv .mv_txt p {
	color: #fff;
}
.mv .mv_txt h2::before {
    display: block;
    font-size: 4rem;
    font-weight: 700;
    content: attr(data-subttl);
}
.mv .mv_txt p {
	display: block;
	background-color: #000;
	padding:.5em;
	font-size: 24px;
	width: 90%;
}
.mv .mv_img {
	position: relative;
	z-index:1;
}
.mv .mv_img img {
	width: 100%;
	max-width: 100%;
	display: block;
}
.btn {
	width: 249px;
}
.btn a {
	display: block;
}
.btn img {
	max-width: 100%;
}
.top_company,
.top_service,
.top_recruit {
	max-width: 1280px;
	margin: 160px auto 0;
	position: relative;
}
.top_service,
.top_service img {
	max-width: 100%;
	width: 100%;
}
.top_recruit {
	max-width: 1040px;
}
.top_company_txt,
.top_recruit_txt {
	max-width: 1080px;
	background-color: #fff;
	padding: 40px;
	border-bottom:10px solid #10522C;
	position: relative;
	z-index:2;
	top:-90px;
}
.top_recruit_txt {
	max-width: 780px;
	margin-left: auto;
	text-align: right;
	border-bottom: 10px solid #E60012;
	top: -70px;
}
.top_service {
	position: relative;
}
.top_service_txt {
	color: #fff;
	text-align: center;
	position: absolute;
	top: 35%;
	left: 50%;
	transform: translateY(-35%) translateX(-50%);
	-webkit- transform: translateY(-35%) translateX(-50%);
}
.top_company_txt h3,
.top_service_txt h3,
.top_recruit_txt h3 {
	font-size: 4rem;
}
.top_company_txt h3::after,
.top_service_txt h3::after,
.top_recruit_txt h3::after {
    display: block;
    font-size: 2.2rem;
    font-weight: 700;
	margin-top: 14px;
    content: attr(data-subttl);
}
.top_company_txt p,
.top_service_txt p,
.top_recruit_txt p {
	margin-top: 40px;
}
.top_recruit_txt p {
	text-align: left;
}
.top_company_txt .btn {
	margin-left: auto;
}
.top_service_txt .btn {
	margin: 100px auto 0;
}
.top_company_img,
.top_recruit_img {
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 768px) {
	.mv .mv_txt {
		width: 80%;
		position: absolute;
		z-index:2;
		font-size: 3rem;
		top: 50%;
		left: 10%;
		-webkit-transform: translate(-10%, -50%);
		transform: translate(-10%, -50%);
		
	}
	.mv .mv_txt h2,
	.mv .mv_txt p {
		color: #fff;
		line-height: 1.2;
	}
	.mv .mv_txt h2::before {
		display: block;
		font-size: 2rem;
		font-weight: 700;
		content: attr(data-subttl);
	}
	.mv .mv_txt p {
		display: block;
		background-color: #000;
		padding:.5em;
		font-size: 12px;
		width: 90%;
	}
	.mv .mv_img {
		position: relative;
		z-index:1;
	}
	.mv .mv_img img {
		width: 100%;
		max-width: 100%;
		display: block;
	}
	.btn {
		width: 249px;
	}
	.btn a {
		display: block;
	}
	.btn img {
		max-width: 100%;
	}
	.top_company,
	.top_service,
	.top_recruit {
		max-width: 1280px;
		margin: 40px auto 0;
		position: relative;
	}
	.top_service,
	.top_service img {
		max-width: 100%;
		width: 100%;
	}
	.top_recruit {
		max-width: 1040px;
	}
	.top_company_txt,
	.top_recruit_txt {
		max-width: 1080px;
		background-color: #fff;
		padding: 20px;
		border-bottom:10px solid #10522C;
		position: relative;
		z-index:2;
		top:0px;
	}
	.top_recruit_txt {
		max-width: 780px;
		margin-left: auto;
		text-align: right;
		border-bottom: 10px solid #E60012;
		top: 0px;
	}
	.top_service {
		position: relative;
	}
	.top_service_txt {
		width: 90%;
		margin: 0 auto;
		color: #073E75;
		text-align: center;
		position: relative;
		top: 0%;
		left: auto;
		transform: translateY(0%) translateX(0%);
		-webkit- transform: translateY(-35%) translateX(-50%);
	}
	.top_company_txt h3,
	.top_service_txt h3,
	.top_recruit_txt h3 {
		font-size: 3rem;
	}
	.top_company_txt h3::after,
	.top_service_txt h3::after,
	.top_recruit_txt h3::after {
		display: block;
		font-size: 1.4rem;
		font-weight: 700;
		margin-top: 7px;
		content: attr(data-subttl);
	}
	.top_company_txt p,
	.top_service_txt p,
	.top_recruit_txt p {
		margin-top: 20px;
		text-align: left;
	}
	.top_recruit_txt p {
		text-align: left;
	}
	.top_company_txt .btn {
		margin-left: auto;
	}
	.top_service_txt .btn {
		margin: 40px auto 0;
	}
	.top_company_img,
	.top_recruit_img {
		position: relative;
		z-index: 1;
	}


}