/* ============================
   FV
============================ */

#mv{
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
}
#mv_lottie{
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 20;
}
#mv_lottie svg{
  width: 100% !important;
  height: 100% !important;
}

#mv .fv_img{
  position: absolute;
  opacity: 0;
}
#mv .fv_img.active{
  opacity: 1;
}

#mv .bg_inner{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -1;
  animation: bg_inner 4s ease forwards;
}
@keyframes bg_inner{
  0%{
    opacity: 1;
  }
  70%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}
#mv .fv_img_01{
  top: 11.66vw;
  left: 0;
  width: 100%;
  opacity: 1;
  z-index: 19;
  animation: fv_img_01 8s ease forwards;
}
@keyframes fv_img_01{
  0%{
    top: 11.66vw;
  }
  25%{
    top: 11.66vw;
  }
  60%{
    top: -1.66vw;
  }
  100%{
    top: -1.66vw;
  }
}
#mv .fv_img_02{
  bottom: 11.66vw;
  right: 0;
  width: 100%;
  opacity: 1;
  z-index: 19;
  animation: fv_img_02 8s ease forwards;
}
@keyframes fv_img_02{
  0%{
    bottom: 11.66vw;
  }
  25%{
    bottom: 11.66vw;
  }
  60%{
    bottom: 0;
  }
  100%{
    bottom: 0;
  }
}
#mv .fv_img_03{
  top: 39%;
  left: -2.58vw;
  transform: translateY(-50%);
  transform: translateX(0%);
  width: 38.91vw;
  opacity: 1;
  animation: fv_img_03 8s ease forwards;
  animation-delay: 1.5s;
}
@keyframes fv_img_03{
  0%{
    transform: translateY(-50%);
    transform: translateX(0%);
  }
  5%{
    transform: translateX(0%);
  }
  45%{
    transform: translateY(-50%);
    transform: translateX(0%);
  }
  100%{
    transform: translateY(-50%);
    transform: translateX(0%);
  }
}
#mv .fv_img_04{
  top: 25vw;
  right: 39.16vw;
  width: 5.83vw;
  z-index: 21;
  animation: fv_img_04 4s ease forwards;
}
@keyframes fv_img_04{
  0%{
    opacity: 1;
  }
  50%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}
#mv .fv_img_05{
  top: 16.66vw;
  right: 28.33vw;
  width: 5.83vw;
  z-index: 21;
  animation: fv_img_05 4s ease forwards;
}
@keyframes fv_img_05{
  0%{
    opacity: 1;
  }
  50%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}
