@charset "UTF-8";
/*
 * access
 */
/* ==========================================================================
交通アクセストップ
 ========================================================================== */
@media screen and (max-width: 767px) {
  .main-ttl-wrap {
    padding-bottom: 0;
  }
  .main-ttl-wrap .illust img {
    width: 30%;
  }
}

@media screen and (min-width: 768px), print {
  .sec-area {
    margin-top: 70px;
  }
}

@media screen and (max-width: 767px) {
  .sec-area {
    margin-top: 50px;
  }
}

.sec-area h2 {
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .sec-area h2 {
    margin-bottom: 20px !important;
    font-size: 36px;
    font-size: 3.6rem;
  }
}

@media screen and (max-width: 767px) {
  .sec-area h2 {
    margin-bottom: 20px !important;
    text-align: center;
    font-size: 22px;
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 768px), print {
  .sec-area .drawing-box {
    margin: 40px 0 50px;
  }
}

@media screen and (max-width: 767px) {
  .sec-area .drawing-box {
    margin-bottom: 20px;
  }
}

.sec-area .drawing-box img {
  width: 100%;
}

.location-area {
  margin-left: 20px;
  margin-right: 20px;
  background-color: #f2f2f2;
  border-radius: 0 0 5px 5px;
}

@media screen and (min-width: 768px), print {
  .location-area {
    margin-top: -65px;
    padding-top: 100px;
    padding-bottom: 70px;
  }
}

@media screen and (max-width: 767px) {
  .location-area {
    margin-top: -70px;
    padding-bottom: 50px;
  }
}

@media screen and (min-width: 768px), print {
  .location-area .box-center {
    padding-right: 80px !important;
    padding-left: 80px !important;
  }
}

@media screen and (min-width: 768px), print {
  .location-area .map-box {
    margin-top: 40px;
    padding: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .location-area .map-box {
    display: none;
    padding: 0;
  }
}

.location-area .box-img-l .box-text .box-ttl {
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .location-area .box-img-l .box-text .box-ttl {
    font-size: 20px;
    font-size: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .location-area .box-img-l .box-text .box-ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.location-area .box-img-l .box-text .box-address {
  margin-top: 15px;
}

@media screen and (min-width: 768px), print {
  .location-area .box-img-l .box-text .box-address {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .location-area .box-img-l .box-text .box-address {
    color: #777;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px), print {
  .location-area .box-img-l .box-text dd {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .location-area .box-img-l .box-text dd {
    font-size: 12px;
    font-size: 1.2rem;
    color: #777;
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px), print {
  .location-area .box-img-l .btn-wrap {
    width: 250px;
  }
}

@media screen and (max-width: 767px) {
  .location-area .box-img-l .btn-wrap {
    margin-top: 20px;
    width: 100%;
  }
}

@media screen and (min-width: 768px), print {
  .sec-train .route-box {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .sec-train .route-box {
    margin-top: 20px;
  }
}

.sec-train .route-box .route-list {
  display: flex;
}

@media screen and (max-width: 767px) {
  .sec-train .route-box .route-list {
    flex-wrap: wrap;
  }
}

@media screen and (min-width: 768px), print {
  .sec-train .route-box .route-list li {
    width: 24.1379310345%;
    margin-right: 2.5862068966%;
  }
}

@media screen and (max-width: 767px) {
  .sec-train .route-box .route-list li {
    padding-top: 5px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ececec;
    margin-bottom: 15px;
    width: 100%;
  }
  .sec-train .route-box .route-list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

@media screen and (min-width: 768px), print {
  .sec-train .route-box .route-list li:nth-child(4n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 768px), print {
  .sec-train .route-box .route-list li:last-child {
    width: 19.8275862069%;
  }
}

.sec-train .route-box .route-list li .route-sub-ttl {
  color: #fd8900;
  font-size: 14px;
  font-size: 1.4rem;
}

.sec-train .route-box .route-list li .route-ttl {
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .sec-train .route-box .route-list li .route-ttl {
    font-size: 20px;
    font-size: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .sec-train .route-box .route-list li .route-ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 768px), print {
  .sec-train .route-box .route-list li .route-btn {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .sec-train .route-box .route-list li .route-btn {
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px), print {
  .sec-speed {
    background-color: #fbfbfb;
    padding: 70px 0;
  }
}

@media screen and (max-width: 767px) {
  .sec-speed {
    background-color: #fbfbfb;
    padding: 40px 0 50px;
  }
}

@media screen and (min-width: 768px), print {
  .sec-speed .btn-wrap {
    margin-top: 30px;
    width: 38.7931034483%;
    display: flex;
    margin-left: auto;
  }
}

@media screen and (max-width: 767px) {
  .sec-speed .btn-wrap {
    margin-top: 20px;
  }
}

@media screen and (min-width: 768px), print {
  .sec-bike .info-text-box p {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .sec-bike .info-text-box p {
    color: #777;
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.sec-bike .info-img-box .info-img-list {
  display: flex;
}

@media screen and (min-width: 768px), print {
  .sec-bike .info-img-box .info-img-list {
    margin-top: -80px;
    align-items: flex-end;
    flex-direction: row-reverse;
  }
}

@media screen and (max-width: 767px) {
  .sec-bike .info-img-box .info-img-list {
    flex-wrap: wrap;
    margin-top: 20px;
  }
}

.sec-bike .info-img-box .info-img-list li img {
  width: 100%;
}

@media screen and (min-width: 768px), print {
  .sec-bike .info-img-box .info-img-list li {
    margin-right: 2.5862068966%;
    width: 24.1379310345%;
  }
}

@media screen and (max-width: 767px) {
  .sec-bike .info-img-box .info-img-list li {
    width: 49%;
  }
  .sec-bike .info-img-box .info-img-list li:nth-child(odd) {
    margin-left: 2%;
  }
  .sec-bike .info-img-box .info-img-list li:nth-child(n+2) {
    margin-top: 15px;
  }
}

.sec-bike .info-img-box .info-img-list li:first-child {
  margin-right: 0;
}

.sec-bike .info-img-box .info-img-list li.img-full {
  width: 100%;
  margin-left: 0;
}

@media screen and (min-width: 768px), print {
  .sec-bike .info-img-box .info-img-list li.img-full {
    width: 46.5517241379%;
  }
}

@media screen and (min-width: 768px), print {
  .sec-useful {
    background-color: #fbfbfb;
    padding: 70px 0;
  }
}

@media screen and (max-width: 767px) {
  .sec-useful {
    background-color: #fbfbfb;
    padding: 40px 0 50px;
  }
}

.sec-useful .useful-box {
  padding-top: 25px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ececec;
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box {
    display: flex;
  }
}

.sec-useful .useful-box:first-child {
  padding-top: 0;
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box .useful-text {
    width: 50.8620689655%;
  }
}

@media screen and (max-width: 767px) {
  .sec-useful .useful-box .useful-text {
    width: 100%;
  }
}

.sec-useful .useful-box .useful-text dt {
  color: #fd8900;
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box .useful-text dt {
    margin-bottom: 15px;
    font-size: 20px;
    font-size: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .sec-useful .useful-box .useful-text dt {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box .useful-text dd {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .sec-useful .useful-box .useful-text dd {
    color: #777;
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: 5px;
  }
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box .useful-btn {
    margin-left: 2.5862068966%;
    width: 46.5517241379%;
  }
}

@media screen and (max-width: 767px) {
  .sec-useful .useful-box .useful-btn {
    width: 100%;
    margin-top: 10px;
  }
}

.sec-useful .useful-box .useful-btn .useful-list {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box .useful-btn .useful-list {
    justify-content: flex-end;
  }
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box .useful-btn .useful-list li {
    width: 83.3333333333%;
  }
  .sec-useful .useful-box .useful-btn .useful-list li:nth-child(n+2) {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  .sec-useful .useful-box .useful-btn .useful-list li {
    width: 100%;
    margin-bottom: 10px;
  }
  .sec-useful .useful-box .useful-btn .useful-list li:last-child {
    margin-bottom: 0;
  }
}

.sec-useful .useful-box .useful-btn .useful-list-falf {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box .useful-btn .useful-list-falf {
    justify-content: flex-end;
  }
}

@media screen and (min-width: 768px), print {
  .sec-useful .useful-box .useful-btn .useful-list-falf li {
    width: 40.7407407407%;
    margin-left: 1.8518518519%;
  }
}

@media screen and (max-width: 767px) {
  .sec-useful .useful-box .useful-btn .useful-list-falf li {
    width: 49%;
    margin-left: 2%;
  }
}

.sec-useful .useful-box .useful-btn .useful-list-falf li:nth-child(odd) {
  margin-left: 0;
}

.sec-useful .useful-box .useful-btn .useful-list-falf li:nth-child(n+3) {
  margin-top: 10px;
}

.sec-useful .sub-link {
  text-align: right;
  margin-top: 30px;
}

.sec-useful .sub-link a {
  display: block;
  text-decoration: none;
  padding-right: 25px;
}

@media screen and (max-width: 767px) {
  .sec-useful .sub-link a {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
