@charset "UTF-8";

/*============================
loading
============================*/
.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 20000;
	background-color: #001934;
}

.loader,
.loader:after {
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	height: 50px;
	margin-left: -25px;
	margin-top: -30px;
}

.loader {
	position: relative;
	text-indent: -9999em;
	border-top: 5px solid #1a416a;
	border-right: 5px solid #1a416a;
	border-bottom: 5px solid #1a416a;
	border-left: 5px solid #FFF;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
	0% {
 		-webkit-transform: rotate(0deg);
 		transform: rotate(0deg);
	}
 	100% {
 		-webkit-transform: rotate(360deg);
 		transform: rotate(360deg);
	}
}

@keyframes load8 {
	0% {
 		-webkit-transform: rotate(0deg);
 		transform: rotate(0deg);
	}
 	100% {
 		-webkit-transform: rotate(360deg);
 		transform: rotate(360deg);
	}
}

/*============================
container
============================*/
.top_img {
	width: 100%;
	height: 600px;
	background: url(../images/home/header/main_img.jpg) no-repeat center center;
	background-size: cover;
}
.top_img .catch {
  width: 980px;
  padding-top: 600px;
  height: 0;
  overflow: hidden;
  background: url(../images/home/header/catch.png) no-repeat left top;
  background-size: 100%;
  margin: auto;
}



/*============================
container
============================*/
.container {
	position: relative;
}

.primary {
	width: 100%;
	float: none;
}

.primary > article {
	padding: 80px 0 80px;
}

.primary .inner {
	width: 980px;
	margin: auto;
}

h2 {
  width: 174px;
  padding-top: 43px;
  height: 0;
  overflow: hidden;
  background: url(../images/home/about/title.png) no-repeat left top;
  background-size: 100%;
  margin: auto;
  margin-bottom: 30px;
}


.link-top {
  width: 100%;
  padding-top: 40px;
}

.link-top li a {
  width: 270px;
  padding: 0;
  padding-top: 57px;
  height: 0;
  overflow: hidden;
  background: url(../images/home/business/btn.png) no-repeat left top;
  background-size: cover;
  margin: auto;
  display: block;
}

.innner {
  width:980px;
  margin: auto;
}

/*============================
about
============================*/
#aboutus {
	background: url(../images/home/about/map.png) bottom 20px right 0px no-repeat #1a416a;
  background-size: 48% auto;
}
#aboutus .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#aboutus .left,
#aboutus .right {
  background: rgba(0, 25, 52, 0.8);
  padding: 40px;
  width: 50%;
  color: #FFF;
}
#aboutus .left {
  border-right: 1px solid #00416d;
  padding: 60px 0 0 0;
}

#aboutus .left .catch1,
#aboutus .left .catch2 {
  width: 350px;
  padding-top: 62px;
  height: 0;
  overflow: hidden;
  background: url(../images/home/about/catch01.png) no-repeat left top;
  background-size: 100%;
  margin: auto;
}
#aboutus .left .catch1 {
  position: relative;
}
#aboutus .left .cross{
  width: 30px;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin: 23px auto;
  background: url(../images/home/about/cross.png) no-repeat center;
  background-size: 100%;
}
#aboutus .left .catch2 {
  width: 409px;
  background-image: url(../images/home/about/catch02.png);
}

#aboutus .right .link-top {
  padding-top: 15px;
}
#aboutus .right .link-top a {
  padding-top: 40px;
  background-image: url(../images/home/about/btn.png);
}





/*============================
business
============================*/
#business{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  padding: 0;
}
#business h2{
  background-image: url(../images/home/business/title.png);
  width: 86px;
  padding-top: 41px;
  position: absolute;
  top: 80px;
  left: 50%;
  margin-left: -43px; 
}
#business h3{
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.7);
  padding-bottom: 15px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
}

#business .left,
#business .right {
  width: 50%;
  padding: 150px 50px 180px;
  color: #FFF;
  background: url(../images/home/business/bg01.jpg) no-repeat bottom center;
  background-size: cover;
}
#business .right{
  background-image: url(../images/home/business/bg02.jpg);
}
#business .link-top{
  position: absolute;
  bottom: 80px;
}


/*============================
recruit
============================*/
#recruit {
	background: #255d97;
}
#recruit .inner {
  overflow: hidden;
}

