@charset "UTF-8";
/* access layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400, medium: 500, bold: 700 */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400 */
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* 余白 */
/* 縦書き */
/* 内径 */
/* 文字にグラデ */
/* ------------------------------------------------------------------------*/
/* レイアウト
---------------------------------------------------------------------------*/
/* spot
---------------------------------------------------------------------------*/
.spot-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
}
@media screen and (max-width: 1440px) {
  .spot-ttl .ttl-en {
    letter-spacing: 0;
    font-size: 13vw;
  }
}
.spot-tx {
  text-align: center;
  margin-bottom: 110px;
}
@media screen and (max-width: 1440px) {
  .spot-tx {
    margin-bottom: 7.6388888889vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-tx {
    margin-bottom: 27.989821883vw;
  }
}
.spot-hd {
  /* 1080 */
  width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1440px) {
  .spot-hd {
    width: 88.8888888889vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-hd {
    /* 100vw = 393 */
    width: 79.6437659033vw;
  }
}
.spot {
  /* facility から移設 */
  /* 1080 */
  width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1440px) {
  .spot {
    width: 88.8888888889vw;
  }
}
@media screen and (max-width: 480px) {
  .spot {
    /* 100vw = 393 */
    width: 79.6437659033vw;
  }
}
.spot-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 80px 40px;
}
@media screen and (max-width: 1440px) {
  .spot-list {
    gap: 5.5555555556vw 2.7777777778vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-list {
    gap: 20.3562340967vw 10.1781170483vw;
  }
}
.spot-item {
  width: 400px;
}
@media screen and (max-width: 1440px) {
  .spot-item {
    width: 27.7777777778vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-item {
    width: 100%;
  }
}
.spot-name {
  font-size: 24px;
}
@media screen and (max-width: 1440px) {
  .spot-name {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-name {
    font-size: 6.106870229vw;
  }
}
.spot-name {
  color: #0E42AB;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 24px;
}
@media screen and (max-width: 1440px) {
  .spot-name {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-name {
    margin-bottom: 6.106870229vw;
  }
}
.spot-time {
  background-color: #363540;
  color: #ffffff;
  margin-bottom: 24px;
}
@media screen and (max-width: 1440px) {
  .spot-time {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-time {
    margin-bottom: 6.106870229vw;
  }
}
.spot-time {
  padding: 6px;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .spot-time {
    padding: 0.4166666667vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-time {
    padding: 1.5267175573vw;
  }
}
.spot-desc {
  margin-bottom: 30px;
}
@media screen and (max-width: 1440px) {
  .spot-desc {
    margin-bottom: 2.0833333333vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-desc {
    margin-bottom: 7.6335877863vw;
  }
}
.spot {
  /* /facility から移設 */
}

/* spot-wrap
---------------------------------------------------------------------------*/
.spot-wrap {
  margin-bottom: 80px;
}
@media screen and (max-width: 1440px) {
  .spot-wrap {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-wrap {
    margin-bottom: 20.3562340967vw;
  }
}

/* spot-detail
---------------------------------------------------------------------------*/
.spot-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 1360px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1440px) {
  .spot-detail {
    width: 94.4444444444vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail {
    width: 89.8218829517vw;
  }
}
.spot-detail {
  margin-bottom: 40px;
}
@media screen and (max-width: 1440px) {
  .spot-detail {
    margin-bottom: 2.7777777778vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail {
    margin-bottom: 10.1781170483vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10.1781170483vw;
  }
}
.spot-detail.imgright {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (max-width: 480px) {
  .spot-detail.imgright {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.spot-detail-img {
  width: 720px;
}
@media screen and (max-width: 1440px) {
  .spot-detail-img {
    width: 50vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail-img {
    width: 100%;
  }
}
.spot-detail-tx {
  width: 624px;
  padding: 0 40px;
}
@media screen and (max-width: 1440px) {
  .spot-detail-tx {
    width: 43.3333333333vw;
    padding: 0vw 2.7777777778vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail-tx {
    width: 100%;
    padding: 0;
  }
}
.spot-detail-tx-en {
  display: inline-block;
  font-family: "Lexend Deca", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.08em;
  font-size: 24px;
}
@media screen and (max-width: 1440px) {
  .spot-detail-tx-en {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail-tx-en {
    font-size: 6.106870229vw;
  }
}
.spot-detail-tx-en {
  font-weight: 500;
  background: -webkit-gradient(linear, left top, right top, from(#0E42AB), to(#363540));
  background: linear-gradient(90deg, #0E42AB, #363540);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 24px;
}
@media screen and (max-width: 1440px) {
  .spot-detail-tx-en {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail-tx-en {
    margin-bottom: 6.106870229vw;
  }
}
.spot-detail-tx-name {
  font-size: 28px;
}
@media screen and (max-width: 1440px) {
  .spot-detail-tx-name {
    font-size: 1.9444444444vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail-tx-name {
    font-size: 7.1246819338vw;
  }
}
.spot-detail-tx-name {
  font-weight: 700;
  color: #0E42AB;
  margin-bottom: 40px;
}
@media screen and (max-width: 1440px) {
  .spot-detail-tx-name {
    margin-bottom: 2.7777777778vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-detail-tx-name {
    margin-bottom: 10.1781170483vw;
  }
}
.spot-detail-tx-name {
  line-height: 1.4;
}

/* spot-restaurant
---------------------------------------------------------------------------*/
.spot-restaurant {
  /* 1080 */
  width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1440px) {
  .spot-restaurant {
    width: 88.8888888889vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-restaurant {
    /* 100vw = 393 */
    width: 79.6437659033vw;
  }
}
.spot-restaurant-hdl {
  background-color: #363540;
  padding: 6px 1em;
  color: #ffffff;
}
@media screen and (max-width: 1440px) {
  .spot-restaurant-hdl {
    padding: 0.4166666667vw 1em;
  }
}
@media screen and (max-width: 480px) {
  .spot-restaurant-hdl {
    padding: 1.5267175573vw 1em;
  }
}
.spot-restaurant-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #000000;
}
@media screen and (max-width: 1440px) {
  .spot-restaurant-data {
    padding: 0.5555555556vw 0;
  }
}
@media screen and (max-width: 480px) {
  .spot-restaurant-data {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 3.0534351145vw 0 8.1424936387vw;
  }
}
.spot-restaurant-data-name, .spot-restaurant-data-time {
  padding: 8px 20px;
}
@media screen and (max-width: 1440px) {
  .spot-restaurant-data-name, .spot-restaurant-data-time {
    padding: 0.5555555556vw 1.3888888889vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-restaurant-data-name, .spot-restaurant-data-time {
    padding: 2.0356234097vw 1.3888888889vw;
  }
}
.spot-restaurant-data-name {
  width: 264px;
  border-right: 1px solid #000000;
}
@media screen and (max-width: 1440px) {
  .spot-restaurant-data-name {
    width: 18.3333333333vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-restaurant-data-name {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #000000;
  }
}
.spot-restaurant-data-time {
  margin-right: 20px;
}
@media screen and (max-width: 1440px) {
  .spot-restaurant-data-time {
    margin-right: 1.3888888889vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-restaurant-data-time {
    width: 100%;
    margin-right: 0;
  }
}
.spot-restaurant-data-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 1440px) {
  .spot-restaurant-data-btn {
    gap: 1.6666666667vw;
  }
}
@media screen and (max-width: 480px) {
  .spot-restaurant-data-btn {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.5445292621vw;
    margin-top: 2vw;
  }
}