@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

body {
  color: #333333;
  font-family: "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: normal;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

picture,
img,
a,
span {
  display: inline-block;
}

video,
img,
svg {
  width: auto;
  height: auto;
}

button {
  font: inherit;
  color: inherit;
  background: transparent;
  background: none;
  border: none;
}

input,
textarea,
select {
  font: inherit;
}

.c-animated__fadeIn {
  translate: 0 20px;
  opacity: 0;
}
.c-animated__fadeIn.js-show {
  translate: 0;
  opacity: 1;
}

.body {
  width: min(1030px, 100%);
  padding-inline: 40px;
  margin-inline: auto;
}
.body img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.mv-logo {
  text-align: center;
  margin-block: 40px;
}
.mv-logo a {
  aspect-ratio: 307/59;
}
.mv-logo a img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/*----------------------------------
// banner
-----------------------------------*/
.banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  margin-block: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.banner img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.banner-text {
  color: #5454f6;
}
.banner-text:hover {
  color: #1d54a7;
}

/*----------------------------------
// slide
-----------------------------------*/
.slide {
  position: relative;
  overflow: hidden;
  width: 860px;
  height: 643px;
  margin: auto;
  background: #fff;
}

.slide img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  -webkit-animation: fade 24s infinite;
          animation: fade 24s infinite;
  -webkit-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}

.slide img:nth-of-type(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.slide img:nth-of-type(2) {
  -webkit-animation-delay: 6s;
          animation-delay: 6s;
}

.slide img:nth-of-type(3) {
  -webkit-animation-delay: 12s;
          animation-delay: 12s;
}

.slide img:nth-of-type(4) {
  -webkit-animation-delay: 18s;
          animation-delay: 18s;
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  15% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  15% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/*----------------------------------
  // navi
-----------------------------------*/
.nav-wrapper {
  display: grid;
  grid-template-columns: 1fr 203px;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-block: 30px;
}

.nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-margin-before: 15px;
          margin-block-start: 15px;
}

.nav-list {
  text-align: center;
  width: 100%;
  padding-block: 10px;
}
.nav-list a {
  display: block;
}

.nav-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
}
.nav-btns .nav-btn {
  background: #00ade9;
  width: 99px;
  height: 30px;
}
.nav-btns .nav-btn a {
  color: #fff;
  display: block;
  line-height: 30px;
  padding: 0 10px 0 25px;
  position: relative;
}
.nav-btns .nav-btn a::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50%;
  top: 50%;
  translate: 0 -50%;
  left: 5px;
  -webkit-margin-before: -6;
          margin-block-start: -6;
}
.nav-btns .nav-btn a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5px;
  border-color: transparent transparent transparent #00ade9;
  top: 50%;
  left: 9px;
  margin-top: -3px;
}

/*----------------------------------
  ５店舗ございますinfo
-----------------------------------*/
.area-info {
  padding: 40px 24px;
}

.area-info__message {
  font-size: 30px;
  -webkit-margin-after: 24px;
          margin-block-end: 24px;
  background: -webkit-gradient(linear, left top, left bottom, from(#e9d797), to(#918e59));
  background: linear-gradient(180deg, #e9d797 0%, #918e59 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.area-info__items a:hover {
  color: #1d54a7;
  text-decoration: underline;
}

.area-info__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 10px;
}

.area-info__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.area-info__text {
  font-size: 14px;
}

/*----------------------------------
  // POINT
-----------------------------------*/
.con {
  -webkit-margin-after: 50px;
          margin-block-end: 50px;
}

.wh_bg {
  padding: 40px 24px;
}

.gray_bg {
  background-color: #f2f2f2;
  padding: 40px 24px;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 32px;
}
.half {
  width: 55%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.half h3 {
  font-size: 36px;
  margin: 0;
}
.half h3 span {
  font-weight: lighter;
  font-size: 16px;
  padding: 5px;
  display: block;
  background-color: #00ade9;
  text-align: center;
  color: #fff;
  width: 90px;
  margin-bottom: 24px;
}
.half h4 {
  font-size: 18px;
  color: #00ade9;
  margin: 10px 0;
}
.half p {
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
}

.half .img {
  width: 100%;
}
.half .img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-point__tag {
  font-weight: lighter;
  font-size: 16px;
  padding: 5px;
  display: block;
  background-color: #00ade9;
  text-align: center;
  color: #fff;
  width: 90px;
}

.top-point__lead {
  font-size: 36px;
  margin: 0;
}

.top-point__lead-sub {
  font-size: 18px;
  color: #00ade9;
  -webkit-margin-after: 20px;
          margin-block-end: 20px;
}

.top-point__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.grid2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.grid4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.grid5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.top-point__title {
  font-size: 18px;
  color: #00ade9;
  margin: 10px 0;
}

.top-point__text {
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
}

.top-plan {
  background-color: #f2f2f2;
  padding: 50px 15px;
}

.top-plan__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.top-title {
  font-size: 30px;
  border-left: #00ade9 30px solid;
  height: 30px;
  line-height: 34px;
  padding-left: 20px;
  margin: 0 0 30px 0;
}

.top-plan__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.top-plan__button a {
  background-color: #00ade9;
  color: #fff !important;
  text-decoration: none;
  display: block;
  height: 30px;
  line-height: 30px;
  position: relative;
  padding: 0 10px 0 25px;
}

.top-plan__button a::before {
  content: "";
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 5px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.top-plan__button a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5px;
  border-color: transparent transparent transparent #00ade9;
  position: absolute;
  top: 50%;
  left: 9px;
  margin-top: -3px;
}

.top-plan__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px; /* お好み */
}

.top-plan__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  -webkit-padding-after: 60px;
          padding-block-end: 60px;
}

.top-plan__card-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  border: rgba(158, 158, 158, 0.4588235294) 1px solid;
  background-color: #fff;
}

