html {
  font-size: 62.5%;
}

.shinapuri_au {
  font-feature-settings: "palt" 1;
}

@media screen and (max-width: 768px) {
  .shinapuri_au.no-scroll {
    overflow: hidden;
  }
}

.pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

img {
  display: block;
  width: 100%;
}

main {
  position: relative;
  z-index: 1;
}

.bg {
  background-image: url(../img/bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  mix-blend-mode: overlay;
  opacity: 0.5;
}

@media screen and (max-width: 768px) {
  .bg {
    background-image: url(../img/bg-sp.png);
    opacity: 0.7;
  }
}

.bg2 {
  background-image: url(../img/bg3.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  mix-blend-mode: darken;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .bg2 {
    background-image: url(../img/bg3-sp.png);
  }
}

.sec {
  font-family: "Noto Serif JP", serif;
  position: relative;
  z-index: 2;
}

.sec__ttl {
  color: #552002;
  font-family: "Lora", serif;
  font-size: clamp(0rem, 5.8565153734vw, 8rem);
  font-style: italic;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sec__ttl {
    font-size: 10.6666666667vw;
  }
}

.sec__sub {
  color: #552002;
  font-size: clamp(0rem, 1.8301610542vw, 2.5rem);
  font-weight: 600;
  text-align: center;
  margin: clamp(0rem, 0.7320644217vw, 10rem) auto 0;
}

@media screen and (max-width: 768px) {
  .sec__sub {
    font-size: 4.8vw;
    margin: 5.3333333333vw 0 0 0;
  }
}

.sec .ttl__icon {
  width: clamp(0rem, 2.7818448023vw, 3.8rem);
  margin: 0 auto clamp(0rem, 0.7320644217vw, 10rem);
}

@media screen and (max-width: 768px) {
  .sec .ttl__icon {
    width: 6.1333333333vw;
    margin: 0 auto 5.3333333333vw;
  }
}

.gra {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(270deg, rgb(220, 127, 0) 0%, rgb(234, 138, 76) 50%, rgb(176, 102, 17) 100%);
  opacity: 0.7;
  mix-blend-mode: hard-light;
}

.wrapper {
  position: relative;
  z-index: 2;
}

.mo__btn {
  margin: clamp(0rem, 2.196193265vw, 3rem) auto 0;
}

@media screen and (max-width: 768px) {
  .mo__btn {
    margin: 8vw 0 0 0;
  }
}

.mo__btn a {
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 999rem;
  margin: 0 auto;
  width: clamp(0rem, 23.5724743777vw, 32.2rem);
  height: clamp(0rem, 5.1244509517vw, 7rem);
  font-weight: 500;
  font-size: clamp(0rem, 1.3909224012vw, 1.9rem);
  text-align: center;
  position: relative;
  background-color: #552002;
  line-height: 1.5;
  transition: 0.3s;
}

@media (hover: hover) {
  .mo__btn a:hover {
    color: rgba(255, 255, 255, 0.7);
  }

  .mo__btn a:hover::after {
    opacity: 0.7;
  }
}

@media screen and (max-width: 768px) {
  .mo__btn a {
    width: 69.6vw;
    height: 13.3333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1.4;
    font-size-adjust: ch-width 0.5;
  }
}

.mo__btn a::after {
  content: "";
  display: inline-block;
  background-image: url(../img/icon_arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0rem, 1.2445095168vw, 1.7rem);
  height: clamp(0rem, 1.6105417277vw, 2.2rem);
  position: absolute;
  right: clamp(0rem, 1.6837481698vw, 2.3rem);
  top: 50%;
  transform: translate(0%, -50%);
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  .mo__btn a::after {
    width: 4.8vw;
    height: 4.8vw;
    right: 4.2666666667vw;
  }
}

.mo__btn a span {
  display: contents;
  font-size: clamp(0rem, 1.0980966325vw, 1.5rem);
}

@media screen and (max-width: 768px) {
  .mo__btn a span {
    font-size: 3.2vw;
  }
}

.mo__btn a:nth-of-type(2) {
  margin: clamp(0rem, 2.9282576867vw, 4rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .mo__btn a:nth-of-type(2) {
    margin: 8vw auto 0;
  }
}

.mo__btn.btn_white {
  margin: clamp(0rem, 5.1244509517vw, 7rem) auto 0;
}

@media screen and (max-width: 768px) {
  .mo__btn.btn_white {
    margin: 12vw auto 0;
  }
}

.mo__btn.btn_white a {
  background-color: transparent;
  border: solid clamp(0rem, 0.0732064422vw, 0.1rem) #fff;
  text-align: center;
  width: clamp(0rem, 29.2825768668vw, 40rem);
  color: #fff;
}

@media screen and (max-width: 768px) {
  .mo__btn.btn_white a {
    border: 0.2666666667vw solid #fff;
    width: 69.6vw;
  }
}

.mo__btn.btn_blue a {
  width: clamp(0rem, 29.7950219619vw, 40.7rem);
  background-color: #3562aa;
  font-size: clamp(0rem, 1.2445095168vw, 1.7rem);
}

@media screen and (max-width: 768px) {
  .mo__btn.btn_blue a {
    width: 72.5333333333vw;
    font-size: 2.9333333333vw;
  }
}

.mo__btn.btn_gold a {
  width: clamp(0rem, 21.5226939971vw, 29.4rem);
  height: clamp(0rem, 4.2459736457vw, 5.8rem);
  background-color: #998542;
  font-size: clamp(0rem, 1.2445095168vw, 1.7rem);
}

@media screen and (max-width: 768px) {
  .mo__btn.btn_gold a {
    width: 69.6vw;
    height: 13.3333333333vw;
    font-size: 4.2666666667vw;
  }
}

.mo__btn.comingsoon {
  pointer-events: none;
}

.mo__btn.comingsoon a::after {
  content: none;
}

.mo__panel {
  margin: clamp(0rem, 8.78477306vw, 12rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .mo__panel {
    margin: 8vw auto 0;
  }
}

.mo__panel.panel_first {
  margin: clamp(0rem, 3.6603221083vw, 5rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .mo__panel.panel_first {
    margin: 8vw auto 0;
  }
}

.mo__panel--inner {
  max-width: 136.6rem;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .mo__panel--inner {
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
    max-width: none;
  }
}

.mo__panel.opposite .mo__panel--inner {
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .mo__panel.opposite .mo__panel--inner {
    flex-direction: column-reverse;
  }
}

.mo__panel--text {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 clamp(0rem, 3.6603221083vw, 5rem);
}

@media screen and (max-width: 768px) {
  .mo__panel--text {
    padding: 8vw 4.5333333333vw;
    width: 89.6vw;
  }
}

.mo__panel--ttl {
  font-size: clamp(0rem, 2.196193265vw, 3rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .mo__panel--ttl {
    font-size: 7.4666666667vw;
  }
}

.mo__panel--date {
  font-size: clamp(0rem, 1.4641288433vw, 2rem);
  font-weight: 700;
  text-align: center;
  margin: clamp(0rem, 2.196193265vw, 3rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .mo__panel--date {
    font-size: 4.2666666667vw;
    margin: 5.3333333333vw 0 0 0;
  }
}

.mo__panel--date span {
  display: inline-block;
  background-color: #eb5e11;
  padding: clamp(0rem, 0.6222547584vw, 0.85rem) clamp(0rem, 1.4641288433vw, 2rem);
  margin: 0 0 clamp(0rem, 0.7320644217vw, 14.055636896rem) 0;
}

@media screen and (max-width: 768px) {
  .mo__panel--date span {
    font-size: 3.7333333333vw;
    padding: 2.1333333333vw 2.9333333333vw;
    margin: 0 0 5.3333333333vw 0;
  }
}

.mo__panel--desc {
  font-size: clamp(0rem, 1.0980966325vw, 1.5rem);
  font-weight: 400;
  text-align: center;
  margin: clamp(0rem, 2.196193265vw, 3rem) 0 0 0;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .mo__panel--desc {
    font-size: 3.6vw;
    margin: 5.3333333333vw 0 0 0;
  }
}

.mo__panel--pic {
  width: clamp(0rem, 57.027818448vw, 77.9rem);
}

@media screen and (max-width: 768px) {
  .mo__panel--pic {
    width: 89.6vw;
  }
}

.slider_wrap {
  margin: clamp(0rem, 2.196193265vw, 3rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .slider_wrap {
    margin: 8.5333333333vw 0 0 0;
  }
}

.slider_wrap .slider01 {
  position: relative;
}

.slider_wrap .slider01 .slider_item {
  padding: 0 clamp(0rem, 1.0980966325vw, 1.5rem);
  width: clamp(0rem, 59.224011713vw, 80.9rem);
}

@media screen and (max-width: 768px) {
  .slider_wrap .slider01 .slider_item {
    padding: 0 0.6666666667vw;
    width: 90.6666666667vw;
  }
}

.slider_wrap .slider01 .slider_item img {
  display: block;
  width: 100%;
  height: auto;
}

.slider_wrap .dots-wrap {
  display: flex;
  justify-content: center;
  margin: clamp(0rem, 2.196193265vw, 3rem) auto;
  position: absolute;
  top: clamp(0rem, 41.5080527086vw, 56.7rem);
  left: 50%;
  z-index: 10;
  transform: translate(-50%, -50%);
  gap: clamp(0rem, 0.5856515373vw, 0.8rem);
}

@media screen and (max-width: 768px) {
  .slider_wrap .dots-wrap {
    margin: 2.6666666667vw 0;
    top: 66.4vw;
    gap: 2.6666666667vw;
  }
}

.slider_wrap .dots-wrap li {
  width: clamp(0rem, 0.7320644217vw, 1rem);
  height: clamp(0rem, 0.7320644217vw, 1rem);
  margin: 0;
  background: transparent;
  border: clamp(0rem, 0.0732064422vw, 0.1rem) solid #fff;
  border-radius: 999rem;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .slider_wrap .dots-wrap li {
    width: 1.3333333333vw;
    height: 1.3333333333vw;
    border: 0.2666666667vw solid #fff;
  }
}

@media (hover: hover) {
  .slider_wrap .dots-wrap li:hover {
    background-color: #fff;
  }
}

.slider_wrap .dots-wrap li.slick-active {
  background-color: #fff;
}

.slider_wrap .dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

.slider_wrap.dot-brown .dots-wrap li {
  border: clamp(0rem, 0.0732064422vw, 0.1rem) solid #552002;
}

@media screen and (max-width: 768px) {
  .slider_wrap.dot-brown .dots-wrap li {
    border: 0.2666666667vw solid #552002;
  }
}

@media (hover: hover) {
  .slider_wrap.dot-brown .dots-wrap li:hover {
    background-color: #552002;
  }
}

.slider_wrap.dot-brown .dots-wrap li.slick-active {
  background-color: #552002;
}

.header {
  position: relative;
  z-index: 2;
  background-color: #fff;
  overflow: hidden;
  max-height: 100dvh;
}

@media screen and (max-width: 768px) {
  .header {
    width: 100vw;
    aspect-ratio: 1/1;
  }
}

.header h1 {
  width: 100%;
  color: #fff;
  font-family: "Lora", serif;
  font-style: italic;
  font-size: clamp(0rem, 9.5168374817vw, 182.7232796486px);
  text-align: center;
  position: absolute;
  bottom: clamp(0rem, 0.3660322108vw, 0.5rem);
  left: 50%;
  transform: translateX(-50%) skew(-9deg, 0deg);
}

@media screen and (max-width: 768px) {
  .header h1 {
    font-size: 12.5333333333vw;
  }
}

.navi {
  position: fixed;
  top: clamp(0rem, 4.6120058565vw, 6.3rem);
  left: clamp(0rem, 1.6837481698vw, 2.3rem);
  z-index: 3;
}

@media screen and (max-width: 768px) {
  .navi {
    visibility: hidden;
    opacity: 0;
    top: 0;
    left: 0;
    position: fixed;
    width: 100%;
    height: 100dvh;
    background-color: #552002;
    transition: 0.5s;
  }
}

.navi ul {
  display: flex;
  flex-direction: column;
  gap: clamp(0rem, 2.5622254758vw, 3.5rem) 0;
}

@media screen and (max-width: 768px) {
  .navi ul {
    width: 82.4vw;
    height: 100%;
    margin: 0 auto;
    justify-content: center;
    gap: 0;
  }
}

@media screen and (max-width: 768px) {
  .navi ul li {
    border-top: 0.2666666667vw solid #fff;
  }

  .navi ul li:last-of-type {
    border-bottom: 0.2666666667vw solid #fff;
  }
}

.navi ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 clamp(0rem, 0.7320644217vw, 1rem);
  font-family: "Noto Serif JP", serif;
  font-size: clamp(0rem, 1.4641288433vw, 2rem);
  color: #69587E;
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  .navi ul li a {
    gap: 0vw;
    font-size: 4.8vw;
    color: #fff;
    padding: 6.6666666667vw 0;
  }
}

.navi ul li a::before {
  content: "";
  display: block;
  width: clamp(0rem, 2.9282576867vw, 4rem);
  height: clamp(0rem, 0.0732064422vw, 0.1rem);
  background-color: #69587E;
}

@media screen and (max-width: 768px) {
  .navi ul li a::before {
    content: none;
  }
}

.navi ul li a.is-current {
  color: #fff;
}

.navi ul li a.is-current::before {
  background: #fff;
}

@media screen and (max-width: 768px) {
  .navi.active {
    visibility: visible;
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
  .hamburger-button {
    width: 12.8vw;
    height: 12.8vw;
    background-color: rgba(255, 255, 255, 0.3);
    position: fixed;
    z-index: 4;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.1333333333vw;
  }
}

@media screen and (max-width: 768px) {
  .hamburger-button div {
    width: 5.0666666667vw;
    height: 0.2666666667vw;
    background-color: #552002;
  }
}

.hamburger-button.active {
  background-color: transparent;
}

@media screen and (max-width: 768px) {
  .hamburger-button.active .line-1 {
    transform: rotate(45deg) translate(0%, 0);
    top: 50%;
  }

  .hamburger-button.active .line-2 {
    display: none;
  }

  .hamburger-button.active .line-3 {
    transform: rotate(-45deg);
  }
}

@media screen and (max-width: 768px) {
  .hamburger-button.active div {
    position: absolute;
    background-color: #fff;
  }
}

.sec_lead {
  padding: clamp(0rem, 5.270863836vw, 7.2rem) 0;
  position: relative;
  width: clamp(0rem, 77.2327964861vw, 105.5rem);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .sec_lead {
    padding: 8vw 0 58.6666666667vw;
    width: 100%;
  }
}

.sec_lead::before {
  content: "";
  display: block;
  width: clamp(0rem, 12.8843338214vw, 17.6rem);
  height: clamp(0rem, 14.6412884334vw, 20rem);
  background-image: url(../img/lead_icon-01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 28%;
  animation: floatUpDown 3s ease-in-out infinite;
}

@media screen and (max-width: 768px) {
  .sec_lead::before {
    width: 37.6vw;
    height: 42.6666666667vw;
    top: auto;
    bottom: 8vw;
    right: 55%;
    transform: translate(30%, 0);
  }
}

.sec_lead::after {
  content: "";
  display: block;
  width: clamp(0rem, 11.7130307467vw, 16rem);
  height: clamp(0rem, 14.6412884334vw, 20rem);
  background-image: url(../img/lead_icon-02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 28%;
  right: 0;
  animation: floatUpDown 4s ease-in-out infinite;
}

@media screen and (max-width: 768px) {
  .sec_lead::after {
    width: 34.1333333333vw;
    height: 42.6666666667vw;
    top: auto;
    bottom: 8vw;
    left: 53%;
    transform: translate(10%, 0);
  }
}

.sec_lead--hotel {
  color: #552002;
  font-size: clamp(0rem, 1.8301610542vw, 2.5rem);
  font-weight: 500;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sec_lead--hotel {
    font-size: 4.8vw;
  }
}

.sec_lead--ttl {
  color: #552002;
  font-size: clamp(0rem, 4.39238653vw, 6rem);
  font-weight: 500;
  text-align: center;
  margin: clamp(0rem, 1.4641288433vw, 2rem) auto 0;
}

@media screen and (max-width: 768px) {
  .sec_lead--ttl {
    font-size: 9.6vw;
    margin: 5.3333333333vw 0 0 0;
    line-height: 1.5;
  }
}

.sec_lead--ttl span {
  color: #bc4937;
}

.sec_lead--desc {
  color: #552002;
  font-size: clamp(0rem, 1.317715959vw, 1.8rem);
  font-weight: 400;
  text-align: center;
  margin: clamp(0rem, 2.9282576867vw, 4rem) auto 0;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .sec_lead--desc {
    font-size: 3.7333333333vw;
    margin: 5.3333333333vw 0 0 0;
  }
}

.pick-up {
  position: relative;
  padding: clamp(0rem, 4.7584187408vw, 6.5rem) 0;
}

@media screen and (max-width: 768px) {
  .pick-up {
    padding: 8vw 0;
  }
}

.pick-up .sec__ttl {
  color: #fff;
}

.pick-up__shop {
  color: #fff;
  font-size: clamp(0rem, 2.9282576867vw, 4rem);
  text-align: center;
  margin: clamp(0rem, 4.3191800878vw, 5.9rem) auto 0;
}

@media screen and (max-width: 768px) {
  .pick-up__shop {
    font-size: 7.4666666667vw;
    margin: 5.3333333333vw 0 0 0;
  }
}

.pick-up__date {
  color: #fff;
  font-size: clamp(0rem, 1.4641288433vw, 2rem);
  text-align: center;
  margin: clamp(0rem, 1.4641288433vw, 2rem) auto 0;
}

@media screen and (max-width: 768px) {
  .pick-up__date {
    font-size: 4.2666666667vw;
    margin: 8vw 0 0 0;
  }
}

.pick-up__desc {
  color: #fff;
  font-size: clamp(0rem, 1.317715959vw, 1.8rem);
  text-align: center;
  line-height: 2.5;
  margin: clamp(0rem, 2.196193265vw, 3rem) auto 0;
}

@media screen and (max-width: 768px) {
  .pick-up__desc {
    font-size: 3.7333333333vw;
    margin: 8vw 0 0 0;
  }
}

.sports {
  padding: clamp(0rem, 8.0527086384vw, 11rem) 0 0;
}

@media screen and (max-width: 768px) {
  .sports {
    padding: 8vw 0 0 0;
  }
}

.sports__block-01 {
  margin: clamp(0rem, 5.4172767204vw, 7.4rem) 0 0;
  padding: 0 clamp(0rem, 11.9326500732vw, 16.3rem);
}

@media screen and (max-width: 768px) {
  .sports__block-01 {
    margin: 8vw 0 0 0;
    padding: 0;
  }
}

.sports__block-01--inner {
  max-width: 104rem;
  color: #552002;
  padding: clamp(0rem, 5.4172767204vw, 7.4rem) clamp(0rem, 12.8843338214vw, 17.6rem) clamp(0rem, 2.7086383602vw, 3.7rem);
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: clamp(0rem, 2.196193265vw, 3rem);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .sports__block-01--inner {
    max-width: none;
    width: 89.6vw;
    padding: 8vw 1.8666666667vw;
    border-radius: 8vw;
  }
}

.sports__block-01--ttl {
  font-size: clamp(0rem, 2.196193265vw, 3rem);
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sports__block-01--ttl {
    font-size: 7.4666666667vw;
  }
}

.sports__block-01--ttl::after {
  content: "";
  display: block;
  width: clamp(0rem, 19.5461200586vw, 26.7rem);
  height: clamp(0rem, 0.0732064422vw, 0.1rem);
  margin: clamp(0rem, 0.3660322108vw, 0.5rem) auto 0;
  background-color: #552002;
}

@media screen and (max-width: 768px) {
  .sports__block-01--ttl::after {
    width: 66.4vw;
    height: 0.2666666667vw;
    margin: 1.3333333333vw auto 0;
  }
}

.sports__block-01--desc {
  font-size: clamp(0rem, 1.317715959vw, 1.8rem);
  font-weight: 600;
  text-align: center;
  line-height: 2;
  margin: clamp(0rem, 2.196193265vw, 3rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .sports__block-01--desc {
    font-size: 3.7333333333vw;
    margin: 8vw 0 0 0;
  }
}

.sports__block-01--list {
  display: flex;
  justify-content: space-between;
  margin: clamp(0rem, 2.196193265vw, 3rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .sports__block-01--list {
    flex-direction: column;
    gap: 6.9333333333vw;
    margin: 8vw 0 0 0;
    align-self: center;
  }
}

@media screen and (max-width: 768px) {
  .sports__block-01--list li {
    margin: 0 auto;
    display: grid;
    grid-template-columns: 37.3333333333vw 4vw 38.4vw;
    grid-template-rows: auto 1fr;
    -moz-column-gap: 0;
    column-gap: 0;
  }
}

.sports__block-01--list li img {
  width: clamp(0rem, 11.7130307467vw, 16rem);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .sports__block-01--list li img {
    width: 37.3333333333vw;
    grid-column: 1;
    grid-row: 1/3;
  }
}

.sports__block-01--num {
  font-family: "Lora", serif;
  font-style: italic;
  font-size: clamp(0rem, 2.196193265vw, 3rem);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sports__block-01--num {
    font-size: 6.9333333333vw;
    grid-column: 3;
    grid-row: 1;
  }
}

.sports__block-01--num span {
  font-size: clamp(0rem, 3.513909224vw, 4.8rem);
  margin: 0 0 0 clamp(0rem, 0.3660322108vw, 0.5rem);
}

@media screen and (max-width: 768px) {
  .sports__block-01--num span {
    font-size: 11.7333333333vw;
  }
}

.sports__block-01--text {
  font-size: clamp(0rem, 1.317715959vw, 1.8rem);
  font-weight: 900;
  text-align: center;
  margin: clamp(0rem, 0.5856515373vw, 0.8rem) 0 0 0;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .sports__block-01--text {
    font-size: 4.2666666667vw;
    grid-column: 3;
    grid-row: 2;
  }
}

.stay {
  padding: clamp(0rem, 8.0527086384vw, 11rem) 0 0;
}

@media screen and (max-width: 768px) {
  .stay {
    padding: 8vw 0 0 0;
  }
}

.stay .sec__ttl {
  color: #552002;
}

.clb {
  padding: clamp(0rem, 8.0527086384vw, 11rem) 0 0;
}

@media screen and (max-width: 768px) {
  .clb {
    padding: 8vw 0 0 0;
  }
}

.grm {
  padding: clamp(0rem, 8.0527086384vw, 11rem) 0 clamp(0rem, 8.78477306vw, 12rem);
  color: #552002;
}

@media screen and (max-width: 768px) {
  .grm {
    padding: 8vw 0;
  }
}

.grm_slider .slider03_wrap {
  margin: clamp(0rem, 8.78477306vw, 12rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .grm_slider .slider03_wrap {
    width: 16vw 0 0 0;
  }
}

.grm_slider__textarea {
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .grm_slider__textarea {
    width: 92%;
    margin: 0 auto;
  }
}

.grm_slider__icon {
  width: clamp(0rem, 15.8857979502vw, 21.7rem);
  height: clamp(0rem, 2.9282576867vw, 4rem);
  line-height: clamp(0rem, 2.9282576867vw, 4rem);
  border-radius: 999rem;
  margin: clamp(0rem, 5.1244509517vw, 7rem) auto 0;
  background-color: #ebce24;
  font-size: clamp(0rem, 1.4641288433vw, 2rem);
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .grm_slider__icon {
    width: 43.7333333333vw;
    height: 8.5333333333vw;
    line-height: 8.5333333333vw;
    margin: 9.3333333333vw auto 0;
    font-size: 3.7333333333vw;
  }
}

.grm_slider__ttl {
  font-size: clamp(0rem, 2.0497803807vw, 2.8rem);
  margin: clamp(0rem, 2.196193265vw, 3rem) 0 0 0;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .grm_slider__ttl {
    font-size: 4.8vw;
    margin: 4vw 0 0 0;
  }
}

.grm_slider__date {
  font-size: clamp(0rem, 1.4641288433vw, 2rem);
  margin: clamp(0rem, 1.0980966325vw, 1.5rem) 0 0 0;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .grm_slider__date {
    font-size: 4.2666666667vw;
    margin: 4vw 0 0 0;
  }
}

.grm_slider__date span {
  font-size: clamp(0rem, 0.9516837482vw, 1.3rem);
}

@media screen and (max-width: 768px) {
  .grm_slider__date span {
    font-size: 2.6666666667vw;
  }
}

.grm_slider__shop {
  font-size: clamp(0rem, 1.4641288433vw, 2rem);
  margin: clamp(0rem, 1.0980966325vw, 1.5rem) 0 0 0;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .grm_slider__shop {
    font-size: 4vw;
    margin: 4vw;
  }
}

.grm_slider__desc {
  font-size: clamp(0rem, 1.0980966325vw, 1.5rem);
  font-weight: 400;
  margin: clamp(0rem, 1.0980966325vw, 1.5rem) 0 0 0;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .grm_slider__desc {
    width: 90%;
    font-size: 3.7333333333vw;
    margin: 4vw auto 0;
    text-align: left;
  }
}

.banner_area {
  background-color: #fff;
  padding: clamp(0rem, 8.78477306vw, 12rem) 0;
}

@media screen and (max-width: 768px) {
  .banner_area {
    padding: 8vw 0 16vw;
  }
}

.banner_area__list {
  display: flex;
  justify-content: center;
  gap: clamp(0rem, 4.2459736457vw, 5.8rem);
}

@media screen and (max-width: 768px) {
  .banner_area__list {
    flex-direction: column;
    align-items: center;
    gap: 8.8vw;
  }
}

.banner_area__list li {
  width: clamp(0rem, 36.0175695461vw, 49.2rem);
}

@media screen and (max-width: 768px) {
  .banner_area__list li {
    width: 87.2vw;
  }
}

@media (hover: hover) {
  .banner_area__list li a:hover img {
    opacity: 0.7;
  }
}

.banner_area__list li p {
  color: #6e6e6e;
  font-size: clamp(0rem, 1.317715959vw, 1.8rem);
  text-align: center;
  line-height: 1.8;
  margin: 0 0 clamp(0rem, 1.1713030747vw, 1.6rem) 0;
}

@media screen and (max-width: 768px) {
  .banner_area__list li p {
    font-size: 4vw;
    margin: 0 0 2.6666666667vw 0;
  }
}

.banner_area__list li img {
  transition: 0.3s;
}

.fun {
  background-image: url(../img/fgo_bg-pc.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .fun {
    background-image: url(../img/fgo_bg-sp.jpg);
  }
}

.fun__bg {
  padding: clamp(0rem, 9.5900439239vw, 13.1rem) 0 clamp(0rem, 7.906295754vw, 10.8rem);
}

@media screen and (max-width: 768px) {
  .fun__bg {
    padding: 13.6vw 0 17.6vw;
  }
}

.fun__block-01 {
  width: clamp(0rem, 54.0263543192vw, 73.8rem);
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: clamp(0rem, 0.7320644217vw, 1rem);
  padding: clamp(0rem, 4.39238653vw, 6rem) clamp(0rem, 4.39238653vw, 6rem);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .fun__block-01 {
    width: 92.5333333333vw;
    border-radius: 2.3466666667vw;
    padding: 10.6666666667vw 2.6666666667vw 12vw;
  }
}

.fun__block-01__logo {
  width: clamp(0rem, 22.5475841874vw, 432.9136163982px);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .fun__block-01__logo {
    width: 54.9333333333vw;
    height: 39.7333333333vw;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .fun__block-01__logo picture {
    display: block;
    width: 100%;
    height: 100%;
  }
}

.fun__block-01__ttl {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0rem, 2.196193265vw, 3rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin: clamp(0rem, 1.4641288433vw, 2rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .fun__block-01__ttl {
    font-size: 5.3333333333vw;
    margin: 4.5333333333vw 0 0 0;
  }
}

.fun__block-01__desc {
  color: #6e6e6e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0rem, 1.1713030747vw, 1.6rem);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin: clamp(0rem, 1.4641288433vw, 2rem) 0 0 0;
  line-height: 2.2;
  letter-spacing: clamp(0rem, 0.0366032211vw, 0.05rem);
}

@media screen and (max-width: 768px) {
  .fun__block-01__desc {
    font-size: 3.4666666667vw;
    margin: 4.5333333333vw;
    line-height: 2;
  }
}

.fun__block-02 {
  margin: clamp(0rem, 5.1244509517vw, 7rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .fun__block-02 {
    width: 9.0666666667vw 0 0 0;
  }
}

.fun__block-02__logo {
  width: clamp(0rem, 21.2298682284vw, 29rem);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .fun__block-02__logo {
    width: 51.2vw;
  }
}

@media (hover: hover) {
  .fun__block-02__logo a:hover img {
    opacity: 0.7;
  }
}

.fun__block-02__logo img {
  transition: 0.3s;
}

.fun__block-02__add {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0rem, 1.4641288433vw, 2rem);
  text-align: center;
  margin: clamp(0rem, 2.196193265vw, 3rem) 0 0 0;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .fun__block-02__add {
    font-size: 4vw;
    margin: 5.3333333333vw 0 0 0;
  }
}

.fun__block-02__tel {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0rem, 1.4641288433vw, 2rem);
  text-align: center;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .fun__block-02__tel {
    font-size: 4vw;
  }
}

.fun__block-02__desc {
  color: #fff;
  font-size: clamp(0rem, 1.9033674963vw, 2.6rem);
  text-align: center;
  line-height: 2;
  margin: clamp(0rem, 5.1244509517vw, 7rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .fun__block-02__desc {
    font-size: 4.2666666667vw;
    margin: 9.0666666667vw 0 0 0;
  }
}

.fun__block-02__list {
  display: flex;
  justify-content: center;
  gap: clamp(0rem, 2.4158125915vw, 3.3rem);
  margin: clamp(0rem, 1.4641288433vw, 2rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .fun__block-02__list {
    gap: 4.2666666667vw;
    margin: 4.2666666667vw 0 0 0;
  }
}

.fun__block-02__list li {
  width: clamp(0rem, 3.513909224vw, 4.8rem);
}

@media screen and (max-width: 768px) {
  .fun__block-02__list li {
    width: 10.1333333333vw;
  }
}

@media (hover: hover) {
  .fun__block-02__list li a:hover img {
    opacity: 0.7;
  }
}

.fun__block-02__list li img {
  transition: 0.3s;
}

.map__inner {
  width: 100%;
  height: clamp(0rem, 33.2357247438vw, 45.4rem);
}

@media screen and (max-width: 768px) {
  .map__inner {
    height: 66.6666666667vw;
  }
}

.map__inner iframe {
  width: 100%;
  height: 100%;
}

.spgr {
  background-color: #f4f4ee;
  padding: clamp(0rem, 5.8565153734vw, 8rem) 0;
}

@media screen and (max-width: 768px) {
  .spgr {
    padding: 15.2vw 0 12vw;
  }
}

.spgr__logo {
  width: clamp(0rem, 16.6178623719vw, 22.7rem);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .spgr__logo {
    width: 54.4vw;
  }
}

.spgr__text {
  color: #545454;
  font-size: clamp(0rem, 1.8301610542vw, 2.5rem);
  text-align: center;
  line-height: 1.5;
  margin: clamp(0rem, 2.1229868228vw, 2.9rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .spgr__text {
    font-size: 4.5333333333vw;
    line-height: 1.8;
    margin: 8vw 0 0 0;
  }
}

.spgr__text span {
  font-size: clamp(0rem, 1.3909224012vw, 1.9rem);
}

@media screen and (max-width: 768px) {
  .spgr__text span {
    font-size: 4vw;
  }
}

.footer {
  background-color: #fff;
  padding: clamp(0rem, 4.3191800878vw, 5.9rem) 0 clamp(0rem, 0.7320644217vw, 1rem) 0;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 9.6vw 0 2.6666666667vw;
  }
}

.footer__notes {
  width: clamp(0rem, 67.4963396779vw, 92.2rem);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0rem, 0.9516837482vw, 1.3rem);
  font-weight: 300;
  margin: 0 auto;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .footer__notes {
    width: calc(100% - 7.4666666667vw);
    font-size: 2.6666666667vw;
  }
}

.footer__links {
  display: flex;
  justify-content: center;
  margin: clamp(0rem, 6.588579795vw, 9rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .footer__links {
    margin: 9.6vw 0 0 0;
  }
}

.footer__links li {
  border-left: 1px #2a2a2a solid;
  padding: 0 10px;
}

@media screen and (max-width: 768px) {
  .footer__links li {
    border-left: 0.2666666667vw #2a2a2a solid;
    padding: 0 2.6666666667vw;
  }
}

.footer__links li:last-of-type {
  border-right: 1px #2a2a2a solid;
}

@media screen and (max-width: 768px) {
  .footer__links li:last-of-type {
    border-right: 0.2666666667vw #2a2a2a solid;
  }
}

.footer__links li a {
  color: #2a2a2a;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(0rem, 1.2445095168vw, 1.7rem);
}

@media screen and (max-width: 768px) {
  .footer__links li a {
    font-size: 2.9333333333vw;
  }
}

.footer .copy {
  font-size: clamp(0rem, 0.9516837482vw, 1.3rem);
  text-align: center;
  margin: clamp(0rem, 1.4641288433vw, 2rem) 0 0 0;
}

@media screen and (max-width: 768px) {
  .footer .copy {
    font-size: 2.6666666667vw;
    margin: 5.3333333333vw 0 0 0;
  }
}

.footer .copy span {
  font-size: clamp(0rem, 1.2445095168vw, 1.7rem);
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .footer .copy span {
    font-size: 4vw;
  }
}

.page-top {
  width: clamp(0rem, 5.1244509517vw, 7rem);
  height: clamp(0rem, 5.1244509517vw, 7rem);
  display: flex;
  justify-content: center;
  position: fixed;
  bottom: clamp(0rem, 0.9516837482vw, 1.3rem);
  right: clamp(0rem, 3.6603221083vw, 5rem);
  background-color: #552002;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

@media screen and (max-width: 768px) {
  .page-top {
    --footer-overlap: 0px;
    width: 11.4666666667vw;
    height: 11.4666666667vw;
    bottom: calc(2.6666666667vw + var(--footer-overlap));
    right: 5.0666666667vw;
  }
}

.page-top.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.page-top img {
  width: clamp(0rem, 1.6837481698vw, 2.3rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .page-top img {
    width: 3.7333333333vw;
  }
}

.fade-in-out {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.fade-in-out.active {
  opacity: 1;
  transform: translateY(0);
}

.fade-in-out-2 {
  opacity: 0;
  transform: scale(0.8, 0.8);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.fade-in-out-2.active {
  opacity: 1;
  transform: scale(1, 1);
}

@keyframes floatUpDown {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-20px);
  }
}

.float-up-down {
  animation: floatUpDown 3s ease-in-out infinite;
}

.float-up-down-2 {
  animation: floatUpDown 4s ease-in-out infinite;
}