body,
html {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: #656565;
}

a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
}

img {
  display: block;
}

.Futura-Std-Light {
  font-family: "Futura-Std-Light";
}

/*全部*/
.all {
  width: 100%;
  overflow: hidden;
}

.pointer {
  cursor: pointer;
}

/*主要內容*/
.main {
  width: 100%;
  height: 100vh;
  min-height: 900px;
  position: relative;
  background-image: url("../img/02/02-open/bg.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
  z-index: 0;
}

.english-icon {
  width: 34%;
  position: absolute;
  left: 0;
  bottom: 0;
}

.main1 {
  width: 100%;
  height: 100vh;
  position: relative;
  background-color: #656565;
}

.main1-banner {
  width: 93.8%;
  height: 69.1vh;
  position: absolute;
  left: 50%;
  top: 10%;
  transform: translateX(-50%);
}

.main-l {
  width: 40%;
  height: auto;
  float: left;
}

.main-r {
  width: 55%;
  height: auto;
  float: left;
}

.main-r2 {
  width: 60%;
  height: auto;
  float: left;
}

.main-txt {
  width: 55.5%;
  height: auto;
  margin: 28% auto 0 auto;
}

.year {
  width: 3.7vw;
  height: 4.3vw;
  line-height: 4.3vw;
  font-family: "Futura-Std-Book";
  color: #707070;
  text-align: center;
  margin: 0 auto;
  background-image: url(../img/02/02-open/year-bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  font-size: 1.15vw;
}

.title {
  width: 100%;
  height: auto;
  font-size: 1.7vw;
  color: #fff;
  font-family: "DFHeiStd-W3";
  text-align: center;
  margin: 7% 0 0 0;
}

.main-txt ul {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 6%;
}

.main-txt ul li {
  line-height: 2.8vw;
  border-bottom: 0.5px solid #fff;
}

.main-txt ul li:last-child {
  border-bottom: none;
}

.li-title {
  display: inline-block;
  font-size: 0.95vw;
  letter-spacing: 0.1vw;
  color: #fff;
  font-family: "DFHeiStd-W5";
  position: relative;
}

.li-title::after {
  content: "";
  width: 0.15vw;
  height: 0.9vw;
  position: absolute;
  right: -0.5vw;
  top: 0.98vw;
  background-color: #bffdff;
}

.li-content {
  display: inline-block;
  font-size: 0.9vw;
  letter-spacing: 0.1vw;
  color: #fff;
  font-family: "DFHeiStd-W3";
  margin-left: 7%;
}

.booking-icon {
  width: 1.1vw;
  height: 1.5vw;
  line-height: 1.5vw;
  display: inline-block;
  vertical-align: middle;
  margin-top: 0.55vw;
}

.booking-icon2 {
  width: 1vw;
  height: 1vw;
  line-height: 1vw;
  display: inline-block;
  vertical-align: middle;
  margin-top: -0.1vw;
}

.booking-txt {
  height: 1.5vw;
  line-height: 1.5vw;
  display: inline-block;
  font-size: 0.85vw;
  letter-spacing: 0.1vw;
  color: #fff;
  font-family: "DFHeiStd-W5";
  margin: 0 1vw 0 0.5vw;
}

.prevnext {
  width: 19vw;
  height: 1.71vw;
  line-height: 1.71vw;
  background-image: url(../img/02/02-open/prevnext-bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin: 20% auto auto auto;
  position: relative;
  text-align: center;
  color: #fff;
  font-size: 0.9vw;
  font-family: "DFHeiStd-W3";
  cursor: pointer;
}

.prevnext a {
  color: #fff;
}

.prev {
  width: 7vw;
  height: 1.71vw;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.5s;
}

.prev:hover {
  background-image: url(../img/02/02-open/prevnext-bg-hover2.png);
  color: #606060;
}

.middle {
  width: 7.52vw;
  height: 1.71vw;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  left: 5.73vw;
  top: 0;
}

.middle:hover {
  background-image: url(../img/02/02-open/prevnext-bg-hover1.png);
  color: #606060;
}

.next {
  width: 7vw;
  height: 1.71vw;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  right: 0;
  top: 0;
}

.next:hover {
  background-image: url(../img/02/02-open/prevnext-bg-hover3.png);
  color: #606060;
}

.b-banner {
  width: 100%;
  height: 100vh;
  position: relative;
  margin: 0 auto;
}

.b-banner img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.s-banner {
  width: 100%;
  height: 32vw;
  position: relative;
  margin: 13% auto 0 auto;
  overflow: auto;
  /* cursor: grab; */
}

.all- {
  width: auto;
  height: 98%;
  /* margin: 5% 0 0 0; */
  /* padding-left: 7.25%; */
  display: block;
  overflow: auto;
  overflow-y: hidden;
  white-space: nowrap;
  /* 不斷行 */
  -webkit-overflow-scrolling: touch;
  /* 当手指从触摸屏上移开，会保持一段时间的滚动 */
  padding-bottom: 1vw;
  box-sizing: border-box;
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  gap: 0.3vw;
}

.all- img {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.img1 {
  width: 30vw;
  height: 100%;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.5s;
  overflow: hidden;
}

.img1-2 {
  width: 25vw;
  height: 100%;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.5s;

  overflow: hidden;
}

.img1-3 {
  width: 16vw;
  height: 100%;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.5s;

  overflow: hidden;
}

.img1-4 {
  width: 20vw;
  height: 100%;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.5s;

  overflow: hidden;
}

.img1-5 {
  width: 45vw;
  height: 100%;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.5s;

  overflow: hidden;
}

.img1-B {
  width: 25vw;
  height: 100%;
  display: inline-block;

}

.img2-B {
  width: 22vw;
  height: 100%;
  display: inline-block;

}

.img3-B {
  width: 19vw;
  height: 100%;
  display: inline-block;

}

.img4-B {
  width: 13vw;
  height: 100%;
  display: inline-block;

}

.img5-B {
  width: 17vw;
  height: 100%;
  display: inline-block;

}

.img2 {
  width: 100%;
  height: 65%;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.img3 {
  width: 100%;
  height: 34%;
  cursor: pointer;
  margin-top: 0.3vw;
  position: relative;
  overflow: hidden;
}

.img4 {
  width: 100%;
  height: 40%;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.img5 {
  width: 100%;
  height: 59%;
  cursor: pointer;
  margin-top: 0.3vw;
  position: relative;
  overflow: hidden;
}

.img6 {
  width: 100%;
  height: 49%;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.img7 {
  width: 100%;
  height: 50%;
  cursor: pointer;
  margin-top: 0.3vw;
  position: relative;
  overflow: hidden;
}

.size1 {
  position: relative;
  width: 30vw;
  height: 100%;
}

.size2 {
  position: relative;
  width: 22vw;
  height: 100%;
}

.size3 {
  position: relative;
  width: 16vw;
  height: 100%;
}

.banner-block {
  position: relative;
  cursor: pointer;
  transition: all 0.5s;
  overflow: hidden;
  height: 100%;
}

/* .ratio0 {}

.ratio0 .banner-block {
  height: 100%;
} */

.ratio1,
.ratio2,
.ratio3 {
  display: flex;
  flex-direction: column;
  gap: 0.35vw;
}

.ratio1 > .banner-block:first-child { flex: 2; }
.ratio1 > .banner-block:last-child { flex: 1; }

/* Ratio 2: 一樣大 (比例 1:1) */
.ratio2 > .banner-block:first-child { flex: 1; }
.ratio2 > .banner-block:last-child { flex: 1; }

/* Ratio 3: 上小下大 (比例 1:2) */
.ratio3 > .banner-block:first-child { flex: 1; }
.ratio3 > .banner-block:last-child { flex: 1.5; }

/* .ratio1 .banner-block,
.ratio2 .banner-block,
.ratio3 .banner-block {
  height: auto;
  flex-grow: 1;
}

.ratio1>.banner-block:first-of-type {
  height: 66%;
  flex-grow: 0;
}

.ratio2 .banner-block {
  flex-grow: 1;
}

.ratio2>.banner-block:first-of-type {
  height: 50%;
  flex-grow: 0;
}


.ratio3 .banner-block {
  flex-grow: 1;
}

.ratio3>.banner-block:first-of-type {
  height: 36%;
  flex-grow: 0;
} */


.mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  transition: 0.5s linear;
  visibility: hidden;
  opacity: 0;
}

.mask-txt {
  width: 100%;
  font-family: "DFHeiStd-W5";
  color: #fff;
  text-align: center;
  font-size: 0.8vw;
  top: 50%;
  left: 0;
  position: absolute;
  transform: translateY(-50%);
  letter-spacing: 0.05vw;
}

.banner-txt {
  font-family: "DFHeiStd-W5";
  color: #fff;
  text-align: center;
  font-size: 0.8vw;
  bottom: 2%;
  right: 2%;
  position: absolute;
  letter-spacing: 0.1vw;
}

.banner-txt2 {
  font-family: "DFHeiStd-W5";
  color: #fff;
  text-align: center;
  font-size: 0.8vw;
  bottom: 0.5%;
  right: 0;
  position: absolute;
  letter-spacing: 0.1vw;
}

.img-hover {
  width: 7%;
  height: auto;
  margin: 0 auto 3% auto;
}

.banner-block:hover .mask {
  visibility: visible;
  opacity: 1;
}

.banner-block:hover img {
  transform: scale(1.02);
  transition: 0.5s linear;
}

.scrollDown {
  position: absolute;
  display: block;
  cursor: pointer;
  width: 2.7%;
  left: 50%;
  transform: translateX(-50%);
  top: 82%;
}

.scrollDown-arrow {
  position: absolute;
  display: block;
  width: 0.56%;
  left: 50%;
  transform: translateX(-50%);
  /* animation: 動畫名稱 播放時間 延遲執行時間 速度 次數 方向 填充模式 播放狀態; */
  animation: scroll-Down-move 0.5s infinite alternate;
  transition-timing-function: ease-out;
}

.scrollDown:hover+.scrollDown-arrow {
  animation: scroll-Down-move 0.3s infinite alternate;
}

@keyframes scroll-Down-move {
  0% {
    top: 91%;
  }

  100% {
    top: 92%;
  }
}

/*開圖*/

.open-banner {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0px;
  top: 0px;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 99999;
}

.banner-closeBtn {
  width: 1.8%;
  position: absolute;
  right: 1.8%;
  top: 2.4%;
}

.open-pic {
  width: 58%;
  height: auto;
  /* height: calc( 100% - 150px); */
  padding: 40px 0px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  overflow: auto;
  color: #fff;
  text-align: left;
}

/*輪播*/

.swiper-container {
  width: 100%;
  height: 38vw;
  margin-top: 0;
  position: relative;
  padding-right: 5%;
  box-sizing: border-box;
}

.swiper-container .swiper-slide img {
  position: relative;
  width: 100%;
  height: 95%;
  object-fit: contain;
  background-color: #606060;
}

.swiper-pagination-bullet {
  background-image: url(../img/dot2.png);
  /* 未轮播到的图片分页样式 */
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.2vw;
  height: 1.25vw;
  margin: 0 2% !important;
  opacity: 1;
  border: none;
  background-color: transparent;
}

.swiper-pagination-bullet-active {
  background-image: url(../img/dot1.png);
  background-color: transparent;
}

.swiper-container-vertical>.swiper-pagination-bullets {
  right: 1%;
}

.swiper-container-fade .swiper-slide {
  background-color: #000;
}

/* 
.all-::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
  background-color: transparent;
  background-image: url(../img/scrollline2.png);
  background-position: 50% 50%;
  background-repeat: repeat-y;
  background-size: contain;
}

.all-::-webkit-scrollbar {
  width: 2px;
  background-color: transparent;
}

.all-::-webkit-scrollbar-thumb {
  background-color: #fff;
} */

/* 滾動條的設定 */
.all-::-webkit-scrollbar {
  height: 9px;
  background-color: transparent;
}

.all-::-webkit-scrollbar-track {
  background-image: url(../img/scrollline2.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* the new scrollbar will have a flat appearance with the set background color */

.all-::-webkit-scrollbar-thumb {
  background-color: #bffdff;
  border-radius: 9px;
  cursor: pointer;
}



.s-banner::-webkit-scrollbar {
  height: 9px;
  background-color: transparent;
}

.s-banner::-webkit-scrollbar-track {
  background-image: url(../img/scrollline2.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* the new scrollbar will have a flat appearance with the set background color */

.s-banner::-webkit-scrollbar-thumb {
  background-color: #bffdff;
  border-radius: 9px;
  cursor: pointer;
}