@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/about/about_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;
}

.about_top{
    width: 100%;
    background: url("../img/about/about_bg.jpg") no-repeat;
    background-size: contain;
    padding-top: 40vw;
}
.about_sec1{
    background: #fff;
    width: 60%;
    margin: 0 auto;
    height: 20vw;
    bottom: 0;
    text-align: center;
    vertical-align: bottom;    
}
h2{
    color: #011538;
    font-size: 2vw;
    font-weight: 900;
    padding: 5% 0 2% 0;
    text-align: center;
}
.about_top p{
    color: #011538;
    line-height: 1.8em;
    
}

/* middle */
.about_middle li {
  width: 33.3333%;
  height: 45vw;
  float: left;
  color: #fff;
}
.about_middle li.technology_left {
  background: url("../img/top/technology01.jpg") no-repeat center center;
  background-size: cover;
}
.about_middle li.technology_center {
  background: url("../img/top/technology02.jpg") no-repeat center center;
  background-size: cover;
}
.about_middle li.technology_right {
  background: url("../img/top/technology03.jpg") no-repeat center center;
  background-size: cover;
}
.about_middle li a, .sec4 li a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.about_middle li a::before, .sec4 li a:before {
  display: block;
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 21, 56, 0.4);
  content: "";
  transition: 0.5s;
}
.about_middle li .btn_detail {
  border: 1px solid #fff;
  color: #fff;
  margin: 5% 10%;
  padding: 1% 0;
}
.about_middle .def_info {
  z-index: 101;
  position: absolute;
  top: 20%;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
  transition: 0.5s;
}
.about_middle .def_info h3 {
  position: relative;
  width: 100%;
  padding-bottom: 35px;
  font-size: 2vw;
  letter-spacing: 1px;
  line-height: 1.1;
  color: #fff;
}
.about_middle .def_info h3:after {
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  width: 20px;
  height: 1px;
  margin-left: -10px;
  background: #fff;
  content: "";
}
.about_middle .def_info h4, .sec4 .def_info h4 {
  position: relative;
  width: 100%;
  padding-bottom: 35px;
  font-size: 1.25vw;
  letter-spacing: 1px;
  line-height: 1.1;
  color: #fff;
}
.about_middle .over_info, .sec4 .over_info {
  display: none;
  transition: 0.5s;
}
.about_middle li a:hover, .sec4 li a:hover {
  opacity: 1;
}
.about_middle 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;
}
.about_middle li a:hover .over_info {
  display: inherit;
  z-index: 101;
  position: absolute;
  top: 45%;
  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);
  }
}
.about_middle 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;
  color: #fff;
}
.about_middle li a:hover .over_info .txt, .sec4 li a:hover .over_info .txt {
  margin: 0 10% 5%;
  font-size: 0.9vw;
  line-height: 1.7;
  text-align: left;
  color: #fff;
}
.about_middle li a:hover .def_info, .sec4 li a:hover .def_info {
  transition: 0.5s;
}

.about_btm{
    background: url("../img/about/about_bg_btm.jpg") no-repeat center bottom;
    text-align: center;
    padding: 5% 0;
    background-size: 100%;
    background-size: contain;
    height: 80vw;
}
.about_btm p{
    background-color: #011538;
    color: #fff;
    padding: 45% 0 5% 0;
    line-height: 2em;
    
}















    
@media screen and (max-width: 1400px) {
    h2{
 
}
        .about_sec1{
        width: 80%;
    }

}
@media screen and (max-width: 1050px) {
    h2{
       font-size: 20px;
    }
            .about_sec1{
        width: 90%;
    }

    .about_top p{
        font-size: 14px;
    }
    .about_sec1{
        height: auto;
    }
/* セクション2*/
  .about_middle {
    margin: 5% 0 0 0;
  }
  .about_middle li, .sec4 li {
    width: 100%;
    height: auto;
    float: none;
  }
  .about_middle li a, .sec4 li a {
    padding: 25% 0;
  }
  .about_middle .def_info h3 {
    padding-bottom: 3%;
    font-size: 4vw;
    font-weight: 900;
    margin-top: 30%;
  }
  .about_middle .def_info h4, .sec4 .def_info h4 {
    font-size: 2vw;
    font-weight: 900;
  }
  .about_middle .def_info h3::after, .sec4 .def_info h3::after {
    bottom: 10px;
  }
  .about_middle .def_info .sub, .sec4 .def_info .sub {
    font-size: 3.47vw;
  }
  .about_middle li a:hover::before, .sec4 li a:hover::before {
    background: rgba(1, 21, 56, 0.4);
  }
  .about_middle li a:hover .over_info, .sec4 li a:hover .over_info {
    display: none;
  }
  .about_middle li a:hover .def_info, .sec4 li a:hover .def_info {
    display: inherit;
  }
.about_btm p{
    background-color: #011538;
    color: #fff;
    padding: 5%;
    font-size: 14px;
    margin-top: -5vw;
}
    .about_btm{
        height: 40vw;
    }
        
}
@media screen and (max-width: 780px) {
    .page_title h1{
    font-size: 5vw;
        padding-right: 5%;
}
.page_title h1 span{
    font-size: 3vw;
}
    .about_top h2{
        font-size: 18px;
    }

.about_middle .def_info h3, .sec4 .def_info h3 {
    font-size: 20px;
}
.about_middle .def_info h4, .sec4 .def_info h4 {
    font-size: 14px;
}
.about_btm{
        height: 43vw;
    }
}
@media screen and (max-width: 700px) {
    .about_btm{
        height: 45vw;
    }
}
@media screen and (max-width: 600px) {
    .about_sec1{
        width: 100%;
    }
    .about_top h2,.about_top p{
        width: 90%;
        margin: 0 auto;
    }
    .about_btm{
        height: 50vw;
    }
}
@media screen and (max-width: 470px) {
        .about_btm{
        height: 55vw;
    }


}
@media screen and (max-width: 450px) {
            .about_btm{
        height: 70vw;
    }
}
@media screen and (max-width: 380px) {
            .about_btm{
        height: 75vw;
    }
}
@media screen and (max-width: 370px) {
            .about_btm{
        height: 83vw;
    }



}
    
    
    
    
    
    
    
    
    
    
    
    