/*main */
#header{
	padding-bottom: 0;
}
#header_img{
	padding-top:0;
	background-color:transparent;
}
#header_slider{
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(5.7deg);
	-ms-transform: rotate(5.7deg);
	transform: rotate(5.7deg);
}
#header_slider li{
	position: relative;
}
#header_slider li p{
	position: absolute;
	top:50%;
	left:50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	color: #fff;
    font-size: 5.5vw;
}

.area_road_r {
	background-image: url("../images/top/area_road-bg.png");
	background-size: 100% 100%;
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(11deg);
	-ms-transform: rotate(11deg);
	transform: rotate(11deg);
	position:absolute;
	bottom: -1vw;
	left:-3%;
	padding-bottom: 5%;
	width:105%;
	height:0;
	z-index: -1;
}

.area_road_r img{
	transform: translateX(-100%);
	animation: move_r 5s linear infinite;
	position:absolute;
	height: 50%;
    width: auto;
}

@keyframes move_r {
  100% {
    transform: translateX(100vw);
  }
}

.area_road_l {
	background-image: url("../images/top/area_road-bg.png");
	background-size: 100% 100%;
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: rotate(-11deg);
	-ms-transform: rotate(-11deg);
	transform: rotate(-11deg);
	position:relative;
	bottom: 5vw;
	left:-1%;
	width:105%;
	height:0;
	padding-bottom: 5%;
	z-index: -10;
}

.area_road_l img{
	transform: translateX(100vw);
	animation: move_l 5s linear infinite;
	position:absolute;
	height: 50%;
    width: auto;
}

@keyframes move_l {
  100% {
    transform: translateX(-100%);
  }
}

#sec_blog {
	-webkit-animation-duration: 5s;
	animation-duration: 5s;
}

#sec_blog .blk_sec_ttl{
	margin-bottom:40px;
	align-items: baseline;
}

#sec_blog .blk_sec_ttl h2{
	margin-bottom:0;
}

#sec_blog .blk_sec_ttl a.lnk_arrow{
	font-size:1.5em;
	line-height: 1.5;
}

#sec_blog .blk_sec_ttl a.lnk_arrow::after{
	background-image: url("../images/top/sec_blog-link-arrow.png");
	top:50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

#blk_news{
	margin-bottom: 20px;
}

#blk_news .box_news .area_img{
	width:20%;
}

#blk_news .box_news .area_img .img_outer{
	width: 100%;
    height: 0;
    padding-bottom: 55%;
    overflow: hidden;
    position: relative;
}
#blk_news .box_news .area_img .img_outer img {
	width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(0, -50%);
	transform: translate(-50%, -50%);
}

#blk_news .box_news .area_txt{
	width:75%;
}

#blk_news .box_news .area_txt p{
	padding-bottom: 0;
}

#blk_news .box_news .area_txt p.post_ttl::after {
    content: "";
	display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url("../images/top/blk_news-link-arrow.png");
    background-size: contain;
    background-repeat: no-repeat;
	position: relative;
	left:5em;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

#blk_news .box_news:hover .area_txt p.post_ttl::after{
	left:6em;
}

#sec_service .bg_img{
	background-image: url("../images/top/sec_service-bg_img-bg.png");
	min-height: 67.3vw;
	position: relative;
	margin-top:25vw;
}

#sec_service .bg_img:before{
	top:-25vw;
	height: 60%;
}

#sec_service .bg_img:after{
	background-color: transparent;
}

#sec_service .bg_img .content_inner{
	width:70%;
	/*padding-top:30%;*/
	padding-bottom:50%;
}

#sec_service .bg_img ul{
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	-web-kit-justify-content: center;
	justify-content: center;
	padding-bottom:30px;
	padding-top:9%;
}

#sec_service .bg_img li{
	border-radius: 50%;
	border:1px solid #fff;
	width:200px;
	padding-bottom:200px;
	margin-left: -3%;
    margin-top: -9%;
	text-align:center;
	position: relative;
}

#sec_service .bg_img li p{
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	letter-spacing: -2px;
	padding-bottom:0;
}

#area_map{
	position: absolute;
	bottom:5vw;
	right:0;
	width:60%;
}
#area_map_map{
	position: relative;
	z-index: 10;
	width:100%;
}
#area_map_arrow{
	position: absolute;
	top:0;
	left:0;
	z-index: 30;
	width:100%;
}
#area_map_circle{
	position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}
#area_map_circle #map_circle{
	fill:#1D1C86;
	transform-origin: 38.36% 71.79%;
	transform: scale(0, 0);
	animation: bigger 5s linear infinite;
}

@keyframes bigger {
  100% {
    transform: scale(1.0, 1.0);
  }
}

#sec_company{
	margin-bottom: 50px;
}

#sec_company .blk_txt{
	padding-bottom:40px;
}

#sec_company .blk_img{
	background-image: url("../images/top/sec_company-blk_img-bk.png");
	background-repeat: no-repeat;
	background-position: left -10% top;
	background-size:50% auto;
	text-align: right;
	position: relative;
}

#sec_company .blk_img .content{
	
}

#sec_company .blk_img img:nth-child(1){
	width:50%;
	padding-bottom: 20px;
}

#sec_group #sec_group_logo{
	width: 35%;
	max-width: 240px;
}

/*#sec_group .flex_center{
	padding-top:40px;
}

#sec_group .flex_center img{
	width:20%;
	padding:2%;
}*/

#sec_group img{
	padding-bottom:40px;
}

#sec_group .lnk_btn{
	display:inline-block;
	width:auto;
	font-size:1.4em;
	padding-right: 4em;
    padding-top: 0.8em;
	margin-bottom: 60px;
}

#sec_recruit{
	padding-bottom: 20vw;
}

#sec_recruit .bg_img{
	background-image: url("../images/top/sec_recruit-bg_img-bg.png");
	/*background-size:cover;*/
	background-position: top;
	min-height: 55vw;
	position: relative;
}

#sec_recruit .bg_img:before{
	height:90%;
}

#sec_recruit .bg_img:after{
	background-color: transparent;
}

#sec_recruit .bg_img .content_inner{
	width:100%;
	padding-top:30%;
	padding-bottom:10%;
}

#sec_recruit .area_road_l {
	bottom:-7vw;
}
/*mainここまで */

/*===============================================
●smart.css  画面の横幅が768pxから
===============================================*/

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

}


/*===============================================
●smart.css  画面の横幅が767pxまで
===============================================*/
@media screen and (max-width:767px){
	#blk_news .box_news .area_img{
		width: 30%;
	}
	
	#blk_news .box_news .area_txt{
		width: 65%;
	}
	
	#sec_service .bg_img:before{
		height:88%;
	}
}

/*===============================================
●smart.css  画面の横幅が480pxまで
===============================================*/
@media screen and (max-width:480px){
	#blk_news .box_news .area_img{
		width: 100%;
		padding-bottom: 1em;
	}
	
	#blk_news .box_news .area_txt{
		width: 100%;
	}
	
	#sec_service .bg_img .content_inner{
		width:100%;
	}
	
	#sec_service .bg_img li{
		width:150px;
		padding-bottom:150px;
	}
}
