#banner{position:relative;-webkit-transform: translateX(-2.08vw) skewX(-33.1deg);transform: translateX(6.92vw) skewX(-33.1deg);z-index: 2;overflow: hidden;width: 97.16vw;}
#banner .bannerbg{
    position: relative;
}
#banner .bannerbg:before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100vh;
    bottom: 0;
    right: -90%;
    background: url(/images/39/img-bn-logo.png) no-repeat 0 100%;
    mix-blend-mode: screen;
    -webkit-transform: translateX(-50%) skewX(33.1deg);
    transform: translateX(-50%) skewX(33.1deg);
    animation: bn-float-breathe 5s ease-in-out infinite alternate,
             bn-opacity 2s ease-in-out infinite alternate;
    }

@keyframes bn-float-breathe{
  0%{
    /* 保留你原本的 transform，再疊加位移/縮放 */
    transform: translateX(-50%) skewX(33.1deg) translateY(0) scale(1);
  }
  50%{
    transform: translateX(-50%) skewX(33.1deg) translateY(-6px) translateX(2px) scale(1.015);
  }
  100%{
    transform: translateX(-50%) skewX(33.1deg) translateY(6px) translateX(-2px) scale(0.985);
  }
}

/* 呼吸的亮度/透明感（不動 transform，避免衝突） */
@keyframes bn-opacity{
  0%   { opacity: .12; filter: brightness(1.00) contrast(1.00); }
  50%  { opacity: .52; filter: brightness(1.06) contrast(1.03); }
  100% { opacity: .82; filter: brightness(1.00) contrast(1.00); }
}

/* 無障礙：尊重使用者關閉動態的偏好 */
@media (prefers-reduced-motion: reduce){
  #banner .bannerbg::before{
    animation: none;
  }
}

#banner .img{overflow:hidden;display:inline-block;-webkit-transform: translateX(-50%) skewX(33.1deg);transform: translateX(-50%) skewX(33.1deg);top: 10%;left: 40%;width: 110%;}
#banner img{position:relative;width: 100%;height: 100vh;min-width: 100%;background:no-repeat 50% / cover;}
#banner .img video , #banner .img iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; }
#banner .item video {overflow: hidden;z-index: 0;height: auto;-webkit-transform: translateX(-50%) skewX(33.1deg);transform: translateX(-50%) skewX(33.1deg);position: absolute;top: 0;left: 50%;width: 110%;}
#banner .pos_abs{width:100%;height: 100%;top:0;left:0;z-index: 10;}
#banner .info{min-width: 100%;height: 100%;display: flex;align-items: center;z-index: 20;-webkit-transform: skewX(33.1deg);transform: skewX(33.1deg);}
#banner .info .txt *{color:var(--white);-webkit-transform:translateY(15px);transform:translateY(25px);transition: all 0.3s ease-in-out;-webkit-transition: all 0.3s ease-in-out;}
#banner .info .txt{display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content: flex-end;padding:0;z-index:2;width: 86%;height: 100%;margin:auto;position:absolute;top: -20%;left:0;right: 0;bottom:0;align-items: flex-start;}

#banner .info:before{position:absolute;width:100%;height:100vh;background: url(/images/39/img-bn-T.png) no-repeat 0% 64%;background-size: auto;top:0;left:0;z-index: 11;content:"";}
#banner .info .txt h2{font-size: 1.9rem;font-weight: 500;position: relative;letter-spacing: 2px;padding-top: 10px;margin-top: 70px;word-spacing: 100vw;}
#banner .info .txt h3{display: contents;font-size: 60px;}
#banner .info .txt h3,#banner .info .txt p{color: var(--white);opacity:0;-webkit-transform:translateY(15px);transform:translateY(25px)}
#banner .info .txt h2:before{content:"";width: 110px;height: 4px;background: var(--secondary);display:block;position:absolute;top: -30px;left:0}
#banner .info .txt p{display: flex;flex-direction: column;}
#banner .info .txt p font{font-weight: 700;font-size: 68px;letter-spacing:1px;line-height: 110%;font-family: "Barlow Semi Condensed", sans-serif;text-transform: uppercase;}
#banner .info .txt p font:first-child{
    color: var(--secondary);
}
#banner .info .txt .Imglogo{width:800px;height:auto}
#banner .info .txt .Imglogo img{height:auto}
#banner a.pos_abs{}
#banner .slick-current .info .txt p{transition-delay:.6s;-webkit-transition-delay:.6s;animation-name:fadeInUp;-webkit-animation-name:fadeInUp;animation:fadeIn 1s both;-webkit-animation:fadeIn 1s both}
#banner .slick-current .info .txt *{-webkit-transform:translateY(20px);transform:translateY(20px);transition-delay:.3s;-webkit-transition-delay:.3s;-webkit-transform:translateX(0) scale(1);transform:translateX(0) scale(1)}

