@charset "UTF-8";
/* CSS Document */
/* タイトル共通パーツ */
.page_container {
  width: 100%;
}
.page_title_wrap{
    width: 100%;
    background-image: linear-gradient(180deg, rgba(1, 21, 56, 1), rgba(19, 63, 113, 1) 100%);
    height: 25vw;
}
.page_title{
    background: url("../img/recruit/recruit_tit_bg.jpg") no-repeat;
    height: 35vw;
    background-position: top left;
    background-size: 80%;
    	animation: fadedown 1.7s ease 0s 1 normal;
    -webkit-animation: fadedown 1.7s ease 0s 1 normal;
}
@keyframes fadedown {
from {
    opacity: 0;
    transform: translateX(-30px);
}
to {
    opacity: 1;
    transform: translateX(0px);
}
}
.page_title h1{
    text-align: right;
    color: #fff;
    padding: 10% 10% 0 0;
    font-size: 3vw;
    font-weight: 900;
}
.page_title h1 span{
    display: block;
    font-size: 1.8vw;
}

.contents_top{
    width: 60%;
    margin: 0 auto;
}
.contents_top h2{
    color: #011538;
    font-size: 2.5vw;
    font-weight: 900;
    padding-bottom: 2%;
    text-align: center;
}
.contents_top p{
    color: #011538;
    line-height: 1.8em;
    margin-bottom: 15px;
    text-align: center;
}

.recruit_lead_wrap{
    background: url("../img/environmental/drainage_path_diagram_bg.png") no-repeat center bottom;
    background-size: cover;
    background-attachment: fixed;
    padding: 5% 0; 
    color: #fff;
    position: relative;
    height: 60vw;
}
.recruit_lead_container{
     position: absolute;
    width: 60%;
    margin:0 20%;
    background: url("../img/recruit/recruit_mv.png") no-repeat bottom;
    background-size: contain;
    padding-bottom: 30%;
    top:15vw;
}
.recruit_lead_container h3,.recruit_lead_container p,.recruit_lead_wrap ul{
    position: absolute;
    
}
.recruit_lead_container h3{
    font-size: 2vw;
    font-weight: 900;
    top:-10vw; 
}
.recruit_lead_container p{
    top:-6vw;
}
.recruit_lead_wrap ul{
    width: 60%;
    margin-left: 20%;
    display: flex;
    justify-content: space-between;
    top:50vw;
}
.recruit_lead_wrap ul li{
    width: 45%;
}

.recruit_wrap li {
  width: 50%;
  height: 30vw;
  float: left;
  color: #fff;
}
.recruit_wrap li.recruit_left {
  background: url("../img/recruit/recruit_graduate_bg.jpg") no-repeat center center;
  background-size: cover;
}
.recruit_wrap li.recruit_right {
  background: url("../img/recruit/recruit_career_bg.jpg") no-repeat center center;
  background-size: cover;
}
.recruit_wrap li a{
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.recruit_wrap li a::before{
  display: block;
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 21, 56, 0.25);
  content: "";
  transition: 0.5s;
}
.recruit_wrap li .btn_detail {
  border: 1px solid #fff;
  color: #fff;
  margin: 5% 10%;
  padding: 1% 0;
}
.recruit_wrap .def_info {
  z-index: 101;
  position: absolute;
  top: 55%;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
  transition: 0.5s;
}
.recruit_wrap .def_info h3 {
  position: relative;
  width: 100%;
  padding-bottom: 35px;
  font-size: 2vw;
  letter-spacing: 1px;
  line-height: 1.1;
  color: #fff;
}
.recruit_wrap .def_info h3:after {
  display: block;
  position: absolute;
  bottom: 20px;
  left: 50%;
  width: 20px;
  height: 1px;
  margin-left: -10px;
  background: #fff;
  content: "";
}
.recruit_wrap .def_info h4 {
  position: relative;
  width: 100%;
  padding-bottom: 35px;
  font-size: 1.25vw;
  letter-spacing: 1px;
  line-height: 1.1;
  color: #fff;
}
.recruit_wrap li a:hover .def_info{
    display: none;
}
.recruit_wrap .over_info {
  display: none;
  transition: 0.5s;
}
.recruit_wrap li a:hover {
  opacity: 1;
}
.recruit_wrap li a:hover:before {
  display: block;
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 21, 56, 0.8);
  content: "";
  transition: 0.5s;
}
.recruit_wrap li a:hover .over_info {
  display: inherit;
  z-index: 101;
  position: absolute;
  top: 20%;
  width: 100%;
  text-align: center;
  animation: fadeup 1s ease 0s 1 normal;
  -webkit-animation: fadeup 1s ease 0s 1 normal;
}
@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(10%);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
.recruit_wrap li a:hover .over_info h3 {
  position: relative;
  width: 100%;
  margin-bottom: 35px;
  font-size: 1.5vw;
  font-weight: 300;
  letter-spacing: 1px;
  line-height: 1.7em;
  color: #fff;
}
.recruit_wrap li a:hover .over_info .txt {
  margin: 0 10% 5%;
  font-size: 0.9vw;
  line-height: 1.7;
  text-align: left;
  color: #fff;
}
.recruit_wrap li a:hover .def_info{
  transition: 0.5s;
}

