﻿.btn-play .bg/* 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; }
a:hover, a:active,  a:visited, a:focus {text-decoration: none;  }

/** font-family:=================================*/
.f-s{ font-size: 0.9rem;} 
.f-400{font-weight: 400!important;}
.vText { -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.color-bold{color: #8cc34a;}
.color-white{color: #fff!important; }
.color-red{color:#cb2520!important; }
.color-gray{color:#5a5a5a; }
.color-bk{color:#000!important; }
.txt-stork { -webkit-text-stroke: 1px #fff;  -webkit-text-fill-color: transparent;}
.txt-just{text-align: justify!important; }
.txt-center{text-align: center!important; }
 
/** bg-color:=================================*/
.bg-bk{background:#666464;}
.bg-orange{background: #8cc34a;  }
.bg-orange-line{background: #8cc34a;  }

.main-wrap{width: 100%;padding: 0px; display: flex; flex-wrap: wrap; align-content:flex-start;}
.wrapper-full { display: block; margin:0px auto; padding: 0px 20px; width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); }
@media (min-width: 320px) {
.wrapper-full { padding: 0px 20px; }   
}
@media (min-width: 1200px) {
.wrapper-full { width: 96%;}
}
@media (min-width: 1300px) {
.wrapper-full { width:92%;}
}
@media (min-width: 1600px) {
.wrapper-full { max-width: 96%;}
}
 

  

.wrapper { display: block; margin:0px auto; padding: 0px 20px; width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); }
@media (min-width: 1200px) {
.wrapper { width: 96%;}
}
@media (min-width: 1300px) {
.wrapper { width:92%;}
}
@media (min-width: 1600px) {
.wrapper {  width:100%;max-width: 1400px;}
}
@media (max-width: 320px) {
.wrapper {padding: 0px 20px;}
}
.banner-mask { position: absolute; top: 240px; right: 0; left: 0; height: 240px;}
.banner-mask-frame { width: 100%;  height:100%; position: relative;}
.banner-glass {position: absolute; width: 100vw; height: 100vw;top: 0; left: calc(100% - 215px);background-color:rgba(0, 0, 0,.35);  -webkit-transform-origin: top left; transform-origin: top left;  -webkit-transform: skewY(-63deg); transform: skewY(-63deg); pointer-events: none;}
.banner-style { width: 100vw; height: 110%; position: absolute;  top:0px; display: block;  background-color: #fff;}
.banner-style.mask-left { right: 215px; -webkit-transform-origin: top right; transform-origin: top right;  -webkit-transform: skewY(-2.4deg); transform: skewY(-2.4deg);}
.banner-style.mask-right { left: calc(100% - 216px);  -webkit-transform-origin: top left;  transform-origin: top left;  -webkit-transform: skewY(20deg); transform: skewY(20deg);}

 
@media (min-width: 1921px) {
.banner-mask { height: 450px;}
}
@media (max-width: 1600px) {
.banner-mask { top: 220px;}
}
@media (max-width: 1360px) {
.banner-mask { top: 200px;}
}
@media (max-width: 1024px) {
.banner-mask { top:130px;}
}
 
@media (max-width: 840px) {
.banner-mask { top:50px;}
	.banner-mask-frame { display: none;}	

}
@media (max-width: 768px) {
.banner-mask { top: 140px;  }
}

/*  banner area*/
.main-banner{width:100%; height: 420px;  margin:0px; display: flex; flex-wrap: wrap;justify-content:flex-start; align-items: flex-start;    background-image: linear-gradient( 135deg,  #0d390d 70%, #1c9f68 100%);   position: relative; overflow: hidden; }
.main-banner-img{width: 100%;  height: auto; margin:0; padding:0px;  position: relative;    }
.main-banner-img img{ width: 100%; max-width: 100%; height: auto; display: block; margin: auto; -o-object-fit: cover;  object-fit: cover; -webkit-backface-visibility: hidden;  backface-visibility: hidden; transition: all 0.3s; position: relative; z-index: 0;  }
.main-banner-txt {position: absolute; left:10%; top:15%; width:calc(100% - 10%); padding:0px; margin: auto;  -webkit-box-sizing: border-box; box-sizing: border-box;  z-index:9; }
.main-banner-txt h1 { font-weight: 700; font-size:3.75rem;line-height: 3.75rem; letter-spacing:2px; margin: 10px auto; color: #fff;  word-wrap: normal;  position: relative;}
.main-banner-txt p{ margin-bottom: 15px;   font-size:1.5rem;line-height: 1.75rem; font-weight: 700;color: #fff;   } 
@media (max-width:1024px) {
.main-banner{    }	
.main-banner-txt { top:5%;  }
.main-banner-txt h1 { font-size:2.75rem;line-height: 2.75rem;  }
}


@media (max-width:992px) {
.main-banner{ height: 200px;}
.main-banner-txt {width: 100%; position: relative; order: 2; padding: 0px;  margin-top:auto; top:20%;left: auto;}
.main-banner-img{ display: none }
.main-banner-txt h1 {    text-align: center;  }
.main-banner-txt p { font-size:1rem; margin-bottom: 0px;  text-align: center; }  
}

@media (max-width:840px) {
.main-banner{ height: auto;}	
.main-banner-txt { top:0; padding:20px 0px;  }	
}

 
@media (max-width:767.98px) {
.main-banner{ margin-top: 0px;}    
.main-banner-img{  width: 100%;  position: relative; order: 1;/*clip-path: polygon(0 1%, 100% 0, 100% 79%, 0% 100%);*/ }
 .main-banner-txt h1 { font-size:1.5rem; line-height: 1.75rem; margin-bottom: 5px;letter-spacing: 1px;  }   
.main-banner-txt p {  font-size:.9rem; line-height: 1.15rem; }  
}

 /*----------------------------------------/
麵包屑 自訂顏色樣式
----------------------------------------*/
.main-breads{ width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); margin:auto; padding: 0px; position: relative; }
.main-breads .breadcrumb{ width: auto; padding:0px;  margin:5px auto; background:none;   }
.main-breads .breadcrumb li{ font-size:.9rem; line-height: 1rem; font-weight:400; overflow: hidden;  word-break: normal; }
.main-breads .breadcrumb li a{color: #fff;   }
.main-breads .breadcrumb li a:hover{color: #b78603;}
.main-breads::after { content: ""; position: absolute; left:0px;top:-5px; width: 25px; height: 3px;background: #ffffff;}
.breadcrumb-item+.breadcrumb-item::before { content: " / "; margin-left: 5px;color:#fff;}
.main-breads .breadcrumb li:first-child{ position: relative;  color:#fff;}
.main-breads .breadcrumb-item.active{color:#ffa908;}
 
.main-area.top .main-breads{  margin-top: 0px; padding-top: 5px; border-top:solid 1px #eee;border-bottom:solid 1px #eee;  }
.main-area.top .main-breads .breadcrumb li a,.main-area.top .breadcrumb-item+.breadcrumb-item::before{  color:#777; }
@media (max-width: 992px) {
.main-breads{ max-width: 100%;  margin:0px auto; border-top: solid 1px rgba(255,255,255,.35);}
.main-breads .breadcrumb{width: 100%; padding:2px 0px; justify-content: center;  }
 .main-breads .breadcrumb li a{color:#a4a4a4;}
.breadcrumb-item+.breadcrumb-item::before {  margin-left:2px;color:#a4a4a4;}
.breadcrumb-item+.breadcrumb-item{padding-left: 0.1rem}   
}

@media (max-width:840px) {
.main-breads::after {display: none;}	
}


@media (max-width: 767.98px) {
.main-breads .breadcrumb li{ font-size:.55rem; line-height: .75rem;  }
}
/*----------------------------------------/
Default Typography
----------------------------------------*/
.edit h2 {font-size: 175%; color: #0f7a4d;}
.edit h3 {font-size: 162.5%; color:#0f7a4d; }
.edit h4 {font-size: 150%; color: #0f7a4d;}
.edit h5 {font-size: 135%; color: #0f7a4d;}
.edit h6 {font-size: 115%; color: #0f7a4d;}

/*----------------------------------------/
description Typography
----------------------------------------*/
.description{ width:100%;  display: block; margin:10px auto; padding:20px; line-height: 1.5rem; position: relative;   }
.description h2 {font-size: 175%; color: #0f7a4d; margin-bottom: 15px}
.description h3 {font-size: 162.5%;color: #0f7a4d;margin-bottom: 15px}
.description h4 {font-size: 150%;color: #0f7a4d; margin-bottom: 15px}
.description h5 {font-size: 137.5%; color: #0f7a4d; margin-bottom: 15px}
.description h6 {font-size: 125%;color: #0f7a4d;margin-bottom: 15px}
.description p { font-size:1rem;font-size: min(max(3.5vw, .9rem), 1rem);color: #000;line-height: 1.5rem; font-weight:300; margin-bottom: 15px;}
.description p strong{color:#F8D03F}
@media (max-width: 767.98px) {
.description{margin:15px 0; padding:0px 0px 20px 0px;} 
.description p {line-height: 1.175rem; }
}


.main-content{position: relative;  width: 100%; min-height: 50vh; margin:-100px auto auto auto; padding:0px;  background-image: linear-gradient(to top, #ebeef1 0%, #FFF 100%); }
 @media (max-width: 992px) {
.main-content{margin: auto;  padding:20px 0px 0px 0px;  }
}

/* cms-title-block h1 =======================================================================	*/
.title-block{ width: 100%; height: auto; margin:0px auto 30px auto; text-align: center;  position: relative; }
.title-block h1:before{ content: ""; position: absolute; height: 40px; width: 2px; background-color: #2466b2; display: inline-block; margin-left:-25px; margin-top: 10px;}
.title-block h1::after { content: ""; height: 40px; width: 2px; background-color: #2466b2; position: absolute; display: inline-block; margin-left: 25px;  margin-top: 10px;}
.title-block h1 {width: auto; display: block; margin:0px auto; padding:20px 0px; font-size:1.5rem;  color:#8cc34a; font-weight:700;   position: relative;  }
 .title-block p { margin:0px auto; padding:20px 0px 0px 0px; font-size:1.25rem;  color:#000; font-weight:400;  text-align: center; position: relative;  }
@media (min-width: 1100px) {
.title-block h1 { font-size:2.5rem; }
}
@media (min-width: 1600px) {
.title-block h1 { font-size:3rem; }
}
@media (max-width: 1199.98px) {
.title-block h1{  font-size: 1.5rem; }
}
@media (max-width: 767.98px) {
.title-block {  margin: 15px auto;   }  
.title-block h1{  font-size: 1.5rem;  }
.title-block h1:before,.title-block h1::after{  margin-top: 0px;}
}  
/*----------------------------------------/
title樣式 cart
----------------------------------------*/
.title-style{  margin:30px auto;  position: relative;width: auto;   font-size: 2.4rem; line-height: 130%;  }
.title-style:before { content: ""; margin: auto;display: inline-block; position: absolute; top:20px;left:0px; width: 30%; height: 2px; background-color:#ccc; }
.title-style:after { content: ""; margin: auto;display: inline-block; position: absolute; top:20px;right:0px; width: 30%;  height: 2px; background-color:#ccc; }
.title-style h1{ color:#8cc34a; font-size: 2.125rem;  font-size: min(max(3.5vw, 1.15rem), 2.125rem); margin-bottom: 25px; font-weight: 700;  }
.title-style h2{ color:#222;  font-size:2rem;  font-size: min(max(3.5vw, 1.15rem), 2rem);  text-align: center; line-height: 130%;font-weight: 700;  }
.title-style p {width:100%; margin:0px auto; padding:20px 0px 0px 0px; font-size:1.25rem;  color:#000; font-weight:400;  text-align: center; position: relative;  }
.title-span{ margin:0px; font-size: 0.9rem; text-align: left; text-transform: uppercase; letter-spacing: 1px;  font-weight: 400;color:#666;}
@media (max-width:1180px) {
.title-style{  font-size: 70%;   }    
}
@media (max-width:767.98px) {
.title-style {  font-size: 100%;} 
.title-style:before { width:10%;top:10px; }
.title-style:after {  width:10%;top:10px; }
	
}
/*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 auto; font-size: 2.5rem; font-weight:700; color:#3f3a39;  letter-spacing:1px; }
.title h2{ width: auto;  margin:auto 0; font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem);   font-weight: 700; color:#2f2f2f;    }
.title h3{ margin:10px auto; font-weight: 700; color:#bea570;  }
.title p{ margin:10px auto;  font-weight: 400; line-height: 1.35rem;  color:#3f3a39; }
.title span{ width: auto; margin:10px 0px; font-size: 1.35rem; letter-spacing:2px; font-weight:700; color:#8cc34a;   }
.title strong{   letter-spacing:2px; font-weight:700; color:#ed6d34; }
@media (max-width:768px) {
.title h1{  font-size: 2rem;   }
.title h2{  font-size: 1.5rem;  }
}
@media (max-width:767.98px) {
.title { margin:0px auto;  }  
.title h1{  font-size: 1.5rem;}  
.title h2{  font-size: 1.125rem;}    
}

/*ms-title-2  樣式
=================================*/
.title-2 { margin: 30px auto; padding:0px; }
.title-2 h2{ width: auto; margin:10px 0px;  font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem);   font-weight: 700; color:#2f2f2f; letter-spacing:1px;}
.title-2 p{ font-size:1.175rem; font-weight:400; line-height: 1.7rem; color: #888;   }
.title-2 span{ text-align: center;width: auto;font-size:1.125rem; font-weight:700; line-height: 1.5rem;  margin:0px auto;}

 
@media (max-width: 1280px) {
.title-2 {width:100%;   margin: 0px auto; padding:20px;  }
.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: 767.98px) {
.title-2 { padding:0px; }
.title-2 h2{font-size:1.5rem;}   
.title-2 p{ font-size: .9rem; line-height: 1.15rem; }      
}
@media (max-width: 320px) {
.title-2 h2{font-size:1.35rem;}   
}

/*title-left  樣式
=================================*/
.title-left { width:100%; height: auto; padding-bottom: 10px; margin:2% auto; position: relative;  border-bottom:1px solid #e4dfdf; }
.title-left h2{ font-size:2rem; font-size: min(max(3.5vw, 1.15rem),2rem);font-weight: 400; line-height: 1.23; letter-spacing: normal;  color:#ffa908;  }
.title-left h3{ font-size:1.5rem; font-size: min(max(3.5vw, 1.15rem), 1.5rem);font-weight: 400; line-height: 1.23; letter-spacing: normal;  color:#0f7a4d;  }
.title-left p{ width: 100%;  margin:0px auto;  font-size:1.15rem; font-weight:400;   color:#000;  }
.title-left strong{   letter-spacing:2px; font-weight:700; color:#ed6d34; }
@media (max-width: 1280px) {
.title-left p{font-size: 1rem;}   
.title-left h2,.title-left h3,.title-left p{ margin:15px auto; }
}

@media (max-width: 768px) {
.title-left p{ line-height: 1.35rem;}   
.title-left span{  line-height: 1rem;   }    
}

@media (max-width: 767.98px) {
.title-left { padding:0px; }
.title-left h2{font-size:1.5rem;}   
.title-left p{ font-size: .9rem; line-height: 1.15rem; }      
}
@media (max-width: 320px) {
.title-left h2{font-size:1.35rem;}   
}




.titlebox{margin-bottom: 20px;position: relative;z-index:2; }
.titlebox .title-en {font-weight: 400; line-height: 1.5rem; display: inline; position: relative;}
.titlebox .title-en:after { position: absolute; left: -10px; top: 0px; content: ""; width: 24px; height: 24px; background-image: linear-gradient(120deg, #FFEB3B 0%, #FF9800 100%);border-radius:5px; z-index: -1;}
@media (max-width:768px) {
.titlebox .title-en {font-size: 150%; line-height: 1.5rem;  }	
}


@media (max-width:767.98px) {
.titlebox .title-en {font-size: 120%; line-height: 1rem;  }	
}

/*ms-title-3  樣式
=================================*/
.title-center { width: 100%; height: auto; margin: 15px auto; padding: 0; text-align: center; display: flex;  flex-wrap: wrap;  justify-content: center; flex-direction: column; position: relative;}
.title-center:after { content: ""; width: 100%; height: 2px;  display: block;  margin: 10px auto;padding: 0;background:#eff5f9;}
.title-center h2 {  margin: 0px auto; font-size: 2.75rem; font-weight: 700; }
.title-center h3 {  margin: 0px auto;  font-size: 1.875rem;   font-size: min(max(3.5vw, 1.15rem), 1.875rem);font-weight: 700; color: #000;}
.title-center p {    margin: 0px auto; font-size: .9rem;  line-height: 1.35rem; color: #22314a; font-weight: bold;}
.title-center h3::first-letter {color:#8cc34a;}
@media (max-width:767.98px) {
.title-center h2 { font-size: 1.75rem;  }
}
@media (max-width:640px) {
.title-center h2 { font-size: 1.125rem;  }
}


/*ms-title-4  樣式
=================================*/
.title-4{ font-size: 52px; font-weight: bold; line-height: 1.15;letter-spacing: normal; width: 100%; height: auto;  position: relative; color: #8cc34a; word-break: normal;  word-wrap: normal; margin-bottom: 30px;}
.title-4 span{ font-size: 60%;  margin-bottom: 0px; line-height: 1rem;}
.titles-subtitle { font-size: 70%; font-weight: 400; line-height: 1.5; letter-spacing: 1px; margin-top: 10px; color: #000;}
@media (max-width:1180px) {
.title-4 span{ font-size: 50%; line-height: 1.15rem;  margin-bottom: 0px;}     
}
@media (max-width:840px) {
.title-4{ font-size: 36px;}
}

.editor blockquote {width: 100%; display: block; font-size: 26px; font-weight: 400; line-height: 1.5; letter-spacing: normal;  position: relative; margin: 0; padding-left: 32px;  color: #1e88c9;  -webkit-box-sizing: border-box;box-sizing: border-box;}
.editor blockquote:before { width: 8px; height: 100%; content: ""; position: absolute; top: 0; left: 0; display: block; background-color: #1e88c9;}

.title-text { font-size: 32px; font-weight: bold; line-height: 1.5; color: #d20011;  letter-spacing: 1px;position: relative;}
.title-text:last-child.ch:before { bottom: 10px;}
.title-text span{color: #f38054; font-size: 26px; font-weight: bold; top:-10px;  margin-right: 30px; position: absolute;}
 
/*----------------------------------------/
分頁 自訂顏色樣式
----------------------------------------*/
.pagination{ width: 100%; margin:50px auto 0px auto; padding-bottom: 30px; display: flex; justify-content: center;  }
.pagination .page-link { color:#31315e;  width:40px;height: 40px;text-align: center; background-color:transparent;; border-color:transparent; border-radius:99rem;}
.pagination .page-link:hover { color: #8cc34a; background-color:#dcdddd; border-color:#dcdddd;}
.pagination .page-link:focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);}
.pagination .page-item{ margin: 5px;  }
.pagination .page-item:first-child .page-link {  border-radius:99rem; background-color:transparent; border-color:#dcdddd;}
.pagination .page-item:last-child .page-link { border-radius:99rem;  background-color:transparent;  border-color:#dcdddd;}
.pagination .page-item.active .page-link { color: #fff!important;  background-color:#8cc34a; border-color:#8cc34a;}
.pagination .page-item.disabled .page-link { color: #6c757d;  background-color:transparent;  border-color:#dcdddd;  }
.pagination .page-link:hover span { color: #8cc34a; }

/*---------------*/
/***** icon *****/
/*---------------*/
.icon-download{  background: url("../images/icon/icon-download.svg") no-repeat  left top; }
.icon-back{background: url("../images/icon/arrow-left-f.svg") no-repeat left center;  background-size:auto;}
.icon-shop{display: block;  margin: auto;background:url("../images/icon/shop-1.svg") no-repeat left top; }

.arrow-w{background: url("../images/icon/arrow-right-2.svg") no-repeat right top;  } 
.icon-next{background: url("../images/icon/arrow-right-2.svg") no-repeat left 0px;  background-size:auto;}

.icon-link{background: url("../images/icon/link.svg") no-repeat left center;  background-size:auto;}
.icon-check{background: url("../images/icon/check.svg") no-repeat center 4px; background-size:70% auto;}
.icon-clear{background: url("../images/icon/clear-w.svg") no-repeat center 4px; background-size:70% auto;}

.transition-3d-hover { transition: all .2s ease-in-out}
.transition-3d-hover:focus, .transition-3d-hover:hover {-webkit-transform: translateY(-3px);transform: translateY(-3px)}

/***** btn *****/
/*---------------*/
.btn { width: 100%; min-height: 48px; margin: 0px 5px 0px 0px;padding: 10px;font-size: .95rem; line-height: 1.5;border-radius:5px; overflow: hidden;}
.btn i{ width:26px; height:26px;margin:auto 0;    }
.btn .circle{ width:36px; height:36px; border: solid 1px #fff;  background: #fff; border-radius:99rem; margin:auto 5px auto 0px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;z-index: 1 }
.btn .circle-orange{  background: #515152; border: solid 1px #515152;}

@media (max-width: 991.98px) {
.btn { font-size: .9rem;  }
}
@media (max-width: 797.98px) {
.btn { font-size: .875rem;  }
}
@media (max-width: 320px) {
.btn { font-size: .75rem;  }
}
.btn-play {  width: 116px; height: 116px;  z-index: 9999; position: absolute;  margin: auto; display: flex;  align-items: center;  justify-content: center;}
.btn-play:before { content: '';  position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);  width:60px; height:60px; background: url("../images/icon/play-btn.svg") no-repeat; background-size: contain;}
.btn-play:hover .rotate2 {  -webkit-animation: rotate 1s linear infinite;animation: rotate 1s linear infinite;}
.btn-play .rotate1,.btn-play .rotate2 { -webkit-transform: translate(5px, 5px); -ms-transform: translate(5px, 5px);transform: translate(5px, 5px);}
.btn-play .rotate2 { stroke-dashoffset: 110; stroke-dasharray: 360; -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(-90deg) translate(5px, 5px); -ms-transform: rotate(-90deg) translate(5px, 5px); transform: rotate(-90deg) translate(5px, 5px);}
.btn-play-bg{width: 116px; height: 116px;}
.btn-play .bg {  opacity: .5;}

@media (max-width: 767.98px) {
.btn-play {transform: scale(.7)}
}
@-webkit-keyframes rotate {
0% {  -webkit-transform: rotate(-90deg) translate(5px, 5px); transform: rotate(-90deg) translate(5px, 5px);}
100% { -webkit-transform: rotate(270deg) translate(5px, 5px);transform: rotate(270deg) translate(5px, 5px);}
}

@keyframes rotate {
0% { -webkit-transform: rotate(-90deg) translate(5px, 5px);transform: rotate(-90deg) translate(5px, 5px); }
100% { -webkit-transform: rotate(270deg) translate(5px, 5px);transform: rotate(270deg) translate(5px, 5px);}
}

.btn-more { opacity: 1; transform: none; margin: 0px;}
.btn-more a{color: #000; font-weight: 700;  font-size: 1.125rem;  display: flex; align-items: center; }
.btn-more a:hover{opacity: .5;}
 
.btn.btn-secondary { color:#fff; font-size: 1rem; font-weight: 700; letter-spacing: 0px;  background:#8cc34a; display: flex;  flex-wrap: wrap; justify-content: center; align-items: center;  }
.btn.btn-secondary:hover { color: #fff; background-color:#000;  }
 
.btn-submit{  font-weight: 400;  background:#000;border: solid 1px #000;  color: #fff!important; vertical-align: text-bottom; }
.btn-submit:hover { color: #fff;  background:#000; border: solid 1px #000;   }

.btn-reset{ font-weight: 400;  background: #555;border: solid 1px #555;  color: #fff!important; vertical-align: text-bottom; }
.btn-reset:hover { color: #fff;  background:#000;   }
 
/*---------------*/
/***** btn *****/
/*---------------*/
.btn-btnbox {position: relative;z-index:9; display: flex;  justify-content: center;  width: 100%; height: auto; margin:10px auto;  transition: all 1s;}  
.btnbox {position: relative;z-index:9; display: flex;  justify-content: center;  width: 100%; height: auto; margin:20px auto 0px auto;  transition: all 1s;}  
a.btn-prev {color:#000; font-weight: 500; text-align: center; transition: all 0.5s; position: relative;   }
a.btn-next {color:#000; font-weight: 500;  text-align: center; transition: all 0.5s; position: relative;  }
a.btn-prev:hover, a.btn-next:hover  { color:#8cc34a!important;   }

a.btn-back { width:auto; color:#000!important; padding:0px 10px; font-weight: 500; background-color:transparent;  display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content:center;  -ms-flex-pack: center; justify-content: center;  -webkit-align-items: center;  -ms-flex-align: center;  align-items: center;  }
.btn-back:before,.btn-back::after{ content: ''; width: 10px; height:1px; background:#797371;-moz-transition: ease 0.3s; -o-transition: ease 0.3s; -webkit-transition: ease 0.3s;  transition: ease 0.3s;  }
.btn-back:before { margin-right: 20px; margin-left: 5px;}
.btn-back:after { margin-left: 20px; margin-right: 5px;}
a.btn-back:hover { color:#8cc34a!important;  }
.btn-back:hover:before{   background:#8cc34a; -moz-transform: translateX(20%); -ms-transform: translateX(20%); -webkit-transform: translateX(20%); transform: translateX(20%);  }
.btn-back:hover:after{  background:#8cc34a;-moz-transform: translateX(-20%); -ms-transform: translateX(-20%); -webkit-transform: translateX(-20%); transform: translateX(-20%);  }
@media (max-width:1024px) {
.btn-back:before,.btn-back::after{ display: none; }
}
@media (max-width: 767.98px) {
.btn-back  { padding:5px 10px;}  
}

.btn-send { position:relative; border: none; cursor: pointer; margin: 20px auto; padding:10px 45px; background:#23a167; border-radius:15px; overflow: hidden }
a.btn-send { color: #fff;}
.btn-send span{ font-size: 1.125rem; font-weight: 700; color:#fff; }
.btn-send:hover{background-color: #ffa907; box-shadow: 0px 10px 10px  rgba(237,109,52,.25);  }

/*cms-btn Styles 1
=================================*/
.btn-1{   width: 100%;  margin: 0px 5px 0px 0px;padding: 10px 20px;font-size: 1rem; line-height: 1.5;border-radius:10px; overflow: hidden; cursor: pointer;  display: flex;  flex-wrap: wrap; justify-content: center; align-items: center; position: relative;  background-color:#1e88c9; z-index: 1;  border: none; }
.btn-1 span { display: flex;  transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1; font-size: 1rem;  font-weight: 400; color: #fff;}
.btn-1 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-1:before,.btn-1:after {content: '';background:#000;height:100%; width: 0;position: absolute;  transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);}
.btn-1:before { top: 0; left: 0; right: auto;  }
.btn-1:after { bottom: 0; right: 0; left: auto; }
.btn-1:hover:before { width: 100%; right: 0; left: auto;}
.btn-1:hover:after {  width: 100%; left: 0; right: auto;}
.btn-1:hover span{color: #fff;}
.btn-1:hover em{ transform:translateX(20px);}

@media (max-width: 320px) {
.btn-1 em { width:30px; height:20px;   }
	
}


 /*.btn-01
=================================*/
.btn-01{ cursor: pointer; width:220px; height:3.5rem; padding:0px 30px;margin:20px 0px 0px 0px; font-size:1.125rem; font-size: min(max(1.25vw, .9rem), 1.125rem); line-height:2.75rem; display: flex;justify-content: center; align-items: center;  border-radius:10px; background-image: linear-gradient(120deg, #0c9b67 0%, #74c666 100%);  z-index: 1; overflow: hidden; position: relative;  }
.btn-01 span { display: flex;  transform-origin: center left; position: relative; letter-spacing: 1px; font-weight: 700; color: #fff; z-index: 2; transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);}
.btn-01 em {position: absolute; z-index: 2; width:30px; height:30px; right:10px;top:25%; transition: all 0.3s ease; background-image: url("../images/icon/arrow-right-f.svg"); background-size: 18px auto; background-repeat: no-repeat; background-position: center;  }
.btn-01:before,.btn-02:after {content: ''; background-image: linear-gradient(120deg, #ffbf00 0%, #f88d0b 100%);height:100%; width: 0;position: absolute; z-index: 1; transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);}
.btn-01:before { top: 0; left: 0; right: auto;  }
.btn-01:after { bottom: 0; right: 0; left: auto; }
.btn-01:hover:before { width: 100%; right: 0; left: auto;}
.btn-01:hover:after {  width: 100%; left: 0; right: auto;}
.btn-01:hover span{ color:#fff}
.btn-01:hover em{ transform:translateX(10px);}
.btn-01:hover{border-color:#dbf1fc;}
@media (max-width:320px) {
.btn-01{   height:3rem;  }	
.btn-01 span { font-size: 0.75rem;letter-spacing: 0px;}	
}
/*cms-btn Styles 1
=================================*/
.btn-02{ cursor: pointer;  display: flex;  flex-wrap: wrap; justify-content: center; align-items: center; position: relative;  font-weight:700; background-color:#f6f6f6; z-index: 1;  border: none; }
.btn-02 span { display: flex;  transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1; font-size: 1rem;  font-weight: 700; color: #000;}
.btn-02 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-02:before,.btn-02:after {content: '';background:#000;height:100%; width: 0;position: absolute;  transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);}
.btn-02:before { top: 0; left: 0; right: auto;  }
.btn-02:after { bottom: 0; right: 0; left: auto; }
.btn-02:hover:before { width: 100%; right: 0; left: auto;}
.btn-02:hover:after {  width: 100%; left: 0; right: auto;}
.btn-02:hover span{color: #fff;}
.btn-02:hover em{ transform:translateX(20px);}

 
/*cms-btn Styles 3===*/
a.btn-03{width: 100%;  display: flex;  flex-wrap: wrap; justify-content: center; align-items: center; color: #8cc34a;font-weight:700;  overflow: hidden; text-align: center; background-color: transparent;border:solid 1px transparent; cursor: pointer;  letter-spacing: 0.1rem;  box-shadow: inset 0 0 0 1px #515152;-webkit-transition: color 0.25s 0.0833333333s; transition: color 0.25s 0.0833333333s;   position: relative;}
.btn-03:focus{outline: 1px inset #fff;}
.btn-03 span { display: inline-block;  transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1;font-size:1rem; font-weight: 700; color:#515152;}
  
 
.btn-03 i{ filter: brightness(200%);  }
.btn-03:hover i{ filter:invert(1) brightness(200%);   }
.btn-03:hover .circle{ background-color:#fff;}

 a.btn-03:hover{color:#fff; background:#ffa908;box-shadow: inset 0 0 0 1px #fff;}
 a.btn-03:hover span{color:#fff;  }

/* Bounce To Right */
.hvr-bounce-to-right { display: inline-block; vertical-align: middle; -webkit-transform: perspective(1px) translateZ(0); transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); position: relative; -webkit-transition-property: color;  transition-property: color; -webkit-transition-duration: 0.5s; transition-duration: 0.5s;}
.hvr-bounce-to-right:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0;  background:#8cc34a; -webkit-transform: scaleX(0);  transform: scaleX(0); -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transition-property: transform; transition-property: transform; -webkit-transition-duration: 0.5s; transition-duration: 0.5s;  -webkit-transition-timing-function: ease-out;  transition-timing-function: ease-out;}
.hvr-bounce-to-right:hover, .hvr-bounce-to-right:focus, .hvr-bounce-to-right:active {color: white;}
.hvr-bounce-to-right:hover:before, .hvr-bounce-to-right:focus:before, .hvr-bounce-to-right:active:before { -webkit-transform: scaleX(1); transform: scaleX(1);  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);}


.text-button { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.125rem; cursor: pointer; display: inline-block; color: currentColor; padding-left: 2.1875rem; position: relative; transition: padding 0.3s ease;}
.text-button::before { content: ''; display: inline-block; position: absolute; left: 0; top: 50%; width: 1.5625rem; height: 0.0625rem; background: currentColor; vertical-align: middle; margin-right: 0.625rem; transition: padding 0.3s ease}
@media (hover: hover) {
.text-button:hover { color: currentColor; padding-left: 2.8125rem  }
.text-button:hover:before { width: 2.1875rem; color: currentColor  }
}
@media (max-width: 798px) {
.text-button { letter-spacing: 0rem; }  
p a.text-button { font-size: 0.7rem; }    
}
  
.next-button {width:150px; height:34px; position: relative; display: -webkit-box;  display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: space-between; cursor: pointer; background-color:transparent; border-radius:  30px;}
.next-button:hover .next-button-circle, .next-button:hover i { -webkit-transform: scale(.95); transform: scale(.95)}
.next-button:hover { -webkit-transform: scale(.95); transform: scale(.95); background: #000;}
.next-button-circle { width:28px; height: 28px;  position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin:auto 5px;  background: #fff;  border-radius: 50%;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.next-button i { width:16px; height: 16px;   -webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.next-button-txt { padding-left: 10px; font-size: 16px; font-weight:400; line-height: 1.5; color: #fff;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s; position: relative}

@media (max-width:767px) {
.next-button { width: auto; height: 24px }
.next-button-circle { width: 24px; height: 24px; margin-right: 15px}
.next-button i { width: 22px; height: 22px; margin: auto auto auto 10px}
.next-button-txt { font-size: 14px; line-height: normal; letter-spacing: normal }
}
 
/*----------------------------------------/
ul style 自訂樣式
----------------------------------------*/
.cms-dot{ width: 100%;  display: block; margin:0px;padding: 0px; position: relative;}
.cms-dot li{ width: 100%!important;display: block; padding: 2px 0px 2px 15px!important; margin:0px!important; font-size:1rem; line-height:1.75rem; font-weight:700; color:#727272; position: relative;  }
.cms-dot li:before{ content: ''; width:6px; height:6px; background-color:#8cc34a; border-radius: 99rem; position: absolute; top: 10px; left: 0px;  transition: all 0.5s ease 0s;}

.check{ width: 100%;  display: block; margin:0px;padding: 0px; }
.check li{ width: 100%; display: block; padding: 0px 0px 0px 25px!important; margin:0px 0px 2px 0px; font-size:1.125rem;   font-weight:400; color: #131212; position: relative;}
.check li:before{ content: ''; width: 15px; height: 15px; background-color:#8cc34a; border-radius: 99rem; position: absolute; top: 6px; left: 0px;  transition: all 0.5s ease 0s;}
.check li:after{ content: ''; width: 12px; height: 12px;  background: url("../images/icon/check.svg") no-repeat left top;position: absolute; top:8px; left: 2px;  transition: all 0.5s ease 0s;}

.arrow{ width: 100%; display: block; margin: 1.5% auto; }
.arrow li{ width: 100%; display: block; padding:1px 0 10px 15px; font-size:15px; line-height:1.4em; font-weight:400; background: url(../images/icon/arrow-right.svg) no-repeat left 8px; background-size:8px;}
.decimal { list-style-position: outside; list-style-type: decimal; padding-left: 15px;}
.decimal li{margin-bottom: 10px; font-size:1.125rem; line-height:1.5em; font-weight:400;  }
.tag{ padding: 5px 10px;  display: inline-block; width: auto; max-width: 100px; margin:  5px;font-size:15px; line-height:1.5em; font-weight:400; text-align: center;  border: solid 1px #eee; background: #eee;}

/*----------------------------------------/
aside cssmenu樣式
----------------------------------------*/
.main-area.top #cssmenu{margin:50px auto 10px auto;}
#cssmenu{width:100%; max-width:1440px; margin:0px auto 30px auto;padding:0px 10px; list-style:none; display:block; -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box; position: relative;}
#cssmenu #menu-button{margin:0px;padding:0;border:0;list-style:none; display:block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:9999;background-color:#fff;  }
#cssmenu #menu-button{display:none;}
#cssmenu ul,#cssmenu ul li,#cssmenu ul li a{margin:0;padding:0; list-style:none; display:block;position:relative;z-index: 1; -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box; }
#cssmenu:after, #cssmenu > ul:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0;}
#menu-line{position:relative;top:0px; left:0px; right: 0px; margin-left: 2px; width: auto;height:2px;background:#db0632;-webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
#cssmenu.align-center > ul{font-size:0;text-align:center; display: flex; flex-wrap:wrap; align-items: flex-start; align-content: stretch }
#cssmenu.align-center > ul > li{  width:calc(100%/4);margin: 0px; /*min-height: 69px;*/ }
#cssmenu.align-center > ul > li > a{  display: flex; flex-wrap: nowrap; align-items: center; justify-content: center;  padding: 10px; font-size:1rem; line-height: 1.5rem; font-weight: 700;  text-decoration:none; color:#000;  transition: all .4s ease;}
#cssmenu.align-center ul ul{text-align:left;}
#cssmenu.align-right > ul > li{float:right;}
#cssmenu.align-right ul ul{text-align:right;}
#cssmenu > ul > li{float:left;  width: auto; position: relative;z-index: 1;  background-color:transparent;   -webkit-transition: all 0.3s; transition: all 0.3s;   }
#cssmenu > ul > li{width:calc(100%/6); background-color:transparent;text-align: center;  }
#cssmenu > ul > li > a{ padding: 10px 20px; font-size:1rem; line-height: 1.5rem; font-weight: 700; text-align:center;text-decoration:none; color:#000;  transition: all .4s ease;}
#cssmenu > ul > li:after { opacity:0;  content: ""; display: block; width: 12px; height: 2px; background-color:#ffa908;  transition: all .4s ease; margin-top: 1px}
#cssmenu > ul > li:hover:after { width: 100%;opacity: 1} 
#cssmenu > ul > li:hover,#cssmenu > ul > li:hover > a,#cssmenu > ul > li.active{ border-color:#f6f2f0; }  
#cssmenu > ul > li.active > a{color:#107a4e;   }  
#cssmenu > ul > li.active:after { opacity: 1; content: ""; display: block; width: 100%; height: 2px; background-color:#107a4e;   transition: all .4s ease;  }  
#cssmenu > ul > li.active:hover:after {  background-color:#ffa908;     }  
#cssmenu > ul > li:hover > a {color:#ffa908;}   
#cssmenu > ul > li.has-sub > a{  padding:5px 15px !important; }

/*img*/
#cssmenu > ul > li > a > figure{width:20%;  margin: auto;}
#cssmenu > ul > li > a h3{ width:80%;text-align: left; font-size: 1rem; font-weight: 400; line-height: 1.15rem; margin:0px 10px;}
#cssmenu > ul > li.has-sub:hover > a::after{border-color:#f6f2f0;}
#cssmenu ul ul{position:absolute;z-index: 9999; left:-9999px;  background:#f1f1f1; -webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
#cssmenu li:hover > ul{left:auto;}
#cssmenu.align-right li:hover > ul{right:0;}
#cssmenu.align-right ul ul ul{margin-left:0;margin-right:100%;}
#cssmenu ul ul li{  -webkit-transition:height .2s ease;-moz-transition:height .2s ease;-ms-transition:height .2s ease;-o-transition:height .2s ease;transition:height .2s ease;}
#cssmenu ul ul ul{margin-left:100%;top:0; background:#e3edef!important; -webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
#cssmenu ul li:hover > ul > li{ /* height: 40px; */ }
#cssmenu ul ul li a{ padding:15px 20px;  width:200px; font-size:1rem; font-weight: 700; line-height:1.5rem;text-align:left;text-decoration:none;color:#000;  -webkit-transition:color .2s ease;-moz-transition:color .2s ease;-ms-transition:color .2s ease;-o-transition:color .2s ease;transition:color .2s ease;}
#cssmenu ul ul li:hover > a,#cssmenu ul ul li a:hover{color:#fff; background: #db0632;}
#cssmenu ul ul li.has-sub > a::after{position:absolute;top:25px;right:10px;width:4px;height:4px;border-bottom:1px solid #000;border-right:1px solid #000;content:"";-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:border-color 0.2s ease;-moz-transition:border-color 0.2s ease;-ms-transition:border-color 0.2s ease;-o-transition:border-color 0.2s ease;transition:border-color 0.2s ease;}
#cssmenu ul ul li.has-sub:hover > a::after{border-color:#776b62;}
 
@media (max-width:840px) {
#cssmenu{width:100%; margin:0 auto;padding: 0px; position: relative; z-index:9;  }
#cssmenu ul{width:100%; margin: auto; display:none;  position: absolute;  background:#f5f5f5;  border:1px solid rgba(120, 120, 120, 0.15);}
#cssmenu > ul > li.active > a{color:#fff;    }  
#cssmenu > ul > li.active{background:#1e88c9;  }  
#cssmenu.align-center > ul > li{  width:100%;  }
#cssmenu ul ul{ }
#cssmenu ul ul ul{ background:#e7eaeb!important;  }   
#cssmenu.align-center > ul,#cssmenu.align-right ul ul{text-align:left;}
#cssmenu ul li,#cssmenu ul ul li,#cssmenu ul li:hover > ul > li{width:100%;height:auto;margin: 0px; border-top:1px solid rgba(120, 120, 120, 0.15);}
#cssmenu > ul > li{border: none; border-bottom: solid 1px #ddd; box-shadow: none;}
#cssmenu ul li a,#cssmenu ul ul li a{width:100%; padding: 10px 0px; }
#cssmenu > ul > li,#cssmenu.align-center > ul > li,#cssmenu.align-right > ul > li{float:none;display:block;}
#cssmenu ul ul li a{padding:10px 15px;font-size:12px;color:#000000;background:none;text-align:center;}
#cssmenu ul ul li:hover > a,#cssmenu ul ul li a:hover{color:#000000;}
#cssmenu ul ul ul li a{padding-left:40px;}
#cssmenu ul ul,#cssmenu ul ul ul{position:relative;left:0;right:auto;width:100%;margin:0; padding-bottom: 0px;}
#cssmenu > ul > li.has-sub > a::after,#cssmenu ul ul li.has-sub > a::after{display:none;}
#menu-line{display:none;}
#cssmenu #menu-button{display:block; padding:10px 20px; color:#000;cursor:pointer;font-size:1rem;font-weight: 700;text-align: center;  text-transform:uppercase; border-bottom:solid 1px #555;background-color:transparent;-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px;}
#cssmenu #menu-button::after { display: block; content: ""; position: absolute; right:15px; top: 15px;  vertical-align: middle; width: 10px; height: 10px;  border-top: 2px solid #000;  border-right: 2px solid #000;  -moz-transform: rotate(135deg);  -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); -webkit-transition: transform .5s;  transition: transform .5s; }
#cssmenu .submenu-button{position:absolute;z-index:10;right:0;top:0;display:block;border-left:1px solid rgba(120, 120, 120, 0.15);height:46px;width:46px;cursor:pointer;}
#cssmenu .submenu-button::after{content:'';position:absolute;top:17px;left:23px;display:block;width:1px;height:11px;background:#be892f;z-index:99;}
#cssmenu .submenu-button::before{content:'';position:absolute;left:18px;top:22px;display:block;width:11px;height:1px;background:#be892f;z-index:99;}
#cssmenu .submenu-button.submenu-opened:after{display:none;}
#cssmenu ul li span.submenu-button.submenu-opened::after{display:none;}
#cssmenu ul li  ul li span.submenu-button{display:none;} 
}
/*----------------------------------------/
 leftMenu start 樣式
----------------------------------------*/
 @media only screen and (min-width:993px){
.leftMenuMobile {display: none;}
}

.leftMenu { width: 100%;  padding: 20px 20px 0 0; z-index: 9; background-color: transparent; position: relative}
.leftMenu h2{ font-size: 1.5rem; font-weight: 700; margin-top: 30px; padding-left: 30px; color:#0f7a4d }
@media(min-width:1002px) {
.leftMenu { width:240px;  }    
}
@media(min-width:1199.98px) {
.leftMenu { width: 300px;   }
}

.leftMenu ul, .leftMenu ul li {list-style-type:none; margin: 0; padding: 0;}
.leftMenu ul {width: 100%; }
.leftMenu ul li.menu-title a{ color:#fff; font-size: 1.15rem; font-weight: 700; line-height: 2rem; background:#0f7a4d; }
.leftMenu ul li:hover.menu-title a{ color:#fff; }
.leftMenu > ul ul {display: none; }
.leftMenu ul li { margin:0px;  position: relative; z-index: 1; font-size: 1rem; font-weight: 400;  line-height:1.5rem; border-bottom: 1px solid #d8d8d8;}
.leftMenu ul li:last-child {border-bottom: none;}
.leftMenu ul li a:hover { color:#ffa908!important; }
.leftMenu ul li a { transition: all .3s ease }
.leftMenu ul li a.active, .leftMenu ul li a:hover {  border-color: transparent}
.leftMenu ul li a.active { color: #fff; background-color:#0f7a4d  }
.leftMenu ul li a:hover.active { color: #fff!important;   }
.leftMenu ul li ul li.current a{ color:#fff;}
.leftMenu ul li ul li{padding-left: 20px; position: relative}
.leftMenu ul li ul li:before{ content: ""; width: 10px; height: 10px;background-image: linear-gradient(120deg, #0c9b67 0%, #74c666 100%); position: absolute; left:30px; top:18px; z-index: 9;}
.leftMenu ul li ul li:hover:before{  background-color:#ffa908;  }
.leftMenu ul li ul li a.menu_arrow_open{background-color:#fff; color:#ffa908!important;}
.leftMenu ul li ul li a{ color:#1d7c44!important;}
.leftMenu ul li ul li ul li{padding-left: 0px;}
.leftMenu ul li ul li ul li a{ color:#797b81!important;}
.leftMenu ul li ul li ul li:before{display: none}

.menu_dot {position: absolute; top: 10px; right: 0px; z-index: 99; width: 30px; height: 30px; cursor: pointer;}
.menu_dot::before {content: ''; width: 12px; height: 2px; background-color:#ffa908; border-radius: 2px; position: absolute; top: 12px; left: 7px; z-index: 99; transition: all 0.5s ease 0s;}
.menu_dot::after {content: ''; width: 2px; height:12px; background-color:#ffa908; border-radius: 2px; position: absolute; top: 7px; left: 12px; z-index: 99; transition: all 0.5s ease 0s;}
.leftMenu .menu_dot_open{top:6px; }
.leftMenu .menu_dot_open::before {background-color:#ffa908;}
.leftMenu .menu_dot_open::after { display: none;}
.leftMenu a:link, .leftMenu a:visited {text-decoration:none; color:#312927; background-color: transparent; padding: 10px 30px; display: block; position: relative; z-index: 1; transition: all 0.5s ease 0s;}
.leftMenu a:active, .leftMenu a:hover {text-decoration:none;  color:#1e88c9!important; cursor:pointer; transition: all 0.5s ease 0s;} 
/*.leftMenu img style*/
.menu-img {width: 100%; display: flex;flex-wrap: wrap; align-items: center; }
.menu-img figure{width:20%; padding-right: 10px;}
.menu-img h3{width: calc(80% - 10px);}
.leftMenu ul li a.menu_arrow_open{background-color:#0f7a4d; color:#fff!important;}
.leftMenu ul li ul li a.menu_arrow_open{background-color:#fff; color:#ffa908!important;}
.menu_arrow { display: none; position: absolute; top: 15px; left: 5px; width: 20px; height: 20px; -moz-transform:rotate(0deg); -webkit-transform:rotate(0deg); -o-transform:rotate(0deg); -ms-transform:rotate(0deg); transform:rotate(0deg); transition: all 0.5s ease 0s;}
.menu_arrow::before {content: ''; width: 7px; height: 2px; background-color: #8cc34a; border-radius: 2px; position: absolute; top: 7px; left: 6px; -moz-transform:rotate(45deg); -webkit-transform:rotate(45deg); -o-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg); transition: all 0.5s ease 0s;}
.leftMenu a:hover .menu_arrow::before {background-color: #8cc34a; transition: all 0.5s ease 0s;}
.menu_arrow::after {content: ''; width: 7px; height: 2px; background-color: #8cc34a; border-radius: 2px; position: absolute; top: 11px; left: 6px; -moz-transform:rotate(-45deg); -webkit-transform:rotate(-45deg); -o-transform:rotate(-45deg); -ms-transform:rotate(-45deg); transform:rotate(-45deg); transition: all 0.5s ease 0s;}
.leftMenu ul li a.menu_arrow_open .menu_arrow::before,.leftMenu ul li a.menu_arrow_open .menu_arrow::after  {background-color:#8cc34a; }
.leftMenu a:hover .menu_arrow::after {background-color: #8cc34a; transition: all 0.5s ease 0s;}
.menu_arrow_open .menu_arrow {-moz-transform:rotate(90deg); -webkit-transform:rotate(90deg); -o-transform:rotate(90deg); -ms-transform:rotate(90deg); transform:rotate(90deg); transition: all 0.5s ease 0s; }
@media only screen and (max-width:992px){
.leftMenu h2{ display:none}	
.leftMenu { width: 100%;margin-bottom: 20px; padding: 20px 0px 0px 0px;}    
.leftMenu ul {width: 100%;}
.leftMenuMobile {width: 100%; height: 40px; margin:10px auto auto auto ;cursor: pointer; border: solid 1px #0f7a4d; background:#0f7a4d; position: relative; z-index: 9;  }
.leftMenuMobile > span:nth-child(1) {width: 30px; height: 2px; background-color: #fff; position: absolute; top: 10px; left: 10px; transition: all 0.5s ease 0s;}
.leftMenu > div.show > span:nth-child(1) {top: 18px; transform: rotate(45deg);}
.leftMenuMobile > span:nth-child(2) {width: 30px; height: 2px; background-color: #fff; position: absolute; top: 22px; left: 10px; transition: all 0.5s ease 0s;}
.leftMenu > div.show > span:nth-child(2) {top: 18px; transform: rotate(-45deg);}
.leftMenuMobile::before {content: attr(data-title); width: 200px; height: 30px; line-height: 30px; position: absolute; top:2px; left: calc(50% - 100px); text-align: center; font-size: 1rem; font-weight:400;  color: #fff;}
.leftMenu > ul {max-height: 0; overflow: hidden; transition: all 0.5s ease 0s; }
.leftMenu > ul.open {max-height: 500px; overflow: auto; padding-bottom: 10px; transition: all 1.5s ease 0s; position: absolute;z-index: 9; background: #fff;  box-shadow: 0 0 30px hsla(0,0%,46.7%,.2);   }
.leftMenu ul li { font-size: 0.9rem;  line-height:1.25rem; }	
.leftMenu a:link, .leftMenu a:visited { padding: 10px 25px 10px 15px;  }	
.leftMenu ul li ul li{padding-left:10px;  word-break: break-all;}
.leftMenu ul li ul li:before{ left:10px; top:18px; }	
}
/*----------------------------------------/
產品清單頁  cms-product-cate  
----------------------------------------*/
 .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:50%;  margin: auto; display: flex; flex-wrap: wrap; align-items: center   }
.contact-box{ width:calc(100% - 50%);align-items: center  }
 @media (max-width: 840px) {
.contact-detail{width:100%;  padding: 20px;  }
.contact-box{ width:100%; }
}
/* ==== 底圖 === */
.bg-contact { width: 50%;  background-image: attr(src url); background-repeat: no-repeat; background-size:cover; background-position:left bottom; position: absolute;z-index: -1; top:0px; left: 0; right: 0; bottom: 0; line-height: 0;  }
 
@media(max-width: 840px) {
.bg-contact {  width: 100%;  }
}
/*----------------------------------------/
title樣式5
----------------------------------------*/
.title-h2-sub{ width: 80%; margin: auto; padding: 0px 70px; }
.title-h2-sub h2{ margin-bottom: 30px; font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem);  line-height: 130%;font-weight: 700; letter-spacing: 3px; color: #fff; text-transform:uppercase}
.title-h2-sub span{  font-size: 1.375rem;font-size: min(max(3.5vw, 1rem), 1.375rem); line-height: 130%;font-weight: 400; color: #fff; text-transform:uppercase  }
.title-h2-sub p{ font-size:1.125rem;  font-size: min(max(3.5vw, 1rem), 1.125rem); line-height:1.5rem; font-weight:400;color: #fff; }
 @media (max-width:1024px) {
.title-h2-sub{  padding: 0px 20px; }
}

@media (max-width: 998px) {
.title-h2-sub{text-align: left; padding-left: 20px;} 
}
 @media (max-width: 840px) {
.title-h2-sub{ width: 100%;  padding: 0px 20px; }	 
}
 @media (max-width: 640px) {
.title-h2-sub{  padding: 0px; }	 
.title-h2-sub p{ line-height:1.375rem; }
}

/*----------------------------------------/
form
----------------------------------------*/
.contact-form{width:100%;margin: auto; padding:50px 0px;}
.contact-form input, .contact-form option, .contact-form select, .contact-form textarea { font-size: 1.15rem;background: #fff; border: 1px solid #dfe0e8;  border-radius: 10px;}
.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: auto;  padding:0px 60px; display: flex; flex-wrap: wrap; list-style: none; }
.contact-form ul li { width: calc(100%/2 - 20px); margin: 15px 10px 15px 10px;}
.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:#b8bac6; 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: #b8bac6;}
.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% - 20px); 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: 1280px) {
.contact-form ul {  padding:0px 20px;  }
}
@media (max-width: 840px) {
.contact-form{ padding: 0px;}
.contact-form ul {  padding:0px 40px;  }
}
@media (max-width: 768px) {
.contact-form ul  {width: 100%; margin: 15px 0px;padding: 0px 40px; }
.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; }
.contact-form ul li {margin:5px 0px; } 
.contact-form .btn-send {width: 80%;	}
}
@media (max-width: 320px) {
.contact-form ul{ padding: 0px; }
} 

 
/*IE --*/ 
select::-ms-expand {display: none; }
select:focus{ box-shadow: 0 0 5px 2px #467BF4;    }
input, button, select, textarea { outline: none; }
  