#mv .fv_img_06{
  top: 6.83vw;
  left: -1.25vw;
  transform: translateX(-100%);
  width: 24vw;
  z-index: 20;
  animation: fv_img_06 8s ease forwards;
  animation-delay: 1s;
  opacity: 1;
}
@keyframes fv_img_06{
  0%{
    transform: translateX(-100%);
  }
  15%{
    transform: translateX(-100%);
  }
  50%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(0);
  }
}
#mv .fv_img_07{
  top: 7.5vw;
  right: -4.33vw;
  transform: translateX(100%);
  width: 30.41vw;
  z-index: 21;
  animation: fv_img_07 8s ease forwards;
  animation-delay: 1s;
  opacity: 1;
}
@keyframes fv_img_07{
  0%{
    transform: translateX(100%);
  }
  20%{
    transform: translateX(100%);
  }
  50%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(0);
  }
}
#mv .fv_img_08{
  bottom: 4.16vw;
  right: -0;
  transform: translateX(100%);
  width: 30.41vw;
  z-index: 20;
  animation: fv_img_08 8s ease forwards;
  animation-delay: 1s;
  opacity: 1;
}
@keyframes fv_img_08{
  0%{
    transform: translateX(100%);
  }
  20%{
    transform: translateX(100%);
  }
  50%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(0);
  }
}
#mv .fv_img_09{
  position: absolute;
  top: 49%;
  left: 0;
  transform: translateX(-100%);
  width: 20.75vw;
  animation: fv_img_09 8s ease forwards;
  animation-delay: 1.5s;
  opacity: 1;
  z-index: 21;
}
@keyframes fv_img_09{
  0%{
    transform: translateX(-100%);
  }
  25%{
    transform: translateX(-100%);
  }
  50%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(0);
  }
}
#mv .fv_img_10{
  bottom: 1.66vw;
  left: -0;
  width: 21.25vw;
  z-index: 21;
  animation: fv_img_10 8s ease forwards;
  animation-delay: 1.5s;
  opacity: 0;
}
@keyframes fv_img_10{
  0%{
    transform: translateX(-100%);
  }
  20%{
    transform: translateX(-100%);
    opacity: 0;
  }
  45%{
    transform: translateX(0);
    opacity: 1;
  }
  100%{
    transform: translateX(0);
    opacity: 1;
  }
}
/* #mv .fv_img_11{
  top: 23.33vw;
  left: 7.5vw;
  width: 8.83vw;
  z-index: 21;
  animation: fv_img_11 8s ease forwards;
  opacity: 0;
}
@keyframes fv_img_11{
  0%{
    opacity: 0;
  }
  50%{
    opacity: 0;
  }
  60%{
    opacity: 1;
  }
  100%{
    opacity: 1;
  }
} */
#mv .fv_img_12{
  width: 26.75vw;
  top: -14.16vw;
  left: 67%;
  transform: translateX(-50%);
  animation: fv_img_12 8s ease forwards;
  clip-path: inset(0 0 100% 0);
  -webkit-clip-path: inset(0 0 100% 0);
  opacity: 1;
}
@keyframes fv_img_12{
  0%{
    clip-path: inset(0 0 100% 0);
    -webkit-clip-path: inset(0 0 100% 0);
  }
  36%{
    clip-path: inset(0 0 100% 0);
    -webkit-clip-path: inset(0 0 100% 0);
  }
  60%{
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
  100%{
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
}
#mv .fv_img_13{
  width: 110.16vw;
  bottom: -6.91vw;
  left: -1.66vw;
  animation: fv_img_13 8s ease forwards;
  clip-path: inset(0 100% 0 0);
  -webkit-clip-path: inset(0 100% 0 0);
  opacity: 1;
}
@keyframes fv_img_13{
  0%{
    clip-path: inset(0 100% 0 0);
    -webkit-clip-path: inset(0 100% 0 0);
  }
  42%{
    clip-path: inset(0 100% 0 0);
    -webkit-clip-path: inset(0 100% 0 0);
  }
  90%{
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
  100%{
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
}
#mv .fv_img_14{
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120.33vw;
  z-index: 1;
  animation: fv_img_14 8s ease forwards;
}
@keyframes fv_img_14{
  0%{
    opacity: 0;
  }
  60%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
#mv .fv_img_15{
  width: 14.16vw;
  top: 10vw;
  left: -0.83vw;
  animation: fv_img_15 8s ease forwards;
  animation-delay: 2s;
}
@keyframes fv_img_15{
  0%{
    opacity: 0;
  }
  60%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
#mv .fv_img_16{
  width: 42.5vw;
  top: 40%;
  right: -2.5vw;
  transform: translateY(-50%);
  animation: fv_img_16 8s ease forwards;
  animation-delay: 1s;
  opacity: 0;
}
@keyframes fv_img_16{
  0%{
    opacity: 0;
  }
  60%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
#mv .fv_img_17{
  width: 10vw;
  top: 47%;
  right: 15.58vw;
  transform: translateY(-50%);
  animation: fv_img_17 8s ease forwards;
  animation-delay: 2.5s;
  opacity: 0;
}
@keyframes fv_img_17{
  0%{
    opacity: 0;
  }
  60%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
#mv .fv_img_18{
  width: 30vw;
  bottom: 1.41vw;
  left: 9.16vw;
  animation: fv_img_18 8s ease forwards;
  opacity: 1;
}
@keyframes fv_img_18{
  0%{
    opacity: 0;
  }
  45%{
    opacity: 0;
  }
  85%{
    opacity: 1;
  }
  100%{
    opacity: 1;
  }
}
#mv .fv_img_19{
  width: 50.5vw;
  bottom: -1.66vw;
  right: 0px;
  animation: fv_img_19 8s ease forwards;
}
@keyframes fv_img_19{
  0%{
    opacity: 0;
  }
  60%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
#mv .fv_img_20{
  width: 5vw;
  bottom: 10.16vw;
  right: 6.66vw;
  animation: fv_img_20 8s ease forwards;
  z-index: 21;
}
@keyframes fv_img_20{
  0%{
    opacity: 0;
  }
  60%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
#mv .fv_img_21{
  width: 9.66vw;
  top: 2.16vw;
  right: 18.36vw;
  z-index: 21;
  animation: fv_img_21 8s ease forwards;
  animation-delay: 2s;
}
@keyframes fv_img_21{
  0%{
    opacity: 0;
  }
  68%{
    opacity: 0;
  }
  88%{
    opacity: 1;
  }
  100%{
    opacity: 1;
  }
}

/* ============================
   TOPICS
============================ */
#topics{
  margin-top: -1px;
  padding-top: 40px;
  padding-bottom: 100px;
  overflow: hidden;
}
#topics{
  background: #FFF;
}
#topics .topics_ttl{
  width: 194px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}
#topics .topics_slider{
  position: relative;
  z-index: 10;
}
#topics .topics_slider_inner{
  display: flex;
  padding-left: 8%;
  gap: 24px;
  user-select: none;
  -webkit-user-select: none;
}
#topics .topics_slider_item{
  position: relative;
  flex: 0 0 20%;
  min-width: 0;
  overflow: hidden;
  transition: flex-basis 1.2s ease, opacity 1.2s ease, margin-right 1.2s ease;
}
#topics .topics_slider_item.is-active{
  flex: 0 0 40%;
  overflow: visible;
}
/* #topics .topics_slider_item.is-active .topics_slider_bnr{
  height: 343px;
} */
#topics .topics_slider_item.is-prev{
  flex: 0 0 0%;
  margin-right: -24px;
  opacity: 0;
  pointer-events: none;
}
#topics .topics_slider_bnr{
  position: relative;
  z-index: 3;
  /* height: 171px; */
  transition: height 1.2s ease;
}
#topics .topics_slider_bnr img{
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
}
#topics .topics_slider_txt{
  position: absolute;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease, visibility .6s ease, transform .6s ease;
  bottom: 10px;
  right: 30px;
  transform: translateX(60%);
  background: linear-gradient(90deg, #CF1225 0%, #D2BB96 100%);
  width: 400px;
  height: 80px;
  border-top-right-radius: 100px;
  border-bottom-right-radius: 100px;
  z-index: 2;
  padding-left: 4em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#topics .topics_slider_item.is-active .topics_slider_txt{
  opacity: 1;
  visibility: visible;
  transform: translateX(100%);
  transition-delay: .8s;
}
#topics .topics_slider_txt_ttl{
  font-size: 23px;
  font-weight: 500;
  line-height: 1.15;
}
#topics .topics_slider_txt_btn{
  display: block;
  position: absolute;
  bottom: -5px;
  right: 10px;
  transform: translateY(50%);
  background: #231815;
  border-radius: 1000px;
  width: 120px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background-image: linear-gradient(#231815, #231815), linear-gradient(90deg, #D2BB96 0%, #EADCB8 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
#topics .topics_slider_txt_btn span{
  background: linear-gradient(90deg, #D2BB96 0%, #EADCB8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-size: 12px;
}

#about{
  overflow-x: clip;
  z-index: 5;
}
#about .about_inner{
  position: relative;
}
#about .about_conte_txt_wrap{
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 10;
}
#about .about_conte_txt_wrap .about_conte_ttl{
  font-size: 61px;
  text-align: center;
  line-height: 1;
  margin-bottom: 1em;
}
#about .about_conte_txt_wrap .about_conte_txt{
  font-size: 20px;
  font-weight: 100;
  writing-mode: vertical-rl;
  margin-left: auto;
  margin-right: auto;
  line-height: 2.5;
  letter-spacing: 0.08em;
  /* text-shadow: 0px 0px 2px #000; */
}
#about .about_conte_txt_wrap .about_conte_txt .tcy{
  text-combine-upright: all;
}
#about .about_conte_img{
  overflow: hidden;
}
#about .about_conte_img img{
  will-change: transform;
}

