@charset "utf-8";
/* CSS Document */
/*common.css*/
body, html {
  margin: 0;
  padding: 0;
}
html { scroll-behavior: smooth;}
.annex section{scroll-margin-top: 90px;}
.annex{}
/*header　ヘッダーメニュー部分*/
.annex-header {
    margin-bottom: -180px;
    height: 182px;
  position: sticky;
    box-sizing: border-box;
  top: 83px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  background-image: url("../img/common/header-bg.png");
  padding-bottom: 3.8%;
  background-size: cover;
    z-index: 4;
    
}
.header-menu {
  width: 38.2%;
  padding-right: 8%;
  padding-top: 3.5%;
}
.nav-ul {
  display: flex;
  list-style: none;
  column-gap: 2%;
  width: 100%;
  margin: 0;
  padding: 0;
  justify-content: space-between;
}
.header-logo {
  max-width: 70px;
  margin-left: 1.5%;
  margin-top: 1%;
}
.header-logo a {
  width: 100%;
}
.header-logo img {
  width: 100%;
}
/*予約ボタン*/
.booking {
  position: fixed;
  bottom: 2%;
  right: 3%;
  width: 10.5%;
    z-index: 2;
}
.booking a {
  max-width: 208px;
  aspect-ratio: 1 / 1;
  display: block;
  width: 100%;
  /*opacity: 0.5;*/
}
.booking a:hover{
    opacity: 0.6;
}
.booking img {
  width: 100%;
}
.psi {
  position: relative;
}
/*footer*/

footer{
    background-color: #602313;
}
.group-list ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 722px;
  width: calc(100% * (722 / 1920));
  margin: 0 auto;
  padding: 0.4% 0;
}
.group-list ul li {
  width: 40%;
  margin-bottom: 4%;
}
.footer-menu {
  display: flex;
  justify-content: space-between;
  max-width: 1080px;
  margin: auto;
  width: calc(100% * (1080 / 1920));
  align-items: center;
}
.footer-nav ul {
  display: flex;
  list-style: none;
  margin: 2% 0;
  padding: 0;
  column-gap: 9%;
}
.footer-nav ul a {
  color: #fff;
  text-decoration: none;
}
.footer-nav ul a:hover {
  border-bottom: 1px #fff solid;
}

.footer-nav .nav-li img{width: 100%;}
.nav-li1{width: calc(100% * (54 / 535));}
.nav-li2{width: calc(100% * (59 / 535));}
.nav-li3{width: calc(100% * (79 / 535));}
.nav-li4{width: calc(100% * (80 / 535));}
.nav-li5{width: calc(100% * (67 / 535));}
.footer-nav{width: 50%;}
.footer-to-plan-list{
    width: calc(100% * (458 / 1080));
}
.footer-to-plan-list a:hover{
    opacity: 0.6;
}
.footer-to-plan-list img{width: 100%;}
.group-list ul {
  list-style: none;
  display: flex;
  justify-content: space-between;
  max-width: 722px;
  margin: auto;
  width: calc(100% * (722 / 1920));
  align-items: center;
}
.group-list li {
  width: 40%;
}
.group-list li a:hover {
  opacity: 0.7;
}
.group-list li a img {
  width: 100%;
}

.top-sec--18{ background-image: url("../img/index/top_r18_c1.png"); aspect-ratio: 1920 / 392; }
.top-sec--19{ /*background-image: url("../img/index/top_r19_c1.png");*/ aspect-ratio: 1920 / 89; }
.top-sec--20{ background-image: url("../img/index/top_r20_c1.png"); aspect-ratio: 1920 / 88;  }
.top-sec--21{ /*background-image: url("../img/index/top_r21_c1.png");*/ aspect-ratio: 1920 / 172; }

    /*slider*/
.marquee{
  width: 100vw;
  overflow: hidden;
    
}

.marquee__track{
  display: flex;
  align-items: center;
  gap: 5vw;                 /* 画像間 5vw */
  width: max-content;
  animation: marqueeLeft 40s linear infinite;
  will-change: transform;
}

.marquee__track img{
  width: 70vw;              /* 画像の表示幅 */
  aspect-ratio: 2018 / 945; /* 指定比率 */
  height: auto;
  object-fit: cover;
  flex: 0 0 auto;
  display: block;
}

/* 1セット分だけ左へ移動してループ（複製してあるので途切れない） */
@keyframes marqueeLeft{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/*footer-追加 topにも影響あるので触るときは慎重に*/
.top-wrap{
  width: 100%;
}

.top-sec{
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;

  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%; /* “スライス画像そのまま”ならこれが事故らない */
}

/*slider*/
.re1-section {
  max-width: 1920px;
  margin: 0 auto;
  font-size: 0; /* 余計なスキマ防止 */
}

.re1-block {
  position: relative;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* 擬似要素で縦横比キープ */
.re1-block::before {
  content: "";
  display: block;
}
/*-----------------*/


/*修正追加*/
.nav-li a:hover{
    border-bottom: 1px #fff solid;
}
.to-access a:hover,.to-about2 a:hover,.psi a:hover, .header-logo a:hover{
    opacity: 0.6;
}
.to-plan a:hover{
opacity: 0.6;    
}

/*20260226 グループ追加*/
.footer-hotel-listbox {
  padding-top: 0.5%;
}
.footer-hotel-listbox1, .footer-hotel-listbox2 {
  display: flex;
  margin: auto;
  width: 40%;
  justify-content: space-between;
  padding-bottom: 1.6%;
}

.footer-hotel-listbox11, .footer-hotel-listbox22 {
  display: flex;
  margin: auto;
  width: 60%;
  justify-content: space-between;
  padding-bottom: 1.6%;
}
.footer-hotel-listbox a {
  width: 39%;
}
.footer-hotel-listbox11 a, .footer-hotel-listbox22 a {
  width: 27%;
}
.footer-hotel-listbox .footer-hotel-listboxa2{width: 47%;}
.footer-hotel-listbox a img {
  width: 100%;
}
.footer-hotel-listbox a:hover {
  opacity: 0.6;
}