@charset "UTF-8";

/* ----------------------------------------------------
kv
-----------------------------------------------------*/

/*------- video -------*/

.video-wrapper {
  padding-top: 70px;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width:2000px;
  background-color: #F5EFEF;
}

.video-wrapper::before {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
}

.video-wrapper video {
  width: 100%;
  max-width: 1180px;
  display: flex;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .video-wrapper video {
  width: 100%;
}
}


/*------ /video --------*/

/*------ /slide --------*/

.swiper-button-prev {
  color: #FFFFFF;
}
.swiper-button-next {
  color: #FFFFFF;
}

/* ----------------------------------------------------
エントランス
-----------------------------------------------------*/
.entrance__main {
  background-color: #EFEDED;
}
.entrance__inner {
  position: relative;
  max-width: 1180px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .entrance__inner > figure {
    height: 180vw;
    background: url(../images/entrance.png) no-repeat center center;
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .entrance__inner > figure img {
    display: none;
  }
}
.entrance__inner02 {
  position: relative;
  max-width: 1180px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .entrance__inner02 > figure {
    height: 180vw;
    background: url("../images/entrance02.jpg") no-repeat center center;
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .entrance__inner02 > figure img {
    display: none;
  }
}
.entrance__item {
  width: 26vw;
  max-width: 360px;
  position: absolute;
  display: grid;
  grid-template-columns: 1fr;
  text-align: center;
  row-gap: min(4vw, 15px);
}
@media screen and (max-width: 768px) {
  .entrance__item {
    width: auto;
  }
}
@media screen and (max-width: 430px) {
  .entrance__item {
    width: 48%;
  }
}
@media screen and (max-width: 768px) {
  .entrance__item--fig {
    width: 30vw;
    margin-inline: auto;
  }
}
.entrance__item--text {
  color: #FFFFFF;
  font-size: 1.4rem;
}
@media screen and (max-width: 430px) {
  .entrance__item--text {
  font-size: 12px;
}
}
.entrance__item--btn {
  display: block;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
  padding: min(3vw, 10px);
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}
@media screen and (max-width: 820px) {
  .entrance__item--btn {
  font-size: 13px;
}
}
@media screen and (max-width: 430px) {
  .entrance__item--btn {
  font-size: 11px;
}
}
.entrance__item--btn:hover {
  background-color: rgb(0, 0, 0);
}

.entrance .wall {
  left: min(12vw, 40px);
  top: min(15vw, 50px);
}
@media screen and (max-width: 767px) {
  .entrance .wall {
    left: min(10vw, 30px);
    top: min(10vw, 30px);
  }
}

/* ----------------------------------------------------
ダイレクトボタン
-----------------------------------------------------*/


.entrance__item02 {
  width: 66vw;
  max-width: 740px;
  position: absolute;
  display: grid;
  grid-template-columns: 1fr;
  text-align: center;
  row-gap: min(4vw, 15px);
  margin-left: 10px;
}
@media screen and (max-width: 568px) {
  .entrance__item02 {
    width: auto;
  }
}
@media screen and (max-width: 430px) {
  .entrance__item02 {
    width: 88%;
  }
}

.entrance__item--fig02 {
	margin-bottom: 20px;
  }

@media screen and (max-width: 768px) {
  .entrance__item--fig02 {
    width: 30vw;
    margin-inline: auto;
  }
}
.entrance__item--text02 {
  color: #FFFFFF;
  font-size: 1.4rem;
  margin-bottom: 20px;

}
@media screen and (max-width: 430px) {
  .entrance__item--text02 {
  font-size: 12px;
}
}
.entrance__item--btn02 {
  display: block;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
  padding: min(3vw, 10px);
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
  margin-bottom: 10px;
}
@media screen and (max-width: 820px) {
  .entrance__item--btn02 {
  font-size: 13px;
}
}
@media screen and (max-width: 430px) {
  .entrance__item--btn02 {
  font-size: 11px;
}
}
.entrance__item--btn02:hover {
  background-color: rgb(0, 0, 0);
}


.entrance__item02 {
  width: 66vw;
  max-width: 740px;
  position: absolute;
  display: grid;
  grid-template-columns: 1fr;
  text-align: center;
  row-gap: min(4vw, 15px);
  margin-left: 10px;
}
@media screen and (max-width: 568px) {
  .entrance__item02 {
    width: auto;
  }
}
@media screen and (max-width: 430px) {
  .entrance__item02 {
    width: 88%;
  }
}

.entrance__item--fig02 {
	margin-bottom: 20px;
  }

@media screen and (max-width: 768px) {
  .entrance__item--fig02 {
    width: 30vw;
    margin-inline: auto;
  }
}
.entrance__item--text02 {
  color: #FFFFFF;
  font-size: 1.4rem;
  margin-bottom: 20px;

}
@media screen and (max-width: 430px) {
  .entrance__item--text02 {
  font-size: 12px;
}
}
.entrance__item--btn02 {
  display: block;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
  padding: min(3vw, 10px);
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
  margin-bottom: 10px;
}
@media screen and (max-width: 820px) {
  .entrance__item--btn02 {
  font-size: 13px;
}
}
@media screen and (max-width: 430px) {
  .entrance__item--btn02 {
  font-size: 11px;
}
}
.entrance__item--btn02:hover {
  background-color: rgb(0, 0, 0);
}


/* ----------------------------------------------------
階段ボタン
-----------------------------------------------------*/

.entrance__item03 {
  width: 26vw;
  max-width: 360px;
  position: absolute;
  display: grid;
  grid-template-columns: 1fr;
  text-align: center;
  row-gap: min(4vw, 15px);
}
@media screen and (max-width: 568px) {
  .entrance__item03 {
    width: auto;
  }
}
@media screen and (max-width: 430px) {
  .entrance__item03 {
    width: 50%;
  }
}

.entrance__item--fig03 {
	margin-bottom: 20px;
  }

@media screen and (max-width: 768px) {
  .entrance__item--fig03 {
    width: 30vw;
    margin-inline: auto;
  }
}
.entrance__item--text03 {
  color: #FFFFFF;
  font-size: 1.4rem;
  margin-bottom: 20px;

}
@media screen and (max-width: 430px) {
  .entrance__item--text03 {
  font-size: 12px;
}
}
.entrance__item--btn03 {
  display: block;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
  padding: min(3vw, 10px);
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
  margin-bottom: 10px;
}
@media screen and (max-width: 820px) {
  .entrance__item--btn03 {
  font-size: 13px;
}
}
@media screen and (max-width: 430px) {
  .entrance__item--btn03 {
  font-size: 11px;
}
}
.entrance__item--btn03:hover {
  background-color: rgb(0, 0, 0);
}

.entrance .kaidan {
  right: min(12vw, 40px);
  bottom: min(14vw, 50px);
}
@media screen and (max-width: 767px) {
  .entrance .kaidan {
  right: min(5vw, 10px);
  bottom: min(5vw, 10px);
  }
}

/* ----------------------------------------------------
階段ボタンここまで
-----------------------------------------------------*/

.entrance .floor {
  right: min(12vw, 40px);
  bottom: min(14vw, 50px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 10px;
}



.entrance__direct {
  display: grid;
  grid-template-columns: -webkit-max-content 2fr 3fr;
  grid-template-columns: max-content 2fr 3fr;
  align-items: center;
  background-color: #F4F4F4;
}
@media screen and (max-width: 1180px) {
  .entrance__direct {
    grid-template-columns: 2fr 1.5fr 2fr;
  }
}
@media screen and (max-width: 767px) {
  .entrance__direct {
    justify-content: center;
    grid-template-columns: 1fr;
    row-gap: 2vw;
    padding: 3vw;
  }
}
.entrance__direct > figure {
  text-align: center;
}
.entrance__direct--text {
  padding-right: min(6vw, 20px);
}
@media screen and (max-width: 767px) {
  .entrance__direct--text {
    text-align: left;
  }
}
.entrance__direct--new {
  font-weight: 700;
  color: #FF0000;
}
.entrance__direct--btn {
  padding-right: min(6vw, 20px);
}
@media screen and (max-width: 767px) {
  .entrance__direct--btn {
    padding-right: 0;
  }
}
.entrance__direct--btn a {
  text-align: center;
  padding: min(3vw, 10px);
  display: block;
  color: #FFFFFF;
  font-size: min(3.6vw, 18px);
  background-color: #646464;
  transition: all 0.3s ease;
}
.entrance__direct--btn a:hover {
  background-color: #000000;
}

/* ----------------------------------------------------
ブランドリスト
-----------------------------------------------------*/
.brand_list {
  display: grid; /* グリッドレイアウトを適用 */
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* 幅を自動調整 */
  gap: 30px; /* 要素同士の間隔 */
  position: relative;
  max-width: 1180px;
  margin-inline: auto;
}

@media screen and (max-width: 432px) {
.brand_list {
  grid-template-columns: repeat(auto-fit, minmax(180px, 2fr)); /* 幅を自動調整 */
  gap: 10px; /* 要素同士の間隔 */
}
    
}   
.brand_box  {
  min-height: 100px;
}
.list--text {
  font-weight: 600;
}
@media screen and (max-width: 430px) {
  .list--text {
  font-size: 12px;
}
}

.list--text-small{
  font-size: 87%;
font-weight: 400;
    margin-top: -7px;
}


.list-btn {
  background-image: linear-gradient(rgba(0, 0, 0, 0) 50%, rgba(235,235,235,0.8) 50%);
  background-position: 0 0;
  background-size: auto 200%;
  transition: .3s;
  color: #000;
  text-align: center;
  font-size: 1.4rem;
    padding-bottom: 20px;
 }   
@media screen and (max-width: 820px) {
  .list-btn {
  font-size: 12px;
}
}
@media screen and (max-width: 430px) {
  .list-btn {
  font-size: 11px;
}
}
.list-btn:hover {
  background-position: 0 100%;
}

/* ----------------------------------------------------
ギャラリー
-----------------------------------------------------*/
.gallery__anchor {
  background-color: #F7F4F4;
  padding-block: min(6vw, 50px) min(4vw, 30px);
  margin-bottom: min(12vw, 50px);
}
.gallery__anchor ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(44px, 1fr));
  -moz-column-gap: min(6vw, 20px);
       column-gap: min(6vw, 20px);
  row-gap: min(3vw, 10px);
}
.gallery__anchor ul li {
  cursor: pointer;
  font-size: min(3.2vw, 12px); /* アイテムのアニメーション */
  /* リスト全体 */
  /* リストアイテム */
  /* ボタンのアクティブ状態 */
}
.gallery__anchor ul li .gallery__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px; /* アイテム間のスペース */
  transition: all 0.6s ease; /* レイアウト変化をスムーズに */
}
.gallery__anchor ul li .gallery__list li {
  list-style: none;
  transition: all 0.6s ease;
}
.gallery__anchor ul li .gallery__anchor li {
  cursor: pointer;
}
.gallery__anchor ul li .gallery__anchor li.active {
  background-color: #0078d7;
  color: #fff;
  border-radius: 8px;
}
.gallery__anchor ul li.active img {
  padding: 2px;
  border: 1px solid #999999;
}
.gallery__anchor ul figure {
  text-align: center;
}
.gallery__anchor ul figure figcaption {
    font-size: 90%;
  line-height: 1.3;
  color: #707070;
  margin-top: min(1vw, 6px);
}
.gallery__list {
  transition: all 0.6s ease;
  /* 非表示状態 */
  /* 表示状態 */
}
.gallery__list ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: min(3vw, 20px);
}
@media screen and (max-width: 1036px) {
  .gallery__list ul {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}
@media screen and (max-width: 859px) {
  .gallery__list ul {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .gallery__list ul {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  }
}
.gallery__list ul li {
  transition: all 0.6s ease;
}
.gallery__list ul li img {
  width: 100%;
}
.gallery__list [data-category] {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.6s ease, transform 0.6s ease, margin 0.6s ease, height 0.6s ease;
}
.gallery__list [data-category].is-show {
  opacity: 1;
  transform: scale(1);
}
.gallery__popup--item {
  background-color: #FFFFFF;
  max-height: 90% !important;
}
.gallery__popup--info {
  display: grid;
  align-items: center;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: min(4vw, 15px);
       column-gap: min(4vw, 15px);
  padding-block: min(3vw, 10px);
  padding-inline: min(6vw, 20px);
}
.gallery__popup--cat {
  font-size: min(3.2vw, 1.3rem);
  font-weight: 700;
}
.gallery__popup--pattern {
  font-size: min(2.8vw, 1rem);
}