#about .about_history{
  position: relative;
  background: url(../images/about_history_bg.png);
  background-size: 100% 100%;
  z-index: 6;
  margin-top: -120px;
}
#about .about_history .about_history_inner{
  position: relative;
  top: -13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 1010px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 100px;
}
#about .about_history .txt_conte .txt_conte_ttl{
  width: 341px;
  margin-top: 100px;
}
#about .about_history .txt_conte .txt_conte_txt{
  width: 460px;
  margin-top: 55px;
}
#about .about_history .img_conte{
  position: relative;
  width: 350px;
  height: 500px;
}
#about .about_history .img_conte .img:nth-child(1){
  position: absolute;
  top: 0;
  right: 0;
  width: 247px;
  will-change: transform;
}
#about .about_history .img_conte .img:nth-child(2){
  position: absolute;
  bottom: 0;
  left: 0;
  width: 270px;
  will-change: transform;
}
#about .about_history .img_conte .img.about_history_parallaxImg_01,
#about .about_history .img_conte .img.about_history_parallaxImg_02{
  opacity: 0;
  filter: grayscale(100%);
  will-change: transform, filter, opacity;
}

#good{
  padding-top: 30px;
  overflow: hidden;
  z-index: 6;
}
#good .good_ttl{
  width: 477px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 45px;
}
#good .good_txt{
  font-size: 20px;
  text-align: center;
  color: #000;
  position: relative;
  z-index: 6;
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin-bottom: 3.8em;
}
#good .good_lists{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 817px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  position: relative;
  z-index: 6;
}
#good .good_list_item{
  position: relative;
  width: 31%;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  text-align: center;
  cursor: pointer;
  opacity: 0.4;
  transition: opacity 0.4s ease;
}
#good .good_list_item .good_list_item_txt{
  position: absolute;
  top: 0;
  left: 40px;
  transform: translate(-50%, -76%);
  width: 90px;
  opacity: 0;
  transition: opacity 0.4s ease;
}
#good .good_list_item.is-active{
  opacity: 1;
}
#good .good_list_item.is-active .good_list_item_txt{
  opacity: 1;
}
#good .good_list_item:nth-child(1){
  background: url(../images/good_list_item_bg_01.png);
  background-size: 100% 100%;
}
#good .good_list_item:nth-child(2){
  background: url(../images/good_list_item_bg_03.png);
  background-size: 100% 100%;
}
#good .good_list_item:nth-child(3){
  background: url(../images/good_list_item_bg_02.png);
  background-size: 100% 100%;
}
#good .good_slider{
  position: relative;
  width: 100%;
  margin: 0 auto 60px;
  padding: 50px 0;
  overflow: hidden;
}
#good .good_slider .swiper-wrapper{
  align-items: center;
}
#good .good_slider .swiper-slide{
  width: 333px;
  transition: transform 0.6s ease;
}
#good .good_slider .swiper-slide-active{
  transform: scale(1.3);
  z-index: 2;
}
#good .good_slider_nav{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 550px;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 3;
}
#good .good_slider_prev,
#good .good_slider_next{
  background: none;
  border: none;
  cursor: pointer;
  pointer-events: auto;
  padding: 0;
  line-height: 1;
}
#good .good_slider_prev img,
#good .good_slider_next img{
  width: 18px;
  display: block;
}
#good .good_slider_prev{
  transform: scaleX(-1);
}