#banner .item .banneritembg{
    position: relative;
    width: 100%;
    height: 100%;
}
#banner .item .banneritembg:before{content:'';position:absolute;height: 700px;width: 1100px;bottom: 0;left: 370px;background: url(/images/39/img-bn-bg-2.png) no-repeat 50% 0;background-size:cover;z-index: 12;-webkit-transform: translateX(-50%) skewX(33.1deg);transform: translateX(-50%) skewX(33.1deg);}

#banner .item .banneritembg::after {
  content: "";
  position: absolute;
  bottom: 600px;
  left: 0;
  width: 210px;
  height: 500px;
  background: var(--secondary);
  z-index: 20;
}
/* arrow_bg */
#banner .arrow_bg{width:450px;height:140px;left:auto;bottom:-140px;transform-origin:100% 100% 0;display:none}
#banner .arrow{width:50px;display:flex;justify-content:space-between;padding:0 30px;position:absolute;z-index:10;flex-direction:column;left:0%;top:65%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display: none;}
#banner .arrow a{width:45px;height:45px;line-height:55px;border:1px solid #fff;border-radius:50%;display:flex;opacity:.65;flex-direction:column;justify-content:center;align-items:center;margin:5px}
#banner .arrow a.prev{-webkit-transform:rotate(180deg)}
#banner .arrow a svg{fill:#ffffff;width:13px}
#banner .arrow a:hover{opacity:1;background-color:var(--primary);border:1px solid var(--primary)}
#banner .arrow a i{color:#fff}

 /* 初始狀態：文字隱形且從上方開始 */
.falling-text{opacity:0;transform:translateY(-50px);animation:fall 1s ease-out forwards;font-size: 1.6rem;letter-spacing: 1px;font-weight: 500;}

/* 動畫效果：文字從上方掉落並顯示 */
@keyframes fall{
0%{opacity:0;transform:translateY(-50px)}
100%{opacity:1;transform:translateY(0)}
}
/* 讓每個字按順序顯示 */
.falling-text-container{display:inline-block;padding-bottom: 10px;}

/* scrollBtn */
@keyframes web_menu002{0%{transform:translate(0px,0px)}
50%{transform:translate(0px,15px)}
100%{transform:translate(0px,0px)}
}
.page-scroll{bottom: 5%;right: -140px;opacity: 1;margin-left:0;z-index:888;height: 150px;padding: 120px 50px 0 70px;text-align:center;position:absolute;transform: translate(-50%,25%);-webkit-transition: all 1.2s 0.8s ease-in-out;transition: all 1.2s 0.8s ease-in-out;}
.page-scroll a{color:#fff;letter-spacing:.1em;text-decoration:none;-webkit-transition:opacity .3s;transition:opacity .3s;text-transform:uppercase;display:flex;flex-direction: row-reverse;justify-content: space-around;align-items: baseline;gap: 60px;}
.page-scroll.style01 a b{color: var(--white);font-weight: 400;font-size: .8rem;letter-spacing: 2.5px;writing-mode: vertical-rl;}
.page-scroll.style01 a span::after{content:"";position:absolute;top:-10px;right:0;z-index:1;width:1px;height: 60px;background: #ffffff;background-size:cover;background-repeat:no-repeat;animation:scrollarrow1 2.8s cubic-bezier(.86,0,.07,1) infinite;-webkit-animation:scrollarrow1 2.8s cubic-bezier(.86,0,.07,1) infinite}
.page-scroll.show{
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}


.page-scroll::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #ffa000;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  -webkit-transform: skewX(-33.1deg);
  transform: skewX(-33.1deg);
  z-index: -1;
}
.page-scroll::after {
  content: "";
  position: absolute;
  top: 0;
  right: 20px;
  width: 100%;
  height: 100%;
  opacity: 1;
  z-index: -2;
  background: #f6f6f6;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transition: all 0.4s 
ease;
  transition: all 0.4s 
ease;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  -webkit-transform: skewX(-33.1deg);
  transform: skewX(-33.1deg);
}

@keyframes scrollarrow1{0%{transform:translateY(-100%)}
50%{transform:translateY(0%)}
to{transform:translateY(300%)}
}
@-webkit-keyframes scrollarrow1{0%{-webkit-transform:translateY(-100%)}
50%{-webkit-transform:translateY(0%)}
to{-webkit-transform:translateY(300%)}
}
.page-scroll.style01 a span{position: relative;right:0;background: rgb(255 255 255 / 28%);background-size:cover;background-repeat:no-repeat;width:1px;height: 9vh;top: 0;left:50%;transform:translate(-50%,0%);overflow:hidden}
#banner.scroll .page-scroll{
    opacity: 0;
    pointer-events: none;
    right: 40px;
}
#banner .item:before{content:'';position:absolute;height: 370px;width: 100%;top: 0;left: 0;background: url(/images/39/img_banner.png) no-repeat 50% 0;background-size:cover;z-index: -20;}
#banner .item:after{position:absolute;width:100%;height:100vh;background: linear-gradient(to top, rgb(0 0 0 / 0%) 50%, #082138 100%);background: url(/images/39/img-bn-bg-4.png) no-repeat 0 100%;background-size: cover;top:0;left:0;z-index: 11;content:"";opacity:.7}
#headBan{position:relative;overflow:hidden;background-color: #fff;background-image: url(/images/39/img-bn-bg-1.png);background-position: 0 130%;background-repeat: no-repeat;}

