/* ここからカスタマイズ */
html {
  width: 100vw;
  overflow-x: hidden;
}

body {
  width: 100%;
  overflow-x: hidden;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

button {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}

.end--20px {
  right: -20px;
}

.end-30px {
  right: 30px;
}

@media screen and (min-width: 768px) {
  .end-md-50px {
    right: 50px;
  }
}

.top--20px {
  top: -20px;
}

.top-inherit {
  top: inherit;
}

@media screen and (min-width: 768px) {
  .top-md-120px {
    top: 120px;
  }
}

.bottom-20px {
  bottom: 20px;
}

.w278px {
  width: 278px;
}

.w225px {
  width: 225px;
}

.w100per-60per {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .w100per-60per {
    width: 60%;
  }
}

.w80per {
  width: 80%;
}

.w-fitcontent {
  width: fit-content;
}

.mw640px {
  max-width: 640px;
}

.h30px {
  height: 30px;
}

.h98px {
  height: 98px;
}

.fs-14px {
  font-size: 14px;
}

.fs-28px {
  font-size: 28px;
}

.rounded-20px {
  border-radius: 20px;
}

.rounded-top-left-20px {
  border-top-left-radius: 20px;
}

.rounded-top-right-20px {
  border-top-right-radius: 20px;
}

.border-orange {
  border: solid 2px #ff7f50;
}

.border-blue {
  border: solid 2px #164B93;
}

.border-bottom-blue-6px {
  border-bottom: solid 6px #164B93;
}

.bg-blue {
  background-color: #164B93;
}

.border-gray {
  border: solid 1px #a5a5a5;
}

.slider-nav .slick-track {
  display: flex !important;
  justify-content: center;
}

.slider-nav .slick-slide {
  float: none !important;
  height: auto;
}

.reservation a:hover {
  opacity: 0.6;
}

@media screen and (min-width: 1200px) {
  .price::after {
    content: "";
    display: block;
    width: 170px;
    height: 146px;
    background-image: url(../img/ico_info.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    bottom: 0;
    right: -100px;
  }
}

.reserve-btn::after {
  content: "";
  display: block;
  width: 140px;
  height: 116px;
  background-image: url(../img/ico_reserve.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 85%;
  transform: translateY(-50%);
  left: -4%;
}
@media screen and (min-width: 768px) {
  .reserve-btn::after {
    width: 180px;
    height: 156px;
    left: 10%;
    top: 130%;
  }
}

.btn-circle-right.btn-circle-right32px::before {
  width: 32px;
  height: 32px;
}

.btn-circle-right.btn-circle-right32px::after {
  right: 28px;
  border-top: 8px solid transparent;
  border-left: 12px solid #164b93;
  border-bottom: 8px solid transparent;
}

.slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.slider-nav img {
  width: 100%; /* 横幅を親要素に合わせる */
  aspect-ratio: 3 / 2; /* アスペクト比を3:2に設定 */
  object-fit: cover; /* 画像を枠内に収める */
}