@charset "utf-8";

body{
  overflow-x: hidden;
}

.mv{
  max-width: 1290px;
  width: 90%;
  margin: 0 auto 50px;
  padding-top: 70px;
}
.mv .tit{
  max-width: 800px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 767px) {
  .mv{
    margin: 0 auto 30px;
    padding-top: 30px;
  }
  .mv .tit{
    max-width: 800px;
    margin: 0 auto 10px;
  }
}

.intro{
  text-align: center;
  width: 90%;
  margin: 0 auto 70px;
}
.intro .txt1{
  font-size: clamp(18px, 3vw, 40px);
  line-height: 1.6;
  margin: 0 0 20px;
}
.intro .txt2{
  font-size: clamp(11px, 1.6vw, 22px);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .intro{
    margin: 0 auto 30px;
  }
  .intro .txt1{
    margin: 0 0 10px;
  }
}

.route{
  max-width: 980px;
  width: 90%;
  margin: 70px auto 0;
  position: relative;
}
.route .ill{
  display: block;
  position: absolute;
  bottom: 0;
  right: -15%;
  width: 25%;
  transform: translateY(60%);
  mix-blend-mode: multiply;
}
.route .img{
  position: absolute;
  right: -5%;
  top: -11%;
  width: 23.6%;
  font-weight: normal;
  display: block;
}
.route .img span{
  right: inherit;
  left: 5px;
}
.captionArea__txt{
  padding-right: 7%;
}
@media screen and (max-width: 1300px) {
  .route{
  }
  .route .ill{
    right: -5%;
    width: 20%;
  transform: translateY(70%);
  }
  .captionArea__txt{
    padding-right: 15%;
  }
}
@media screen and (max-width: 1070px) {
  .captionArea__txt{
    padding-right: 20%;
  }
}
@media screen and (max-width: 767px) {
  .route .img{
    position: relative;
    right: inherit;
    top: inherit;
    width: 100%;
    margin-top: 20px;
  }
  .route .ill {
    right: -2%;
    width: 40%;
    transform: none;
    bottom: 27%;
  }
  .captionArea__txt{
    padding-right: 0;
  }
}