@charset "UTF-8";
/* =====================================
	company_test
===================================== */

.visual{
	position:relative;
	width:100%;
	height:500px;
	background:url(../img/company/visual01.jpg);
	background-size:cover;
}

.visual h1{
	position:absolute;
	top:50%;
	left:50%;
	margin:-44px 0 0 -133px;
}

.visual h1 img{
	width:267px;
}

.message a{
	position:relative;
	width:100%;
	height:540px;
	margin:20px auto 0;
	display:block;
	overflow:hidden;
}

.message a::after{
	position:absolute;
    content:"";
    display:block;
    width:100%;
    height:100%;
    top:0;
	background:url(../img/company/bg01.jpg) center;
	background-size:cover;
	transition:all 250ms ease-out;
	z-index:5;
}

.message a:hover::after{
	transform:scale(1.1);
}

.message a p{
	position:absolute;
	top:225px;
	left:50%;
	margin-left:-40%;
	font-size:40px;
	color:#262626;
	z-index:10;
}

.message a p span{
	font-size:20px;
	display:block;
}

.message a p span.sp{
	display:none;
}

.nav01{
	width:100%;
	max-width:1220px;
	margin:110px auto;
}

.nav01 ul li{
	width:48%;
	font-size:30px;
	color:#262626;
}

.nav01 ul li a{
	width:100%;
	height:326px;
	overflow:hidden;
	display:block;
	margin-bottom:25px;
}

.nav01 ul li{
	float:left;
}

.nav01 ul li:nth-child(2){
	float:right;
}

.nav01 ul li:last-child{
	margin-top: 70px;
}

.nav01 ul li a img{
	margin:0 0 0 calc(50% - 293px);
	transition:all 250ms ease-out;
}

.nav01 ul li a:hover img{
	transform:scale(1.1);
}

.nav02{
	width:100%;
	max-width:1470px;
	border-top:1px solid #cccccc;
	padding-top:95px;
	margin:0 auto;
}

.nav02 ul{
	width:100%;
	max-width:1220px;
	margin:0 auto 115px;
}

.nav02 ul li{
	width:43.77%;
	float:left;
	margin-bottom:60px;
}

.nav02 ul li:nth-child(even){
	float:right;
}

.nav02 ul li a{
	width:100%;
	padding:13px 0 10px 30px;
	line-height:1;
	border-left:4px solid #097429;
	box-sizing:border-box;
	font-size:25px;
	color:#595959;
	display:block;
}

.nav02 ul li a:hover{
	color:#097429;
}

.nav02 ul li a span{
	font-size:15px;
	display:block;
	width:100%;
	border-top:1px solid #cccccc;
	padding-top:14px;
	margin-top:17px;
}

@media screen and (max-width:1280px){

.nav01{
	width:92.2%;
	margin:110px 3.9%;
}

.nav02{
	padding-top:14vw;
}

.nav02 ul{
	width:92.2%;
	margin:0 3.9% 19.27vw;
}

.nav02 ul li{
	width:45.762%;
	margin-bottom:11vw;
}

.nav02 ul li a{
	padding:0 0 2.6vw;
	border-left:none;
	border-bottom:4px solid #097429;
	font-size:25px;
	text-align:center;
}

.nav02 ul li a span{
	display:none;
}

}

@media screen and (max-width:768px){

.visual{
	height:auto;
	background:url(../img/company/sp/visual01.jpg);
	background-size:cover;
	padding-top:65.1vw;
}

.visual h1{
	position:absolute;
	top:50%;
	left:50%;
	margin:-7vw 0 0 -20.44vw;
}

.visual h1 img{
	width:40.88vw;
}

.message a{
	height:auto;
	margin:2.6vw auto 0;
}

.message a::after{
	background:url(../img/company/sp/bg01.jpg) center top no-repeat;
	background-size:contain;
}

.message a:hover::after{
	transform:scale(1);
}

.message a p{
	position:inherit;
	top:auto;
	left:auto;
	margin:57.16vw 0 0 5.2vw;
	font-size:6.25vw;
}

.message a p span{
	font-size:2.8645vw;
	margin-bottom:2vw;
}

.message a p span.sp{
	display:block;
}

.message a p span.pc{
	display:none;
}

.nav01{
	margin:13vw 3.9%;
	padding-top:13vw;
	border-top:1px solid #cccccc;
}

.nav01 ul li{
	width:100%;
	font-size:5.2vw;
}

.nav01 ul li a{
	height:auto;
	margin-bottom:3.9vw;
}

.nav01 ul li{
	float:none;
	margin-bottom:9.7vw;
}

.nav01 ul li:nth-child(2){
	float:none;
}

.nav01 ul li:last-child{
	margin: 0;
}

.nav01 ul li a img{
	margin:0;
    width: 100%;
}

.nav01 ul li a:hover img{
	transform:scale(1);
}

.nav02 ul li a:hover{
	color:#595959;
}

.nav02 ul li a{
	font-size:4.296875vw;
}

}
