@charset "UTF-8";
/* ======================================================================== */
/* ACCESS
/* ======================================================================== */
#access_topInfo {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#access_topInfo .section_basic {
  position: relative;
  z-index: 1;
}
#access_topInfo .section_basic:before {
  content: "";
  position: absolute;
  top: 20%;
  left: 0;
  width: 100%;
  height: 80%;
  background: url("../img/common/bg.png") repeat;
  z-index: -1;
}
#access_topInfo #addressBox {
  text-align: left;
  max-width: 820px;
  width: 82%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #access_topInfo #addressBox {
    width: 100%;
  }
}
#access_topInfo #addressBox dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#access_topInfo table#addressTable th, #access_topInfo table#addressTable td {
  font-family: "hiragino", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "MS Ｐゴシック", sans-serif !important;
}

/* LOCATION MAP
/* ------------------------------------------------------------- */
#access_locationMap {
  width: 100%;
  height: auto;
  margin: 100px auto 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #access_locationMap {
    margin-top: 9%;
  }
}
#access_locationMap iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/7;
  max-height: 600px;
}
@media screen and (max-width: 768px) {
  #access_locationMap iframe {
    aspect-ratio: 10/7;
  }
}

/*  ROUTE INFO
/* ------------------------------------------------------------- */
#access_routeInfo {
  padding-top: 0;
}
#access_routeInfo .section_basic {
  max-width: 900px;
  width: 80%;
}
@media screen and (max-width: 768px) {
  #access_routeInfo .section_basic {
    width: 90%;
  }
}

/* ------------------------------------------------------------- */
.route_info_title {
  line-height: 160%;
  margin-bottom: 1.5rem;
  font-weight: 400;
  font-size: clamp(16px, 1rem + 0.2vw, 20px);
}
@media screen and (max-width: 768px) {
  .route_info_title {
    font-size: clamp(17px, 4.5vw, 20px);
  }
}
@media screen and (max-width: 480px) {
  .route_info_title {
    font-size: clamp(15px, 4.2vw, 17px);
  }
}
.route_info_title span {
  color: #5E7E2A;
}

/* ------------------------------------------------------------- */
.route_info_headline {
  text-align: center;
  font-weight: 600;
  line-height: 160%;
  font-size: clamp(26px, 2.2vw, 30px);
}
@media screen and (max-width: 768px) {
  .route_info_headline {
    font-size: clamp(22px, 5.5vw, 26px);
  }
}
@media screen and (max-width: 480px) {
  .route_info_headline {
    font-size: clamp(22px, 6vw, 24px);
  }
}
.route_info_headline {
  margin-bottom: 3rem;
  font-family: "KaiminTuStd", serif !important;
}
.route_info_headline p {
  line-height: 140%;
  font-family: "hiragino", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "MS Ｐゴシック", sans-serif !important;
  font-size: clamp(14px, 1rem + 0.2vw, 18px);
}
@media screen and (max-width: 768px) {
  .route_info_headline p {
    font-size: clamp(15px, 4vw, 18px);
  }
}
@media screen and (max-width: 480px) {
  .route_info_headline p {
    font-size: clamp(14px, 4.5vw, 15px);
  }
}
.route_info_headline p {
  font-weight: 400;
}

/* ------------------------------------------------------------- */
ul.route_flowlist {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  ul.route_flowlist {
    display: block;
  }
}
ul.route_flowlist li {
  width: 20%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2rem 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  ul.route_flowlist li {
    width: 100%;
    margin: 0 auto;
    display: block;
    padding: 0.8rem 0;
  }
}
ul.route_flowlist li.bus, ul.route_flowlist li.walk {
  border: 1px solid #5E7E2A;
  border-radius: 10px;
  padding-left: 1%;
  padding-right: 1%;
}
ul.route_flowlist li.bus {
  background: #5E7E2A;
  color: #fff;
}
ul.route_flowlist li.walk {
  color: #5E7E2A;
}
ul.route_flowlist li.line:before, ul.route_flowlist li.dot:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 3px;
}
@media screen and (max-width: 768px) {
  ul.route_flowlist li.line:before, ul.route_flowlist li.dot:before {
    left: 50%;
    top: 0;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 4px;
    height: 100%;
  }
}
ul.route_flowlist li.line:before {
  background: #5E7E2A;
}
ul.route_flowlist li.dot:before {
  border-bottom: 3px dotted #5E7E2A;
}
@media screen and (max-width: 768px) {
  ul.route_flowlist li.dot:before {
    left: calc(50% + 2px);
    border-left: 4px dotted #5E7E2A;
    border-bottom: 0;
  }
}
ul.route_flowlist li p {
  text-align: center;
  font-size: 18px;
}
@media screen and (min-width: 768.9px) {
  ul.route_flowlist li p {
    font-size: clamp(16px, 0.937vw, 18px);
  }
}
@media screen and (max-width: 1024px) {
  ul.route_flowlist li p {
    font-size: clamp(14px, 1.562vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  ul.route_flowlist li p {
    font-size: clamp(15px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  ul.route_flowlist li p {
    font-size: 3.33vw;
  }
}

/* ------------------------------------------------------------- */
.flow_notes {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .flow_notes {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.8rem;
  }
}
.flow_notes p {
  padding-top: 1.5rem;
  width: 100%;
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px) {
  .flow_notes p {
    padding: 0.8rem 0;
    width: 70%;
  }
}
.flow_notes p.three {
  padding-top: 0rem;
  margin-top: -1rem;
  padding-bottom: 1em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .flow_notes p.three {
    margin-top: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (max-width: 768px) {
  .flow_notes p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: calc((100% - 1.8rem) / 2);
  }
  .flow_notes p:first-child {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

/* 多言語対応 */
html:not([lang=ja]) .flow_notes p {
  font-size: clamp(10px, 0.8rem + 0.2vw, 14px);
}
@media screen and (max-width: 480px) {
  html:not([lang=ja]) .flow_notes p {
    font-size: clamp(11px, 3.8vw, 12px);
  }
}
html:not([lang=ja]) .flow_notes p {
  line-height: 140%;
}