#wrap {
  z-index: 0;
}
#wrap .link-line {
  display: inline-block;
  color: #e3d875;
  position: relative;
  letter-spacing: 1px;
}
#wrap .link-line::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background-color: #e3d875;
  position: absolute;
  bottom: 8px;
  left: 0;
}
#wrap .section {
  width: 100%;
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #wrap .section {
    padding: 0 16px 20px;
  }
}
#wrap .section .inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #wrap .section .inner {
    width: 100%;
    overflow-x: hidden;
  }
}
#wrap .section .inner > .title-wrap .title {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #wrap .section .inner > .title-wrap .title {
    font-size: 30px;
  }
}
#wrap .section .inner .arrow-wrap {
  display: flex;
  align-items: center;
}
#wrap .section .inner .arrow-wrap > .arrow {
  margin-right: 0.5em;
}
#wrap #main-wrap {
  display: flex;
  color: #fff;
  justify-content: center;
  flex-direction: column;
  padding-top: 180px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #wrap #main-wrap {
    flex-direction: column;
    padding-top: 110px;
    margin-bottom: 0;
  }
}
#wrap #main-wrap .inner .tel-wrap {
  display: flex;
  align-items: center;
}
#wrap #main-wrap .inner .tel-wrap > .txt {
  margin-right: 0.5em;
}
#wrap #main-wrap .inner .mail {
  display: flex;
}
#wrap #main-wrap .inner .mail > .txt {
  margin-right: 0.5em;
}
#wrap #main-wrap .inner > .title-wrap {
  margin-bottom: 55px;
}
@media screen and (max-width: 768px) {
  #wrap #main-wrap .inner > .title-wrap {
    margin-bottom: 32px;
  }
}
#wrap #main-wrap .inner .txt-wrap {
  font-size: 16px;
  line-height: 32px;
}
#wrap #main-wrap .inner .txt-wrap .img-box {
  display: block;
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  #wrap #main-wrap .inner .txt-wrap .img-box {
    margin-bottom: 16px;
  }
}
#wrap #main-wrap .inner .txt-wrap .img-box + .txt {
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  #wrap #main-wrap .inner .txt-wrap .img-box + .txt {
    margin-bottom: 2em;
  }
}
#wrap #main-wrap .inner .txt-wrap .title-wrap {
  margin-bottom: 45px;
}
#wrap #main-wrap .inner .txt-wrap .title-wrap .title {
  font-size: 28px;
}
@media screen and (max-width: 768px) {
  #wrap #main-wrap .inner .txt-wrap .title-wrap .title {
    font-size: 24px;
  }
}
#wrap #main-wrap .inner .txt-wrap .txt-box .caption {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #wrap #main-wrap .inner .txt-wrap .txt-box .caption {
    line-height: 1.5;
  }
}
#wrap #main-wrap .inner .txt-wrap .txt-box + .txt-box {
  margin-top: 30px;
}
#wrap #main-wrap .inner .txt-wrap .txt-box .txt {
  line-height: 32px;
  letter-spacing: 1px;
}
#wrap #guide-wrap {
  background-color: #242424;
  padding: 48px 0 0;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap {
    padding: 40px 0 0;
  }
}
#wrap #guide-wrap a::after {
  bottom: 4px;
}
#wrap #guide-wrap .btn-01 {
  margin: 30px 0;
  width: 240px;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .btn-01 {
    margin: 15px auto 0;
  }
}
#wrap #guide-wrap .inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner {
    flex-direction: column;
    padding: 0 16px;
  }
}
#wrap #guide-wrap .inner .contents-wrap .flex {
  display: flex;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .flex {
    display: block;
  }
}
#wrap #guide-wrap .inner .contents-wrap .flex .wrap {
  width: 46%;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .flex .wrap {
    width: 100%;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .wrap {
    min-height: auto;
    margin-bottom: 55px;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap.secondary {
  margin-bottom: 90px;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .wrap.secondary {
    margin-bottom: 50px;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap.secondary .txt {
  white-space: normal;
}
#wrap #guide-wrap .inner .contents-wrap .wrap.secondary .txt:last-of-type {
  margin-top: 1em;
}
#wrap #guide-wrap .inner .contents-wrap .wrap.pass {
  width: 284px;
  min-height: inherit;
  border: solid 1px #ccc;
  padding: 18px;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .wrap.pass {
    width: 100%;
    margin-bottom: 0;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap.pass .txt {
  font-size: 12px;
}
#wrap #guide-wrap .inner .contents-wrap .wrap.pass .arrow-wrap .arrow {
  margin-left: auto;
}
#wrap #guide-wrap .inner .contents-wrap .wrap .title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .wrap .title {
    font-size: 24px;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap > .txt {
  font-size: 16px;
  line-height: 32px;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
  letter-spacing: -0.4px;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .wrap > .txt {
    white-space: normal;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap > .txt.price {
  margin-bottom: 0.5em;
}
#wrap #guide-wrap .inner .contents-wrap .wrap .arrow-wrap .link-txt {
  font-size: 16px;
}
#wrap #guide-wrap .inner .contents-wrap .wrap .link-txt {
  font-size: 16px;
  color: #e3d875;
  position: relative;
}
#wrap #guide-wrap .inner .contents-wrap .wrap .link-txt.url {
  font-size: 18px;
}
#wrap #guide-wrap .inner .contents-wrap .wrap .link-txt::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background-color: #e3d875;
  position: absolute;
  bottom: 4px;
  left: 0;
}
#wrap #guide-wrap .inner .contents-wrap .wrap .schedule-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .wrap .schedule-wrap {
    display: block;
    margin-bottom: 20px;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap .schedule-wrap .schedule {
  width: 47%;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .wrap .schedule-wrap .schedule {
    width: 100%;
  }
  #wrap
    #guide-wrap
    .inner
    .contents-wrap
    .wrap
    .schedule-wrap
    .schedule:first-of-type {
    margin-bottom: 20px;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap .schedule-wrap .schedule .month {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #wrap
    #guide-wrap
    .inner
    .contents-wrap
    .wrap
    .schedule-wrap
    .schedule
    .month {
    font-size: 18px;
    margin-bottom: 10px;
  }
}
#wrap #guide-wrap .inner .contents-wrap .wrap .schedule-wrap .schedule .txt {
  font-size: 15px;
  line-height: 30px;
  letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
  #wrap #guide-wrap .inner .contents-wrap .wrap .schedule-wrap .schedule .txt {
    font-size: 14px;
  }
}
#wrap #container {
  width: 100%;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #wrap #container {
    margin-bottom: 0;
  }
}
#wrap #container .contact-wrap {
  width: 100%;
}
#wrap #container .contact-wrap .contact-inner {
  margin: 0 auto;
  max-width: 960px;
  padding-top: 55px;
}
@media screen and (max-width: 1024px) {
  #wrap #container .contact-wrap .contact-inner {
    width: 100%;
    padding-top: 50px;
  }
}
#wrap #container .contact-wrap .contact-inner h2 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner h2 {
    font-size: 24px;
    margin-left: 16px;
    margin-bottom: 8vw;
  }
}
#wrap #container .contact-wrap .contact-inner .inner {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner {
    flex-direction: column;
    padding: 0 4vw;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  #wrap #container .contact-wrap .contact-inner .inner .card {
    min-width: auto;
    min-height: initial;
  }
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner .card {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    margin: 0 auto;
    height: auto;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card > .txt {
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner .card > .txt {
    font-size: 20px;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card ul {
  letter-spacing: 1.2px;
}
#wrap #container .contact-wrap .contact-inner .inner .card ul li {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner .card ul li {
    margin-bottom: 1.1em;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card ul li .txt {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner .card ul li .txt {
    font-size: 16px;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card ul li.tel {
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner .card ul li.tel {
    margin-bottom: 0.8em;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card ul li.url {
  margin-top: -16px;
}
#wrap
  #container
  .contact-wrap
  .contact-inner
  .inner
  .card
  ul
  li.url
  .link
  > .txt {
  display: inline-block;
  color: #e3d875;
  font-size: 12px;
  letter-spacing: 0.5px;
  text-decoration-line: underline;
}
@media screen and (max-width: 768px) {
  #wrap
    #container
    .contact-wrap
    .contact-inner
    .inner
    .card
    ul
    li.url
    .link
    > .txt {
    word-break: break-all;
    width: 71vw;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card.left {
  padding: 60px 0 0 70px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner .card.left {
    padding: 40px 4vw 24px;
    margin: 0 0 10px 0;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card.left > .txt {
  margin-bottom: 35px;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner .card.left > .txt {
    margin-bottom: 0.6em;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card.left .open {
  font-size: 14px;
}
#wrap #container .contact-wrap .contact-inner .inner .card.right > .txt {
  margin-bottom: 25px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #wrap #container .contact-wrap .contact-inner .inner .card.right > .txt {
    margin-bottom: 1em;
  }
}
#wrap #container .contact-wrap .contact-inner .inner .card.right > .txt > .dot {
  display: none;
}
@media screen and (max-width: 768px) {
  #wrap
    #container
    .contact-wrap
    .contact-inner
    .inner
    .card.right
    > .txt
    > .dot {
    display: inline-block;
  }
}
#wrap #access-wrap {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap {
    padding: 0 0 20px;
  }
}
#wrap #access-wrap .inner {
  max-width: 1140px;
  padding: 48px 0 0;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner {
    width: 100%;
  }
}
#wrap #access-wrap .inner .title-wrap {
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .title-wrap {
    width: calc(100% - 32px);
  }
}
#wrap #access-wrap .inner .map-wrap {
  max-width: 960px;
  margin: 0 auto 32px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .map-wrap {
    width: calc(100% - 32px);
  }
}
#wrap #access-wrap .inner .map-wrap > .map {
  width: 100%;
}
#wrap #access-wrap .inner .vehicle-wrap {
  display: flex;
  justify-content: space-between;
  max-width: 960px;
  margin: 0 auto 90px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .vehicle-wrap {
    flex-direction: column;
    width: calc(100% - 32px);
    margin-bottom: 64px;
  }
}
#wrap #access-wrap .inner .vehicle-wrap > .wrap {
  width: 300px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .vehicle-wrap > .wrap {
    width: 100%;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .vehicle-wrap > .wrap:last-child {
    margin-bottom: 0;
  }
}
#wrap #access-wrap .inner .vehicle-wrap > .wrap .title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .vehicle-wrap > .wrap .title {
    margin-bottom: 18px;
  }
}
#wrap #access-wrap .inner .vehicle-wrap > .wrap .txt {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 1px;
}
#wrap #access-wrap .inner .track-map-wrap {
  max-width: 960px;
  margin: 0 auto 105px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .track-map-wrap {
    width: calc(100% - 32px);
    margin-bottom: 32px;
  }
}
#wrap #access-wrap .inner .track-map-wrap .title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .track-map-wrap .title {
    margin-bottom: 32px;
  }
}
#wrap #access-wrap .inner .track-map-wrap .img-wrap {
  max-width: 894px;
  margin: 0 auto;
}
#wrap #access-wrap .inner .track-map-wrap .img-wrap .img {
  width: 100%;
}
#wrap #access-wrap .inner .station-wrap {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  margin-bottom: 33px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .station-wrap {
    flex-direction: column;
    margin-bottom: 0;
  }
}
#wrap #access-wrap .inner .station-wrap > .contents-wrap {
  width: 33%;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .station-wrap > .contents-wrap {
    width: 100%;
  }
}
#wrap #access-wrap .inner .station-wrap > .contents-wrap .title {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 20px;
  padding: 8px 15px;
  background-color: #1a2d4b;
}
#wrap #access-wrap .inner .station-wrap > .contents-wrap .txt {
  font-size: 14px;
  margin-bottom: 1.8em;
  letter-spacing: 1px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .station-wrap > .contents-wrap .txt {
    margin-bottom: 24px;
  }
}
#wrap #access-wrap .inner .station-wrap > .contents-wrap .txt-wrap {
  padding: 0 16px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .station-wrap > .contents-wrap .txt-wrap {
    padding: 0 16px;
  }
}
#wrap
  #access-wrap
  .inner
  .station-wrap
  > .contents-wrap
  .txt-wrap
  > .txt
  > span {
  display: inline-block;
  font-weight: bold;
}
#wrap #access-wrap .inner .note {
  font-size: 12px;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 130px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .note {
    width: calc(100% - 32px);
    margin: 0 auto 64px;
  }
}
#wrap #access-wrap .inner .facility-wrap {
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .facility-wrap {
    width: calc(100% - 32px);
  }
}
#wrap #access-wrap .inner .facility-wrap .title {
  font-size: 20px;
  margin-bottom: 32px;
}
#wrap #access-wrap .inner .facility-wrap .contents-wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .facility-wrap .contents-wrap {
    flex-direction: column;
  }
}
#wrap #access-wrap .inner .facility-wrap .contents-wrap .img-wrap {
  width: 440px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .facility-wrap .contents-wrap .img-wrap {
    width: 100%;
    margin-bottom: 24px;
  }
}
#wrap #access-wrap .inner .facility-wrap .contents-wrap .img-wrap .img {
  width: 100%;
}
#wrap #access-wrap .inner .facility-wrap .contents-wrap .txt-wrap {
  width: 440px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .facility-wrap .contents-wrap .txt-wrap {
    width: 100%;
  }
}
#wrap #access-wrap .inner .facility-wrap .contents-wrap .txt-wrap > ul > li {
  font-size: 15px;
  line-height: 30px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner .facility-wrap .contents-wrap .txt-wrap > ul > li {
    font-size: 14px;
    margin-bottom: 12px;
  }
}
#wrap
  #access-wrap
  .inner
  .facility-wrap
  .contents-wrap
  .txt-wrap
  > ul
  > li
  .txt {
  line-height: 30px;
  letter-spacing: 1px;
}
#wrap #access-wrap .inner > .title-wrap .title {
  font-size: 28px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  #wrap #access-wrap .inner > .title-wrap .title {
    font-size: 24px;
  }
}
#wrap + footer .offer {
  padding-top: 150px;
}
@media screen and (max-width: 768px) {
  #wrap + footer .offer {
    padding-top: 70px;
  }
}
