@charset "UTF-8";
/* PC
---------------------------------------------------------------------- */
@media screen and (min-width: 1001px) {
  /* header
---------------------------------------------------------------------- */
  #mainheader .open {
    color: #000;
  }
  #mainheader .open span {
    background-color: #000;
  }
  #mainheader .pc_nav ul li a ,
  #mainheader .pc_nav ul li a * {
    color: #595757;
  }
  /* mv
    ---------------------------------------------------------------------- */
  #pageheader {
    width: 100%;
    height: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 0;
    margin-top: 133px;
  }
  #pageheader h1 {
    color: #313131;
    font-size: calc(42em / 16);
    letter-spacing: 0.25em;
    padding-left: 200px;
  }
  #pageheader h1 span {
    display: block;
    font-size: calc(16em / 42);
    letter-spacing: 0.23em;
    margin-top: 20px;
  }
  .ttl {
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #000;
    font-size: 24px;
    line-height: 1.66667;
    letter-spacing: 0.25em;
    padding-bottom: 20px;
    margin: 0 10px 40px;
    position: relative;
  }
  .icn__ttl {
    position: relative;
  }
  .icn__ttl::before {
    content: "";
    width: 60px;
    height: 60px;
    position: absolute;
    top: -70px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .bulletTrain .icn__ttl::before {
    background: url(../images/img_access01.svg) no-repeat 50% 50%;
    background-size: auto;
  }
  .train .icn__ttl::before {
    background: url(../images/img_access02.svg) no-repeat 50% 50%;
    background-size: auto;
  }
  .bus .icn__ttl::before {
    background: url(../images/img_access03.svg) no-repeat 50% 50%;
    background-size: auto;
  }
  .car .icn__ttl::before {
    background: url(../images/img_access04.svg) no-repeat 50% 50%;
    background-size: auto;
  }
  .air .icn__ttl::before {
    background: url(../images/img_access05.svg) no-repeat 50% 50%;
    background-size: auto;
  }
  /* bout
---------------------------------------------------------------------- */
  .map {
    margin: 30px 0 140px;
  }
  .map_box {
    height: 0;
    overflow: hidden;
    padding-bottom: 61%;
    position: relative;
    margin-bottom: 35px;
  }
  .map_box iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
  }
  /* access
---------------------------------------------------------------------- */
  #contents .access {
    padding: 60px 0 100px;
  }
  .access.bus {
    padding: 60px 0 130px;
  }
  .access__line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 510px;
    padding: 45px 0 50px;
    margin: 0 auto;
  }
  .access__line p {
    width: 22%;
    text-align: center;
    position: relative;
    font-weight: bold;
  }
  .access__line p::after {
    content: "";
    position: absolute;
    background-color: #000000;
    display: block;
    height: 2px;
    width: 61%;
    top: 50%;
    left: 106%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .access__line p:last-of-type::after {
    content: none;
  }
  .access__line p span {
    font-size: 20px;
  }
  .access__line p img {
    max-width: 55px;
  }
  /* bus
---------------------------------------------------------------------- */
  .bus {
    text-align: center;
  }
  .bus__box {
    margin-bottom: 55px;
  }
  .bus__ttl {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .bus__txt {
    text-align: center;
    font-weight: bold;
    margin-bottom: 25px;
  }
  .bus__txt.--attention {
    color: #970000;
    margin-bottom: 15px;
  }
  .bus__txt.--attention a {
    color: #970000;
  }
  .bus__reserve {
    color: #fff;
    display: inline-block;
    min-width: 109px;
    margin: 0 auto 20px;
    padding: 5px 10px;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    background-color: #000;
  }
  .--required {
    background-color: #970000;
    margin-bottom: 10px;
  }
  .timeTable {
    width: 580px;
    margin: 0 auto;
  }
  .timeTable tr {
    border-bottom: 1px solid #373839;
  }
  .timeTable tr th {
    width: 30%;
    padding: 10px 0 15px;
    font-weight: bold;
  }
  .timeTable tr th:nth-of-type(2) {
    width: 40%;
  }

/*シャトルバス表記　20231201～20240131　ここから*/
  .timeTable thead.th4 tr th {
    width: 27%;
    padding: 10px 0 15px;
    font-weight: bold;
  }
  .timeTable thead.th4 tr th:nth-of-type(1) {
    width: 18%;
  }
  .timeTable tr td.bus__txt2 {
    font-weight: bold;
    font-size: 14px;
  }
/*シャトルバス表記　20231201～20240131　ここまで*/

  .timeTable tr td {
    padding: 12px 0;
    font-size: 18px;
    text-align: center;
  }
  .timeTable tr td:last-of-type {
    font-weight: bold;
  }
  .bus__map {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .bus__map p {
    text-align: center;
    margin-bottom: 20px;
  }
  .bus__mapItem {
    width: 49%;
    font-size: 17px;
    text-align: center;
  }
  .bus__mapTtl {
    font-size: 20px;
    margin-bottom: 15px;
    font-weight: bold;
  }
  .bus__list {
    padding: 40px 0 20px;
    width: 580px;
    margin: 0 auto;
  }
  .bus__list li {
    text-align: left;
    font-size: 14px;
  }
  .bus__list li::before {
    content: "※";
  }
  /* guidance
---------------------------------------------------------------------- */
  .guidanceBox {
    width: 100%;
    background-color: #f5f5f5;
    margin: 15px auto 20px;
    padding: 60px 95px;
  }
  .guidanceBox > * {
    text-align: center;
  }
  .guidanceBox .guidance__ttl {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.2em;
    margin-bottom: 40px;
    border-bottom: 1px solid #666666;
    padding-bottom: 30px;
  }
  .guidanceBox p {
    font-weight: bold;
    text-align: left;
    font-size: 18px;
    line-height: 2.2;
  }
  .guidanceBox a {
    color: #3B4B72;
  }
  /* bnr
---------------------------------------------------------------------- */
  .accessBnr {
    padding: 0px 0 95px;
  }
  .accessBnr__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0px 30px;
  }
  .accessBnr__box p:first-of-type {
    margin-right: 50px;
  }
  /* arrowlink
---------------------------------------------------------------------- */
  .arrowlink1 {
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-bottom: 50px;
  }
  .arrowlink1:hover {
    opacity: 1;
  }
  .arrowlink1 span {
    display: block;
    width: 40px;
    height: 40px;
    margin-left: 15px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .arrowlink1 span img {
    width: 22px;
  }    
  .arrowlink1 span .hover {
    display: none;
  }
  .arrowlink1:hover span {
    background-color: #3b4b72 ;
    border: 1px solid #3b4b72;
  }
  .arrowlink1:hover span img {
    width: 20px;
  }
  .arrowlink1:hover span .default {
    display: none;
  } 
  .arrowlink1:hover span .hover {
    display: block;
  }
}

/* SP
---------------------------------------------------------------------- */
@media screen and (max-width: 1000px) {
  /* mv
---------------------------------------------------------------------- */
  #pageheader {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: calc(80 / 375 * 100vw) 0 calc(10 / 375 * 100vw);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    z-index: 0;
  }
  #pageheader h1 {
    color: #313131;
    font-size: calc(32em / 16);
    letter-spacing: 0.25em;
  }
  #pageheader h1 span {
    display: block;
    text-align: center;
    font-size: calc(15em / 32);
    letter-spacing: 0.23em;
    margin-top: calc(20 / 375 * 100vw);
  }
  .ttl {
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #666666;
    padding-bottom: 6.66667vw;
    margin-bottom: 6.66667vw;
    font-size: 5.33333vw;
    line-height: 1.5;
    letter-spacing: 0em;
  }
  .icn__ttl {
    position: relative;
  }
  .icn__ttl::before {
    content: "";
    width: 12vw;
    height: 12vw;
    position: absolute;
    top: -13.33333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .bulletTrain .icn__ttl::before {
    background: url(../images/img_access01.svg) no-repeat 50% 50%;
    background-size: contain;
  }
  .train .icn__ttl::before {
    background: url(../images/img_access02.svg) no-repeat 50% 50%;
    background-size: contain;
  }
  .bus .icn__ttl::before {
    background: url(../images/img_access03.svg) no-repeat 50% 50%;
    background-size: contain;
  }
  .car .icn__ttl::before {
    background: url(../images/img_access04.svg) no-repeat 50% 50%;
    background-size: contain;
  }
  .air .icn__ttl::before {
    background: url(../images/img_access05.svg) no-repeat 50% 50%;
    background-size: contain;
  }
  /* bout
---------------------------------------------------------------------- */
  .map {
    padding: 2.66667vw 0vw 2.66667vw 0vw;
  }
  .map_box {
    height: 0;
    overflow: hidden;
    padding-bottom: 170%;
    position: relative;
    margin-bottom: 35px;
  }
  .map_box iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
  }
  /* access
---------------------------------------------------------------------- */
  #contents .access {
    padding: 16vw 0vw 16vw 0vw;
  }
  .access.bus {
    padding: 16vw 0vw 5.33333vw 0vw;
  }
  .access__line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 510px;
    margin: 0 auto;
  }
  .access__line p {
    width: 31%;
    text-align: center;
    position: relative;
    font-weight: bold;
  }
  .access__line p::after {
    content: "";
    position: absolute;
    background-color: #000000;
    display: block;
    height: 2px;
    width: 20%;
    top: 50%;
    left: 76%;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
  }
  .access__line p:last-of-type::after {
    content: none;
  }
  .access__line p span {
    font-size: 4.8vw;
  }
  .access__line p img {
    max-width: 55px;
  }
  /* bus
---------------------------------------------------------------------- */
  .bus {
    text-align: center;
  }
  .bus__box {
    padding-bottom: 9.33333vw;
  }
  .bus__ttl {
    font-size: 4.8vw;
    padding-bottom: 2.66667vw;
    font-weight: bold;
  }
  .bus__txt {
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .bus__txt.--attention {
    color: #970000;
    margin-bottom: 0px;
  }
  .bus__txt.--attention a {
    color: #970000;
  }
  .bus__txt.--attention.--justify {
    text-align: justify;
  }
  .bus__reserve {
    color: #fff;
    display: inline-block;
    min-width: 109px;
    padding: 1.6vw 2.66667vw 1.6vw 2.66667vw;
    margin: 0vw auto 2.66667vw;
    font-size: 4vw;
    font-weight: bold;
    text-align: center;
    background-color: #000;
  }
  .--required {
    background-color: #970000;
    /*padding-bottom: 4vw;*/
  }
  .timeTable {
    width: 100%;
    margin: 0 auto;
  }
  .timeTable tr {
    border-bottom: 1px solid #373839;
  }
  .timeTable tr th {
    width: 30%;
    padding: 2.66667vw 0vw 2.66667vw 0vw;
    font-weight: bold;
  }
  .timeTable tr th:nth-of-type(2) {
    width: 30%;
  }

/*シャトルバス表記　20231201～20240131　ここから*/
  .timeTable thead.th4 tr th {
    width: 29%;
    padding: 2.66667vw 0vw 2.66667vw 0vw;
    font-weight: bold;
  }
  .timeTable thead.th4 tr th:nth-of-type(1) {
    width: 16%;
  }
  .timeTable tr td.bus__txt2 {
    font-weight: bold;
    font-size: 80%;
  }
/*シャトルバス表記　20231201～20240131　ここまで*/

  .timeTable tr td {
    padding: 2.66667vw 0vw 2.66667vw 0vw;
    text-align: center;
  }
  .timeTable tr td:last-of-type {
    font-weight: bold;
  }
  .bus__map p {
    text-align: center;
    padding-bottom: 4vw;
  }
  .bus__mapItem {
    text-align: center;
    padding-bottom: 5.33333vw;
  }
  .bus__mapTtl {
    font-size: 4.8vw;
    padding-bottom: 2.66667vw;
    font-weight: bold;
  }
  .bus__list {
    padding: 6.66667vw 0vw 1.33333vw 0vw;
  }
  .bus__list li {
    text-align: left;
    font-size: 3.73333vw;
    margin: 0vw 0vw 0vw 3.46667vw;
  }
  .bus__list li::before {
    content: "※";
    margin-left: -3.46667vw;
  }
  /* guidance
---------------------------------------------------------------------- */
  .guidanceBox {
    background-color: #f5f5f5;
    padding: calc(20 / 375 * 100vw);
    margin-top: 10.66667vw;
  }
  .guidance__ttl {
    text-align: center;
    font-size: calc(20em / 16);
    font-weight: 700;
    letter-spacing: 0.2em;
    padding-bottom: calc(25 / 375 * 100vw);
    margin-bottom: calc(25 / 375 * 100vw);
    border-bottom: 1px solid #666666;
  }
  .guidance__txt {
    font-weight: bold;
    width: 90%;
    margin: 0vw auto 6.66667vw;
  }
  .guidanceBox p {
    font-weight: bold;
  }
  .guidanceBox a {
    color: #3B4B72;
  }
  /* bnr
---------------------------------------------------------------------- */
  .accessBnr {
    padding: 5.33333vw 0vw 4vw 0vw;
  }
  .accessBnr__box p {
    text-align: center;
    margin-bottom: 9.33333vw;
  }
  /* arrowlink
---------------------------------------------------------------------- */
  .arrowlink1 {
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-bottom: 50px;
  }
  .arrowlink1:hover {
    opacity: 1;
  }
  .arrowlink1 span {
    display: block;
    width: calc(40 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
    margin-left: calc(15 / 375 * 100vw);
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .arrowlink1 span .hover {
    display: none;
  }
  .arrowlink1:hover span {
    background-color: #3b4b72 ;
    border: 1px solid #3b4b72;
  }
  .arrowlink1 span img {
    width: calc(20 / 375 * 100vw);
  }
  .arrowlink1:hover span .default {
    display: none;
  } 
  .arrowlink1:hover span .hover {
    display: block;
  }
}
/*# sourceMappingURL=style.css.map */