/*==================== Banner ====================*/
#banner{position:relative;overflow:hidden;background:#173e35;}
#banner .main-slider{position:relative;}
#banner .main-slider:not(.slick-initialized) .item:not(:first-child){display:none;}
#banner .item{position:relative;overflow:hidden;background:#173e35;}
#banner .banner_img{position:relative;width:100%;aspect-ratio:1920/900;overflow:hidden;}
#banner video{position:absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;}
#banner .banner_img:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(10,40,33,.82) 0%,rgba(12,43,35,.68) 22%,rgba(15,47,39,.43) 42%,rgba(18,50,41,.16) 62%,rgba(23,58,48,.02) 82%);pointer-events:none;}
#banner .banner_img:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(11,38,31,.02) 45%,rgba(8,33,27,.16) 100%);pointer-events:none;}
#banner .banner_img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform 8s ease;}
#banner .slick-active .banner_img img{transform:scale(1.035);}
#banner .info{z-index:5;inset:0;align-items:center;pointer-events:none;}
#banner .info>.workframe{width:100%;}
#banner .banner_content{position:relative;width: min(1000px,48vw);padding: 40px 0 60px 60px;border-left:2px solid rgba(216,180,129,.88);color:#fff;pointer-events:auto;left: 10vw;bottom: 1vw;}
#banner .banner_content:before{content:"";position:absolute;left:-2px;top:0;width:94px;height:2px;background:#d8b481;}
#banner .banner_kicker{display:flex;align-items:center;gap:18px;margin-bottom: 10px;font-size: 20px;line-height:1.5;letter-spacing:.18em;color:#ead6b8;}
#banner .banner_kicker span{color: #ead6b8;font-size: 22px;}
#banner .banner_kicker:after{content:"";display:block;width:54px;height:1px;background:rgba(234,214,184,.62);}
#banner .banner_title{color:#fff;display: flex;align-items: center;}
#banner .banner_title_sub{display:block;margin-bottom: 0;font-size: 76px;line-height:1.4;font-weight:400;letter-spacing:.14em;color: rgb(255 255 255);}
#banner .banner_title .h3{margin:0;padding: 0;font-size:76px;line-height:1.18;font-weight:500;letter-spacing:.055em;color:#fff;text-shadow:0 3px 22px rgba(0,0,0,.2);}
#banner .banner_desc{max-width:650px;margin:30px 0 0;padding-top:25px;border-top:1px solid rgba(255,255,255,.25);font-size:19px;line-height:1.95;letter-spacing:.035em;color:rgba(255,255,255,.9);}
#banner .banner_btns{display:flex;align-items:center;gap:16px;margin-top:34px;}
#banner .banner_btn{display:inline-flex;align-items:center;justify-content:center;min-width:176px;padding:16px 27px;border:1px solid transparent;border-radius:100px;font-size:15px;line-height:1.4;letter-spacing:.08em;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease;}
#banner .banner_btn:hover{transform:translateY(-3px);}
#banner .banner_btn_primary{background:#efe2ce;border-color:#efe2ce;color:#23443a;}
#banner .banner_btn_primary:hover{background:#fff5e8;border-color:#fff5e8;color:#173e35;}
#banner .banner_btn_line{background:rgba(17,55,45,.18);border-color:rgba(255,255,255,.52);color:#fff;backdrop-filter:blur(4px);}
#banner .banner_btn_line:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff;}
#banner .slick-slide{outline:none;}
#banner .slick-list,#banner .slick-track{height:auto;}
#banner .shapeJbox{position: absolute;bottom: 0;}
#banner .shapeJbox:before{content:"";position: absolute;background:url(/images/40/banner_leaf.png);width: 120px;aspect-ratio: 107/85;background-size: cover;right: 25vw;bottom: 136px;transform-origin: 0% 50%;animation: sway2 5s linear infinite;z-index: 0;}
#banner .shapeJbox img{position: relative;z-index:1;}
@media screen and (max-width:1470px) {
  #banner .banner_title .h3{}
  #banner .banner_content {width: min(650px,52vw);padding: 28px 0 39px 35px;}
  #banner .banner_title_sub { font-size: 30px; }
  #banner .banner_title .h3 {font-size: 54px;}
  #banner .banner_desc {font-size: 16px;}
}
@media screen and (max-width:1200px) {
  #banner .banner_img { aspect-ratio: 16/8.5; }
  #banner .banner_content { width: min(590px,56vw); }
  #banner .banner_kicker { font-size: 15px; }
  #banner .banner_title_sub { font-size: 27px; }
  #banner .banner_title .h3 { font-size: 56px; }
  #banner .banner_desc { margin-top: 25px; padding-top: 21px; font-size: 16px; }
  #banner .banner_btns { margin-top: 27px; }
}
@media screen and (max-width:900px) {
  #banner .banner_img { aspect-ratio: 4/3; }
  #banner .banner_img img { object-position: center center; }
  #banner .banner_img:before { background: linear-gradient(90deg,rgba(10,40,33,.78) 0%,rgba(12,43,35,.55) 50%,rgba(15,47,39,.2) 100%); }
  #banner .banner_content { width: 68vw; padding: 15px 0 15px 24px; }
  #banner .banner_content:before { width: 65px; }
  #banner .banner_kicker { gap: 12px; margin-bottom: 17px; font-size: 13px; }
  #banner .banner_kicker:after { width: 35px; }
  #banner .banner_title_sub { font-size: 22px; }
  #banner .banner_title .h3 { font-size: 43px; }
  #banner .banner_desc { margin-top: 20px; padding-top: 17px; font-size: 14px; line-height: 1.8; }
  #banner .banner_btn { min-width: 140px; padding: 13px 20px; font-size: 13px; }
}
@media screen and (max-width:600px) {
  #banner .shapeJbox{width: 650px;bottom: 0px;}
  #banner .banner_img {aspect-ratio: 4/7;}
  #banner .banner_img img { object-position: 58% center; }
  #banner .banner_img:before { background: linear-gradient(90deg,rgba(9,37,30,.88) 0%,rgba(10,40,33,.68) 52%,rgba(13,43,36,.25) 100%); }
  #banner .info {align-items: flex-end;padding-bottom: 120px;}
  #banner .banner_content { width: 88vw; padding: 14px 0 14px 20px; }
  #banner .banner_kicker {font-size: 12px;letter-spacing: .12em;margin-bottom: 10px;}
  #banner .banner_title{display:flex;flex-direction: column;align-content: flex-start;}
  #banner .banner_kicker span{font-size: 20px;}
  #banner .banner_title_sub {font-size: 40px;width: 100%;letter-spacing: 2px;}
  #banner .banner_title .h3 {font-size: 40px;width: 100%;}
  #banner .banner_desc { max-width: 82vw; font-size: 14px; }
  #banner .banner_btns { gap: 10px; flex-wrap: wrap; margin-top: 22px; }
  #banner .banner_btn { min-width: 132px; padding: 12px 17px; font-size: 12px; }
}
