@charset "UTF-8";

.cap-under {
  min-height: 21px;
}

.container--section {
  padding : 0;
  position : relative;
}

.mv img {
  width: 100%;
  opacity : 0;
  transition : 1s;
}

.mv.on img {
  opacity : 1;
}

.mv-ttl {
  position: absolute;
  top: 5vw;
  right: 5%;
  font-size: 34px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.17em;
  color : #000;
}

.mv-cap {
  position: absolute;
  left : 10px;
  bottom : 5px;
  color : #fff;
  font-size : 11px;
}

@media screen and (max-width: 767px) {
  .mv-cap {
    position : static;
    color : #000;
    padding : 5px;
    line-height : 1.4;
  }
}

.intro__img {
  position : relative;
}

.intro__img h1 {
  width : 100%;
  position : absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

h1 .intro-img {
  width: 369px;
  max-width : 80%;
  display : block;
  margin : 0 auto;
}
.intro__inner h2 {
  margin: 30px 0 0;
  font-size: 28px;
  font-weight: 300;
}
.under__note {
  padding: 5px 0 0 10px;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .mv-ttl {
    right: 2%;
    font-size: 21px;
    line-height: 1.6;
    letter-spacing: 0;
  }
  h1 .intro-img {
    width: 172px;
  }
}

.sec-row {
  display : flex;
  justify-content : space-between;
  flex-wrap : wrap;
}

.intro__cap {
  right : calc(445 / 1300 * 100%);
}

@media screen and (max-width: 767px) {
  .intro__cap {
    right : calc(460 / 750 * 100%);
  }
}

.sec-ttls {
  width: 900px;
  max-width : calc(100% - 40px);
  margin: 60px auto 0;
  text-align : center;
}

.sec-en-ttl {
  margin-bottom : 50px;
}

.sec-en-ttl img {
  width : auto;
  height : 15px;
  display : block;
  margin : 0 auto;
}

.sec-ttl {
  font-weight : normal;
  font-size : 26px;
  margin-bottom : 25px;
}

.sec-txt {
  text-align : left;
}

.sec-ttl span {
  display : block;
  font-size : 14px;
}

@media screen and (max-width: 767px) {
  .sec-en-ttl {
    margin-bottom : 30px;
  }
  .sec-ttl {
    font-size : 20px;
  }
  .sec-txt {
    font-size : 14px;
  }
}

.bg-color {
  background : #f1f8fc;
  padding: 0 0 100px;
}


@media screen and (max-width: 767px) {
  .bg-color {
    padding-bottom : 30px;
  }
}


#sec3 {
  padding-top : 0;
}

#sec3 .sec-ttls {
  margin-top : 0;
  padding-top : 60px;
}

@media screen and (max-width: 767px) {
  #sec3 {
    padding-top : 0px;
  }
}

.train__map {
  margin-top : 60px;
}

.train__map-img {
  display : block;
  width : 1110px;
  max-width : calc(100% - 30px);
  margin : 0 auto;
}

.train__map-info {
  display : block;
  width : 870px;
  max-width : calc(100% - 30px);
  margin : 80px auto 80px;
}

@media screen and (max-width: 767px) {
  .train__map-info {
    width : 280px;
    margin : 40px auto;
  }
}

.train__info {
  display : flex;
  flex-wrap : wrap;
}

.train__info li {
  position : relative;
}

.train__info li .cap {
  font-size : 10px;
}

.train__info li.col1 {
  width : 100%;
}

.train__info li.col3 {
  width : calc(100% / 3);
}

.train__info li.col2 {
  width : calc(100% / 2);
}

@media screen and (max-width: 767px) {
  .train__info li.col3,
  .train__info li.col2 {
    width : 100%;
  }
}

.train__info li .train__info-txt {
  width : auto;
  position : absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  height : 100%;
  max-height : 320px;
}

.train__info li.col1 .train__info-txt {
  height : 80%;
  max-height: 270px;
  width: auto;
}

.train__info li.col3 .train__info-txt {
  height : 100%;
  max-height: 270px;
}

.shin__note {
  font-size : 12px;
  margin-top : 10px;
}

.shin__row li.col2 .train__info-txt {
  height: 62%;
  top: 62%;
  max-height: 230px;
  min-height: 190px;
  padding : 20px;
}

.shin__row li.col2 .train__info-txt img {
  display : block;
  height : 100%;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
  .shin__row {
    padding-top : 40px;
  }
}

@media screen and (max-width: 767px) {
  .train__info li.col1 .train__info-txt,
  .train__info li.col3 .train__info-txt,
  .shin__row li.col2 .train__info-txt {
    height: 80%;
    top : 50%;
  }
  .train__info li.col3 .train__info-txt {
    height: 100%;
  }
  .train__info li.info-chubu .train__info-txt {
    height: 85%;
  }
}

.train__shin {
  background : #000;
  color : #fff;
  padding: 40px 0 0;
}

.shin__row {
  margin-top : 40px;
  position : relative;
}

.shin__row h4 {
  display : inline-block;
  background : #000;
  position : absolute;
  top : 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  z-index : 2;
  padding : 0px 20px 10px;
  font-size : 24px;
  text-align :center;
}

.shin__row h4 span {
  display : block;
  font-size : 12px;
}



