/* ----------------- advantage ------------------ */
#fv{
  background:url(../img/fv-advantage.jpg) center center no-repeat;
  background-size: cover;
  width: 100%;
  height: 230px;
  text-align: center;
  position: relative;
  overflow: visible;
  margin-bottom: 100px;
  margin-top: 68px;
}
#fv::before{
  content: "";
  background: #e6e8ec url(../img/bg-tri1.svg) bottom right no-repeat;
  background-size: auto;
  position: absolute;
  width: 100%;
  height: 230px;
  top: 46px;
  left: 0;
  z-index: -1;
}
#fv::after{
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  border-top: 0px solid transparent;
  border-left: 42px solid #fff;
  border-right: 0px solid transparent;
  border-bottom: 65px solid transparent;
}
#fv img{
  position: absolute;
  top: 100px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
}
#fv h1::before,
#fv h1::after{
  content: "";
  width: 1px;
  left: 50vw;
  position: absolute;
}
#fv h1::before{
  background: #fff;
  height: 150px;
  top: 150px;
}
#fv h1::after{
  background: #002a66;
  height: 70px;
  top: 230px;
}

.catch{
  text-align: center;
}

#anchor{
  text-align: center;
  margin: 40px auto 0;
}
#anchor a{
  background: #e6e8ec;
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
  padding: 10px 15px;
  transform: skewX(-33deg);
}
#anchor a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: rgba(0, 42, 102, 0.3);
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
#anchor a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
#anchor a img{
  height: 24px;
  width: auto;
  vertical-align: middle;
  transform: skewX(33deg);
}


#tech,
#human{
  width: 100%;
  min-height: 470px;
  text-align: center;
  position: relative;
  margin: 50px auto 100px;
  padding-top: 80px;
}
#tech{
  background: url(../img/ttl-tech-e.svg), url(../img/bg-tech.png), url(../img/bg-square.svg);
  background-position: calc(100% - 3vw) 90px, left 80px, calc(-370px + 20vw) 130px;
  background-repeat: no-repeat;
  background-size: auto 80px, auto 420px, auto 420px;
}
#human{
  background: url(../img/ttl-human-e.svg), url(../img/bg-human.png), url(../img/bg-square.svg);
  background-position: calc(100% - 5vw) 90px, left 80px, calc(-370px + 20vw) 130px;
  background-repeat: no-repeat;
  background-size: auto 80px, auto 420px, auto 420px;
}
#tech .bl-txt,
#human .bl-txt{
  color: #002a66;
  max-width: 860px;
  display: block;
  margin: 0 auto 0 690px;
  padding-right: 5vw;
  text-align: left;
  font-size: 1.5rem;
  letter-spacing: -0.5px;
  line-height: 2.6rem;
  overflow: visible;
}
#tech h2,
#human h2{
  margin: 50px 20px 30px 0;
  text-align: right;
}
#tech h2 img,
#human h2 img{
  height: 50px;
  width: auto;
}
#tech p,
#human p{
  color: #333;
  font-size: 1.6rem;
  line-height: 3.2rem;
}
#tech p:nth-child(1),#human p:nth-child(1){ margin-left: -10px; }
#tech p:nth-child(2),#human p:nth-child(2){ margin-left: -30px; }
#tech p:nth-child(3),#human p:nth-child(3){ margin-left: -60px; }
#tech p:nth-child(4),#human p:nth-child(4){ margin-left: -80px; }
#tech p:nth-child(5),#human p:nth-child(5){ margin-left: -100px; }
#tech p:nth-child(6),#human p:nth-child(6){ margin-left: -120px; }

#challenge{
  background:url(../img/bg-challenge.png), url(../img/ttl-challenge-e.svg), url(../img/bg.svg);
  background-position: 100% 80px, 5vw 80px, calc(100% - 560px) 170px;
  background-repeat: no-repeat;
  background-size: auto 420px, calc(300px + 25vw) auto, auto 850px;
  text-align: center;
  width: 100%;
  position: relative;
  margin: 50px auto;
  padding-top: 80px;
}
#challenge .bl-txt{
  color: #002a66;
  display: block;
  max-width: 640px;
  display: block;
  margin: 0px 690px 40px auto;
  text-align: left;
  font-size: 1.5rem;
  letter-spacing: -0.5px;
  line-height: 2.6rem;
  overflow: visible;
}
#challenge h2{
  margin: 50px 0 30px 20px;
  text-align: left;
}
#challenge h2 img{
  height: 50px;
  width: auto;
}
#challenge p{
  color: #333;
  font-size: 1.6rem;
  line-height: 3.2rem;
}
#access{
  text-align: center;
  margin: 0 auto 30px;
  width: 90vw;
  max-width: 1200px;
}

#access section{
  text-align: left;
  width: 41vw;
  max-width: 430px;
  padding: 15px 15px 30px;
  display: inline-block;
  vertical-align: top;
  -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
}
#access img{
  width: calc(41vw - 30px);
  max-width: 400px;
  height: auto;
  margin-bottom: 10px;
  border-radius: 3px;
}
#access h3{
  color: #002a66;
  font-size: 2rem;
  margin-bottom: 5px;
}
#access h3 span{
  font-size: 1.4rem;
}
#access p{
  font-size: 1.4rem;
  line-height: 2.4rem;
}
#tech .last-p{
  padding-bottom: 20px;
}
#human .last-p{
  padding-bottom: 85px;
}


