@charset "UTF-8";

.l-headerLogo{
  opacity: 0;
  pointer-events: none;
}
.l-headerLogo.w{
  opacity: 1;
  pointer-events: inherit;
}
.l-headerLogo::after{
  color: #fff;
}

.mv{
  position: relative;
}
.mv .tit{
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
  font-size: clamp(1rem, 1.4vw, 1.7rem);
  color: #fff;
  z-index: 1;
}
.mv .tit strong{
  display: block;
  font-size: clamp(2.8rem, 6vw, 8rem);
  line-height: 1;
  margin: 0 auto 15px;
}
.mv .img span.left{
  right: inherit;
  left: 5px;
}
@media(max-width: 768px) {
  .mv .tit strong{
    margin: 0 auto 5px;
  }
}

#main{
  background-color: #aacdd4;
}

.content_area .head{
  padding: 130px 0;
  color: #357f8b;
}
.content_area .head .midashi{
  font-size: clamp(2rem, 2.8vw, 3.4rem);
  line-height: 1.4;
  margin: 0 0 50px;
  text-align: center;
}
.content_area .head .midashi strong{
  display: block;
  font-size: clamp(4rem, 8vw, 10rem);
}
.content_area .head .txt{
  font-size: clamp(1.4rem, 1.6vw, 1.7rem);
  line-height: 1.8;
  text-align: center;
}
@media(max-width: 768px) {
  .content_area .head{
    padding: 40px 0 30px;
  }
  .content_area .head .midashi{
    margin: 0 0 20px;
  }
  .content_area .head .txt{
    text-align: left;
    width: 90%;
    margin: 0 auto;
  }
}
.content_area .route{
  max-width: 1120px;
  width: 90%;
  margin: 0 auto;
  padding: 130px 0;
}
.content_area .route .midashi{
  max-width: 1000px;
  width: 96%;
  margin: 0 auto 50px;
}
.content_area .route .map{
  max-width: 864px;
  width: 100%;
  margin: 0 auto 70px;
}
.content_area .route .time{
  width: 100%;
  margin: 0 auto;
}
@media(max-width: 768px) {
  .content_area .route{
    padding: 40px 0;
  }
  .content_area .route .midashi{
    width: 100%;
    margin: 0 auto 20px;
  }
  .content_area .route .map{
    margin: 0 auto 30px;
  }
}

.other {
  padding: 110px 0;
}
.air{
  background-color: #c3dce1;
}
.other .inner-flex{
  max-width: 1120px;
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}
.city .inner-flex{
  flex-flow: row-reverse;
}
.other .inner-flex .txt-box{
  width: 45%;
}
.other .inner-flex .txt-box .midashi{
  font-size: clamp(1.8rem, 2.4vw, 2.8rem);
  line-height: 1.4;
  margin: 0 0 30px;
}
.other .inner-flex .txt-box .txt{
  font-size: clamp(1.3rem, 1.4vw, 1.5rem);
  line-height: 1.8;
}
.other .inner-flex .txt-box .txt sup{
  font-size: 1rem;
  vertical-align: top;
}
.other .inner-flex .txt-box .txt span{
  display: block;
  font-size: 1rem;
  margin-top: 5px;
}
.other .inner-flex .txt-box .time{
  width: 100%;
  margin-top: 35px;
}
.other .inner-flex .img{
  width: 52%;
}
.other .img-list{
  max-width: 1120px;
  width: 90%;
  margin: 70px auto 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}
.other .img-list li{
  width: calc(100% / 3 - 20px);
}
.other .img-list li span{
  display: block;
  font-size: 1rem;
  margin-top: 5px;
}
@media(max-width: 768px) {
  .other {
    padding: 40px 0;
  }
  .other .inner-flex{
    display: block;
  }
  .other .inner-flex .txt-box{
    width: 100%;
    margin: 0 0 20px;
  }
  .other .inner-flex .txt-box .midashi{
    margin: 0 0 20px;
  }
  .other .inner-flex .txt-box .time{
    margin-top: 20px;
  }
  .other .inner-flex .img{
    width: 100%;
  }
  .other .img-list{
    width: 80%;
    margin: 30px auto 0;
    display: block;
  }
  .other .img-list li{
    width: 100%;
    margin-bottom: 20px;
  }
}