#good .good_area_slider{
  overflow: hidden;
  margin-top: 50px;
}
#good .life_conte{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 42px;
}
#good .good_area._01 .life_conte .life_conte_ttl{
  width: 254px;
}
#good .good_area._02 .life_conte .life_conte_ttl{
  width: 448px;
}
#good .good_area._03 .life_conte .life_conte_ttl{
  width: 265px;
}
#good .life_conte .life_conte_txt{
  display: inline-flex;
  flex-direction: column;
  font-size: 16px;
  gap: 1em;
}
#good .life_conte .life_conte_txt_item span{
  color: #000;
  background: #FFF;
}
#good .slide_txt_conte{
  margin-top: 47px;
}
#good .slide_txt_lists{
  display: flex;
  flex-direction: column;
  gap: .5em;
  font-size: 18px;
}
#good .slide_txt_item{
  position: relative;
  padding: .2em 0;
}
#good .good_area._01 .slide_txt_item{
  background: linear-gradient(to right, #CF1225, #D2BB96);
}
#good .good_area._02 .slide_txt_item{
  background: linear-gradient(to right, #6C728D, #225667);
}
#good .good_area._03 .slide_txt_item{
  background: linear-gradient(to right, #D2BB96, #AD8620);
}
#good .slide_txt_ttl{
  position: absolute;
  top: 50%;
  left: 170px;
  transform: translateY(-50%);
  background: #FFF;
  border-radius: 1000px;
  z-index: 10;
  line-height: 1;
  font-size: 17px;
  padding: 0.2em 1em;
}
#good .good_area._01 .slide_txt_ttl{
  color: #D04245;
}
#good .good_area._02 .slide_txt_ttl{
  color: #31435C;
}
#good .good_area._03 .slide_txt_ttl{
  color: #BD9264;
}
#good .slide_txt_txt{
  overflow: hidden;
  white-space: nowrap;
}
#good .slide_txt_txt .marquee_inner{
  display: inline-flex;
  will-change: transform;
}
#good .slide_txt_txt .marquee_text{
  flex-shrink: 0;
}
#special{
  padding-top: 200px;
  /* padding-bottom: 100px; */
  overflow-x: clip;
}
#special .special_ttl{
  width: 1011px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 10;
}
#special .special_inner{
  background: #000;
  padding-bottom: 50px;
}
#special .special_inner .special_bnr{
  position: relative;
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
  z-index: 10;
}
#special .btn_special_reservation{
  width: 650px;
  height: 60px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #231815;
  background-image: linear-gradient(90deg, #D2BB96 0%, #EADCB8 100%), linear-gradient(90deg, #D2BB96 0%, #EADCB8 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 10px;
}
#special .btn_special_reservation span{
  color: #231815;
  font-size: 22px;
  letter-spacing: 0.1em;
}

.vector{
  position: absolute;
  pointer-events: none;
}
.vector_01{
  width: 100%;
  top: 60px;
  right: 0;
}
.vector_02{
  width: 106px;
  top: 5px;
  right: 80px;
}
.vector_03{
  width: 170px;
  top: 80px;
  left: -20px;
}
.vector_04{
  width: 384px;
  right: -70px;
  top: 200px;
  z-index: 2;
}
.vector_05{
  width: 436px;
  top: 270px;
  right: 9px;
  z-index: 1;
}
.vector_06{
  width: 100%;
  height: 200px;
  top: -32px;
  left: 0;
  z-index: 4;
}
.vector_06 img{
  height: 100%;
}
.vector_07{
  width: 517px;
  top: -39px;
  left: 5px;
  z-index: 5;
}
.vector_08{
  width: 362px;
  top: -12px;
  right: 50px;
  z-index: 3;
}
.vector_09{
  width: 324px;
  bottom: -30px;
  left: 0;
  z-index: 7;
}
.vector_10{
  width: 312px;
  bottom: -708px;
  right: -100px;
  z-index: 5;
}
.vector_11{
  width: 100%;
  top: 261px;
  left: 0;
  z-index: 0;
}
.vector_12{
  width: 130px;
  top: 80px;
  left: 0;
  z-index: 3;
}
.vector_14{
  width: 819px;
  top: 174px;
  right: 0;
  z-index: 0;
}
.vector_15{
  width: 302px;
  top: 365px;
  left: -30px;
}
.vector_17{
  width: 548px;
  top: 337px;
  right: 0;
  z-index: -1;
}
.vector_18{
  width: 548px;
  top: 673px;
  left: 0;
}
.vector_19{
  width: 324px;
  top: 294px;
  left: 0;
  z-index: -1;
}
.vector_20{
  width: 258px;
  right: 22px;
  top: 363px;
}
.vector_21{
  width: 302px;
  right: -35px;
  top: 869px;
  z-index: 11;
}
.vector_22{
  width: 240px;
  bottom: 110px;
  left: -10px;
  z-index: 11;
}


