﻿.con_search .box_sea, .con_intro .box_txt, .con_guestroom, .con_stay .box_sta, .con_restaurant .box_list .wrp_list, .con_resort .box_res, .con_access, .con_packages .box_pac, .con_topics_inner, .con_banner {
  max-width: 1200px;
  margin: auto
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea, .con_intro .box_txt, .con_guestroom, .con_stay .box_sta, .con_restaurant .box_list .wrp_list, .con_resort .box_res, .con_access, .con_packages .box_pac, .con_topics, .con_banner {
    width: 87.5%
  }
}
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?3o90il");
  src: url("../fonts/icomoon.eot?3o90il#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?3o90il") format("truetype"), url("../fonts/icomoon.woff?3o90il") format("woff"), url("../fonts/icomoon.svg?3o90il#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block
}
.con_guestroom .box_gue .prev, .con_guestroom .box_gue .next, .con_restaurant .box_list .wrp_list #js-restaurantList .prev, .con_restaurant .box_list .wrp_list #js-restaurantList .next {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  background: #fff;
  border-radius: 50%;
  font-size: 215%;
  box-sizing: border-box;
  transition: opacity 500ms ease
}
.con_guestroom .box_gue .prev:hover, .con_guestroom .box_gue .next:hover, .con_restaurant .box_list .wrp_list #js-restaurantList .prev:hover, .con_restaurant .box_list .wrp_list #js-restaurantList .next:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: .7
}
@-webkit-keyframes scroll {
  0% {
    top: 0;
    height: 0
  }
  50% {
    top: 0;
    height: 100%
  }
  80% {
    top: 100%;
    height: 100%
  }
  100% {
    top: 100%;
    height: 100%
  }
}
@-moz-keyframes scroll {
  0% {
    top: 0;
    height: 0
  }
  50% {
    top: 0;
    height: 100%
  }
  80% {
    top: 100%;
    height: 100%
  }
  100% {
    top: 100%;
    height: 100%
  }
}
@keyframes scroll {
  0% {
    top: 0;
    height: 0
  }
  50% {
    top: 0;
    height: 100%
  }
  80% {
    top: 100%;
    height: 100%
  }
  100% {
    top: 100%;
    height: 100%
  }
}
.js-bubble img {
  transition: transform 1000ms ease !important
}
main {
  width: 100%;
  height: auto
}
@media only screen and (max-width: 767px) {
  main {
    overflow: hidden
  }
}
.con_mainimg .box_img h2 {
  position: absolute;
  color: #fff;
  font-size: 2.083vw;
  line-height: 2;
  letter-spacing: 0.15em;
  margin-left: 5.208vw;
  font-weight: 500;
  top: calc(50% - 80px);
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .con_mainimg .box_img h2 {
    font-size: 26px;
    margin-left: 30px;
    top: 55vh;
  }
}
.con_mainimg .wrp_news {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 45vw;
  background: #fff;
  box-sizing: border-box;
  translate: 1000ms opacity;
}
.con_mainimg .wrp_news a {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  text-decoration: none;
  align-items: stretch;
  padding: 0;
}
.con_mainimg .wrp_news a:after {
  content: "";
  margin-left: .5em;
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  right: 4.375%;
  line-height: 1;
  margin-top: -.1075em;
  line-height: .215;
  transition: transform 500ms ease
}
.con_mainimg .wrp_news a span.news_title {
  padding: 15px 20px;
  margin-right: 20px;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1;
  color: #fff;
  background: #407292;
  font-family: 'MADEMirage', serif;
  display: flex;
  align-items: center;
}
.con_mainimg .wrp_news a i {
  color: #407292;
  margin-right: 20px;
  display: flex;
  align-items: center;
}
.con_mainimg .wrp_news a span.marquee {
  overflow: hidden;
  margin-right: 40px;
  display: flex;
  align-items: center;
  line-height: 1.5
}
@media only screen and (max-width: 767px) {
  .con_mainimg .wrp_news {
    width: 100%;
  }
  .con_mainimg .wrp_news a em {
    display: inline-block;
    padding-left: 100%;
    white-space: nowrap;
    animation: marquee 8s linear infinite;
  }
}
@keyframes marquee {
  0% {
    transform: translate(0);
  }
  100% {
    transform: translate(-100%);
  }
}
.con_mainimg .scroll {
  overflow: hidden;
  position: absolute;
  left: 5.469vw;
  bottom: 4.688vw;
  z-index: 2;
  height: 5.208vw;
}
.con_mainimg .scroll a {
  position: relative;
  display: block;
  width: 1px;
  height: 100%;
  border-left: 1px solid transparent
}
.con_mainimg .scroll a:after {
  content: '';
  position: absolute;
  left: -1px;
  top: 0;
  width: 1px;
  height: 100%;
  background: #fff;
  -moz-animation-name: scroll;
  -webkit-animation-name: scroll;
  animation-name: scroll;
  -moz-animation-duration: 2000ms;
  -webkit-animation-duration: 2000ms;
  animation-duration: 2000ms;
  -moz-animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
  -moz-animation-delay: 0ms;
  -webkit-animation-delay: 0ms;
  animation-delay: 0ms;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -moz-animation-fill-mode: none;
  -webkit-animation-fill-mode: none;
  animation-fill-mode: none
}
@media only screen and (max-width: 767px) {
  .con_mainimg .scroll {
    left: 30px;
    bottom: 65px;
    height: 50px;
  }
}
.con_search {
  position: relative;
  padding: 100px 0
}
@media only screen and (max-width: 767px) {
  .con_search {
    padding: 40px 30px
  }
}
.con_search:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -2;
  width: 100%;
  height: 138.88889%;
}
.con_search .box_sea {
  width: min(70vw, 1150px);
  padding: 0 1.302vw;
}
.con_search .box_sea #js-tabSearch {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #B3B3B3;
}
.con_search .box_sea #js-tabSearch li {
  width: calc(97% / 4);
  position: relative;
}
.con_search .box_sea #js-tabSearch li a, .con_search .box_sea #js-tabSearch li span {
  cursor: pointer;
  display: block;
  padding: .875em 0;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  color: #3F3F3F;
  letter-spacing: .08em;
  transition: background 500ms ease, color 500ms ease;
  background: #D9D9D9;
  border-top: 1px solid #D9D9D9;
  border-right: 1px solid #D9D9D9;
  border-left: 1px solid #D9D9D9;
  border-radius: 10px 10px 0 0;
  font-size: .813rem
}
.con_search .box_sea #js-tabSearch li a.active, .con_search .box_sea #js-tabSearch li a:hover, .con_search .box_sea #js-tabSearch li span.active, .con_search .box_sea #js-tabSearch li span:hover {
  background: #fff;
  border-top: 1px solid #B3B3B3;
  border-right: 1px solid #B3B3B3;
  border-left: 1px solid #B3B3B3;
}
.con_search .box_sea #js-tabSearch li:has(a.active):after, .con_search .box_sea #js-tabSearch li:has(span.active):after {
  content: "";
  height: 1px;
  background: #fff;
  position: absolute;
  width: 100%;
  bottom: -1px;
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea #js-tabSearch li a, .con_search .box_sea #js-tabSearch li span {
    font-size: 100%
  }
}
.con_search .box_sea #js-tabSearch li + li {
  margin-left: 1px
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea #js-tabSearch li + li {
    margin-left: 1%
  }
}
.con_search .box_sea #js-panelSearch {
  padding: 30px 0;
  box-sizing: border-box;
  background: #fff
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea #js-panelSearch {
    padding: 4.16667%
  }
}
.con_search .box_sea #js-panelSearch .panel {
  display: none
}
.con_search .box_sea #js-panelSearch .panel:first-child {
  display: block
}
.con_search .box_sea #js-panelSearch .panel.restaurant .inner, .con_search .box_sea #js-panelSearch .panel.spa .inner {
  display: flex;
  justify-content: space-between;
  align-items: center
}
.con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
  font-size: 108%;
  letter-spacing: .08em;
  line-height: 2
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    font-size: 100%
  }
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    font-size: 100%
  }
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    letter-spacing: .04em
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    line-height: 1.8
  }
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    line-height: 1.6
  }
}
@media only screen and (min-width: 768px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    width: 52.94118%
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1560px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    font-size: 93%
  }
}
@media only screen and (min-width: 984px) and (max-width: 1199px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    width: 45.58824%
  }
}
@media only screen and (min-width: 768px) and (max-width: 983px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .txt, .con_search .box_sea #js-panelSearch .panel.spa .inner .txt {
    width: 60.29412%
  }
}
@media only screen and (min-width: 768px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns {
    display: flex;
    width: 30%
  }
  .con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns {
    display: flex;
    width: 44.85294%
  }
}
@media only screen and (min-width: 984px) and (max-width: 1199px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns, .con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns {
    width: 52.20588%
  }
}
@media only screen and (min-width: 768px) and (max-width: 983px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns, .con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns {
    display: block;
    width: 37.5%
  }
}
.con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns p {
  width: 100%
}
.con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns p {
  width: 49.18033%
}
@media only screen and (min-width: 768px) and (max-width: 983px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns p, .con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns p {
    width: 100%
  }
}
.con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns p.rsv a, .con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns p.rsv a {
  border-color: #227643;
  color: #fff;
  background: #227643
}
.con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns p.rsv2 a, .con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns p.rsv2 a {
  border-color: #ae9957;
  color: #fff;
  background: #ae9957
}
@media only screen and (min-width: 768px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns p + p, .con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns p + p {
    margin-left: 1.63934%
  }
}
@media only screen and (min-width: 768px) and (max-width: 983px) {
  .con_search .box_sea #js-panelSearch .panel.restaurant .inner .wrp_btns p + p, .con_search .box_sea #js-panelSearch .panel.spa .inner .wrp_btns p + p {
    margin: 3.27869% 0 0
  }
}
.con_search .box_sea > .bn {
  max-width: 55.55556%;
  margin: 2.77778% auto 0
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_search .box_sea > .bn {
    max-width: 66.66667%
  }
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea > .bn {
    max-width: 0
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_search .box_sea > .bn {
    margin: 3.33333% auto 0
  }
}
@media only screen and (max-width: 767px) {
  .con_search .box_sea > .bn {
    margin: 0
  }
}
.con_topics {
  background: #F2F2F2;
  width: 100%;
}
.con_topics .con_topics_inner {
  padding: 150px 25px;
  width: min(85vw, 1150px);
  display: flex;
}
.con_topics .con_topics_inner .top_title {
  flex-shrink: 0;
  margin-right: 100px;
}
.con_topics .con_topics_inner h3 {
  font-size: min(80px, 7vw);
  line-height: 1
}
.con_topics .con_topics_box ul {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
}
.con_topics .con_topics_box ul li a {
  display: flex;
  gap: .75rem 1.25rem;
  text-decoration: none;
  align-items: flex-start;
}
.con_topics .con_topics_box ul li a .date {
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1;
  flex-shrink: 0;
  font-weight: 500
}
.con_topics .con_topics_box ul li a .con_topics_post {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.con_topics .con_topics_box ul li a .wrp_cate {
  flex-shrink: 0;
  display: flex;
  gap: 5px;
  flex-direction: column;
}
.con_topics .con_topics_box ul li a .wrp_cate span {
  color: #999;
  background: #fff;
  line-height: 1;
  padding: 1px 15px 2px;
  white-space: nowrap;
  font-size: .75rem;
  text-align: center
}
.con_topics .con_topics_box ul li a .title {
  flex: 1;
  line-height: 1.5;
}
.con_topics .con_topics_box ul li:hover a .title {
  text-decoration: none;
}
@media only screen and (max-width: 1150px) {
  .con_topics .con_topics_box ul li a {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .con_topics .con_topics_box ul li a .wrp_cate span {
    font-size: .75rem;
  }
}
.con_topics .box_top ul li {
  border-bottom: 1px solid #e4e4e4
}
.con_topics .box_top ul li a {
  position: relative;
  display: block;
  padding: 2.5% 2.18em 2.5% 1em;
  box-sizing: border-box;
  text-decoration: none;
  font-size: 115%
}
.con_topics .box_top ul li a span {
  color: #666;
  letter-spacing: .04em
}
.con_topics .box_top ul li a i {
  display: inline-block;
  margin-left: 2.81em;
  color: #666;
  font-size: 94%;
  letter-spacing: .04em
}
.con_topics .box_top ul li a:hover:after {
  transform: translateX(0.5em)
}
.con_topics .box_top ul li a:hover em {
  text-decoration: underline
}
.con_topics .box_top .btn {
  width: 500px;
  margin: 6% 0 0 3%
}
@media only screen and (max-width: 767px) {
  .con_topics .con_topics_inner {
    flex-direction: column;
    padding: 100px 0;
  }
}
.bg_movie {
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: -1;
  background: url("../images/home/bg_main.webp") no-repeat center;
}
.bg_movie video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: fixed;
  top: 0;
  left: 0;
}
.bg_movie .bg_movie_in {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: fixed;
  top: 0;
  left: 0;
}
.top_concept {
  position: relative;
  align-items: start;
  display: grid;
  grid-auto-flow: column;
  margin-top: 400px
}
.top_concept .top_concept_in {
  width: calc(50vw - 10.417vw);
  padding: 700px 0 300px 10.417vw;
  backdrop-filter: blur(8px);
  mask: linear-gradient(transparent, black, black);
}
.top_concept .top_concept_in h2 {
  color: #fff;
  margin-bottom: 5.208vw;
  font-size: 2.083vw;
  letter-spacing: 0.1em;
  line-height: 2.25
}
.top_concept .top_concept_in .txt p {
  color: #fff;
  font-size: clamp(14px, 0.938vw, 15px);
  letter-spacing: 0.1em;
  line-height: 2;
  margin-bottom: 2.083vw;
}
.top_concept ul {
  min-width: 45vw;
  height: 100vh;
  right: 0;
  position: sticky;
  top: 0;
  z-index: -1
}
.top_concept ul li {
  height: 100vh;
}
.top_concept ul li img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100vh;
}
@media only screen and (max-width: 767px) {
  .top_concept {
    grid-auto-flow: row;
  }
  .top_concept .top_concept_in {
    width: calc(100% - (30px * 2));
    padding: 500px 30px 100px;
    backdrop-filter: blur(5px);
  }
  .top_concept .top_concept_in h2 {
    font-size: 20px;
    margin-bottom: 80px
  }
  .top_concept ul, .top_concept ul li {
    width: 100%;
    height: 500px;
  }
  .top_concept ul li img {
    height: 100%;
  }
}
.top_rooms, .top_dining, .top_activity {
  width: 100%;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .top_rooms, .top_activity {
    text-align: left;
  }
}
.top_rooms {
  margin-bottom: 100px;
}
.top_dining, .top_activity {
  margin-bottom: 200px;
}
.top_title h2 {
  font-size: min(70px, 7vw);
  line-height: 1;
  margin-bottom: 20px;
  z-index: 2;
  white-space: nowrap;
}
.top_title p {
  z-index: 2;
}
.top_rooms .top_title h2, .top_activity .top_title h2, .top_rooms .top_title p, .top_activity .top_title p, .top_access .top_title h2, .top_access .top_title p {
  color: #fff;
}
.top_dining .top_title h2, .top_dining .top_title p, .top_service h2, .top_service .top_title p {
  color: #FF5445;
}
.top_title p:not(:has(a)) {
  font-size: clamp(16px, 1vw, 18px);
  font-weight: 500;
  letter-spacing: .5em;
  margin-bottom: 40px;
}
.top_rooms .top_title, .top_activity .top_title {
  height: 60vh;
  max-height: 500px;
  z-index: 2;
  position: relative;
  overflow: hidden;
  width: 100%;
}
.top_rooms .top_inner_txt {
  margin-top: 60px;
}
.top_rooms .top_title_inner, .top_activity .top_title_inner {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  clip: rect(0, auto, auto, 0);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.top_rooms .top_title_inner:before, .top_activity .top_title_inner:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(0deg, rgba(34, 83, 167, 0.2), rgba(255, 255, 255, 0));
  z-index: 1;
  backdrop-filter: blur(2px);
  mask: linear-gradient(transparent, black);
}
.top_title_image {
  position: fixed;
  z-index: -1;
  display: block;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
.top_rooms .top_title_image {
  background: url("../images/home/bg_top_rooms.webp");
  background-size: cover;
  background-position: center center;
}
.top_activity .top_title_image {
  background: url("../images/home/bg_top_activity.webp");
  background-size: cover;
  background-position: center center;
}
.top_rooms h3, .top_dining h3, .top_activity h3 {
  font-size: min(28px, 2.5vw);
  font-size: clamp(25px, 2vw, 30px);
  margin-bottom: 2.083vw;
  letter-spacing: .04em;
  font-weight: 500
}
@media only screen and (max-width: 767px) {
  .top_rooms {
    margin-bottom: 80px;
  }
  .top_rooms .top_title, .top_activity .top_title {
    align-items: flex-start;
    height: 500px;
  }
  .top_dining, .top_activity {
    margin-bottom: 150px;
  }
  .top_title h2 {
    font-size: 50px;
    margin-bottom: 0px;
  }
  .top_rooms h3, .top_dining h3, .top_activity h3 {
    font-size: clamp(16px, 1vw, 18px);
    margin-bottom: 30px;
  }
  .top_rooms .top_inner_txt {
    margin: 40px 30px 80px;
  }
  .top_rooms .link {
    margin-top: 20px;
  }
}
.top_premier {
  width: 100%;
  margin-bottom: 200px;
}
.top_premier_inner {
  background: url("../images/home/bg_top_premier.webp") center no-repeat;
  background-size: cover;
  z-index: -1;
  display: flex;
  justify-content: space-between;
}
.top_premier p.sub {
  margin-bottom: 15px;
  letter-spacing: .3em;
  line-height: 2;
  position: relative;
  z-index: 2
}
.top_premier h2 {
  font-size: min(60px, 5vw);
  color: #FF5445;
  line-height: 1;
  position: relative;
  z-index: 1
}
.top_premier h2:before {
  content: '';
  position: absolute;
  background: url("../images/home/ico_top_premier.png") no-repeat;
  background-size: contain;
  width: 6.771vw;
  height: 5vw;
  z-index: -1;
  top: -3.646vw;
  left: -4.687vw;
}
.top_premier p.tit {
  color: #FF5445;
  letter-spacing: .3em;
  font-weight: 500;
  font-size: clamp(14px, 0.938vw, 15px);
  margin-bottom: 30px;
}
.top_premier .txt_inner {
  line-height: 2;
  flex-shrink: 0;
  padding: 6.292vw 0 5.208vw 7.292vw;
  width: 30vw;
}
.top_premier .txt_inner p.link {
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  .top_premier {
    position: relative;
  }
  .top_premier_inner {
    padding: 90.513vw 60px 60px;
    display: block;
  }
  .top_premier h2 {
    font-size: 45px;
    margin-bottom: 0
  }
  .top_premier h2:before {
    content: '';
    width: 4.167vw;
    height: 3.125vw;
    top: -2.083vw;
    left: -2.604vw;
  }
  .top_premier p.tit {
    margin-bottom: 30px;
  }
  .top_premier .txt_inner {
    padding: 0;
    width: 100%;
  }
  .top_premier .txt_inner p.link {
    justify-content: flex-end;
    margin-top: 40px
  }
}
.top_premier ul {
  position: relative;
  width: 100%;
}
.top_premier ul li {
  position: absolute
}
.top_premier ul li:nth-child(1) {
  top: -2.854vw;
  right: 19.01vw;
  width: 36.458vw;
  height: 18.833vw;
  z-index: 2
}
.top_premier ul li:nth-child(2) {
  top: 9.083vw;
  right: 7.031vw;
  width: 15.104vw;
  height: 19.792vw;
  z-index: 3
}
.top_premier ul li:nth-child(3) {
  bottom: -1vw;
  right: 26.302vw;
  width: 33.854vw;
  height: 13.021vw;
}
@media only screen and (max-width: 1800px) {
  .top_premier ul li:nth-child(1) {
    height: 24vw;
  }
}
@media only screen and (max-width: 1500px) {
  .top_premier ul li:nth-child(1) {
    top: -1.854vw;
    right: 17.01vw;
    width: 36.458vw;
    height: 25.833vw;
  }
  .top_premier ul li:nth-child(2) {
    top: 12.083vw;
    right: 2.031vw;
    width: 18.104vw;
    height: 29.792vw;
  }
  .top_premier ul li:nth-child(3) {
    bottom: -1.854vw;
    right: 24.302vw;
    width: 32.854vw;
    height: 20.021vw;
  }
}
@media only screen and (max-width: 1000px) {
  .top_premier ul li:nth-child(1) {
    height: 34vw;
  }
}
.top_premier ul li img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
}
@media only screen and (max-width: 767px) {
  .top_premier ul {
    position: inherit;
  }
  .top_premier ul li:nth-child(1) {
    top: 0;
    right: 0;
    width: 91%;
    height: 44.615vw;
  }
  .top_premier ul li:nth-child(2) {
    top: 53.59vw;
    right: 2.564vw;
    width: 28.205vw;
    height: 36.282vw;
  }
  .top_premier ul li:nth-child(3) {
    bottom: auto;
    right: auto;
    top: 47.179vw;
    left: 0;
    width: 66.667vw;
    height: 30.769vw;
  }
}
ul.top_dining_slide {
  overflow: hidden;
  display: flex;
  margin-top: 100px;
}
ul.top_dining_slide li {
  max-width: 400px;
  margin: 0 15px;
  text-align: left;
}
ul.top_dining_slide li a {
  text-decoration: none;
}
ul.top_dining_slide li .img {
  height: 25vw;
  max-width: 400px;
  position: relative;
  overflow: hidden;
}
ul.top_dining_slide li .img:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0) 80%, rgba(0, 0, 0, 0.8));
  z-index: 1;
}
ul.top_dining_slide li img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
  transition: all .4s ease;
}
@media(hover: hover) {
  ul.top_dining_slide li:hover img {
    transform: scale(1.2);
  }
}
ul.top_dining_slide li .top_dining_slide_box {
  margin: 1.563vw 1.042vw 0;
}
ul.top_dining_slide li .category {
  font-size: 12px;
  border: 1px solid #3f3f3f;
  padding: 2px 20px;
  display: inline-block;
  margin-bottom: 10px;
  letter-spacing: .1em;
  line-height: 1
}
ul.top_dining_slide li h3 {
  font-size: 2.083vw;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 5px
}
ul.top_dining_slide li .name {
  font-size: clamp(14px, 0.938vw, 15px);
  font-weight: bold;
  letter-spacing: .3em
}
ul.top_dining_slide li span.arrow {
  overflow: hidden;
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  position: absolute;
  border: 1px solid #fff;
  right: 1.563vw;
  bottom: 1.563vw;
  z-index: 1;
}
ul.top_dining_slide li span.arrow::before, ul.top_dining_slide li span.arrow::after {
  content: "→";
  position: absolute;
  font-family: 'MADEMirage';
  color: #fff;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  animation-fill-mode: forwards;
  animation-duration: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (hover: hover) {
  ul.top_dining_slide li:hover .arrow:before {
    animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
    animation-delay: 0s;
  }
  ul.top_dining_slide li:hover .arrow:after {
    animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
    animation-delay: 0.2s;
  }
}
@media only screen and (max-width: 767px) {
  .top_dining .top_inner_txt {
    margin: 40px 30px 60px;
  }
  .top_dining .top_inner_txt p {
    text-align: left;
  }
  ul.top_dining_slide {
    margin-top: 60px;
  }
  ul.top_dining_slide li {
    margin: 0 10px;
    max-width: 250px;
  }
  ul.top_dining_slide li .img {
    height: 100vw;
    max-height: 390px;
  }
  ul.top_dining_slide li h3 {
    font-size: 25px;
    margin-bottom: 0;
  }
  ul.top_dining_slide li .category {
    font-size: 12px;
    border: none;
    border-bottom: 1px solid #E6E6E6;
    padding: 0 0 10px;
    display: block;
    margin-bottom: 10px;
    letter-spacing: .1em;
  }
  ul.top_dining_slide li span.arrow {
    right: 20px;
    bottom: 20px;
  }
  .top_dining p.link {
    margin: 30px 30px 0 0;
  }
}
.top_activity_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: url("../images/home/bg_top_activity_inner.webp") no-repeat 0 0;
  background-size: contain;
  padding: 5.208vw 0 2.604vw;
}
.top_activity_inner .top_inner_txt {
  text-align: left;
  margin: 0 3.125vw 0 5.208vw;
}
ul.top_activity_slide {
  overflow: hidden;
  display: flex;
  width: 50vw;
  flex-shrink: 0
}
ul.top_activity_slide li {
  margin-right: 30px;
  text-align: left;
  max-width: 250px;
}
ul.top_activity_slide li .img {
  max-width: 250px;
}
ul.top_activity_slide li .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
}
ul.top_activity_slide li p {
  color: #666;
  margin-top: 0.781vw;
  position: relative;
  padding-left: 30px;
}
ul.top_activity_slide li p:before {
  content: '';
  background: url("../images/home/ico_activity_area.png") no-repeat 0;
  background-size: contain;
  position: absolute;
  width: 20px;
  height: 20px;
  left: 0;
  top: calc(50% - 10px);
}
@media only screen and (max-width: 767px) {
  .top_activity_inner {
    flex-direction: column;
    padding: 60px 0 0;
    background: url(../images/home/bg_top_activity_inner.webp) no-repeat 0 0;
  }
  .top_activity_inner .top_inner_txt {
    margin: 0 30px 80px;
  }
  ul.top_activity_slide {
    width: 100vw;
  }
  ul.top_activity_slide li {
    max-width: 250px;
    margin-right: 20px
  }
  ul.top_activity_slide li p {
    font-size: .813rem
  }
  .top_activity .link.right {
    margin-right: 30px
  }
}
.top_service {
  padding: 0 5.208vw 7.813vw;
  background: #F2F2F2 url("../images/home/bg_top_service.webp") no-repeat 0 0;
  background-size: contain;
  display: flex;
  align-items: flex-start;
}
.top_service_inner {
  width: 24vw;
  margin-right: 60px;
  flex-shrink: 0;
  position: sticky;
  top: 130px;
  margin-top: 130px;
}
.top_service ul {
  margin-top: 130px;
}
.top_service ul li {
  background: #fff;
  width: 100%;
  margin-bottom: 2.5vw;
}
.top_service ul li:last-child {
  margin-bottom: 0
}
.top_service ul li a {
  display: flex;
  text-decoration: none;
}
.top_service ul li a .img {
  width: 23.438vw;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.top_service ul li a .img:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  background-image: linear-gradient(135deg, #FF5445 15px, transparent 0);
  z-index: 1
}
.top_service ul li .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
  transition: all .4s ease;
}
.top_service ul li:first-child .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 25%;
  transition: all .4s ease;
}
@media(hover: hover) {
  .top_service ul li:hover .img img {
    transform: scale(1.2);
  }
}
.top_service_txt {
  display: flex;
  flex-direction: column;
  padding: 2.5vw;
  width: 100%;
}
.top_service_txt h3 {
  font-size: clamp(1.25rem, 1.563vw, 28px);
  font-weight: 500;
  margin-bottom: 1.563vw;
}
.top_service_txt h3 span {
  color: #FF5445;
}
.top_service_txt p:not(:last-child) {
  margin-bottom: 1.563vw;
  font-size: .813rem
}
.top_service_txt .link {
  margin-top: 15px;
  justify-content: flex-end;
}
.top_service_txt table {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  margin-bottom: 1.563vw;
}
.top_service_txt table tr th {
  position: relative;
  font-weight: normal;
  width: 35%;
}
.top_service_txt table tr th::after {
  content: '';
  background-color: #707070;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  width: 1px;
  height: 60%;
}
.top_service_txt table tr th, .top_service_txt table tr td {
  padding: 4px 15px;
  font-size: .813rem
}
@media (hover: hover) {
  .top_service ul li:hover .arrow:before {
    animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
    animation-delay: 0s;
  }
  .top_service ul li:hover .arrow:after {
    animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
    animation-delay: 0.2s;
  }
}
@media only screen and (max-width: 767px) {
  .top_service {
    flex-direction: column;
    padding: 150px 30px;
  }
  .top_service .top_title {
    text-align: center;
  }
  .top_service_inner {
    width: 100%;
    margin: 0 0 60px;
    flex-shrink: 0;
    position: inherit;
    top: auto;
    margin-top: 0;
  }
  .top_service ul {
    margin: 0
  }
  .top_service ul li a {
    flex-direction: column;
  }
  .top_service ul li a .img {
    width: 100%;
    height: 150px;
  }
  .top_service_txt {
    padding: 30px;
    width: auto;
  }
  .top_service_txt h3 {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .top_service_txt p:not(:last-child) {
    margin-bottom: 20px;
  }
}
.top_acces s {
  padding: 150px 5.208vw;
  background: url("../images/home/bg_top_access.webp") center no-repeat;
  background-size: cover;
  display: flex;
  justify-content: space-between;
}
.top_access iframe {
  width: calc(100vw - (5.208vw * 3) - 20.833vw);
  height: 31.25vw;
  z-index: 2;
  position: relative;
}
.top_access .access_txt {
  width: 20.833vw;
  margin-left: 5.208vw;
  flex-shrink: 0;
  z-index: 2;
  position: relative;
}
.top_access .access_txt p {
  color: #fff;
}
.top_access {
  position: relative;
  overflow: hidden;
  padding: 150px 5.208vw;
  z-index: 2;
  display: flex;
  justify-content: space-between;
}
.top_access .top_title_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip: rect(0, auto, auto, 0);
}
.top_title_image {
  position: fixed;
  z-index: -1;
  display: block;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
.top_access .top_title_image {
  background: url("../images/home/bg_top_access.webp");
  background-size: cover;
  background-position: center center;
}
.top_access .top_title_inner:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(270deg, rgba(34, 83, 167, 0.2), rgba(255, 255, 255, 0));
  z-index: 1;
}
.top_access span.credit {
  position: absolute;
  bottom: 0;
  left: 10px;
  text-align: right;
  font-size: 11px;
  font-weight: lighter;
  color: #E6E6E6;
  z-index: 2;
  margin-bottom: 5px;
}
@media only screen and (max-width: 767px) {
  .top_access {
    padding: 150px 30px;
    background-size: cover;
    flex-direction: column-reverse;
  }
  .top_access .top_title_image {
    background: url("../images/home/bg_top_access_sp.webp") no-repeat;
    background-size: cover;
    background-position: center center;
  }
  .top_access .access_txt {
    width: 100%;
    text-align: center;
    margin: 0 0 40px
  }
  .top_access iframe {
    width: 100%;
    height: 350px;
    margin-bottom: 40px;
  }
}
/* ポップアップ */
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s;
  color: #66666;
  font-size: 15px
}
.popup.is-show {
  opacity: 1;
  visibility: visible
}
.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 500px;
  z-index: 99;
}
.popup-inner img {
  width: 100%
}
.popup-inner-in {
  position: relative;
  background: #fff;
  padding: 5% 7% 6% 8%;
  border-radius: 8px 8px 0 0;
}
.popup-title {
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: .05em
}
.popup .wrp_news a {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 14px;
  border-bottom: 1px dotted #999;
  text-decoration: none;
  line-height: 1.8
}
.popup .wrp_news a.link span.arrow {
  border: none;
  width: 25px;
  height: 25px;
}
.popup .wrp_news a.link span.arrow::before, .popup .wrp_news a.link span.arrow::after {
  color: #999
}
.popup .wrp_news a:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none
}
.popup .wrp_news span.popup-more {
  display: block;
  font-size: 13px;
  color: #999;
  text-decoration: underline;
}
.popup .close-btn {
  display: flex;
  width: 100%;
}
.popup .close-btn a {
  width: 100%;
  display: block;
  font-size: 14px;
  padding: 2% 5%;
  text-decoration: none;
  text-align: center;
}
.popup .close-btn a.close-btn-default {
  background: #d5d5d5;
  border-radius: 0 0 8px 0;
}
.popup .close-btn a.close-btn-forever {
  color: #fff;
  background: #666;
  border-radius: 0 0 0 8px;
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .4);
  z-index: 98;
  cursor: pointer
}
@media (min-width: 320px) and (max-width:767px) {
  .popup-inner {
    display: grid;
    place-items: center;
    width: 90%;
    max-width: 90%;
    padding: 20px
  }
  .popup-inner-in {
    padding: 8% 7% 8% 8%;
    width: 85%;
  }
  .popup .close-btn a {
    font-size: 13px;
    padding: 4% 5%
  }
}
.popup-follow {
  position: relative;
  opacity: 0;
  transition: .8s all;
}
.popup-follow.is-show {
  opacity: 1;
  visibility: visible
}
.popup-follow-inner {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 8;
  max-width: calc(45vw - 80px - 10px);
  background: #fff;
  border-radius: 8px;
  box-shadow: 0px 6px 15px 0px rgba(0, 0, 0, 0.25);
  transition: .3s all;
}
.popup-follow-inner.margen {
  margin-bottom: 45px;
}
.popup-follow-inner .wrp_news a {
  position: relative;
  padding: 20px 50px 20px 30px;
  line-height: 1.5;
}
.popup-follow .wrp_news a:after {
  content: "";
  margin-left: .5em;
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -.1075em;
  line-height: .215;
  transition: transform 500ms ease;
}
body .popup-follow .close-btn-follow a {
  text-decoration: none;
  background: #ff5445;
  display: flex;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  border: none;
  z-index: 10000;
  position: absolute;
  top: -10px;
  right: -5px;
  cursor: pointer;
  color: #fff;
  padding: 10px;
  justify-content: center;
  align-items: center;
}
@media (min-width: 320px) and (max-width:767px) {
  .popup-follow-inner {
    right: 10px;
    bottom: 10px;
    max-width: calc(100vw - 80px - 10px);
  }
  .popup-follow-inner .wrp_news a {
    padding: 15px 40px 15px 20px;
    font-size: 12px;
  }
  .popup-follow .wrp_news a:after {
    right: 20px;
  }
}