@charset "UTF-8";
#container {
  /* ========================================================================================= ^^
    Index
  ============================================================================================ ^^ */
  /* 内容 */
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
}
/*---------------------------
共通
---------------------------*/
.main {
  margin-top: -80px;
}

@media only screen and (max-width: 767px) {
  .main {
    margin-top: -60px;
  }
}
.section--detail {
  width: 100%;
  padding-top: 80px;
  background: url(../images/map/hero_bgi01.jpg) no-repeat 50% 0%/contain;
}

.section__inner {
  padding-top: 50px !important;
}

.section__block--tit {
  margin-bottom: 3em;
}

.section__heading {
  font-family: "Cormorant Garamond", serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  color: #FFF;
}

.section__block--img {
  width: 100%;
  margin-bottom: 5em;
}

.section__block--img .map01 {
  width: 100%;
  margin: 0 auto 4em;
}

.section__block--img .map02 {
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
}

.section__picture p {
  font-size: 12px;
  text-align: right;
}

.btn {
  width: 100%;
  text-align: center;
}

.btn a {
  display: inline-block;
  width: 90%;
  max-width: 350px;
  margin: auto;
  background: #4D4D4D;
  font-size: 18px;
  line-height: 1;
  text-align: center;
  color: #FFF;
  padding: 1em;
}

@media screen and (max-width: 767px) {
  .section__inner {
    padding-top: 4em !important;
  }
  .section__block--img {
    width: 100%;
    margin-bottom: 2em;
  }
  .section__block--img .map01 {
    margin: 0 auto 1.5em;
  }
}
/* ルート動画 */
/*---------------------*/
.route_movie {
  width: 100%;
  margin: 8em auto;
}

.route_movie .ttl {
  font-size: 16px;
  margin: 0 auto 2em;
  text-align: center;
  letter-spacing: 0.1em;
}

.route_movie .ttl b {
  font-size: 42px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 0.1em;
  display: block;
}

.route_movie ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.route_movie ul li {
  width: 48.5%;
}

.route_movie ul li .txt {
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .route_movie {
    margin: 4em auto;
  }
  .route_movie .ttl {
    /*font-size: 16px;*/
    font-size: 3.129vw;
    margin: 0 auto 1.2em;
  }
  .route_movie .ttl b {
    /*font-size: 42px;*/
    font-size: 6.518vw;
    margin-bottom: 0;
  }
  /**/
  .route_movie ul {
    display: block;
  }
  .route_movie ul li {
    width: 100%;
  }
  .route_movie ul li:first-child {
    margin-bottom: 1em;
  }
  .route_movie ul li .txt {
    /*font-size: 16px;*/
    font-size: 3.129vw;
  }
}
/*  */
/*---------------------*/
/* .con_03 */
.section--01 .con_03 {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 7em;
  z-index: 2;
}

.section--01 .con_03 img {
  width: 100%;
}

.section--01 .con_03 .ttlArea {
  width: 100%;
  margin: 0 auto;
  border-top: 1px solid #000;
  padding: 3em 0;
}

.section--01 .con_03 .ttlArea p {
  text-align: left;
  font-family: YakuHanMP, "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.2em;
}

.section--01 .con_03 .ttlArea p.ttl {
  font-size: 22px;
}

.section--01 .con_03 .ttlArea p.ttl > span {
  font-size: 14px;
}

.section--01 .con_03 .ttlArea p.txt {
  font-size: 14px;
  line-height: 2;
  padding-top: 1em;
}

.section--01 .con_03 > ul {
  width: 80%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2em 0;
}

.section--01 .con_03 > ul > li {
  width: calc((100% - 6em) / 3);
  position: relative;
}

.section--01 .con_03 > ul > li .txtArea > p {
  font-family: YakuHanMP, "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  text-align: left;
  letter-spacing: 0.1em;
  line-height: 1.6;
  font-size: 13px;
  padding-top: 0.5em;
}

.section--01 .con_03 > ul > li:not(:nth-child(3)):not(:last-child)::after {
  content: "";
  position: absolute;
  right: -27px;
  top: 42%;
  transform: translateY(-50%);
  width: 15px;
  height: 17px;
  background: url("../images/access/sec01_arrow.svg") no-repeat center/contain;
}

.section--01 .con_03 > ul > li:nth-child(4)::before {
  content: "";
  position: absolute;
  left: -27px;
  top: 42%;
  transform: translateY(-50%);
  width: 15px;
  height: 17px;
  background: url("../images/access/sec01_arrow.svg") no-repeat center/contain;
}

@media screen and (max-width: 1100px) {
  /* .con_03 */
  .section--01 .con_03 .ttlArea p.ttl {
    font-size: 2vw;
  }
  .section--01 .con_03 .ttlArea p.ttl > span {
    font-size: 1.273vw;
  }
  .section--01 .con_03 .ttlArea p.txt {
    font-size: 1.273vw;
  }
  .section--01 .con_03 > ul > li .txtArea > p {
    font-size: 1.182vw;
  }
  .section--01 .con_03 > ul > li:not(:nth-child(3)):not(:last-child)::after {
    right: -2.455vw;
    width: 1.364vw;
    height: 1.545vw;
  }
  .section--01 .con_03 > ul > li:nth-child(4)::before {
    left: -2.455vw;
    width: 1.364vw;
    height: 1.545vw;
  }
}
@media screen and (max-width: 767px) {
  /* .con_03 */
  .section--01 .con_03 {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 4em;
  }
  .section--01 .con_03 .ttlArea {
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid #000;
    padding: 3em 0;
  }
  .section--01 .con_03 .ttlArea p {
    text-align: left;
  }
  .section--01 .con_03 .ttlArea p.ttl {
    font-size: 4.172vw;
  }
  .section--01 .con_03 .ttlArea p.ttl > span {
    font-size: 3.129vw;
  }
  .section--01 .con_03 .ttlArea p.txt {
    font-size: 3.129vw;
    padding-top: 1em;
  }
  .section--01 .con_03 > ul {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1em 0;
  }
  .section--01 .con_03 > ul > li {
    width: calc((100% - 2em) / 2);
    position: relative;
  }
  .section--01 .con_03 > ul > li .txtArea > p {
    text-align: left;
    font-size: 2.999vw;
    padding-top: 0.5em;
  }
  .section--01 .con_03 > ul > li:not(:nth-child(3)):not(:last-child)::after {
    content: none;
  }
  .section--01 .con_03 > ul > li:nth-child(4)::before {
    content: none;
  }
  .section--01 .con_03 > ul > li:nth-child(odd):not(:last-child)::after {
    content: "";
    position: absolute;
    right: -4.7vw;
    top: 42%;
    transform: translateY(-50%);
    width: 3.259vw;
    height: 3.52vw;
    background: url("../images/access/sec01_arrow.svg") no-repeat center/contain;
  }
}