@import "reset.css";
@import "public.css";

section{
  width: 100%;
  display: flex;
  justify-content: center;
  overflow-x: hidden;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}

.container{
  width: 100%;
  height: 100%;
}


.hero{
  background: url("../img/kv/kvbg.png"),linear-gradient(to bottom,#f4ed8e,#fff);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: contain;
  width: 100%;
  height: calc(100vw * 0.5);
}
h1{
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 70vw;
  top: 20vw;
}
h1 img{
  width: 5vw;
  position: absolute;
}
h1 img:first-child{
  width: 30vw;
  margin-left: 0.7vw;
}
h2{
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 70vw;
  top: 15vw;
}
h2 img{
  width: 12vw;
  position: absolute;
}
h3{
  color: #ab2024;
  font-size: 3.5vw;
  font-weight: 900;
  text-shadow:
    -2px  2px   #fff,
     2px  2px   #fff,
     0   -2px   #fff,
     0    2px   #fff,
    -2px -2px   #fff,
     2px -2px   #fff,
    -2px  2px   #fff,
     2px  2px   #fff;
}
h4{
  font-size: 1.5vw;
  font-weight: 900;
  display: block;
  margin: 1vw 0;
}
.h4openpoint{
  display: inline;
  width: 10vw;
  padding: 0 0.5vw 0.7vw 0.5vw;
}
h5{
  background: #f29600;
  padding: 0.5vw 1.5vw;
  border-radius: 50px;
  color: #fff;
  font-weight: 700;
  font-size: 1.5vw;
  margin: 1vw 0;
}
.hero h3{
  position: absolute;
  font-size: 2vw;
  font-weight: 700;
  left: 59vw;
  top: 24vw;
  color: #000;
  text-shadow:unset;
}
.kvbtn{
  font-family: "Huninn";
  position: absolute;
  width: 28vw;
  left: 57vw;
  top: 28vw;
}
.kvbtn div{
  padding: 0;
}
.kvbtn a{
  color: #000;
  font-size: 1.5vw;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -0.1em;
  text-shadow:
    -1px  1px   #fff,
     1px  1px   #fff,
     0   -1px   #fff,
     0    1px   #fff,
    -1px -1px   #fff,
     1px -1px   #fff,
    -1px  1px   #fff,
     1px  1px   #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  background: #fc5303;
  border-radius: 1vw;
  z-index: 0;
  padding: 0.5vw 0.8vw 0.5vw 1.5vw;
  width: fit-content;
}
.kvbtn a span{
  color: #ffffff;
  font-size: 0.9vw;
  width: 3.2vw;
  height: 3.2vw;
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  background: #890017;
  border-radius: 50%;
  padding: 0 0.4vw;
  text-align: center;   
  margin-left: 0.5vw;
  text-shadow: none;
  z-index: 1;
}
.kvbtn a:hover span{
  transition: transform 0.6s;
	transform-style: preserve-3d;
	transform:rotateY(360deg);
}
.kvbtn a:hover{
  transform: scale(0.95);
  transition: transform 0.3s;
}
.kvbtn a:after{
  content: "";
  display: block;
  width: 80%;
  height: 79%;
  border-radius: 1vw;
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  z-index: -1;
  left: 4%;
}
.kvbtn a::before{
  content: "";
  display: block;
  width: 96%;
  height: 90%;
  border-radius: 1vw;
  background: linear-gradient(to right, #fae359, #f4a828);
  position: absolute;
  z-index: -2;
  left: 2%;
}
.spotline{
  position: absolute;
  width: 12vw;
  height: 80%;
  border-radius: 50%;
  background: linear-gradient(to bottom,rgba(255, 255, 255, 0.4),rgba(255, 255, 255, 0),rgba(255, 255, 255, 0));
  filter: blur(3px);
  transform-origin: top center;
}
.sl01{
  left: 16vw;
  top: 6vw;
  transform: rotate(-20deg);
  animation: kvspotlinerot01 10s linear infinite;
  animation-delay: -0.5s;
}
.sl02{
  width: 11vw;
  left: 34vw;
  top: 5.5vw;
  animation: kvspotlinerot02 8s linear infinite;
  animation-delay: -0.7s;
}
.sl03{
  left: 52vw;
  top: 6vw;
  transform: rotate(20deg);
  animation: kvspotlinerot03 9s linear infinite;
  animation-delay: -0.2s;
}

@keyframes kvspotlinerot01 {
  50% {
    transform: rotate(-30deg);
  }
  0%,100% {
    transform: rotate(-10deg);
  }
}
@keyframes kvspotlinerot02 {
  50% {
    transform: rotate(10deg);
  }
  0%,100% {
    transform: rotate(-10deg);
  }
}
@keyframes kvspotlinerot03 {
  50% {
    transform: rotate(30deg);
  }
  0%,100% {
    transform: rotate(10deg);
  }
}
.coingroup{
  position: absolute;
  width: 100%;
  height: calc(100vw * 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  animation: coingroupfly 10s ease-in-out 1;
}

@keyframes coingroupfly {
  0%,10% {
    transform: scale(1%);
    left: -10vw;
    top: -5vw;
    opacity: 0;
  }
  16%,100% {
    transform: scale(100%);
    left: 0;
    top: 0;
    opacity: 1;
  }
}



.coingroup img{
  position: absolute;
  width: 5vw;
  animation: itemfloat 1s ease-in-out infinite;
}
.kvluggage,.kvhouse,.kvtreasure,.kvtrlight{
  position: absolute;
}
.kvluggage{
  width: 12vw;
  left: 13vw;
  top: 18.1vw;
}
.kvhouse{
  width: 33vw;
  left: 21vw;
  top: 10.5vw;
}
.kvtreasure{
  width: 10vw;
  left: 34.5vw;
  top: 16.5vw;
}
.kvtrlight{
  width: 10vw;
  left: 37.5vw;
  top: 12.5vw;
  opacity: 0.9;
  animation: kvtrlightfly 10s ease-in-out 1,kvtrlightflash 0.7s linear infinite;
}

@keyframes kvtrlightfly {
  0%,23% {
    transform: scale(60%);
    left: 30.5vw;
    opacity: 0;
  }
  27%,100% {
    transform: scale(100%);
    left: 37.5vw;
    opacity: 0.9;
  }
}
@keyframes kvtrlightflash {
  50% {
    filter: opacity(0.3);
  }
  0%,100% {
    filter: opacity(1);
  }
}
.coingroup img:nth-child(1){
  width: 3vw;
  left: 21vw;
  top: 10vw;
  transform: rotate(15deg);
}
.coingroup img:nth-child(2){
  width: 2vw;
  left: 35vw;
  top: 13vw;
  transform: rotate(10deg);
  animation-delay: -0.3s;
}
.coingroup img:nth-child(3){
  width: 4vw;
  left: 45vw;
  top: 11vw;
  transform: rotate(10deg);
  animation-delay: -0.7s;
}
.coingroup img:nth-child(4){
  width: 3vw;
  left: 51vw;
  top: 19vw;
  transform: rotate(20deg);
  animation-delay: -0.9s;
}
.coingroup img:nth-child(5){
  width: 5vw;
  left: 56vw;
  top: 39vw;
  transform: rotate(183deg);
  animation-delay: -0.6s;
}
.coingroup img:nth-child(6){
  width: 3vw;
  left: 50vw;
  top: 35vw;
  transform: rotate(20deg);
  animation-delay: -0.1s;
}
.coingroup img:nth-child(7){
  width: 4vw;
  left: 68vw;
  top: 39vw;
  transform: rotate(-38deg);
  animation-delay: -0.3s;
}
.coingroup img:nth-child(8){
  width: 7vw;
  left: 84vw;
  top: 10vw;
  transform: rotate(-12deg);
  animation-delay: -0.7s;
}
.coingroup img:nth-child(9){
  width: 5vw;
  left: 87vw;
  top: 28vw;
  transform: rotate(-108deg);
  animation-delay: -0.5s;
}
.coingroup img:nth-child(10){
  width: 4vw;
  left: 80vw;
  top: 41.5vw;
  transform: rotate(25deg);
  animation-delay: -0.4s;
}

@keyframes itemfloat {
  0%,100% {
    margin-top: 0vw;
  }
  50% {
    margin-top: -1vw;
  }
}
.fixed_box .fixed_link a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.fixed_box .fixed_link a::before{
  content: "";
  position: absolute;
  width: 5vw;
  height: 3vw;
  background: #fff;
  border-radius: 2vw;
  margin-bottom: -3.5vw;
}
.fixed_box .fixed_link a:after{
  content: "";
  position: absolute;
  border-top: 1vw solid transparent;
  border-bottom: 1vw solid transparent;
  border-left: 1.2vw solid #ab2024;
  margin-bottom: 0.5vw;
  margin-left: 0.2vw;
  margin-bottom: -2.9vw;
}
.fixed_box{
  background: unset;
  border: 0;
  right: 1vw;
  transform: translateX(120%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.5s ease, opacity 0.5s ease;
}
.fixed_box.is-show {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.fixed_box .fixed_link{
  color: #fff;
  font-weight: 700;
  letter-spacing: 3px;
  font-size: 2vw;
  padding: 0 1.5vw 3vw 1.5vw;
  border: 0;
  background: #ab2024;
  transform: scale(0.8);
  transform-origin: 70%;
  position: relative;
  transition: all 0.3s;
}
.fixed_box .fixed_link:hover{
  transform: scale(0.9);
  transition: all 0.3s;
}
.fixed_box .fixed_link img{
  position: absolute;
  width: 1.2vw;
}
.fixed_box .fixed_link img:nth-child(1){
  left: 0.8vw;
  top: 1vw;
}
.fixed_box .fixed_link img:nth-child(2){
  left: 5vw;
  top: 6vw;
}
.fixed_box .fixed_link:hover img{
  animation: lds-roller 3s infinite linear ;
}
.fixed_box .fixed_link:hover img:nth-child(2){
  animation-delay: -0.7s;
}
@keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.giftsc01{
  background: #f4f0c7;
  position: relative;
  overflow: hidden;
}
.giftsc01 .floors{
  position: absolute;
  top: -4.7vw;
  width: 280vw;
  height: 35vw;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0));
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  margin-left: -1vw;
}

.giftsc01 .sc01title{
  width: 5vw;
  margin-top: 2vw;
  margin-bottom: 1vw;
}
.giftsc01 .content{
  display: flex;
  z-index: 1;
  flex-direction: column;
  align-items: center;
}

/* TAB分頁選單 */
.giftabgroup {
  width: 60vw;
  margin-top: 2vw;
}
.giftabgroup ul{
  padding: 0;
  margin: 0;
  display: flex;
  width: 100%;
  justify-content: center;
}
.giftabgroup li{
  width: 25%;
  text-align: center;
  cursor: pointer;
  background: #c8c9ca;
  padding: 0.5vw 0 1.5vw 0;
  border-radius: 20px 20px 0 0;
  border: 0.25vw #000 solid;
  margin-left: -0.15vw;
  color: #40210f;
  font-size: 1.5vw;
  font-weight: 700;
}
.giftabgroup li:hover,.giftabgroup li.active{
  background: #dd5220;
  color: #fff;
  font-size: 1.6vw;
  text-shadow:
    -1px -1px 0 #000,
    0px -1px 0 #000,
    1px -1px 0 #000,
    -1px  0px 0 #000,
    1px  0px 0 #000,
    -1px  1px 0 #000,
    0px  1px 0 #000,
    1px  1px 0 #000,

    -2px -1px 0 #000,
    -2px  1px 0 #000,
    2px -1px 0 #000,
    2px  1px 0 #000,
    -1px -2px 0 #000,
    1px -2px 0 #000,
    -1px  2px 0 #000,
    1px  2px 0 #000;
}
.giftboxgroup{
  margin-top: -1.5vw;
  background: linear-gradient(to right,#f2dd5d,#eca52f);
  border-radius: 20px;
  border: 0.25vw #000 solid;
  position: relative;
  overflow: hidden;
  width: 65vw;
  height: 25vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2vw;
}
.giftbox{
  width: 97.5%;
  height: 95%;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 15px;
  text-align: center;
  font-size: 1.5vw;
  font-weight: 700;
  line-height: 2.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.giftboxgroup > div.giftbox {
  /* transform: translateX(100%); */
  opacity: 0;
  transition: all 0.4s ease;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.giftboxgroup > div.active {
  transform: translateX(0);
  opacity: 1;
  position: relative;
}

.giftboxgroup > div.exit-left {
  transform: translateX(-100%);
  opacity: 0;
}
.giftboxgroup > div.exit-right {
  transform: translateX(100%);
  opacity: 0;
}

.giftboxgroup > div.enter-right {
  transform: translateX(100%);
  opacity: 0;
}

.giftboxgroup > div.enter-left {
  transform: translateX(-100%);
  opacity: 0;
}
.giftbtngroup,.giftbtngroup li{
  position: absolute;
  z-index: 10;
  color: #fff;
  font-size: 1vw;
}
.btng{
  background: unset;
  border: 0;
  overflow: unset;
  height: 3vw;
  top: -13vw;
}
.giftbtngroup{
  width: 100%;
  height: 100%;
}
.giftbtngroup li{
  width: 3vw;
  height: 3vw;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.giftbtngroup li:hover{
  transform: scale(1.1);
  
}
.giftbtngroup .pre{
  background:linear-gradient(to right,#f2dd5d,#eca52f) ;
  border-radius: 50px 0 0 50px;
  left: -1.5vw;
  transform-origin: right;
}
.giftbtngroup .pre span{
  display: block;
  transform: rotate(-90deg);
}
.giftbtngroup .next{
  right: -1.5vw;
  background:linear-gradient(to left,#f2dd5d,#eca52f) ;
  border-radius: 0 50px 50px 0;
  transform-origin: left;
}
.giftbtngroup .next span{
  display: block;
  transform: rotate(90deg);
}
.giftbox .row{
  width: 100%;
  justify-content: center;
}
.giftbox .row div:first-child{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.giftbox p{
  display: block;
  margin: 2vw 0 1vw 0;
}
.giftbox label{
  width: 100%;
  display: block;
  background:linear-gradient(to left,rgb(241, 213, 86,0),#e9d55e,rgb(241, 213, 86,0)) ;
}
.gifticon{
  display: flex;
  justify-content: center;
  padding-top: 2vw;
}
.gifticon img{
  height: 8vw;
  width: auto;
}
.gifticon span{
  display: block;
  width: 3vw;
  height: 3vw;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  border-radius: 50%;
  background: #dd5220;
  margin-right: 1.5vw;
  flex-direction: column;
  line-height: 1.1;
  padding-bottom: 0.1vw;
}
.gifticon span.big{
  width: 5vw;
  height: 5vw;
  background: #ab2024;
}
.gifticon span b{
  font-size: 2vw;
}
.gb02 label{
  width: 50%;
}
.openpointbox img{
  width: 15vw;
  height: auto;
}
.openpointbox span{
  background: unset;
  flex-direction: unset;
  width: auto;
  height: auto;
  font-size: 4.5vw;
  margin: 0.3vw 0;
  color: #f00;
}
.openpointbox span span{
  color: #000;
}
.openpointbox p{
  margin: 0 ;
}
.gift04 .giftss{
  width: 18%;
  opacity: 0;
  transform: translateY(25vw);
}
.gift04 .giftss.gb04insetcard{
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s ease-in-out;
  transition-delay: 0.2s;
}
.gift04 .giftss.gb04insetcard.gts01{
  transition-delay: 0.4s;
}
.gift04 .giftss.gb04insetcard.gts02{
  transition-delay: 0.6s;
}
.gift04 .giftss.gb04insetcard.gts03{
  transition-delay: 0.8s;
}
.gift04 .giftss.gb04insetcard.gts04{
  transition-delay: 1s;
}
.gift04 .giftss.gb04insetcard.gts05{
  transition-delay: 1.2s;
}
.gift04 .giftss p{
  font-size: 1.2vw;
  line-height: 1.5;
  margin: 0;
  margin-top: 0.5vw;
}

.gift04 .giftss span {
    display: block;
    width: 95%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #dd5220;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.7vw;
    
}
.gift04 .giftss:nth-child(2n){
  padding-top: 3vw;
}
.gift04 .giftss:nth-child(4){
  padding-top: 1vw;
}
.openboard a{
  margin-top: -1vw;
  color: #e70010;
  transform: scaleX(1.5);
  cursor: pointer;
  display: block;
}
.openboard a:hover{
  transform: scaleX(1.5) scale(1.1);
}
.giftboxgroup.delayopen {
  height: 68vw;
  padding-top: 3vw;
  margin-top: -4.2vw;
  flex-direction: column;
  justify-content: flex-end;
}
.delayopen .gifticon span{
  margin-right: 1vw;
}
.delayopen .giftboard div{
  padding-top:1.5vw;
  padding-bottom:1.5vw;
}
.delayopen .giftbox {
  height: 95%;
  margin-bottom: 0.8vw;
  border-radius: 0 0 20px 20px;
}

.delayopen .giftbox label{
  width: fit-content;
  background: #000;
  border-radius: 50px;
  color: #fff;
  padding: 0 1.5vw;

}
.delayopen .giftbox .row div:first-child{
  align-items: unset;
}
.delayopen .giftbox .row div:nth-child(5) .gifticon img {
    height: 12vw;
}
.delayopen .giftbox .row div:nth-child(5) p:last-child {
    margin: 0;
    line-height: 1.5;
}
.delayopen .giftbox .row div:nth-child(5) p:last-child b{
    font-size: 1vw;
}
.delayopen .giftbox .row div:nth-child(6) .gifticon img {
    height: 10vw;
}
.delayopentitle{
  z-index: 1;
}
.delayopentitle h3{
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-size: 2.5vw;
  color: #000;
  text-shadow:
    -1px  1px   #fff,
     1px  1px   #fff,
     0   -1px   #fff,
     0    1px   #fff,
    -1px -1px   #fff,
     1px -1px   #fff,
    -1px  1px   #fff,
     1px  1px   #fff;
}
.delayopentitle h3 img{
  width: 9vw;
}

.delayopen .giftbox .row {
  width: 95%;
}

.delayopen .openpointbox img {
  width: 12vw;
}

.delayopen .openpointbox span {
  font-size: 3.5vw;
}
.delayopen .giftboard div.openpointbox {
  padding: 0;
}
.delayopen .giftbox p {
    margin: 1vw 0;
}
.delayopen .col-sm-12{
  padding: 0;
}

.pointdesclink{
  background: #fff;
  width: 65vw;
  border-radius: 50px;
  border: 3px #000 solid;
  text-align: center;
  padding: 0.6vw 0;
  font-size: 1.5vw;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: #000;
}
.pointdesclink:hover{
  background: #000;
  color: #fff;
}
.pointdesclink span{
  font-size: 1vw;
  margin: 0 1vw;
}
.giftpmtbox{
  margin-top: -50vw;
  z-index: 0;
}
/* waveSvg */
.waveSvg {
  position: relative;
  background: linear-gradient(to right,#e6dab2,#d6b984,#e6d8ae,#d4b780);
}
.waveSvg svg {
  position: absolute;
  inset: 0;      /* 讓 SVG 和容器同尺寸 */
  display: block;
  z-index: 1;    /* 在內容下方，但在頁面背景上方 */
  width: 300%;
  height: 60vw;
  transform: translateX(-20%) translateY(-68%);
  animation: waveMove 70s linear infinite;
}
.waveSvg svg.wave01{
  transform: translateX(-20%) translateY(-65%);
  /* animation-delay: -12s; */
}
/* 波浪流動動畫 */
@keyframes waveMove {
  0%,100% {
    margin-left: 58vw;
  }
  50% {
    margin-left: -137vw;
  }
}
/* waveSvg */

.waveSvg .inner {
  position: relative;
  width: 100%;
  z-index: 2;           /* 文字內容在上層 */
  font-size: 18px;
  text-align: center;
  padding: 0 12px;
  z-index: 8;
  padding-top: 53vw;
  padding-bottom: 5vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sc03title{
  width: 18vw;
  position: absolute;
  z-index: -1;
  margin-top: -5vw;
}
.pmtbtngroup{
  width: 60vw;
  margin-top: 2vw;
}
.aout{
  padding: 0 2vw;
  position: relative;
}
.pmtbtngroup a{
  background: #c8bb9b;
  border-radius: 20px;
  padding: 1.5vw 1.2vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding-bottom: 1.8vw;
}
.pmtbtngroup a label{
  color:#ba1a2c;
  display: inline-block;
  transform: rotate(90deg) scaleY(0.7);
  font-size: 3vw;
  transition: color 0.3s ease-in-out;
}


.pmtbtngroup a .aoutbgwt{
  width: 98%;
  height: 95%;
  position: absolute;
  top:0;
  left: 0;
  display: block;
  background: #fff;
  border-radius: 20px;
  z-index: 0;
  overflow: hidden;
}

.pmtbtngroup a .aoutbgwt::before{
  content: "";
  width: 62%;
  height: 105%;
  position: absolute;
  top: 0;
  left: -5%;
  display: block;
  background: #ba1a2c;
  z-index: 0;
  transform: skewX(-15deg);
  transition: width 0.3s ease-in-out;
}

.pmtbtngroup a *{
  z-index: 1;
}
.pmtbtngroup a span:nth-of-type(2){
  height: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #dbdcdc;
  padding: 1.4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  line-height: 1.1;
  color: #ba1a2c;
}

.pmtbtngroup .aout:last-child a label,
.pmtbtngroup .aout:last-child a span:nth-of-type(2){
  color:#5e3a20;
}
.pmtbtngroup .aout:last-child a .aoutbgwt::before{
  background:#5e3a20;
}

.pmtbtngroup a:hover .aoutbgwt::before{
  width: 110%;
  transition: width 0.3s ease-in-out;
}
.pmtbtngroup .aout a:hover label{
  color:#fff;
  transition: color 0.3s ease-in-out;
}
.pmtbtngroup a:hover span:nth-of-type(2){
  transition: transform 0.6s;
	transform-style: preserve-3d;
	transform:rotateY(360deg);
}
.pmtbtngroup a span:nth-of-type(1){
  width: 60%;
  text-align: left;
  font-size: 2.2vw;
  font-weight: 900;
  color: #fff;
  padding-left: 1vw;
}
.cointar,.suitwomen{
  width: 15vw;
  position: absolute;
  bottom: 0;
}
.cointar{
  right: 2vw;
}
.suitwomen{
  width: 10vw;
  left: 3vw;
}
.videobox{
  background: #f2e3d8 ;
  padding: 3vw 0;
}
.videolist{
  width: 65vw;
  margin: 2vw 0;
}

.videolist iframe{
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 15px;
}
.ytember{
  padding: 0.7vw;
  background: linear-gradient(to right, #f2dd5d, #eca52f);
  border-radius: 20px;
  border: 0.25vw #000 solid;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vbtn{
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vbtn a{
  display: block;
  margin-top: 1.5vw;
  font-size: 1.5vw;
  color: #fff !important;
  width: fit-content;
  padding: 0.7vw 1.5vw;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 0.8vw;
  font-weight: 900;
  transition: transform 0.3s ease-in-out;
}
.videoitem:first-child .vbtn a{
  background: #ba1a2c;
}
.videoitem:last-child .vbtn a{
  background: #5e3a20;
}
.vbtn a span{
  height: 2.5vw;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
  margin-left: 0.5vw;
  transform: rotate(90deg);
  font-size: 1vw;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease-in-out;
}
.videoitem:first-child .vbtn a span{
  color: #ba1a2c;
}
.videoitem:last-child .vbtn a span{
  color: #5e3a20;
}
.vbtn a:hover{
  transform: scale(1.1);
  transition: transform 0.3s ease-in-out;
}
.vbtn a:hover span{
  transform: rotate(80deg);
  transition: transform 0.3s ease-in-out;
}

.winnerbox{
  width: 70vw;
  justify-content: center;
  font-size: 2vw;
  font-weight: 500;
  color: #fff;
  padding: 3vw 0;
}
.winnerlistbox{
  padding-bottom: 1vw;
}
.winneritem img{
  width: 15%;
  display: inline;
  margin-right: 5%;
  z-index: 1;
}
.winneritem span{
  z-index: 1;
}
.winneritem{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2vw 0;
  margin: 1vw;
  background: #000;
  padding-bottom: 3vw;
  border-radius: 20px;
  position: relative;
  transition: all 0.2s;
}
.winneritem::before{
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  top: -1px;
  height: calc(100% - 1vw);
  background: linear-gradient(to right,#f4cb43,#f39800,#f4cb43);
  border-radius: 20px;
  z-index: 0;
}
.winneritem::after{
  content: "";
  display: block;
  width: 96%;
  position: absolute;
  height: calc(90% - 1vw);
  background: linear-gradient(
    135deg,
    #9c760f,
    #f7c46b,
    #9a7626,
    #fce5c1,
    #f7c46b,
    #9c760f
  );
  padding: 0.2vw; /* 框線粗細 */
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  border-radius: 20px;
  z-index: 0;
}
.winneritem:hover {
  padding-bottom: 2vw;
  margin-top: 2vw;
  transition: all 0.2s;
  margin-bottom: 0;
}
.winneritem:hover::before {
  height: calc(102%);
  top: -1px;
  transition: all 0.2s;
}
.winneritem:hover::after {
  height: calc(90%);
  transition: all 0.2s;
}
.winneritem:hover img{
  width: 18%;
  transform: rotate(-30deg);
  transition: all 0.4s;
}

@media (max-width: 768px) {
  .hero{
    margin-top: 6vw;
  }
  h3{
    font-size: 5.5vw;
    text-shadow:
      -1px -1px 0 #fff,
       0px -1px 0 #fff,
       1px -1px 0 #fff,
      -1px  0px 0 #fff,
       1px  0px 0 #fff,
      -1px  1px 0 #fff,
       0px  1px 0 #fff,
       1px  1px 0 #fff,

      -2px -1px 0 #fff,
      -2px  1px 0 #fff,
       2px -1px 0 #fff,
       2px  1px 0 #fff,
      -1px -2px 0 #fff,
       1px -2px 0 #fff,
      -1px  2px 0 #fff,
       1px  2px 0 #fff;
  }
  h5{
    font-size: 2.5vw;
  }
  h4 {
    font-size: 2.5vw;
  }
  .giftsc01 .sc01title {
    width: 8vw;
  }
  .giftabgroup {
    width: 75vw;
    margin-top: 3vw;
  }
  .giftboxgroup{
    width: 80vw;
    border: 0.35vw #000 solid;
    height: 27vw;
  }
  .giftabgroup li {
    font-size: 2.5vw;
  }
  .giftabgroup li:hover, .giftabgroup li.active {
    font-size: 2.6vw;
  }
  .giftabgroup li {
    border: 0.35vw #000 solid;
    border-radius: 15px 15px 0 0;
  }
  .btng {
    border: 0;
    height: 5vw;
    top: -16vw;
  }
  .giftbox {
    height: 93%;
    font-size: 2vw;
    line-height: 3vw;
  }
  .gifticon span {
    width: 4vw;
    height: 4vw;
  }
  .gifticon span.big {
    width: 6vw;
    height: 6vw;
  }
  .giftbtngroup li {
    width: 5vw;
    height: 5vw;
  }
  .giftbtngroup .pre {
    left: -2.5vw;
  }
  .giftbtngroup .next {
    right: -2.5vw;
  }
  .delayopentitle h3 {
    font-size: 4.5vw;
  }
  .delayopentitle h3 img {
    width: 13vw;
  }
  .giftboxgroup.delayopen {
    height: 110vw;
    margin-top: -6.2vw;
    padding-top: 5vw;
  }
  .openpointbox span {
    width: auto;
    height: auto;
  }
  .spdiv label{
    margin: 0 auto;
    transform: translateX(-10vw);
  }
  .delayopen .giftbox p {
    font-size: 2.5vw;
  }
  .delayopen .openpointbox img {
    width: 20vw;
  }
  .delayopen .openpointbox span {
    font-size: 4.5vw;
  }
  .delayopen .giftbox .row div:nth-child(5) p:last-child b {
    font-size: 1.5vw;
  }
  .pointdesclink {
    font-size: 3.5vw;
    width: 80vw;
  }
  .sc03title {
    width: 25vw;
    margin-top: -6vw;
  }
  .giftpmtbox {
    margin-top: -75vw;
  }
  .waveSvg .inner {
    padding-top: 78vw;
  }
  .aout {
    margin-bottom: 3vw;
  }
  .pmtbtngroup {
    width: 40vw;
  }
  .pmtbtngroup a span:nth-of-type(1) {
    font-size: 3.2vw;
  }
  .cointar {
    width: 20vw;
  }
  .suitwomen {
    width: 15vw;
  }
  .ytember {
    border: 0.35vw #000 solid;
    padding: 1vw;
  }
  .vbtn a {
    font-size: 3.5vw;
    padding: 1vw 3.5vw;
    padding-right: 1.5vw;
  }
  .videoitem {
    margin-bottom: 3vw;
  }
  .vbtn a span {
    height: 4.5vw;
    font-size: 2vw;
    padding-bottom: 0.5vw;
  }
  .fixed_box .fixed_link {
    font-size: 4vw;
    border-radius: 20px;
  }
  .fixed_box .fixed_link a::before {
    width: 7vw;
    height: 4.5vw;
    border-radius: 3vw;
    margin-bottom: -5.5vw;
  }
  .fixed_box .fixed_link a {
    padding-bottom: 4vw;
  }
  .fixed_box .fixed_link a:after {
    border-top: 1.5vw solid transparent;
    border-bottom: 1.5vw solid transparent;
    border-left: 2vw solid #ab2024;
    margin-left: 0.5vw;
    margin-bottom: -4.6vw;
  }
  .fixed_box {
    bottom: -3vw;
  }
  .fixed_box .fixed_link img {
    width: 2vw;
  }
  .fixed_box .fixed_link img:nth-child(1) {
    left: 1vw;
    top: 3vw;
  }
  .fixed_box .fixed_link img:nth-child(2) {
    left: 8vw;
    top: 18vw;
  }
  .winnerbox {
    width: 95vw;
    font-size: 3.5vw;
  }
  .winneritem::before,.winneritem::after,.winneritem {
    border-radius: 15px;
  }
  .winneritem::after{
    height: calc(89% - 1.3vw);
  }
}

@media (max-width: 576px) {
  .hero{
    background-position: bottom center;
    background-size: 200%;
    height: calc(100vw * 1.6);
    position: relative;
  }
  .kvluggage {
    width: 25vw;
    left: 8vw;
    top: unset;
    bottom: 19vw;
  }
  .kvhouse {
    width: 60vw;
    left: 22vw;
    top: unset;
    bottom: 12.5vw;
  }
  .kvtreasure {
    width: 20vw;
    left: 47vw;
    top: unset;
    bottom: 45vw;
  }
  .kvtrlight {
    width: 20vw;
    left: 52.5vw;
    top: 90vw;
  }
  @keyframes kvtrlightfly {
    0%,23% {
      transform: scale(60%);
      left: 39.5vw;
      opacity: 0;
    }
    27%,100% {
      transform: scale(100%);
      left: 52.5vw;
      opacity: 0.9;
    }
  }


  h2 img {
    width: 40vw;
  }
  h2 {
    left: unset;
    top: 25vw;
  }
  h1 {
    left: unset;
    top: 40vw;
  }
  h1 img:first-child {
    width: 75vw;
    margin-left: 2vw;
  }
  h1 img {
    width: 12vw;
  }
  .hero h3 {
    font-size: 5vw;
    left: unset;
    top: 52vw;
  }
  .kvbtn {
    width: 75vw;
    left: unset;
    top: 65vw;
  }
  .kvbtn a {
    font-size: 4vw;
    padding: 2.5vw 2.5vw 2.5vw 3vw;
  }
  .kvbtn a span {
    font-size: 3.2vw;
    width: 10vw;
    height: 10vw;
    margin-left: 2vw;
  }
  .kvbtn a:after {
    width: 75%;
    height: 75%;
    border-radius: 3vw;
  }
  .kvbtn a::before {
    width: 94%;
    height: 90%;
    border-radius: 3vw;
    left: 3%;
  }
  .kvbtn a {
    border-radius: 3vw;
  }
  .coingroup{
    transform: scale(200%);
    left: -38vw;
    top: 80vw;
    opacity: 1;
  }

  @keyframes coingroupfly {
    0%,10% {
      transform: scale(1%);
      left: 0vw;
      top: 80vw;
      opacity: 0;
    }
    16%,100% {
      transform: scale(200%);
      left: -38vw;
      top: 80vw;
      opacity: 1;
    }
  }
  .spotline {
    width: 35vw;
  }
  .sl01 {
    left: -10vw;
    top: 15vw;
  }
  .sl02 {
    top: 15vw;
  }
  .sl03 {
    top: 15vw;
    left: 75vw;
  }
  .giftsc01 .floors {
    top: -22vw;
    width: 300vw;
    height: 86vw;
    margin-left: -2vw;
  }
  .giftsc01 .sc01title {
    width: 15vw;
    margin-top: 5vw;
  }
  h5 {
    font-size: 4vw;
    padding: 1vw 4vw;
    margin-top: 3vw;
  }
  h3 {
    font-size: 8vw;
    margin: 2vw 0;
  }
  h4 {
    font-size: 4.5vw;
    text-align: center;
    line-height: 7vw;
  }
  .h4openpoint {
    display: inline;
    width: 30vw;
    padding: 0 2.5vw 2.7vw 0.5vw;
  }
  .giftboxgroup {
    border-radius: 15px;
    width: 90vw;
    border: 0.6vw #000 solid;
    height: 90vw;
  }
  
  .giftabgroup {
    width: 90vw;
    margin-top: 6vw;
  }
  .giftboxgroup {
    margin-top: -4vw;
    height: 105vw;
  }
  .giftabgroup li {
    font-size: 3.5vw;
  }
  .giftabgroup li:hover, .giftabgroup li.active {
    font-size: 3.6vw;
  }
  .giftabgroup li {
    border: 0.6vw #000 solid;
    border-radius: 10px 10px 0 0;
    margin-left: -0.3vw;
    padding: 0.5vw 0 4.5vw 0;
  }
  .giftbox {
    height: 95%;
    width: 94%;
    font-size: 4vw;
    line-height: 6vw;
  }
  .giftbox label {
    margin: 2.5vw;
  }
  .gifticon span {
    width: 8vw;
    height: 8vw;
    margin-right: 5vw;
  }
  .gifticon img {
    height: 18vw;
  }
  .gifticon span.big {
    width: 14vw;
    height: 14vw;
  }
  .gifticon span b {
    font-size: 5vw;
  }
  .giftbtngroup li {
    width: 8vw;
    height: 8vw;
    font-size: 3vw;
  }
  .gb02 label {
    width: 70%;
  }
  .giftboxgroup > div.giftbox{
    align-items: center;
  }
  .openpointbox img {
    width: 40vw;
    height: auto;
  }
  .openpointbox span {
    width: auto;
    height: auto;
    font-size: 10.5vw;
    margin: 1vw 0;
  }
  .gift04 .giftss {
    width: unset;
    width: 33.33333333%;
    margin: 2vw 0;
  }
  .gift04 .giftss:nth-child(2n) {
    padding-top: 0;
  }
  .gift04 .giftss span {
    font-size: 3.7vw;
  }
  .gift04 .giftss p {
    font-size: 3.2vw;
  }
  .openboard a {
    margin-top: 5vw;
  }
  .btng {
    border: 0;
    height: 5vw;
    top: -55vw;
  }
  .delayopen .openpointbox img {
    width: 23vw;
  }
  .delayopen .giftbox label {
    margin: 0;
    font-size: 3vw;
    padding: 0 3.5vw;
  }
  .delayopen .openpointbox span {
    font-size: 7.5vw;
  }
  .delayopen .giftboard div {
    padding: 0;
    padding-top: 1.5vw;
    padding-bottom: 1.5vw;  
  }
  .delayopen .giftbox p {
    font-size: 3vw;
  }
  .delayopen .giftbox p:first-child {
      font-size: 4vw;
      margin-bottom: 3vw;
  }
  .giftboxgroup.delayopen {
    height: 173vw;
    margin-top: -11.2vw;
    margin-bottom: 4vw;
  }
  .delayopen .giftbox .row div:nth-child(5) p:last-child b {
    font-size: 2vw;
  }
  .delayopen .giftbox .spdiv label {
    margin: 0 auto;
    transform: translateX(-10vw);
  }
  .delayopen .giftbox .row div:nth-child(5) .gifticon img {
    height: 25vw;
  }
  .delayopen .giftbox .row div:nth-child(6) .gifticon img {
    height: 18vw;
  }
  .delayopen .giftbox {
    margin-bottom: 3vw;
    border-radius: 0 0 10px 10px;
  }
  .delayopentitle h3 {
    font-size: 6.5vw;
  }
  .delayopentitle h3 img {
    width: 18vw;
  }
  .waveSvg svg.wave01 {
    transform: translateX(-20%) translateY(-60%);
  }
  .giftpmtbox {
    margin-top: -110vw;
  }
  .waveSvg .inner {
    padding-top: 115vw;
  }
  .pointdesclink {
    font-size: 5.5vw;
    width: 90vw;
  }
  .pointdesclink {
    border: 2px #000 solid;
  }
  .pointdesclink span {
    font-size: 3vw;
    margin: 0 3vw;
  }
  .sc03title {
    width: 40vw;
    margin-top: -10vw;
  }
  .pmtbtngroup {
    width: 60vw;
    margin-top: 5vw;
  }
  .aout {
    margin-bottom: 6vw;
  }
  .pmtbtngroup a span:nth-of-type(1) {
    font-size: 5vw;
    margin-top: -1vw;
  }
  .pmtbtngroup a {
    padding: 1.5vw 1.2vw;
    padding-bottom: 2vw;
    height: 20vw;
  }
  .pmtbtngroup a label {
    font-size: 6vw;
  }
  .pmtbtngroup a span:nth-of-type(2) {
    height: 90%;
  }
  .suitwomen {
    width: 17vw;
  }
  .cointar {
    width: 24vw;
  }
  .videolist {
    width: 90vw;
    margin: 5vw 0;
  }
  .vbtn a {
    font-size: 5.5vw;
    padding: 2vw 4.5vw;
    padding-right: 2.5vw;
    margin-top: 2.5vw;
  }
  .vbtn a span {
    height: 7.5vw;
    font-size: 4vw;
    padding-bottom: 0.5vw;
    margin-left: 2vw;
  }
  .ytember {
    border: 0.6vw #000 solid;
    padding: 2vw;
  }
  .videoitem {
    margin-bottom: 6vw;
  }


  .fixed_box .fixed_link {
    font-size: 5vw;
    padding: 0 1.5vw 7vw 1.5vw;
    border-radius: 14px;
  }
  .fixed_box .fixed_link a::before {
    width: 5vw;
    height: 7.5vw;
    border-radius: 8vw;
    margin-bottom: -7.5vw;
  }
  .fixed_box .fixed_link a:after {
    border-top: 2.5vw solid transparent;
    border-bottom: 2.5vw solid transparent;
    border-left: 3vw solid #ab2024;
    margin-bottom: -6.3vw;
  }
  .fixed_box .fixed_link img {
    width: 4vw;
  }
  .fixed_box .fixed_link img:nth-child(1) {
    left: 25vw;
    top: 3vw;
    width: 3vw;
  }
  .fixed_box .fixed_link img:nth-child(2) {
    left: 75vw;
    top: 7vw;
    width: 3vw;
  }

  .fixed_box {
    width: 100%;
    right: 0;
    bottom: -10vw;
    transform: translateY(120%);
  }
  .fixed_box .fixed_link {
    writing-mode: initial;
    transform: scale(1);
    width: 97%;
  }
  .fixed_box .fixed_link a {
    justify-content: center;
    padding-right: 15vw;
    padding-left: 15vw;
    padding-bottom: 1vw;
    padding-top: 2vw;
  }
  .fixed_box .fixed_link a::before {
    margin-bottom: 0;
    transform: translateX(18vw);
  }
  .fixed_box .fixed_link a:after {
    border-top: 1.5vw solid transparent;
    border-bottom: 1.5vw solid transparent;
    border-left: 2vw solid #ab2024;
    margin-left: 1vw;
    margin-bottom: 0;
    transform: translateX(18vw);
  }
  .msfloor{
    width: 100%;
    height: 15vw;
    background: linear-gradient(to right, var(--color_ff9600) 0%, var(--color_ff0000) 100%);
  }
}