@media screen and (max-width: 767px) {
  .train__shin .sec-ttls {
    margin-top : 0;
  }
  .shin__row {
    border-top : solid 1px #fff;
    padding : 10px 0 0;
  }
  .shin__row h4 {
    position : static;
    transform: translateX(0);
    -webkit- transform: translateX(0);
    text-align : center;
    display : block;
    width : 100%;
    font-weight : 600;
    font-size : 20px;
  }
}

.linear {
  margin-top: 20px;
  padding-top: 40px;
  background : url(../img/access/linear-bg_pc.jpg) no-repeat;
  background-size : 1400px;
  background-position: center bottom;
  padding-bottom : 20px;
  position : relative;
}

.linear h4 {
  font-size : 24px;
  text-align : center;
}

@media screen and (max-width: 767px) {
  .linear {
    background : url(../img/access/linear-bg_sp.jpg) no-repeat;
    background-size :100%;
    background-position : center top;
    padding-top : 40px;
    margin-top : 0;
  }
  .linear h4 {
    font-weight : 600;
    font-size : 20px;
    border-top : solid 1px #fff;
    margin : 0 15px;
    padding-top : 10px;
  }
}

.linear .train__info {
  width : 870px;
  max-width : calc(100% - 30px);
  margin : 20px auto 20px;
  justify-content : space-between;
}

.linear .train__info li {
  width : calc((100% - 40px) / 2);
  background : rgba(255,255,255,.8);
  padding : 40px;
  -webkit-border-radius: 5px;
border-radius: 5px;
}

.linear .train__info li img {
  position : static;
  transform: translate(0);
  -webkit- transform: translate(0);
  display : block;
  margin : 0 auto;
}

.linear .train__info li .train__info-txt {
  height: 120px;
}

.linear__note {
  padding : 0 20px;
  text-align : center;
  font-size : 12px;
  margin-bottom : 30px;
}

@media screen and (max-width: 767px) {
  .linear .train__info {
    margin-top : 35vw;
    justify-content : center;
    margin-bottom : 0;
  }
  .linear .train__info li {
    width : 70%;
    margin-bottom : 10px;
    padding : 20px;
  }
  .linear .train__info li .train__info-txt {
    height : 90px;
  }
}

#sec4,
#sec5 {
  display : block;
  width : 900px;
  max-width : calc(100% - 30px);
  margin : 150px auto 0;
}

#sec4 .sec-ttl {
  text-align : center;
  margin : 60px 0;
}

#sec5 .sec-ttl {
  text-align : center;
  margin : 60px 0 30px;
}

@media screen and (max-width: 767px) {
  #sec4,
  #sec5 {
    margin-top : 60px;
  }
  #sec4 .sec-ttl,
  #sec5 .sec-ttl{
    margin : 30px 0 30px;
  }
}

#sec5 .sec-txt {
  width : 720px;
  max-width : 100%;
  margin-left : auto;
  margin-right : auto;
}

.bus__terminal {
  margin-top : 50px;
  border-top : solid 1px #000;
  border-bottom : solid 1px #000;
  padding : 30px 0;
  text-align : center;
}

.bus__terminal-ttl {
  font-size : 22px;
  font-weight : 300;
  margin-bottom : 10px;
}

.bus__terminal-row {
  display : flex;
  justify-content : space-between;
  flex-wrap : wrap;
}

.bus__terminal-img {
  width : calc(322 / 900 * 100%);
}

.bus__terminal-img img {
  display : block;
}

.bus__terminal-item {
  width : calc(274 / 900 * 100%);
  background : #fff;
  display : flex;
  flex-direction : column;
  justify-content : center;
  padding : 20px;
  color : #247C9A;
  
}

@media screen and (max-width: 767px) {
  .bus__terminal {
    margin-top : 40px;
  }
  .bus__terminal-ttl {
    font-size : 20px;
  }
  .bus__terminal-img,
  .bus__terminal-item {
    width : 100%;
    margin-bottom : 10px;
  }  
}

.bus__terminal-txt1 {
  font-size : 21px;
  line-height : 1.4;
  margin-bottom : 10px;
  font-family: 'Roboto', 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight : 400;
}

.bus__terminal-txt2 {
  font-size : 15px;
  text-align : left;
}

@media screen and (max-width: 767px) {
  .bus__terminal-txt2 {
    text-align  :center;
  }
}

.car__map {
  display : block;
  width : 720px;
  max-width : calc(100% - 30px);
  margin : 80px auto 0;
}

.car__map .cap {
  color : #000;
  bottom : 0;
  margin-bottom : 0;
  line-height : 1;
}

@media screen and (max-width: 767px) {
  .car__map {
    margin-top : 40px;
    padding-bottom : 20px;
  }
}

.car__info {
  display : block;
  width: 894px;
  max-width: 100%;
  margin : 40px auto 0;
}

.car__row {
  display : flex;
  justify-content : space-between;
  flex-wrap : wrap;
  margin : 80px 0 0;
}

.car__row li {
  width : calc((100% - 60px) / 4);
}

.car__row-txt {
  display : block;
  width : auto;
  height: 130px;
  margin : 20px auto 0;
}

@media screen and (max-width: 767px) {
  .car__row {
    margin-top : 60px;
  }
  .car__row li {
    width : calc((100% - 20px) / 2);
    margin-bottom : 30px;
  }
}