/* ---------------------------------------------------------------------------------------- */
@media screen and (max-width: 1350px){
  #tech{
    background: url(../img/ttl-tech-e.svg), url(../img/bg-tech.png), url(../img/bg-square.svg);
    background-position: calc(100% - 3vw) 90px, calc(-420px + 20vw) 80px, calc(-510px + 20vw) 130px;
    background-repeat: no-repeat;
    background-size: auto 80px, auto 420px, auto 420px;
  }
  #human{
    background: url(../img/ttl-human-e.svg), url(../img/bg-human.png), url(../img/bg-square.svg);
    background-position: calc(100% - 3vw) 90px, calc(-420px + 20vw) 80px, calc(-510px + 20vw) 130px;
    background-repeat: no-repeat;
    background-size: auto 80px, auto 420px, auto 420px;
  }
  #tech .bl-txt,
  #human .bl-txt{
    margin: 0 auto 0 calc(285px + 20vw);
    padding-right: 5vw;
  }
  #challenge{
    background:url(../img/bg-challenge.png), url(../img/ttl-challenge-e.svg), url(../img/bg.svg);
    background-position: calc(5vw + 570px) 80px, 5vw 80px, calc(5vw - 650px) 170px;
    background-repeat: no-repeat;
    background-size: auto 420px, calc(300px + 25vw) auto, auto 420px;
  }
  #challenge .bl-txt{
    max-width: 640px;
    margin: 0 auto 40px 4vw;
  }
}
/* ---------------------------------------------------------------------------------------- */
@media screen and (max-width: 1000px){
  #fv{
    margin-top: 80px;
    margin-bottom: 140px;
  }
  .catch{
    font-size: 1.9rem;
    text-align: left;
    width: 90vw;
    margin: 0 auto;
  }
  #anchor a{
    width: 70vw;
    margin-bottom: 20px;
  }
  #anchor a img {
    height: 36px;
  }
  #tech{
    background: url(../img/ttl-tech-e.svg), url(../img/bg-tech.png), url(../img/bg-square.svg);
    background-position: calc(100% - 3vw) 47vw, left top, -1vw 12vw;
    background-repeat: no-repeat;
    background-size: 94vw auto, 105vw auto, auto 54vw;
    padding-top: 56vw;
    margin-top: 50px;
  }
  #tech p:nth-child(1), #human p:nth-child(1),
  #tech p:nth-child(2), #human p:nth-child(2),
  #tech p:nth-child(3), #human p:nth-child(3),
  #tech p:nth-child(4), #human p:nth-child(4),
  #tech p:nth-child(5), #human p:nth-child(5),
  #tech p:nth-child(6), #human p:nth-child(6){ margin-left: auto }
  
  #tech .bl-txt,
  #challenge .bl-txt,
  #human .bl-txt{
    margin: 0 auto;
    max-width: 100%;
    padding: 20px 5vw;
  }
  #tech h2,
  #challenge h2,
  #human h2{
    text-align: left;
  }

  #challenge{
    background: url(../img/ttl-challenge-e.svg), url(../img/bg-challenge.png), url(../img/bg-square.svg);
    background-position: 3vw 9vw, right 4vw, right top;
    background-repeat: no-repeat;
    background-size: auto 80px, 105vw auto, auto 54vw;
    padding-top: 59vw;
    margin-top: 50px;
  }
  #challenge br{
    display: none;
  }
  #access section{
    width: 92vw;
  }
  #access img{
    width: calc(92vw - 30px);
  }

  #human{
    background: url(../img/ttl-human-e.svg), url(../img/bg-human.png), url(../img/bg-square.svg);
    background-position: calc(100% - 3vw) 47vw, left top, -1vw 12vw;
    background-repeat: no-repeat;
    background-size: auto 80px, 105vw auto, auto 54vw;
    padding-top: 56vw;
    margin-top: 50px;
  }

}
/* ---------------------------------------------------------------------------------------- */
@media screen and (max-width: 700px){

  #tech{
    background: url(../img/ttl-tech-e.svg), url(../img/bg-tech.png), url(../img/bg-square.svg);
    background-position: calc(100% - 3vw) 47vw, left top, -1vw 12vw;
    background-repeat: no-repeat;
    background-size: 94vw auto, 105vw auto, auto 54vw;
  }

  #challenge{
    background: url(../img/ttl-challenge-e.svg), url(../img/bg-challenge.png), url(../img/bg-square.svg);
    background-position: 3vw 9vw, right 4vw, right top;
    background-repeat: no-repeat;
    background-size: auto 60px, 105vw auto, auto 54vw;
  }
  #tech .last-p{
    padding-bottom: 0;
  }
  #human .last-p{
    padding-bottom: 0;
  }
  #human{
    background: url(../img/ttl-human-e.svg), url(../img/bg-human.png), url(../img/bg-square.svg);
    background-position: calc(100% - 3vw) 47vw, left top, -1vw 12vw;
    background-repeat: no-repeat;
    background-size: auto 60px, 105vw auto, auto 54vw;
  }
  #tech p,
  #challenge p,
  #human p {
    font-size: 1.8rem;
    line-height: 3.2rem;
  }
}