/* CSS Document */
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-kerning: auto; }
/** font-family:=================================*/
.color-white{color: #fff!important;  }
.txt-stork { -webkit-text-stroke: 1px #c2c3c4;  -webkit-text-fill-color: transparent;}
main{background-color: #f5f5f5}
.wrapper { position: relative; display: block; margin:0px auto; padding: 0px 20px; width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); }
@media (min-width:1025px) {
.wrapper { padding-right: 40px; padding-left: 40px;   }
}
@media (min-width: 1201px) and (max-width: 1400px) {
.wrapper { padding-right: 20px; padding-left: 20px; max-width: 100%;}
}
@media (min-width: 1401px) {
.wrapper { padding-right: 80px; padding-left: 80px; max-width: 1440px; }
}
 
.banner{background:#005639; }
@media (max-width:767.98px) {
    .banner{margin-top: 60px; }
}
.banner .item { width: 100%; min-height:100vh;position: relative; overflow: hidden;}
 /*mixin */
.slide-content-headings, .slick-slide::before, .slick-slide { -webkit-backface-visibility: hidden; backface-visibility: hidden;}
/*.slick-slide::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}*/
.main-slider { position: relative; width: 100%;  min-height:100vh;  margin-bottom: 0; opacity: 0;  overflow: hidden;visibility: hidden; -webkit-transition: all 1.2s ease;  -moz-transition: all 1.2s ease; -o-transition: all 1.2s ease; -ms-transition: all 1.2s ease; transition: all 1.2s ease; }

.main-slider.slick-initialized { opacity: 1; visibility: visible;}
/*.main-slider:hover .slick-dots { opacity: 1; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;}*/

.slick-dotted.slick-slider { margin-bottom: 0;}
.slick-slide { position: relative; height: 100vh;}
.slick-slide::before { background-color: #000000; opacity: 0.3; z-index: 1;}
.slick-slide video { display: block;  position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto;  -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.slick-slide iframe { position: relative; pointer-events: none;}
.slick-slide figure { position: relative; height: 100%; margin: 0; overflow: hidden; }
 
.slick-slide .slide-image { opacity: 0; height: 100%; background-size:cover; background-position: center;  -webkit-transition: all 0.8s ease; -moz-transition: all 0.8s ease; -o-transition: all 0.8s ease; -ms-transition: all 0.8s ease; transition: all 0.8s ease;}
.slick-slide .slide-image.show {  opacity: 1;}
.slick-slide .image-entity { height:100vh; opacity: 0; overflow: hidden; visibility: hidden;}
.slick-slide .loading { position: absolute; top: 44%; left: 0; width: 100%;}
.slick-slide .slide-media { animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);}
.slick-slide.slick-active { z-index: 1;}
.slick-slide.slick-active .slide-media {  animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);}
.slick-slide.slick-active .slide-content-headings { opacity: 1;  -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0);  -o-transform: translateY(0); transform: translateY(0);  transition: all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s;}

.slide-content-headings { position: relative; padding:0px 40px; border-left: 3px solid #fff; opacity: 0; z-index: 1; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease;  -webkit-transform: translateY(100px); -moz-transform: translateY(100px); -ms-transform: translateY(100px); -o-transform: translateY(100px);  transform: translateY(100px);}
 
.slide-content { width: 55%; position: absolute; left: 20%; top:50%;text-transform: uppercase; transform: translate(-20%, -50%); z-index: 999;}
.slide-content-headings h2 { font-size: 4.5rem; font-weight:700; line-height:4.5rem; color:#fff; margin:0px 0px 30px 0;letter-spacing: 2px; word-wrap: normal; }
.slide-content-headings h3 { font-size: 1.75rem; font-weight:700; line-height:2rem; color:#cddc39;  margin:0px 0px 30px 0;letter-spacing: 2px;  word-wrap: normal; }
.slide-content-headings p { font-size:1.5rem; font-weight:700; line-height:2rem;color:#fff;  letter-spacing: 1px; word-wrap: normal;   } 
@media (max-width:840px) {
.slide-content { width: 90%;  top:45%;  left:30%; transform: translate(-30%, -75%);}
.slide-content-headings h2 { font-size: 3rem; line-height:3.75rem; margin-bottom: 20px; }
.slide-content-headings h3 { font-size: 2rem; line-height:2.5rem;}
.slide-content-headings p { font-size:1.5rem;  }
}
@media (max-width:767.98px) {
.slide-content { top:65%;  left:30%; transform: translate(-30%, -65%);}
.slide-content-headings h2 { font-size: 1.75rem;   line-height:2.35rem; margin-bottom: 10px; }
.slide-content-headings h3 { font-size: 1.15rem;  line-height:1.5rem;   }
.slide-content-headings p { font-size:1rem;line-height: 1.35rem;  }
}

@keyframes slideIn {
  from {
    filter: url(blur.svg#blur);
    filter: blur(15px);
    -webkit-filter: blur(15px);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="10");
  }
  to {
    filter: url(blur.svg#blur);
    filter: blur(0);
    -webkit-filter: blur(0);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="10");
  }
}
@keyframes slideOut {
  from {
    filter: url(blur.svg#blur);
    filter: blur(0);
    -webkit-filter: blur(0);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="10");
  }
  to {
    filter: url(blur.svg#blur);
    filter: blur(15px);
    -webkit-filter: blur(15px);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="10");
  }
}

.cms-slider-for { width: 100%;  height: auto; margin:30px auto auto auto; padding:0px; }

.slider-for{width: 100%; max-width: 100%; margin: 0px auto; height: auto; padding:0px;   animation:fadeIn .5s both .5s; }
.slider-item{ width: 100%;  margin:0px auto; padding:0px; display: flex; flex-wrap: wrap;justify-content: space-between; position: relative; z-index: 1; }
.item-img { width:55%; height: auto;  margin:auto 0px; padding:0px;  }
.item-img figure {  width:100%;  height:auto;  margin:0px;padding:0px; border-radius:0px 50rem 50rem 0px;  }
.item-img figure img { margin: 0px; border-radius:0px 50rem 50rem 0px;animation:fadeInRight 1s both 1s}

.slogan {width:45%; height: auto; margin: 10% auto auto auto;  padding:60px 100px 40px 60px;  animation:fadeInDown 1s both 1s;  position: relative; }   
.slogan::before{ content: attr(data-content);color:rgba(255,255,255,.3); font-size: 200px;  font-size: min(max(11vw, 90px), 200px); font-weight: 700;  letter-spacing: 3px; left:0; top:-50%;position: absolute; z-index: 1; }
@media (max-width: 1440px) {
.slogan {  margin:5% auto auto auto;  padding:20px 100px 40px 60px;   }   
.slogan::before{  left:-10%;top:-30%;  }
}
@media (max-width: 1180px) {
.slogan {margin:2% auto auto auto;padding:0px 100px 40px 60px;}   
.slogan::before{top:-20%;  }	
}

@media (max-width:992px) {
.item-img { width:calc(100% - 40px);}
.slogan {width:100%; }	
.slogan::before{left:10%;top:-36%;}
}
@media (max-width:767.98px) {
.slogan { padding:0px 30px 40px 60px;}   
.slogan::before{left:10%;top:-20%;}
	
}



.item-content{ width: 100%; margin: auto; padding: 0px;  }
.item-content h3{ width:auto;margin: 0px auto 30px auto; padding:0px;font-size:2.5rem; font-size: min(max(3.5vw, 1.5rem), 2.5rem);line-height:2.875rem; font-weight:700; color: #fff; letter-spacing: 1px;  position: relative;text-transform: uppercase; }
.item-content h3::after{ content: "" ; width: 30%; height: 4px; background-color: #fff;position: absolute;z-index: 0; left:0%; bottom:0;   }
.item-content p{  margin-bottom: 15px;  font-size:1.125rem;  font-size: min(max(3.5vw, 1rem), 1.125rem); line-height:1.75rem; font-weight:500; color: #fff;  }

.cms-slider-nav { width: 100%;  height: 2px; margin:auto auto 30px auto; padding:0px;  position: relative;    } 
.cms-slider-nav::after{ content: "" ; width: 100%; height: 4px; background-color:#cbcbcc;position: absolute; z-index: 0;  left:0; bottom:-50px;   }

.slider-nav{  max-width:840px;  margin:-50px auto auto auto ;  position: relative; z-index: 99  }
.slider-nav li { padding:0px; margin: auto;}
.slider-nav li.slick-current.slick-active .nav-circle {color:#cddc39}
.slider-nav li.slick-current.slick-active .nav-item::after{  background-color:#cddc39;  }
@media (max-width: 1024px) {
.slider-nav{margin:-20px auto auto auto;  }
	
}


.nav-item { width: 100%; position: relative; }
.nav-item::after{ content: "" ; width:26px; height:26px; border-radius:99rem; background-color:#cbcbcc;position: absolute;z-index: 999!important; left:5%; bottom:-20px;   }
.nav-circle{ margin-bottom:60px; font-size: 1.875rem; font-size: min(max(3.5vw, 1.15rem), 1.875rem);line-height:2.875rem; font-weight:700; color: #cbcbcc;   }
 
/***** product  **** 
=================================*/
.produt-wrap{width:100%; padding:50px 0px;margin:0px auto; position: relative;  }
@media (max-width: 1280px) {
.produt-wrap{ padding:20px 0px;  }
}
@media (max-width: 1024px) {
.produt-wrap{padding:30px 0px; }
}

/*photo Styles 1
=================================*/
.box{position: relative; overflow: hidden;  padding: 15px;  }
.box figure{ width: 100%;  height: auto; overflow: hidden;  transition: all 0.5s ease 0s;}
.box h3{ margin: 20px 0px 10px 0px; font-size: 1.35rem; font-weight: bold;  }
.box:hover h3{color: #0067a4;}
.box:hover img { transition: all 0.5s ease 0s;  box-shadow: 1px 1px 10px 0 rgba(0,0,0,.1);}
.box .glow-wrap { overflow: hidden; position: absolute; width: 100%; height: 100%; top: 0; margin-top: -10px;}
.box .glow{ display: block; position:absolute; width:100%; height: 200%; top: 0; filter: blur(10px); transform: rotate(45deg) translate(-450%, 0); transition: all .5s cubic-bezier(0.645, 0.045, 0.355, 1);  background: rgba(255,255,255,.1);}
.box:hover .glow{ transform: rotate(45deg) translate(450%, 0); transition: all 1s cubic-bezier(0.645, 0.045, 0.355, 1);}
.box:hover img,.box:hover .glow-wrap{ margin-top: 0; transform: scale(1.15, 1.15);}
@media (max-width: 768px) {
.box{  padding: 25px 15px;  }
.box h3{ margin:  10px 0px;  font-size: 1.15rem; }    
}
@media (max-width:640px) {
.box{ padding:10px 5px;}
.box h3{  font-size: .9rem; }        
}

 
 
.photo-portrait { width: 100%;  height: auto; overflow: hidden; position: relative;  }
.photo-portrait figure{ width: 100%; padding-top:60%; height: 0; overflow: hidden; position: relative; transition: all 0.5s ease 0s;}
.imgCenter-portrait, .imgCenter-portrait a{position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; z-index: 10;  }
.imgCenter-portrait img {max-width: 100%; height: auto; transition: all 0.3s linear 0s;}


/* 下方三筆aspect-ratio: 4 / 3;*/
.photo-wrapper{width: 100%;  height: auto;    overflow: hidden; position: relative;  }
.photo-wrapper figure{ width: 100%;  overflow: hidden; padding-top: 75%;  position: relative;    transition: all 0.5s ease 0s;}
.imgCenter-wrapper,.imgCenter-wrapper a{position: absolute; top: 0; left: 0; right: 0; bottom: 0;  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; z-index: 10; } 
.imgCenter-wrapper img {   max-height:100%;  object-fit: contain; object-position: center; transition: all 0.5s ease 0s;}
  

 /***** Application   
=================================*/
.application { width: 100%; padding:20px 0px 0px 0px; margin:0px auto; position: relative; background-color: #4a8772;  }
.slider-outer { margin: 0 auto;padding: 0px;width: 100%; height: auto; overflow: hidden; }
.slider-inner{ width: 100%;  height: 800px;  overflow: hidden;  margin: 0px;padding: 0px; transition: all 0.5s ease 0s;}
.slider-inner .slick-slide { width:490px;height: 800px;  transition: all 0.5s ease 0s; }
.slider-inner .slick-slide:hover { width: calc(490px + 150px);  height: 800px; overflow: hidden; transition: 0.3s linear;}
.slider-inner li:hover .ad::before{opacity: 0;}
.slider-inner li:hover .ad-img-box-wrap{background-color: #005639}    

@media (min-width:1921px) {
.slider-inner{ width: 100%;  height: 800px;  overflow: hidden;  margin: 0px auto;padding: 0px; }
}
@media (min-width:1681px) {
.slider-inner .slick-slide { width:520px; height: 800px;   }
.slider-inner .slick-slide:hover { width: calc(520px + 170px);  height: 800px; }
.slider-inner .slick-slide:hover img { width: calc(520px + 170px);  height: 800px; }
}

@media (max-width:1580px) {
.slider-inner{  height: 680px;  }
.slider-inner .slick-slide { width:440px; height: 680px;   }
.slider-inner .slick-slide:hover { width: calc(440px + 150px);  height:680px; }
}
@media (max-width:1420px) {
.slider-inner{  height: 650px;  }
.slider-inner .slick-slide { width:400px; height: 650px;   }
.slider-inner .slick-slide:hover { width: calc(400px + 150px);  height:650px; }
}

.slider-inner li{width: 100%; margin-left: -150px; position: relative; }
@media (max-width:1180px) {
.slider-inner li{ margin-left:-170px;}
}

@media (max-width:1024px) {
.slider-inner{ width: 100%;  height: 420px;  overflow: hidden;  margin: 0px;padding: 0px; }
.slider-inner .slick-slide { width:auto;height: 420px;   }
.slider-inner .slick-slide:hover { width: auto;  height: 420px; overflow: hidden;transition: 0.5s linear;}
.slider-inner li{ margin-left:auto;}
}
@media (max-width:767.98px) {
.slider-inner{   height:320px;   }
.slider-inner .slick-slide { height: 320px;   }
.slider-inner .slick-slide:hover { height: 320px; }
 
}
/*Application photo Styles 1
=================================*/
.ad{ overflow: hidden; margin:0px; padding:0px;  position: relative;z-index: 0}
.ad figure{ display: block; width: 100%; height: auto;  object-fit: cover; transition: all 0.5s ease 0s;  position: relative;      }
.ad figure img { position: relative;z-index: 0; display:block; transition: transform .6s;  /*  pointer-events: none; */  }
.ad::before{content: "" ; width: 100%; height: 100%; display: block; position: absolute; z-index: 9; left:0; top:0;  pointer-events: none; background-image: linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(26,27,29,1) 100%); }
.ad-img-box { position:absolute;z-index: 99; top:25%; left:-15%; margin:0px auto; padding:0px; width:100%; height:auto;border-radius:99rem;}
@media (max-width:1180px) {
.ad-img-box { left:-17%;   }
}
@media (max-width:1024px) {
.ad-img-box { left:auto;   }
}
/*Application photo icon 
=================================*/
.ad-img-box i { margin:0px auto; width:46px; height:46px; }
.ad-img-box h3 {   width: auto; margin:5px auto 0px auto; font-size:1.5rem;font-weight:700; text-align: center; color:#fff; overflow:hidden; text-transform:uppercase}
.ad-img-box h3 a{ color:#fff; }
.ad-img-box-wrap {  width: 140px; height: 140px;margin: auto; padding: 0px; display: flex; justify-content: center; flex-direction: column;  border-radius:99rem; }
 
/*main-about
=================================*/
.main-about{ position: relative; z-index: 0; margin:0px; padding:0px; display: flex; flex-wrap: wrap;justify-content: space-between; background:#005639; overflow: hidden; }
.main-about .animated {  -webkit-animation-duration: 1.5s; animation-duration: 1.5s; transition: opacity 0.5s ease 0.3s;}
.block {width:50%; height: auto;margin: 0 auto; padding:100px 0px;  display: flex; flex-wrap: wrap;  position: relative;z-index: 1 }
.block-txt{width:100%; margin:0px auto; padding:0px 20px 40px 20px ; display: flex; flex-wrap: wrap; align-self: flex-start; position: relative; z-index: 1;}
.block p { width: 100%;  margin-bottom: 5px;  font-size:1.125rem;  font-size: min(max(3.5vw, 1rem), 1.125rem); line-height:1.75rem; font-weight:400; color: #fff;  }
.block p strong{  display: block;  width: 100%; font-size: 1.313rem; line-height: 2rem; letter-spacing: 1.2px; font-weight:400;  padding:5px; margin-bottom: 10px; color: #fff; }
.post-btn{  margin-left:62.5%; }
@media (max-width: 840px) {
.block {width:80%;  }
}
 @media (max-width: 767.98px) {
.block-txt{ padding:0px 20px 20px 20px;}
}
/*logo size
=================================*/
.grid-card { display: grid; width: 100%; margin: auto; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 30px; padding: 15px 0px;}
.grid-card > .grid-w30 {  aspect-ratio: 4 / 3;  width: 100%;  }
.grid-w30 img {  width: 100%; height: auto;   object-position: center;}
@media (max-width: 992px) {
.grid-card {  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px;  }
}
@media (max-width: 767.98px) {
.grid-card { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px;  }
}

.main-contact{   margin:0px; padding:0px; overflow: hidden;position: relative;z-index: 0;background-color:#fff;  }
.contact-wrap{width: 100%;  margin: auto; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; }
.contact-detail{width:40%; padding:50px 10px; margin:20px auto;   }
.contact-box{ width:calc(100% - 40%);   }
 @media (max-width: 767.98px) {
.contact-detail{width:100%;  padding:0px 10px;  }
.contact-box{ width:100%; }
}
/* ==== 底圖 === */
.bg-background { background-image: attr(src url); background-repeat: no-repeat; background-size: cover;background-position:center bottom; position: absolute;z-index: -1; top:0px; left: 0; right: 0; bottom: 0; line-height: 0;  width: 100%;  }
@media(max-width: 992px) {
.bg-background {background-position:center;}
}
@media(max-width: 767.98px) {
.bg-position {background-size:200% auto; background-position:left bottom; }
}
/*----------------------------------------/
title樣式5
----------------------------------------*/
.title-h2-sub{  margin: auto;}
.title-h2-sub h2{ font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem);  line-height: 130%;font-weight: 700; letter-spacing: 3px;  text-transform:uppercase}
.title-h2-sub span{  font-size: 1.5rem;font-size: min(max(3.5vw, 1rem), 1.5rem); line-height: 130%;font-weight: 700; color: #005639; text-transform:uppercase  }
.title-h2-sub p{ font-size:1.125rem;  font-size: min(max(3.5vw, 1rem), 1.125rem); line-height:1.75rem; font-weight:400; }
 @media (max-width: 998px) {
.title-h2-sub{text-align: left; padding-left: 20px;} 
}
/*----------------------------------------/
form
----------------------------------------*/
.contact-form{width: 100%;margin: auto; padding:40px 20px 80px 20px;}
.contact-form input, .contact-form option, .contact-form select, .contact-form textarea { font-size: 1.15rem;background: #fff; border: 1px solid #d8d8d8;  border-radius: 3px;}
.contact-form select, .contact-form input, .contact-form option, .contact-form textarea, .contact-form input[type=radio] + label, .contact-form input[type=checkbox] + label {font-size: 1.15rem;transition: all 0.5s; box-sizing: border-box;outline: none;}
.contact-form ul {width: 100%; margin: 2% auto;  padding:20px 40px; display: flex; flex-wrap: wrap; list-style: none; }
.contact-form ul li { width: calc(100%/2 - 10px); margin: 15px 10px 15px 0px;}
.contact-form ul li input { padding: 0 10px;width: 100%;height: 46px;   }
.contact-form ul li input::placeholder, .contact-form ul li textarea::placeholder { color:#01563a; font-size: 1.15rem;  }
.contact-form ul li select {  padding: 0 0 0 5px;  width: 100%; height: 46px; line-height: 40px;font-weight:400; color: #01563a;}
.contact-form ul li select:focus option {color: #666;}
.contact-form ul li option { padding: 5px 10px;}
.contact-form ul li textarea { width: 100%;height: 100px;line-height: 20px; padding: 5px 10px;}
.contact-form ul li input:focus, .contact-form ul li textarea:focus {background: #fff8de;color: #000;}
.contact-form ul li input:focus::placeholder, .contact-form ul li textarea:focus::placeholder {  color: #000;}
.contact-form ul li.width-full {  width: calc(100% - 10px); margin-right: 0px !important;}

.red{position: relative}
.red:after{content:"*";color:#a01f35; font-size: 1.25rem; font-weight: 700; padding-right: 3px;position: absolute; left:0px; top:0px; }

.must{position: relative}
.must:after{content:"*";color:#a01f35; font-size: 1.25rem; font-weight: 700; padding-right: 3px;position: absolute; left:5px; top:5px; }


@media (max-width: 768px) {
.contact-form ul  {width: 100%; margin: 15px 0px;padding: 0px 20px; }
.contact-form ul li {width: 100%; margin: 15px 0px;padding: 0px;}  
.contact-form ul li.width-full { width:100%;}
	
}

@media (max-width: 767.98px) {
.contact-form{ padding:0px 20px 80px 20px;}
.contact-form ul{ padding: 0px 10px; }
.contact-form ul li {margin:5px 0px; }   
	
}
@media (max-width: 320px) {
.contact-form ul{ padding: 0px; }
}

/*aspect-ratio:vertical;*/
.photo-vertical{width:auto;  height: 100%; overflow: hidden; position: relative;   }
.photo-vertical figure{ width: auto; height: 100%;  padding-top: 143%;   overflow: hidden; position: relative;   transition: all 0.5s ease 0s;}
.imgCenter-vertical,.imgCenter-vertical a{position: absolute; top: 0; left: 0; right: 0; bottom: 0;  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; z-index: 1; }
.imgCenter-vertical img { max-width:100%;display: block; transition: all 0.5s ease 0s;}
 
/*cms-Title Styles 樣式
=================================*/
.title { width: 100%; height: auto; margin:0px auto 30px auto;padding: 0px; display: flex;flex-wrap: wrap; justify-content: center; flex-direction:column; position: relative; } 
.title h1{ width: 100%;display: block;margin: 0; font-size: 4rem; font-size: min(max(3.5vw, 2rem), 45rem); font-weight:900; color:#fff;  text-transform: uppercase;  }
.title h2{ width: auto;  margin:auto 0; font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem); color:#fff; font-weight:700; text-transform: uppercase; }
.title h3{ margin:10px 0px;  font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem); line-height: 2.875rem;  font-weight: 700; color:#fff; text-transform: uppercase; }
.title p{ margin:10px auto; font-size: 1.875rem;  font-size: min(max(3.5vw, 1.15rem), 1.875rem);  font-weight: 700; line-height: 1.875rem;  color:#fff; }
.title span{  margin:0px ; font-size: 1rem; color:#fff;  line-height: 3rem; font-weight:700;  position: relative; text-transform: uppercase;  }

@media (max-width:1280px) {
.title h1{  font-size: 3rem;   }
.title h2{  font-size: 2rem;  }
}
@media (max-width:768px) {
.title h1{  font-size: 2rem;   }
.title h2{  font-size: 1.5rem;  }
}
/*ms-title-2  樣式
=================================*/
.title-2 { width:100%; height: auto;  margin:30px auto; padding:0px 20px; position: relative;  }
.title-2 span{ width: auto; margin:0px auto 30px auto; font-size: 1rem; color:#51bbfa;  line-height: 3rem; font-weight:700;  position: relative;  }
.title-2 span:after{ content: ""; width:30%; height:3px; bottom: -15px; left:0; background:#51bbfa; position: absolute; }
.title-2 h2{ width: auto; margin:15px 0px;font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem); font-weight: 700;   }
.title-2 p{ width: auto; margin:0px auto;font-size: 1.15rem;  line-height:1.5rem;  color:#777;    }
.title-2 strong{color:#51bbfa;}
  
@media (max-width: 1180px) {
.title-2 h2{font-size:2rem;}   
.title-2 p{font-size: 1rem;}   
.title-2 h2,.title-2 h3,.title-2 p{ margin:15px auto; }
}
 
@media (max-width: 768px) {
.title-2 p{ line-height: 1.35rem;}   
.title-2 span{  line-height: 1rem;   }    
}

@media (max-width: 640px) {
.title-2 { padding:0px 10px; }
.title-2 p{ font-size: .9rem; line-height: 1.15rem; }      
}
 
/*-title-3 樣式
=================================*/
.title-3 { width: 50%; margin:0px auto 30px auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; flex-direction: column; }
.title-3 h2{ margin:auto auto  15px auto; font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem);  font-weight: 700;  color:#fff;  text-transform:uppercase }
.title-3 p{ margin:0px auto;font-size: 1.15rem;  line-height:1.75rem;   letter-spacing:1px; color:#fff; text-align: center;    }
.title-3 span{display: flex; margin:0px auto; font-size: 1rem; color:#fff; text-align: center; line-height: 3rem; font-weight:700;  position: relative;   }

 
@media (max-width: 1180px) {
.title-3 h2{font-size:2rem;}   
.title-3 p{font-size: 1rem;line-height: 1.5rem;}   
.title-3 h2,.title-3 h3,.title-3 p{ margin:15px auto; }
}
@media (max-width: 1024px) {
.title-3 { width: 80%; margin:0px auto 0px auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; flex-direction: column; }
}
@media (max-width: 640px) {
.title-3 { width: 100%; padding: 0px 10px;   }
}
 /***** btn **** 
=================================*/
.btn-btnbox {position: relative;z-index:9; display: flex;  justify-content: center;  width: 100%; height: auto; margin:0px;  transition: all 1s;}  
.btnbox {position: relative;z-index:99; display: flex; width: 100%; height: auto; margin:40px 0px 0px 0px;  transition: all 1s;}  
 /*cms-btn Styles 1
=================================*/
.btn-01 { cursor: pointer; width:200px; height:2.75rem; padding:0px 30px;margin: 0px; line-height:2.75rem; display: flex;justify-content: center; align-items: center;  position: relative; border-radius:30px; z-index: 1;   font-weight: 700; color: #fff; overflow: hidden; border: solid 1px #fff; background-color: transparent}
.btn-01 span { display: flex;  transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1; font-weight: 700; color: #fff;  text-transform:uppercase}
.btn-01 em {position: absolute;width:60px; height:25px; right:20px;top: 20%; transition: all 0.3s ease; background: url("../images/icon/arrow-right-f.svg") no-repeat right top; z-index:1;   }
 .btn-01:hover span{  color: #005639; }
.btn-01:hover { background: #fff; border: solid 1px #fff;}
.btn-01:hover em{ transform:translateX(20px);}

 
.hover-text { background: linear-gradient(to left, transparent 50%, #005639 50%); background-size: 201% 101%;background-position: right bottom; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease;}
.hover-text:hover { background-position: left bottom; color: #ffffff; }


.bg-applaction{background:#005639;}