#recruit h2 {
  width: 84px;
  padding-top: 40px;
	background-image: url(../images/home/recruit/title.png);
}
#recruit .lead {
  width: 450px;
  color: #FFF;
  margin: auto;
  padding-bottom: 40px;
}
#recruit .photo {
  display: block;
  float: right;
}
#recruit table.info {
  float: left;
  width: 590px;
  color: #FFF;
}

#recruit table.info tr {
    padding-bottom: 0;
    border-bottom: 1px solid #7893ae;
}

#recruit table.info th {
  width: 190px;
  border-radius: 0;
  background: #7893ae;
  color: #FFF;
  border-radius: 2px 2px 0 0;
}

#recruit .link-top a {
  background-image: url(../images/home/recruit/btn.png);
}




/*============================
company
============================*/
#company {
	background: #7f7f7f;
}

#company h2 {
	background-image: url(../images/home/company/title.png);
}
































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

.primary > article {
	padding: 60px 0 60px;
}

h2 {
  width: 43%;
	padding-top: 10%;
	margin-bottom: 20px;
	background-image: url(../images/home/about/title_sp.png);
	background-size: cover;
}

	
/*============================
contents
============================*/
.top_img {
	margin-top: 55px;
  height: auto;
}

.top_img .catch {
	padding-top: 80%;
	width: 100%;
	background-image: url(../images/home/header/main_img_sp.jpg);
	background-size: cover;
}

.primary .inner {
  width: 90.625%;
}

#aboutus {
  background: url(../images/home/about/map.png) top -50px right -37px no-repeat #1a416a;
  background-size: 80% auto;
}
#aboutus .inner {
  display: block;
}

#aboutus .left, #aboutus .right {
  padding: 10% 8%;
  width: 100%;
  color: #FFF;
}
#aboutus .left {
  border: none;
  border-bottom: 1px solid #00416d;
}
#aboutus .left .cross {
    width: 20px;
    padding-top: 20px;
    margin: 6% auto;
    background: url(../images/home/about/cross.png) no-repeat center;
    background-size: 100%;
}
#aboutus .left .catch1 {
  width: 100%;
  padding-top: 19%;
  background-image: url(../images/home/about/catch01_sp.png);
}
#aboutus .left .catch2 {
  width: 100%;
  padding-top: 17%;
  background-image: url(../images/home/about/catch02_sp.png);
}


.link-top li a {
  width: 80%;
  padding-top: 14%;
  background-image: url(../images/home/business/btn_sp.png) ;
  background-size: 100%;
}

#aboutus .right .link-top a {
  width: 100%;
  padding-top: 15%;
  background-image: url(../images/home/about/btn_sp.png) ;
  background-size: 100%;
}



#business {
  display: block;
}

#business .left,
#business .right {
  width: 100%;
  padding: 10% 8% 10% 8%;
  background-image: url(../images/home/business/bg01_sp.jpg);
  background-size: cover;
}
#business .left {
  padding-top: 30%;
}
#business .right {
  background-image: url(../images/home/business/bg02_sp.jpg);
  padding-bottom: 30%;
}

#business h2 {
  background-image: url(../images/home/business/title_sp.png);
  width: 23%;
  padding-top: 10%;
  position: absolute;
  top: 60px;
  left: 50%;
  margin-left: -12.5%;
}

#business h3 {
  padding-bottom: 10px;
  margin-bottom: 12px;
  font-size: 20px;
}

#business .link-top {
    position: absolute;
    bottom: 40px;
}

  
#recruit h2 {
  width: 23%;
  padding-top: 10%;
  background-image: url(../images/home/recruit/title_sp.png);
}
#recruit .lead {
  width: 100%;
  padding-bottom: 20px;
}
#recruit .photo {
  float: none;
  background: url(../images/home/recruit/photo_sp.jpg) no-repeat center;
  background-size: 100%;
  width: 100%;
  height: 0;
  padding-top: 30%;
  margin-bottom: 20px;
}

#recruit table.info {
  float: none;
  width: 100%;
}
#recruit table.info th {
  width: 100px;
}

#recruit .link-top li a {
  background-image: url(../images/home/recruit/btn_sp.png);
}
  

}