.top-plan__img {
  width: 100%;
  aspect-ratio: 16/9; /* 縦だけ低く */
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.top-plan__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain; /* 切らない */
}

.top-plan__title {
  text-align: center;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
  font-size: 12px;
  line-height: 1.6;
}

.top-plan__text {
  text-align: center;
  font-size: 12px;
  line-height: 1.6;
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}

.top-plan__card-contents {
  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-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px;
  gap: 10px;
}

.top-plan__booking {
  position: relative;
  margin-top: auto;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
}

.top-plan__booking::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0 0.5em 0 0;
  border: 5px solid transparent;
  border-right: 0 solid transparent;
  border-left: 8px solid #00ade9;
}

.top-plan__card-bottom {
  background-color: #fff;
  padding: 20px 10px;
  border: rgba(158, 158, 158, 0.4588235294) 1px solid;
  text-align: center;
}

.top-plan__card-link {
  position: relative;
  padding-left: 25px;
}
.top-plan__card-link::before {
  content: "";
  width: 18px;
  height: 18px;
  background: #00ade9;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top-plan__card-link::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  left: 6px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.top-plan__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-padding-before: 60px;
          padding-block-start: 60px;
  -webkit-padding-after: 60px;
          padding-block-end: 60px;
  border-top: rgba(158, 158, 158, 0.4588235294) 1px solid;
  border-bottom: #333 2px solid;
}

/* =========================
   Side Banner slide-in
========================= */
.Side_Banner {
  position: fixed;
  top: 100px;
  right: -380px;
  z-index: 9999;
  display: block;
  /* スライド用 */
  -webkit-transition: right 0.4s ease;
  transition: right 0.4s ease;
  /* hoverでスライドイン */
  /* SP非表示 */
}
.Side_Banner img {
  display: block;
  width: auto;
  height: auto;
}
.Side_Banner:hover {
  right: 0;
}
@media (max-width: 767px) {
  .Side_Banner {
    display: none;
  }
}

/*----------------------------------
  POINT5(既存のHTMLより移植）
-----------------------------------*/
.point-section {
  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;
  background: #fff;
  padding: 40px 24px;
}

.point-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 65%;
}

.point-label {
  display: inline-block;
  background: #00a2e8;
  color: #fff;
  padding: 5px 12px;
  font-size: 18px;
  letter-spacing: 1px;
}

.point-title {
  font-size: 32px;
  font-weight: bold;
  margin: 10px 0;
  color: #333;
}

.point-subtitle {
  font-size: 17px;
  color: #00a2e8;
  margin-bottom: 12px;
}

.point-description {
  font-size: 15px;
  color: #333;
  line-height: 1.6;
}

.point-image img {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}

.u-font {
  font-family: "メイリオ", "Meiryo", sans-serif;
}
.u-font__jp {
  font-family: "Noto Sans JP", sans-serif;
}
.u-font__en {
  font-family: "Roboto", sans-serif;
}

.u-bold {
  font-weight: 700;
}