.foot_contact{
    clear: both;
}

.interview_wrap{
    background:  #011538;
}
.interview,.interview_reverse{
    width: 60%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.interview_reverse{
    flex-direction:row-reverse;
}
.interview_tit{
    width: 35%; 
    color: #fff;
    padding: 10% 0;
}
.interview_tit h3{
    width: 100%;
    font-size: 2vw;
    font-weight: 900;
    border-bottom: 1px solid #fff;
    margin-bottom: 10px;
}
.interview_tit h3 span{
    font-size: 3vw;
    margin-left: 25%;
    text-align: right;
}
.interview_tit h4{
    width: 100%;
    margin-bottom: 10%;
}
.interview_tit h4 span{
    font-size: 0.8vw;
    margin-right: 5%;
}
.interview_tit p img{
    width: 100%;
}
.interview iframe,.interview_reverse iframe{
    width: 60%;
    height: 35vw;
     padding: 10% 0;
    margin-top: 1%;
}


.regional_future_wrap{
    background: url("../img/recruit/regional_future_bg.jpg") no-repeat center top;
    background-size: cover;
    padding: 20% 0 40% 0;
}
.regional_future{
    width: 60%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    
}
.regional_future_txt{
    width: 100%;
    margin-right: 5%;
}
.regional_future_wrap h2{
    font-size: 2.5vw;
    color: #733291;
    margin-bottom: 5%;
    text-align: center;
}
.regional_future_txt p{
    color: #fff;

}

.regional_future_wrap p img{
    width: 100%;
    text-align: right;
}

.bnr{
    width: 60%;
    margin: 0 auto;
    padding: 3% 0;
}
.bnr ul{
    display: flex;
    justify-content: space-between;
    
}
.bnr ul li{
    width: 45%
}
.bnr ul li img{
    width: 100%;
}

@media screen and (max-width: 1400px) {
   .contents_top,.recruit_lead_wrap ul,.interview,.interview_reverse,.regional_future,.bnr{
        width: 80%;
    }
    .recruit_lead_container{
        width: 80%;
        background-size: cover;
        margin:0 10%;
        padding-bottom: 40%;
        }
    .recruit_lead_wrap ul{
        padding-top: 10%;
        margin-left: 10%;
    }
    .recruit_lead_wrap{
    height: 70vw;
}
       .interview_tit h3{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    .interview_tit h3 span{
        font-size: 50px;
        text-align: right;
    }
    .interview iframe,.interview_reverse iframe{
    height: 44vw;

}


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

    .contents_top h2,.regional_future_wrap h2,.recruit_wrap .def_info h3{
       font-size: 20px;
    }
    .recruit_lead_container h3,.interview_tit h3{
         font-size: 18px;
    }
    .interview_tit h4,.recruit_wrap .def_info h4{
        font-size: 16px;
    }
    .contents_top p,.recruit_lead_container p,.interview_tit h4 span,.regional_future_wrap p{
       font-size: 14px;
    }
   .interview,.interview_reverse,.regional_future{
        flex-direction: column;
    }
    .contents_top,.interview,.interview_reverse,.regional_future,.regional_future_wrap h2{
        width: 90%;
        margin: 0 auto;
        padding-bottom: 5%;
    }
    .bnr{
        width: 90%;
        margin: 0 auto;
    }
    .interview_tit{
    width: 100%; 
    }
    .interview_tit h3 span{
        font-size: 40px;
    }
        .interview iframe,.interview_reverse iframe{
            width: 100%;
            margin: 0 auto;
    height: 50vw;
            padding:0;

}
    
    .recruit_lead_wrap{
    height: 75vw;
}
    .recruit_lead_container{
        width: 90%;
        margin:0 5%;
        top:20vw;
    }
    .recruit_lead_wrap ul{
    width: 90%;
    margin-left: 5%;
        top:55vw;
}
    .recruit_lead_container h3{
    top:-15vw; 
}
.recruit_lead_container p{
    top:-10vw;
}
    .regional_future_wrap{
        padding: 40% 0 80% 0;
    }
    .regional_future_txt p{
        margin-bottom: 5%;
    }
    
      /* recruit*/
  .recruit_wrap {
    margin: 0;
  }
  .recruit_wrap li{
    width: 100%;
    height: auto;
    float: none;
  }
  .recruit_wrap li a{
    padding: 25% 0;
  }
  .recruit_wrap .def_info h3 {
    padding-bottom: 3%;
    font-weight: 900;
    margin-top: 7%;
  }
  .recruit_wrap .def_info h4{
    font-weight: 900;
  }
  .recruit_wrap .def_info h3::after{
    bottom: 10px;
  }
  .recruit_wrap .def_info .sub{
    font-size: 3.47vw;
  }
    .recruit_wrap li a:hover .def_info{
    display: block;
}
  .recruit_wrap li a:hover::before{
    background: rgba(1, 21, 56, 0.4);
  }
  .recruit_wrap li a:hover .over_info {
    display: none;
  }

}
@media screen and (max-width: 780px) {
    .page_title h1{
    font-size: 5vw;
        padding-right: 5%;
}
.page_title h1 span{
    font-size: 3vw;
}
        .recruit_lead_wrap{
    height: 90vw;
}
        .recruit_lead_wrap ul{
        flex-direction: column;
    width: 90%;
    margin-left: 5%;
        top:55vw;
}
    .recruit_lead_wrap ul li{
        width: 100%;
        margin-bottom: 5%;
    }
    .regional_future_wrap{
        padding: 50% 0 80% 0;
    }
    .bnr ul{
        flex-direction: column;
    }
    .bnr ul li{
    width: 100%;
}
    .bnr ul li:first-child{
        margin-bottom: 5%;
    }

}
@media screen and (max-width: 600px) {
    .recruit_lead_wrap{
    height: 120vw;
}
    .recruit_lead_container{
        width: 90%;
        margin:0 5%;
        top:35vw;
    }
    .recruit_lead_wrap ul{
    width: 90%;
    margin-left: 5%;
        top:70vw;
}
    .recruit_lead_container h3{
    top:-25vw; 
}
.recruit_lead_container p{
    top:-15vw;
}


}

@media screen and (max-width: 440px) {
            .recruit_lead_wrap{
    height: 120vw;
}
    .recruit_lead_container{
        width: 90%;
        margin:0 5%;
        top:40vw;
    }
    .recruit_lead_wrap ul{
    width: 90%;
    margin-left: 5%;
        top:75vw;
}
    .recruit_lead_container h3{
    top:-35vw; 
}
.recruit_lead_container p{
    top:-25vw;
}
        .regional_future_wrap{
        padding: 60% 0 80% 0;
    }
    .recruit_wrap .def_info h3:after {
        bottom: 5px;
    }

}
@media screen and (max-width: 419px) {
            .recruit_lead_wrap{
    height: 150vw;
}
    .recruit_lead_container{
        width: 90%;
        margin:0 5%;
        top:60vw;
    }
    .recruit_lead_wrap ul{
    width: 90%;
    margin-left: 5%;
        top:100vw;
}
    .recruit_lead_container h3{
    top:-55vw; 
}
.recruit_lead_container p{
    top:-35vw;
}
        .regional_future_wrap{
        padding: 60% 0 80% 0;
    }




}
    
    
    
    
    
    
    
    
    
    
    
    