.floating_btn_wrap{
  position: fixed;
  top: 50%;
  right: -1px;
  transform: translateY(-50%);
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.btn_reservation{
  display: block;
  width: 50px;
  height: 190px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #231815;
  background-image: linear-gradient(90deg, #D2BB96 0%, #EADCB8 100%), linear-gradient(90deg, #D2BB96 0%, #EADCB8 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.btn_reservation span{
  color: #231815;
  font-size: 18px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.1em;
}
.btn_search{
  display: block;
  width: 50px;
  height: 190px;
  background: #231815;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background-image: linear-gradient(#231815, #231815), linear-gradient(90deg, #D2BB96 0%, #EADCB8 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.btn_search span{
  background: linear-gradient(90deg, #D2BB96 0%, #EADCB8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-size: 18px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.1em;
}

.floating_top{
  display: block;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 80px;
  z-index: 100;
}

@media(max-width:1200px){
  /* ============================
     TOPICS
  ============================ */
  #topics{
    padding-top: 3.33vw;
    padding-bottom: 8.33vw;
  }
  #topics .topics_ttl{
    width: 16.16vw;
    margin-bottom: 3.33vw;
  }

  /* #topics .topics_slider_item.is-active .topics_slider_bnr{
    height: 28.58vw;
  } */
  /* #topics .topics_slider_bnr{
    height: 14.25vw;
  } */

  #topics .topics_slider_txt{
    bottom: 0.83vw;
    right: 2.5vw;
    width: 33.33vw;
    height: 6.66vw;
  }
  #topics .topics_slider_txt_ttl{
    font-size: 1.91vw;
  }
  #topics .topics_slider_txt_btn{
    bottom: -0.41vw;
    right: 0.83vw;
    width: 10vw;
    height: 2.5vw;
  }
  #topics .topics_slider_txt_btn span{
    font-size: 1vw;
  }
  
  #about .about_conte_txt_wrap .about_conte_ttl{
    font-size: 5.08vw;
  }
  #about .about_conte_txt_wrap .about_conte_txt{
    font-size: 1.66vw;
  }
  
  #about .about_history{
    margin-top: -10vw;
  }
  #about .about_history .about_history_inner{
    top: -1.08vw;
    width: 84.16vw;
    padding-bottom: 8.33vw;
  }
  #about .about_history .txt_conte .txt_conte_ttl{
    width: 28.41vw;
    margin-top: 8.33vw;
  }
  #about .about_history .txt_conte .txt_conte_txt{
    width: 38.33vw;
    margin-top: 4.58vw;
  }
  #about .about_history .img_conte{
    width: 29.16vw;
    height: 41.66vw;
  }
  #about .about_history .img_conte .img:nth-child(1){
    width: 20.58vw;
  }
  #about .about_history .img_conte .img:nth-child(2){
    width: 22.5vw;
  }
  
  #good{
    padding-top: 2.5vw;
  }
  #good .good_ttl{
    width: 39.75vw;
    margin-bottom: 3.75vw;
  }
  #good .good_txt{
    font-size: 1.66vw;
  }
  #good .good_lists{
    width: 68.08vw;
    margin-bottom: 2.5vw;
  }
  #good .good_list_item{
    height: 3.66vw;
    font-size: 1.66vw;
  }
  #good .good_list_item .good_list_item_txt{
    left: 3.33vw;
    width: 7.5vw;
  }
  #good .good_slider{
    margin: 0 auto 5vw;
    padding: 4.16vw 0;
  }
  #good .good_slider .swiper-slide{
    width: 27.75vw;
  }
  #good .good_slider_nav{
    width: 45.83vw;
  }
  #good .good_slider_prev img,
  #good .good_slider_next img{
    width: 1.5vw;
  }
  
  #good .good_area_slider{
    margin-top: 4.16vw;
  }
  #good .life_conte{
    gap: 3.5vw;
  }
  #good .good_area._01 .life_conte .life_conte_ttl{
    width: 21.16vw;
  }
  #good .good_area._02 .life_conte .life_conte_ttl{
    width: 37.33vw;
  }
  #good .good_area._03 .life_conte .life_conte_ttl{
    width: 22.08vw;
  }
  #good .life_conte .life_conte_txt{
    font-size: 1.33vw;
  }
  #good .slide_txt_conte{
    margin-top: 3.91vw;
  }
  #good .slide_txt_lists{
    font-size: 1.5vw;
  }
  #good .slide_txt_ttl{
    left: 14.16vw;
    font-size: 1.41vw;
  }
  #special{
    padding-top: 16.66vw;
  }
  #special .special_ttl{
    width: 84.25vw;
  }

  #special .special_inner{
    padding-bottom: 4.16vw;
  }
  #special .special_inner .special_bnr{
    width: 100vw;
  }
  #special .btn_special_reservation{
    width: 54.16vw;
    height: 5vw;
  }
  #special .btn_special_reservation span{
    font-size: 1.83vw;
  }
  
  .vector_01{
    top: 5vw;
  }
  .vector_02{
    width: 8.83vw;
    top: 0.41vw;
    right: 6.66vw;
  }
  .vector_03{
    width: 14.16vw;
    top: 6.66vw;
    left: -1.66vw;
  }
  .vector_04{
    width: 32vw;
    right: -5.83vw;
    top: 16.66vw;
  }
  .vector_05{
    width: 36.33vw;
    top: 22.5vw;
    right: 0.75vw;
  }
  .vector_06{
    top: -2.66vw;
    height: 16.66vw;
  }
  .vector_07{
    width: 43.08vw;
    top: -3.25vw;
    left: 0.41vw;
  }
  .vector_08{
    width: 30.16vw;
    top: -1vw;
    right: 4.16vw;
  }
  .vector_09{
    width: 27vw;
    bottom: -2.5vw;
  }
  .vector_10{
    width: 26vw;
    bottom: -59vw;
    right: -8.33vw;
  }
  .vector_11{
    top: 21.75vw;
  }
  .vector_12{
    width: 10.83vw;
    top: 6.66vw;
  }
  .vector_14{
    width: 68.25vw;
    top: 14.5vw;
  }
  .vector_15{
    width: 25.16vw;
    top: 30.41vw;
    left: -2.5vw;
  }
  .vector_17{
    width: 45.66vw;
    top: 28.08vw;
  }
  .vector_18{
    width: 45.66vw;
    top: 56.08vw;
  }
  .vector_19{
    width: 27vw;
    top: 24.5vw;
  }
  .vector_20{
    width: 21.5vw;
    right: 1.83vw;
    top: 30.25vw;
  }
  .vector_21{
    width: 25.16vw;
    right: -2.91vw;
    top: 72.41vw;
  }
  .vector_22{
    width: 20vw;
    bottom: 9.16vw;
    left: -0.83vw;
  }
  
  
  /* .btn_reservation{
    width: 4.16vw;
    height: 15.83vw;
  }
  .btn_reservation span{
    font-size: 1.5vw;
  } */

  .floating_top{
    bottom: 1.66vw;
    right: 1.66vw;
    width: 6.66vw;
  }
}