@media screen and (max-width: 1640px) {
    #banner:before{left: 5vw;}
    #banner .info .txt{width: 80%;top: -20%;}
    .falling-text{
    font-size: 1.4rem;
}
    #banner .info .txt p font{
    font-size: 56px;
}
    #banner .info .txt h2{
    font-size: 1.6rem;
    padding-top: 0px;
    margin-top: 60px;
}
}

@media screen and (max-width: 1470px) {
	#banner:before{left: 5.5vw;}
}

@media screen and (max-width: 1280px) {
    #banner img{height: 70vh;}
    #scrollBtn,#banner:before,.page-scroll,#banner .bannerbg{display:none}
	#banner .info .txt{width: 82%;}
	#banner .info .txt h3{display: flex;flex-direction: column;align-items: flex-start;}
	#banner .item video{left: 40%;width: 120%;}
    #banner .info .txt .Imglogo{width: 60vw}
    #banner .item .banneritembg::after{
    bottom: 400px;
    height: 230px;
    left: -130px;
    width: 190px;

}
    #banner .item .banneritembg:before{}
}


@media screen and (max-width: 960px) {
    #banner .info .txt h3{font-size:30px}
    #scrollBtn,#banner .info:before{display:none}
	#banner .slick-current .info .txt p{margin-bottom: 0;}
	#banner .info .txt .Imglogo{width:80vw}
	#banner .item:before{height:250px}
    #banner .info .txt h2:before{
    top: -10px;
    height: 2px;
    width: 60px;
}
	#banner .info .txt h2{margin-top:30px;font-size: 1.2rem;}
	.falling-text-container{padding-bottom: 10px;}
    #banner .info .txt p font{
    font-size: 40px;
}
    .falling-text{
    font-size: 1.1rem;
}
    #banner,#banner .item video,#banner .info,#banner .img{
    transform: translateX(0) skewX(0deg);
    top: 0;
    left: 0;
    width: auto;
}
    #banner .item video{
    left: 0;
    top: 10%;
    height: 100%;
    width: auto;
}
     #banner .item .banneritembg::after{

    -webkit-transform: translateX(-2.08vw) skewX(-33.1deg);
    transform: translateX(6.92vw) skewX(-33.1deg);
}
    #banner .item .banneritembg:before{
    -webkit-transform: translateX(-50%) skewX(3.1deg);
    transform: translateX(-50%) skewX(3.1deg);
    left: 320px;
}
        #banner img{height: 62vh;}
    #banner .item .banneritembg::after{
    bottom: 330px;
    left: -120px;
}
    #banner .item .banneritembg:before{
    width: 120%;
    background-size: contain;
    background-position: bottom;
    left: 120px;
}
}

@media screen and (max-width: 560px) {
    #banner .info .txt h3:before{bottom:-31px;width:1px;height:25px}
	#banner .item video{left: -50%;top: 0%;}
}
