@charset "UTF-8";

h3{
	font-size:25px;
}
.margin-top{
	margin-top:30px;
}
.margin-bottom{
	margin-bottom:30px;
}

/*メインビジュアル*/
#main_vd_op{
	padding-top: 18%;
	background-image: url("../images/main_vd_ap.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	max-height: 600px;
}

.heading_op{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left:12%;
	margin:auto;
	font-size:29px;
	letter-spacing: 1.8px;
	color:#fff;
	text-shadow: 0 2px 10px rgba(14,1,1,0.5);
}

.heading_op h1{
	border-bottom:3px solid #fff;
	margin-bottom:9px;
}

/*パーツ01*/
.parts01{
	padding:20px;
	box-sizing:border-box;
	border:1px solid #666;
	text-align: left;
}

.parts01 h3{
	border-left: 6px solid #666;
	padding-left: 10px;
	margin-bottom:20px;
}

/*パーツ02*/
.parts02{
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.parts02 h3{
	margin-bottom:20px;
}

.parts02 .image{
	width:48%;
}

.parts02 .image img{
	width:100%;
}

.parts02 .text{
	width:48%;
}

/*パーツ03*/
.parts03{
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.parts03 h3{
	margin-bottom:20px;
}

.parts03 .image{
	width:35%;
	display: flex;
	flex-direction: column;
	order: 2;
}

.parts03 .image>div:first-of-type{
	margin-bottom: 10px;
}

.parts03 .image img{
	width:100%;
}

.parts03 .text{
	width:63%;
}

/*パーツ04*/
.parts04{
	text-align: left;
	display: flex;
	flex-direction: column;
}

.parts04 h3{
	margin-bottom:20px;
}

.parts04 .image{
	width:100%;
}

.parts04 .image img{
	width:100%;
}

.parts04 .text{
	width:100%;
}

/*パーツ05*/
#block05{
	position: relative;
	background-image: url("../images/company_image07.png");
	background-attachment: fixed;
	color:#fff;
	padding:20px 0;
}

#block05:after{
  content: '';
  background-color: rgba(0,0,0,.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.parts05{
	display: flex;
	flex-direction: column;
}

.parts05 h3{
	margin-bottom:20px;
	position: relative;
	z-index: 1;
	text-align:center;
}

.parts05 p{
	position: relative;
	z-index: 1;
	text-align:center;

}

/*パーツ06*/
.parts06{
	display: flex;
	justify-content: space-between;
}
.merit{width:31%; border:1px solid #666;}
.merit img{width:100%; padding:0; margin-top:1px;}
.merit h3{padding: 10px 20px 10px;}
.merit p{padding: 0 20px 20px;}

@media screen and (max-width:1024px) {
#main_vd_op{
	padding-top: 25%;
}
}

@media screen and (max-width:850px) {
#main_vd_op{
	padding-top: 30%;
}
}

@media screen and (max-width:750px) {

/*mainVD*/
#main_vd_op{
	height: 250px;
	padding-top: 0;
	background-image: url("../images/main_vd_sp_ap.png");
	background-position: center;
	background-size: 1220px;
}

.heading_op{
	font-size:25px;
}

.heading_op h1{
	border-bottom:3px solid #fff;
	margin-bottom:9px;

}

/*block02*/
.parts02{
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: column;
}

.parts02 h3{
	margin-bottom:20px;
}

.parts02 .image{
	width:100%;
	margin-bottom:30px;
}

.parts02 .text{
	width:100%;
}

/*block03*/
.parts03{
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: column;
}

.parts03 .image{
	width:100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-bottom:30px;
}

.parts03 .image>div:first-of-type,
.parts03 .image>div:nth-of-type(2){
	margin-bottom: 0px;
	width: 49%;
}


.parts03 .image img{
	width:100%;
}

.parts03 .text{
	width:100%;
}

/*パーツ06*/
.parts06{
	display: flex;
	justify-content: center;
	flex-direction: column;
}
div.merit:first-of-type,
div.merit:nth-of-type(2){
	margin-bottom: 30px;
	}

.merit{width:100%; border:1px solid #666;}
.merit img{width:100%; padding:0; margin-top:1px;}
.merit h3{padding: 10px 20px 10px;}
.merit p{padding: 0 20px 20px;}

}

@media screen and (max-width:600px) {

.heading_op{
	font-size: 4.8vw;
	text-align: center;
	width:100%;
	left: 0;
	right:0;
	}

.heading_op h1{
	display: inline-block;
	}
}
