@charset "utf-8";

/* #cont1 */
#cont1{
}
#cont1 .inner{
  max-width:1080px;
  margin-top:30px;
}
#cont1 .inner h3 img{
  max-width:820px;
  width:100%;
}
#cont1 .inner .point{
  margin-top:120px;
  padding-left:2em;
  font-size:46px;
  font-weight:bold;
  text-align:left;
  letter-spacing:0.1em;
  position:relative;
  z-index:1;
}
#cont1 .inner .point img{
  width:380px;
  position:absolute;
  left:50%;
  bottom:0;
  z-index:-1;
  transform:translate(42%,10%);
}
#cont1 .inner .point img.fixed{
  position:fixed;
  right:auto;
  left:50%;
  bottom:50%;
  transform:translate(42%,50%);
}
#cont1 .inner .point figcaption span{
  display:block;
}
#cont1 .inner .detail{
  margin-top:60px;
  text-align:left;
  letter-spacing:0.1em;
  position:relative;
  z-index:2;
}

@media screen and (max-width:1140px){
  #cont1 .inner .point{
    font-size:4.6vw;
  }
  #cont1 .inner .point img{
    width:37vw;
    position:absolute;
    left:50%;
    bottom:0;
    z-index:-1;
    transform:translate(25%,10%);
  }
  #cont1 .inner .point img.fixed{
    position:fixed;
    right:auto;
    left:50%;
    bottom:50%;
    bottom:50%;
    transform:translate(25%,50%);
  }
}

@media screen and (max-width:768px){
  #cont1 .inner{
    width:78%;
    margin-top:12%;
  }
  #cont1 .inner h3{
    transform-origin:left center;
    transform:scale(1.1);
  }
  #cont1 .inner .point{
    margin-top:15%;
    padding:0 0 55%;
    font-size:6vw;
  }
  #cont1 .inner .point img{
    width:76%;
    position:absolute;
    left:auto;
    right:3%;
    bottom:0;
    z-index:-1;
    transform:none;
  }
  #cont1 .inner .point figcaption{
    line-height:2.2;
  }
  #cont1 .inner .detail{
    margin-top:9%;
  }
}


/* #cont2 */
#cont2{
  position:relative;
  z-index:1;
}
#cont2 dl{
  max-width:1080px;
  text-align:left;
}
#cont2 dl dt{
  margin-top:70px;
  padding-left:0.8em;
  text-indent:-0.8em;
  font-size:40px;
  letter-spacing:0.1em;
}
#cont2 dl dd{
  margin-top:1em;
  font-size:24px;
  letter-spacing:0.05em;
}

@media screen and (max-width:768px){
  #cont2 dl{
    max-width:78%;
  }
  #cont2 dl dt{
    margin-top:18%;
    font-size:5.8vw;
    white-space:nowrap;
  }
  #cont2 dl dd{
    font-size:4vw;
  }
}


/* #cont3 */
#cont3{
  padding-bottom:0;
}
#cont3 .cont_wrapper{
  margin-top:50px;
  padding:280px 0 90px;
  background:url(../images/vision/cont3_bg.webp)no-repeat center top;
  background-size:cover;
}
#cont3 .cont_wrapper .inner{
  max-width:1080px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  text-align:left;
  color:#fff;
  text-shadow:0 0 3px rgba(0,0,0,0.8);
}
#cont3 .cont_wrapper .inner .name{
  margin-top:2em;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
#cont3 .cont_wrapper .inner .name span{
  font-size:20px;
  margin-left:1em;
}
#cont3 .cont_wrapper .inner .tit_wrapper{
  width:400px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-direction: column;
  flex-direction: column;
}
#cont3 .cont_wrapper .inner .tit_wrapper h3{
  margin-top:1em;
  font-size:32px;
}

#cont3 .cont_wrapper .inner .detail_wrapper{
  width:400px;
}
#cont3 .cont_wrapper .inner .detail_wrapper p{
  text-align:justify;
}

@media screen and (max-width:1024px){
  #cont3 .cont_wrapper .inner .tit_wrapper{
    width:40%;
  }
  #cont3 .cont_wrapper .inner .tit_wrapper h3{
    margin-top:1em;
    font-size:3.2vw;
  }

  #cont3 .cont_wrapper .inner .detail_wrapper{
    width:40%;
  }
}

@media screen and (max-width:768px){
  #cont3 .cont_wrapper{
    margin-top:5%;
    padding:32% 0 15%;
    background:url(../images/vision/cont3_bg_s.webp)no-repeat center center;
    background-size:cover;
  }
  #cont3 .cont_wrapper .inner{
    width:80%;
    display: block;
  }
  #cont3 .cont_wrapper .inner .name span{
    font-size:3.8vw;
  }
  #cont3 .cont_wrapper .inner .tit_wrapper{
    width:auto;
    display: block;
  }
  #cont3 .cont_wrapper .inner .tit_wrapper h3{
    margin-top:0;
    font-size:4.8vw;
  }

  #cont3 .cont_wrapper .inner .detail_wrapper{
    width:auto;
    margin-top:9%;
  }
  #cont3 .cont_wrapper .inner .detail_wrapper p{
    font-size:3.4vw;
  }
}