@media(max-width:750px){
  /* ============================
    FV
  ============================ */

  #mv_lottie{
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200%;
  }

  #mv .bg_inner{
    animation: bg_inner 6s ease forwards;
  }
  @keyframes bg_inner{
    0%{
      opacity: 1;
    }
    70%{
      opacity: 1;
    }
    100%{
      opacity: 0;
    }
  }
  #mv .fv_img_01{
    top: 46.64vw;
    width: 180%;
    left: 50%;
    transform: translateX(-62%);
    opacity: 1;
    z-index: 19;
    animation: fv_img_01 8s ease forwards;
  }
  @keyframes fv_img_01{
    0%{
      top: 46.64vw;
    }
    25%{
      top: 46.64vw;
    }
    60%{
      top: 0vw;
    }
    100%{
      top: 0vw;
    }
  }
  #mv .fv_img_02{
    bottom: 46.64vw;
    right: 0;
    width: 100%;
    opacity: 1;
    z-index: 19;
    animation: fv_img_02 8s ease forwards;
  }
  @keyframes fv_img_02{
    0%{
      bottom: 46.64vw;
    }
    25%{
      bottom: 46.64vw;
    }
    60%{
      bottom: 0;
    }
    100%{
      bottom: 0;
    }
  }
  #mv .fv_img_03{
    top: auto;
    bottom: 37vw;
    left: -6.58vw;
    width: 74.91vw;
    animation: fv_img_03 8s ease forwards;
    animation-delay: 0;
    transform: translateX(-100%);
  }
  @keyframes fv_img_03{
    0%{
      transform: translateY(-50%);
      transform: translateX(-100%);
    }
    45%{
      transform: translateY(-50%);
      transform: translateX(-100%);
    }
    85%{
      transform: translateX(0%);
    }
    100%{
      transform: translateY(-50%);
      transform: translateX(0%);
    }
  }
  #mv .fv_img_04{
    top: 54vw;
    right: 39.16vw;
    width: 7.83vw;
    z-index: 21;
    animation: fv_img_04 4s ease forwards;
  }
  @keyframes fv_img_04{
    0%{
      opacity: 1;
    }
    50%{
      opacity: 1;
    }
    100%{
      opacity: 0;
    }
  }
  #mv .fv_img_05{
    top: 45.66vw;
    right: 28.33vw;
    width: 11.66vw;
    z-index: 21;
    animation: fv_img_05 4s ease forwards;
  }
  @keyframes fv_img_05{
    0%{
      opacity: 1;
    }
    50%{
      opacity: 1;
    }
    100%{
      opacity: 0;
    }
  }
  #mv .fv_img_06{
    top: 31.83vw;
    left: -14.25vw;
    width: 57.5vw;
    animation: fv_img_06 8s ease forwards;
    animation-delay: 1s;
  }
  @keyframes fv_img_06{
    0%{
      transform: translateX(-100%);
    }
    15%{
      transform: translateX(-100%);
    }
    50%{
      transform: translateX(0);
    }
    100%{
      transform: translateX(0);
    }
  }
  #mv .fv_img_07{
    top: 15.5vw;
    right: -8.33vw;
    width: 52.41vw;
    z-index: 21;
    animation: fv_img_07 8s ease forwards;
    animation-delay: 1s;
  }
  @keyframes fv_img_07{
    0%{
      transform: translateX(100%);
    }
    20%{
      transform: translateX(100%);
    }
    50%{
      transform: translateX(0);
    }
    100%{
      transform: translateX(0);
    }
  }
  #mv .fv_img_08{
    bottom: 5.16vw;
    right: -4vw;
    transform: translateX(100%);
    width: 60.41vw;
    z-index: 20;
    animation: fv_img_08 8s ease forwards;
    animation-delay: 1s;
    opacity: 1;
  }
  @keyframes fv_img_08{
    0%{
      transform: translateX(100%);
    }
    20%{
      transform: translateX(100%);
    }
    50%{
      transform: translateX(0);
    }
    100%{
      transform: translateX(0);
    }
  }
  #mv .fv_img_09{
    position: absolute;
    top: auto;
    bottom: 44vw;
    left: -3vw;
    transform: translateX(-100%);
    width: 32.75vw;
    animation: fv_img_09 8s ease forwards;
    animation-delay: 1.5s;
    opacity: 1;
    z-index: 21;
  }
  @keyframes fv_img_09{
    0%{
      transform: translateX(-100%);
    }
    25%{
      transform: translateX(-100%);
    }
    50%{
      transform: translateX(0);
    }
    100%{
      transform: translateX(0);
    }
  }
  #mv .fv_img_10{
    bottom: 10.66vw;
    left: -4vw;
    width: 47.25vw;
    z-index: 21;
    animation: fv_img_10 8s ease forwards;
    animation-delay: 1.5s;
  }
  @keyframes fv_img_10{
    0%{
      transform: translateX(-100%);
    }
    20%{
      transform: translateX(-100%);
      opacity: 0;
    }
    45%{
      transform: translateX(0);
      opacity: 1;
    }
    100%{
      transform: translateX(0);
      opacity: 1;
    }
  }
  #mv .fv_img_11{
    bottom: 66vw;
    right: 7vw;
    width: 15.83vw;
    z-index: 21;
    animation: fv_img_11 8s ease forwards;
    animation-delay: 1s;
    opacity: 0;
  }
  @keyframes fv_img_11{
    0%{
      opacity: 0;
    }
    70%{
      opacity: 0;
    }
    100%{
      opacity: 1;
    }
  }
  #mv .fv_img_12{
    width: 43.75vw;
    top: 28.84vw;
    left: 94%;
    transform: translateX(-50%);
    animation: fv_img_12 8s ease forwards;
    animation-delay: 1s;
    clip-path: inset(0 0 100% 0);
    -webkit-clip-path: inset(0 0 100% 0);
    opacity: 1;
  }
  @keyframes fv_img_12{
    0%{
      clip-path: inset(0 0 100% 0);
      -webkit-clip-path: inset(0 0 100% 0);
    }
    36%{
      clip-path: inset(0 0 100% 0);
      -webkit-clip-path: inset(0 0 100% 0);
    }
    60%{
      clip-path: inset(0 0 0 0);
      -webkit-clip-path: inset(0 0 0 0);
    }
    100%{
      clip-path: inset(0 0 0 0);
      -webkit-clip-path: inset(0 0 0 0);
    }
  }
  #mv .fv_img_13{
    width: 150.16vw;
    bottom: 43.09vw;
    left: -31.66vw;
    animation: fv_img_13 8s ease forwards;
    clip-path: inset(0 100% 0 0);
    -webkit-clip-path: inset(0 100% 0 0);
    opacity: 1;
    z-index: -1;
  }
  @keyframes fv_img_13{
    0%{
      clip-path: inset(0 100% 0 0);
      -webkit-clip-path: inset(0 100% 0 0);
    }
    42%{
      clip-path: inset(0 100% 0 0);
      -webkit-clip-path: inset(0 100% 0 0);
    }
    90%{
      clip-path: inset(0 0 0 0);
      -webkit-clip-path: inset(0 0 0 0);
    }
    100%{
      clip-path: inset(0 0 0 0);
      -webkit-clip-path: inset(0 0 0 0);
    }
  }
  #mv .fv_img_14{
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 241.33vw;
    z-index: -1;
    animation: fv_img_14 8s ease forwards;
  }
  @keyframes fv_img_14{
    0%{
      opacity: 0;
    }
    60%{
      opacity: 0;
    }
    100%{
      opacity: 1;
    }
  }
  #mv .fv_img_15{
    width: 21.16vw;
    top: 60vw;
    left: -1.83vw;
    animation: fv_img_15 8s ease forwards;
    animation-delay: 1s;
  }
  @keyframes fv_img_15{
    0%{
      opacity: 0;
    }
    60%{
      opacity: 0;
    }
    100%{
      opacity: 1;
    }
  }
  #mv .fv_img_18{
    width: 66vw;
    bottom: 14vw;
    left: -15.84vw;
    animation: fv_img_18 8s ease forwards;
    opacity: 1;
    z-index: -1;
  }
  @keyframes fv_img_18{
    0%{
      opacity: 0;
    }
    45%{
      opacity: 0;
    }
    85%{
      opacity: 1;
    }
    100%{
      opacity: 1;
    }
  }
  #mv .fv_img_20{
    width: 8vw;
    bottom: 23.36vw;
    right: 9.36vw;
    animation: fv_img_20 8s ease forwards;
  }
  @keyframes fv_img_20{
    0%{
      opacity: 0;
    }
    60%{
      opacity: 0;
    }
    100%{
      opacity: 1;
    }
  }
  #mv .fv_img_21{
    width: 17.66vw;
    top: 26.16vw;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    animation: fv_img_21 8s ease forwards;
    animation-delay: 2s;
  }
  @keyframes fv_img_21{
    0%{
      opacity: 0;
    }
    68%{
      opacity: 0;
    }
    88%{
      opacity: 1;
    }
    100%{
      opacity: 1;
    }
  }


  #topics{
    padding-top: 10.15vw;
    padding-bottom: 8.88vw;
  }
  #topics .topics_ttl{
    width: 40.60vw;
    margin-bottom: 7.61vw;
  }
  #topics .topics_slider{
    height: auto;
  }

  #topics .topics_slider_item.is-active .topics_slider_bnr{
    height: auto;
  }

  #topics .topics_slider_inner{
    position: relative;
    display: block;
    padding-left: 0;
    gap: 0;
  }
  #topics .topics_slider_item{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease;
    margin-right: 0;
  }
  #topics .topics_slider_item.is-active{
    position: relative;
    opacity: 1;
    pointer-events: auto;
  }
  #topics .topics_slider_item.is-prev{
    position: absolute;
    opacity: 0;
    pointer-events: none;
    margin-right: 0;
  }
  #topics .topics_slider_bnr{
    position: relative;
    z-index: 3;
    width: 90%;
    /* height: 77.15vw; */
    transition: none;
    margin-left: auto;
    margin-right: auto;
  }
  #topics .topics_slider_txt{
    position: relative;
    bottom: auto;
    right: auto;
    left: 0;
    transform: none !important;
    width: 98%;
    height: auto;
    padding: 3.5vw 0;
    align-items: center;
    justify-content: center;
    opacity: 1 !important;
    visibility: visible !important;
    transition: none;
    margin-top: 2vw;
  }
  #topics .topics_slider_txt_ttl{
    font-size: 4.2vw;
    line-height: 1.3;
  }
  #topics .topics_slider_txt_btn{
    position: absolute;
    bottom: -1.26vw;
    right: -2vw;
    width: 30.45vw;
    height: 7.61vw;
  }
  #topics .topics_slider_txt_btn span{
    font-size: 2.8vw;
  }

  /* サムネイル */
  #topics .topics_slider_thumbs{
    display: flex;
    gap: 2.5vw;
    padding: 8vw 4vw 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #topics .topics_slider_thumbs::-webkit-scrollbar{
    display: none;
  }
  #topics .topics_slider_thumbs .thumb_item{
    flex: 0 0 36%;
    border-radius: 1.5vw;
    overflow: hidden;
    opacity: 0.5;
    transition: opacity 0.3s ease;
    cursor: pointer;
  }
  #topics .topics_slider_thumbs .thumb_item.is-active{
    opacity: 1;
  }
  #topics .topics_slider_thumbs .thumb_item img{
    display: block;
    width: 100%;
    height: 26.9vw;
    object-fit: cover;
  }

  #about .about_conte_txt_wrap{
    top: 47%;
    width: 76%;
    margin-left: auto;
    margin-right: auto;
  }
  #about .about_conte_txt_wrap .about_conte_ttl{
    font-size: 9.15vw;
    text-align: left;
    line-height: 1.3;
    white-space: nowrap;
  }
  #about .about_conte_txt_wrap .about_conte_txt{
    font-size: 3.5vw;
    writing-mode: horizontal-tb;
    line-height: 2;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }
  #about .about_history{
    background: url(../images/about_history_bg_sp.png);
    background-size: 100% 100%;
    margin-top: -30vw;
  }
  #about .about_history .about_history_inner{
    top: 0;
    display: block;
    width: 85.6vw;
    padding-top: 31vw;
    padding-bottom: 20vw;
  }
  #about .about_history .txt_conte .txt_conte_ttl{
    width: 100%;
    margin-top: 0;
  }
  #about .about_history .txt_conte .txt_conte_txt{
    width: 75.48vw;
    margin-top: 8.15vw;
  }
  #about .about_history .img_conte{
    width: 100%;
    height: 103.04vw;
    margin-top: 6vw;
  }
  #about .about_history .img_conte .img:nth-child(1){
    width: 50vw;
  }
  #about .about_history .img_conte .img:nth-child(2){
    width: 57.61vw;
  }

  #good{
    padding-top: 21.57vw;
  }
  #good .good_ttl{
    width: 86.54vw;
    margin-bottom: 5.07vw;
  }
  #good .good_txt{
    font-size: 3.56vw;
    letter-spacing: 0.02em;
    line-height: 1.7;
    margin-bottom: 4.5em;
  }
  #good .good_lists{
    width: 93.95vw;
    margin-bottom: 8.88vw;
  }
  #good .good_list_item{
    width: 31.7%;
    height: 9.42vw;
    font-size: 3.47vw;
  }
  #good .good_list_item .good_list_item_txt{
    left: 5.9vw;
    width: 17vw;
    transform: translate(-50%, -85%);
  }
  #good .good_slider{
    margin: 0 auto 0;
    padding: 6.5vw 0;
  }
  #good .good_slider .swiper-slide{
    width: 43.65vw;
  }
  #good .good_slider .swiper-slide-active{
    transform: scale(1.3);
  }
  #good .good_slider_nav{
    width: 72.69vw;
  }
  #good .good_slider_prev img,
  #good .good_slider_next img{
    width: 4.06vw;
  }
  
  #good .good_area_slider{
    margin-top: 7.61vw;
  }
  #good .life_conte{
    flex-direction: column;
    align-items: start;
    gap: 5.07vw;
    width: 86%;
    margin-left: auto;
    margin-right: auto;
  }
  #good .good_area .life_conte .life_conte_ttl{
    margin-left: 0;
    margin-right: auto;
  }
  #good .good_area._01 .life_conte .life_conte_ttl{
    width: 41.25vw;
  }
  #good .good_area._02 .life_conte .life_conte_ttl{
    width: 72.768vw;
  }
  #good .good_area._03 .life_conte .life_conte_ttl{
    width: 43.04vw;
  }
  #good .life_conte .life_conte_txt{
    font-size: 3.5vw;
    white-space: nowrap;
    gap: .6em;
  }
  #good .slide_txt_conte{
    margin-top: 8.37vw;
  }
  #good .slide_txt_lists{
    gap: .5em;
    font-size: 3.25vw;
  }
  #good .slide_txt_ttl{
    left: 1.77vw;
    font-size: 3.2vw;
    padding: 0.2em 0.8em;
  }

  #special{
    padding-top: 35.53vw;
    /* padding-bottom: 100px; */
  }
  #special .special_inner {
    margin-top: 3vw;
  }
  #special .special_ttl{
    width: 100%;
  }
  #special .special_inner{
    padding-bottom: 12vw;
  }
  #special .special_inner .special_bnr{
    width: 100%;
  }
  #special .btn_special_reservation{
    width: 70vw;
    height: 10vw;
  }
  #special .btn_special_reservation span{
    font-size: 4.2vw;
  }


  .vector_01{
    top: 18vw;
  }
  .vector_03{
    width: 27vw;
    top: 6vw;
    left: -3vw;
  }
  .vector_06{
    width: 268%;
    top: -11vw;
    left: 22%;
    transform: translateX(-50%);
  }
  .vector_07{
    width: 517px;
    top: -39px;
    left: 5px;
  }
  .vector_08{
    width: 55vw;
    top: 80vw;
    right: 0;
  }
  .vector_09{
    width: 77vw;
    bottom: -6vw;
    left: -14vw;
  }
  .vector_10{
    width: 37vw;
    bottom: -75vw;
    right: -1vw;
  }
  .vector_11{
    width: 150%;
    top: 86vw;
    left: 50%;
    transform: translateX(-50%);
  }
  .vector_14{
    width: 120vw;
    top: -20vw;
    right: 0;
    z-index: 0;
  }
  .vector_17{
    width: 59vw;
    top: 91vw;
    right: 0;
  }
  .vector_18{
    width: 60vw;
    top: 136vw;
    left: -10vw;
  }
  .vector_21{
    width: 76.64vw;
    right: -18vw;
    top: 11vw;
  }


  .btn_reservation{
    width: 8.79vw;
    height: 39.84vw;
  }
  .btn_reservation span{
    font-size: 3.5vw;
  }

  .btn_search{
    width: 8.79vw;
    height: 39.84vw;
  }
  .btn_search span{
    font-size: 3.5vw;
  }

  .floating_top{
    bottom: 4.66vw;
    right: 1.66vw;
    width: 12vw;
  }
}