/* 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;  }
.color-blue{color: #215285!important;  }
.color-orange{color: #ed6d34!important;  }


.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;   }
.footer .wrapper { padding-right: 20px; padding-left: 20px;}
}
@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; }
.footer .wrapper { padding-right: 20px; padding-left: 20px; max-width: 1440px; }
}
.wrapper-full { 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-full { padding-right: 40px; padding-left: 40px;   }
}
@media (min-width: 1201px) and (max-width: 1400px) {
.wrapper-full { padding-right: 20px; padding-left: 20px; }
}
@media (min-width: 1401px) {
.wrapper-full { padding-right: 100px; padding-left: 100px;   }
}

.banner{background:#fff;  margin-top: 0px;position: relative; }

.banner .item { width: 100%; height: 100%; position: relative; overflow: hidden;}
 /*mixin */
.slide-content-headings, .slick-slide::before, .slick-slide { -webkit-backface-visibility: hidden; backface-visibility: hidden;}

.main-slider { position: relative; width: 100%; 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; }

@media (max-width:767.98px) {
.banner .item {  }
.main-slider {  height:50vh}
}



.main-slider.slick-initialized { opacity: 1; visibility: visible;}
 

.slick-dotted.slick-slider { margin-bottom: 0;}
.slick-slide { position: relative;}
.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:40%;text-transform: uppercase; transform: translate(-20%, -40%); z-index: 999;}
.slide-content-headings h2 { font-size: 2.75rem; font-weight:700; line-height:3.15rem; color:#fff; margin:0px 0px 10px 0;letter-spacing: 2px; word-wrap: normal; text-shadow: 1px 2px 2px rgba(0,0,0,.2) }
.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; text-shadow: 1px 2px 2px rgba(0,0,0,.2)  } 
@media (max-width:1160px) {
.slide-content-headings h2 { font-size: 2rem; line-height:2.5rem;  margin-bottom: 20px; }
.slide-content-headings h3 { font-size: 2rem; line-height:2.5rem;}
.slide-content-headings p { font-size:1.15rem;  }
}
@media (max-width:840px) {
.slide-content { width: 90%;  top:45%;  left:30%; transform: translate(-30%, -75%);}
.slide-content-headings h2 { font-size: 2rem; margin-bottom: 20px; }
.slide-content-headings h3 { font-size: 2rem;  }
.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.5rem;   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;  }
}
@media (max-width:320px) {
.slide-content {top:50%;  left:30%; transform: translate(-30%, -50%);}
.slide-content-headings { position: relative; padding:0px 0px 0px 20px; }
.slide-content-headings h2 { font-size: 1.275rem;   line-height:1.5rem; 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="15");
  }
  to {
    filter: url(blur.svg#blur);
    filter: blur(0);
    -webkit-filter: blur(0);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="0");
  }
}
@keyframes slideOut {
  from {
    filter: url(blur.svg#blur);
    filter: blur(0);
    -webkit-filter: blur(0);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="0");
  }
  to {
    filter: url(blur.svg#blur);
    filter: blur(15px);
    -webkit-filter: blur(15px);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="15");
  }
}
 
@-webkit-keyframes zoomInImage {
from { transform: scale3d(1, 1, 1); }
to { transform: scale3d(1.1, 1.1, 1.1); }
}
@keyframes zoomInImage {
from { transform: scale3d(1, 1, 1); }
to { transform: scale3d(1.1, 1.1, 1.1); }
}
.zoomInImage { -webkit-animation-name: zoomInImage; animation-name: zoomInImage;}
@-webkit-keyframes zoomOutImage {
from { transform: scale3d(1.1, 1.1, 1.1); }
to {transform: scale3d(1, 1, 1); }
}
@keyframes zoomOutImage {
from { transform: scale3d(1.1, 1.1, 1.1); }
to { transform: scale3d(1, 1, 1); }
}

.text-content{ width: 100%; font-weight: 700; font-size:2rem!important; margin-bottom: 10px; color: #000!important; }
.text-content:first-letter{ color:#e60012;}
@media (max-width: 1199.98px) {
.text-content {  font-size:1.5rem!important;  }
}
@media (max-width:767.98px) {
.text-content{ font-size:1.25rem!important; margin-bottom: 5px;  }   
}

.main-wrap{ width: 100%; padding:0px; margin:0px auto; height: auto;  display: flex; flex-wrap: wrap;  }
/***** product  **** 
=================================*/
.produt-wrap{width:100%; padding:0px;margin:0px auto; }
@media (max-width: 1440px) {
.produt-wrap{ padding:20px 0px;  }
}
@media (max-width: 1024px) {
.produt-wrap{padding:30px 0px; }
}
 

.title {  width: 150%; margin:0px -20% 30px auto; padding: 0px;   position: relative;z-index: 9;color: #fff; } 
.title h1{ margin:2% auto; font-size: clamp(1.5rem, 2.3vw, 3.125rem); font-weight:700; color: #fff;    }
.title span{ font-size: 1rem; font-weight:700; color: #fff; }
.title p{ font-size: 1.375rem; font-weight:700; color: #fff; }

@media (max-width:1160px) {
.title {  width: 120%;   } 
.title h1{ font-size: 2rem;   }
}

 @media (max-width:840px) {
.title {  width: 100%; margin: auto;  } 
 }

@media (max-width:767.98px) {
.title { margin:0px auto;  }  
.title h1{  font-size: 1.5rem;   }    
}
@media (max-width:320px) {
.title h1{  font-size: 1.175rem;   }        
}

.main-about{ position: relative; margin:0px; padding:0px;}
.main-about .animated {  -webkit-animation-duration: 1.5s; animation-duration: 1.5s; transition: opacity 0.5s ease 0.3s;}
@media (max-width: 767.98px) {
.main-about{ padding:0px;background-size: 100% auto; background-position:0px top;}    
}

.block-pic {width:65%; margin: 0; padding:0px;  position: relative; border-radius:0px 50px 50px 0px; overflow: hidden;  }
@media (max-width: 768px) {
.block-pic {width:100%; border-radius:0px;}

}
.block {width:55%; height: auto;margin:8% auto auto -20%; padding:0px; /*background-color:#484340;*/border-radius:50px 0px 0px 50px;  position: relative;z-index: 9; background: linear-gradient(to right, rgba(72, 67, 64, 0.85) 0%, rgb(72, 67, 64) 37%);}

@media (max-width: 1024px) {
.block {width:60%; margin:8% auto auto -25%; }	
}

@media (max-width: 768px) {
.block {width:100%;margin:-10% 0px 0px 0px; padding: 0px; background-color:#484340;}  
}

.block::after{ width:200%; content: attr(data-content);color:#fff; font-size: 120px; font-weight: 700;letter-spacing: 2px; word-wrap: normal; -webkit-text-stroke: 1px #d14c34;  -webkit-text-fill-color: transparent; left:0; top:-25%;position: absolute; z-index:2;  animation:fadeInUp 1s both 1s;  }
@media (max-width: 1200px) {
.block::after{top:-32%;}
}
@media (max-width: 840px) {
.block::after{ left:5%; top:-20%; font-size: 72px;  }
}
@media (max-width: 320px) {
.block::after{ left:5%;  font-size: 60px;  }
}





.post-btn{  margin:30px 0; }


.block-txt{width:80%; margin:5% auto ; padding:20px 50px 50px 0px ;  display: block; position: relative;z-index: 9;   }
.block-txt p { font-size:1rem;  line-height:1.75rem; font-weight: 400;  padding:5px; margin-bottom: 10px; color: #fff; text-align: left;  /* 20241202 調整 */ }
.block-txt 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; }
 
 @media (max-width: 1200px) {
.block-txt{ padding:0px;  }
}
 
@media (max-width:767.98px) {
.block-txt{ width:100%;  margin:20px 0px; padding: 0px 40px;}   
}
@media (max-width:320px) {
.block-txt p { font-size:.9rem;  line-height:1.375rem;   }
}
 

 
 /* ==== 底圖 === */
.bg-about { background-image:attr(src url); background-repeat: no-repeat; background-size:auto 100% ;background-position:left bottom; position: absolute;z-index: 1; top:0px; left: 0; right: 0; bottom: 0; line-height: 0;  width: 100%;  }
 
 

.application { display: flex; flex-wrap: wrap;}
.application a,.application a:visited {color: #fff;}
.application a:hover { opacity: 1; color: #fff; text-decoration: none;}
.application .col { padding: 0;}
.application .desc { display: flex; align-items: center; flex: 1 0 50%;}
.application .block-title { padding: 0 8vw;}
.application .block-title-txt p{  /*text-transform: uppercase;*/ color: #494341; text-align: left; font-size:1rem;  line-height:1.75rem; font-weight: 400;  padding:5px; margin-bottom: 10px; /* 20241202 調整 */}
.application .tit-wp { border-bottom: 1px solid #fff;}
.application .tit-wp h3 { margin-bottom:20px; font-size: clamp(1.5rem, 2.3vw, 2rem); text-transform: uppercase; line-height:2rem;}
.application .tit-wp .subtitle { margin-bottom: 12px; font-size: clamp(0.875rem, 2.3vw, 1rem); line-height: 1.5rem; font-weight: 700;  }
.application .images { height: 100%; padding: 0; background-color:#000;}
.application .images img {  opacity: 0.3; -o-object-fit: cover; object-fit: cover;  height: 100% !important; transition: 1s; width: 100%;}
.application .copy { display: flex; align-items: flex-end; position: absolute; top: 0; bottom: 0; left: 0; right: 0;  padding: 3vw;}
.application .item { position: relative; flex: 1 0 25%;}
.application .item::before { content: ""; position: absolute; left: 0; top: 4vh; z-index: 1; width: clamp(28px, 3.75vw, 40px); height: clamp(24px, 3vw, 32px); background-color:#d14c34; transition: 0.5s; opacity: 0;}
.application .item .col.copy .text { opacity: 0; height: 0; overflow: hidden; transition: 1s; margin-top: 12px; line-height: 1.6;}
.application .item:hover::before { opacity: 1;}
.application .item:hover .images img { opacity: 0.6;}
.application .item:hover .col.copy .text { opacity: 1; height: 100px; margin-bottom: 40px;}
@media screen and (max-width: 1680px) {
.application .block-title { padding: 2vw 8vw; }
}
@media screen and (max-width: 1200px) {
.application .desc{ flex: 1 0 100%; }
.application .item {  flex: 1 0 31.333%; }
}
@media screen and (max-width:992px) {
.application .tit-wp .subtitle {display: none; }
}


@media screen and (max-width: 767.98px) {
.application .item {  flex: 1 0 50%; }
.application .tit-wp{  margin-bottom: 12px; }
.application .tit-wp h3 { font-size: 1.125rem;margin-bottom:10px;  }   
.application .item .col.copy .text { display: none; opacity: 1;  height: 100px; margin-bottom: 40px;  }
}
@media screen and (max-width: 360px) {
.application .item{ flex: 1 0 100%; }
}


 

.advantage { display: flex; flex-wrap: wrap; position: relative}
.advantage .col { padding: 14vh 0;}
.advantage .desc { display: flex; align-items: center; flex: 0 0 50%;}
.advantage .block-title { padding: 0 8vw;  }
.advantage .block-title-txt p{ /*text-transform: uppercase;*/ color: #494341; text-align: left; font-size:1rem;  line-height:1.75rem; font-weight: 400;  padding:5px; margin-bottom: 10px; /* 20241202 調整 */}
.advantage .block-title h2,.advantage .block-title span,.advantage .block-title p{color: #fff}

.advantage::after{  width:200%; content: attr(data-content);color:fff; font-size: 120px; font-weight: 700;letter-spacing: 2px; word-wrap: normal; -webkit-text-stroke: 1px #fff;  -webkit-text-fill-color: transparent; left:0; bottom:-5vh;position: absolute; z-index:2;  animation:fadeInUp 1s both 1s;  }
.advantage .btn-02:hover{ background-color: #fff;}

 @media screen and (max-width: 1200px) {
.advantage .block-title { padding: 0 4vw;}	
.advantage::after{  bottom:-8vh;}	 
}

 @media screen and (max-width: 1024px) {
.advantage::after{  display: none}	 
}

 @media (max-width: 767.98px) {
.advantage .desc {  flex: 0 0 100%;}	 
}
/*----------------------------------------/
產品總覽頁Product
---------------------------------------- */
.bg-esg{padding: 20px 0px; background: url("../images/index/bg-esg.jpg") no-repeat  right bottom #fff; background-size:100% auto ; position: relative;z-index: 0; }
.esg { width:100%; margin:0px auto 30px auto; padding:0px;display: flex; flex-wrap: wrap;position: relative}
.esg li { width:calc(100%/3 - 30px); margin:15px; padding:0px; list-style: none; transition: all 0.5s ease 0s; position: relative; z-index: 9;}
.esg li .item{width: 100%;}
.esg li .item-inner{width:100%; margin:0 auto; padding:0px 0px 30px 0px;   } 
.esg li .item-pic{height: 100%; padding: 0;   border-radius:15px;  position: relative}
.esg li .item-pic figure{flex: 0 0 100%; padding-bottom:135%; height: 0; overflow: hidden; border-radius:15px; position: relative;  z-index: 1; transition: all 0.5s ease 0s;  }
.esg li .item-pic figure:hover img { transform: scale(1.1);  opacity: 1; }
.esg li .item-pic figure img {  opacity:1; -o-object-fit: cover; object-fit: cover; width: 100%; height: 100% !important; transition: 1s; }
.esg li .icon-pic{ width: 100px; height: 100px; position: absolute; left:0px; bottom:0px;z-index: 9;}
.esg li h3{ padding:0px; margin:20px auto;  font-weight:400;  font-size: clamp(1.125rem, 2.3vw, 1.75rem); line-height:2.25rem;letter-spacing: 3px;  text-align: center; word-break: normal; word-wrap: break-word;}
.esg li p{ margin:5px 0px; padding: 0px; font-size:1rem;  line-height:1.75rem; font-weight: 400; color:#494341; } 
 @media (max-width: 767.98px) {
.esg li p{   font-size:100%;} 
.esg li { width:calc(100% - 30px); margin:15px auto;  }	
}
@media (max-width: 320px) {
.esg li { width:calc(100% - 15px); margin:15px auto;  }	
 
}
/* ==== 底圖 === */
.bg-background { background-image: attr(src url); background-repeat: no-repeat; background-size:auto 100% ;background-position:right bottom;background-color:#d14c34; position: absolute;z-index: -1; top:0px; left: 0; right: 0; bottom: 0; line-height: 0;  width: 100%;  }
 @media (max-width: 767.98px) {
.bg-background {  background-size:auto 100%   ;background-position:left bottom;   }
	 
	 
}
/*ms-title-2  樣式
=================================*/
.title-2 { width:100%; height: auto;  margin:auto auto 30px auto; padding:20px 0px;   position: relative; z-index: 99; }
.title-2 span{ width: auto; margin:0px auto 30px auto; font-size: 1rem; color: #d14c34;  line-height: 3rem; font-weight:700;  position: relative; }
.title-2 span:after{ content: ""; width:30%; height:3px; bottom: -10px; left:0; background: #d14c34; position: absolute; }
.title-2 h2{ width: auto; margin:15px 0px;font-size: clamp(1.5rem, 2.3vw, 3.125rem);font-weight: 400;  letter-spacing:1px;   }
.title-2 p{ width: auto; margin:0px auto;font-size: 1.15rem;  font-weight: 400; line-height:1.75rem;   letter-spacing:1px;    }
.title-2 strong{color: #d14c34;}
@media (max-width: 1280px) {
.title-2 { margin: 0px auto; padding:20px 0px;  }
.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-3 {   margin:0px auto; padding:40px 0px; text-align: center;   }
.title-3 .txt-stork {font-size: 120px; color: #fff;  line-height: 3rem; font-weight:700; -webkit-text-stroke: 1px #d14c34;  -webkit-text-fill-color: transparent;}
.title-3 h2{ width: auto; margin:15px auto; font-size: clamp(1.5rem, 2.3vw, 3.125rem); font-weight: 400;  letter-spacing:1px;   }
.title-3 p{ width: 50%; margin:0px auto; font-size:1rem;  line-height:1.75rem; font-weight: 400; color:#494341;   }
 
 @media screen and (max-width: 1200px) {
.title-3 p{ width: 65%; font-size: 100%; }	 
}
 @media screen and (max-width: 1024px) {
.title-3 .txt-stork {font-size: 80px; }	 
}

 @media screen and (max-width:767.98px) {
.title-3 p{ width: 100%;  }	 
}
 
/*scroller mousey Styles====*/
.scroll-downs { position: absolute;  left: 40px; bottom: 40vh;  margin:0px auto; width :20px; height: auto;display: flex;  justify-content: center;transition: all 1s;z-index: 999;}
.mousey { width: 2px; padding: 5px 8px; height: 24px; border: 2px solid #fff; border-radius: 25px; opacity: 0.75; box-sizing: content-box; position: relative; }
.mousey:before{content:attr(data-content)!important; padding: 5px 0px; font-size: 0.875rem; font-weight: 700; color: #fff; text-align: center; writing-mode: vertical-lr;
position: absolute;top:-100px; left:0px; height: 100px;}
.scroller { width:4px; height: 8px; border-radius: 25%; background-color:#f39800; animation-name: scroll; animation-duration: 2.2s; animation-timing-function: cubic-bezier(.15,.41,.69,.94); animation-iteration-count: infinite;}
 
@media (max-width:1024px) {
.scroll-downs { display: none; }    
}
 

@keyframes scroll {
0% { opacity: 0; }
10% { transform: translateY(0); opacity: 1; }
100% { transform: translateY(15px); opacity: 0;}
}
/*cms-btn Styles 1
=================================*/
.btn-01{ cursor: pointer; width:200px; height:2.75rem; padding:0px 30px;margin:20px 0px 0px 0px; font-size:1rem; font-size: min(max(1.25vw, .9rem), 1rem); line-height:2.75rem; display: flex;justify-content: center; align-items: center;  border-radius:30px; border:solid 1px #d14c34;  background-color:transparent; 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:#d14c34; 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: 15%; transition: all 0.3s ease; background-image: url("../images/icon/arrow-right-w.svg"); background-size: 12px auto; background-repeat: no-repeat; background-position: center;background-color:#d14c34; border:solid 1px #d14c34;border-radius:99rem;   }
.btn-01:before,.btn-02:after {content: '';background:#d14c34;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:#ffcdc4}
.btn-01:hover em{ transform:translateX(10px); border:solid 1px #fff;}
.btn-01:hover{border-color:#d14c34;}


/*cms-btn Styles 1
=================================*/
.btn-02{ cursor: pointer; width:200px; height:2.75rem; padding:0px 30px;margin:20px 0px 0px 0px; font-size:1rem; font-size: min(max(1.25vw, .9rem), 1rem); line-height:2.75rem; display: flex;justify-content: center; align-items: center;  border-radius:30px; border:solid 1px #fff; background-color:transparent; z-index: 1; overflow: hidden; position: relative;  }
.btn-02 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-02 em {position: absolute; z-index: 2; width:30px; height:30px; right:10px;top: 15%; transition: all 0.3s ease; background-image: url("../images/icon/arrow-right.svg"); background-size: 12px auto; background-repeat: no-repeat; background-position: center;background-color: #fff;   border-radius:99rem;   }
.btn-02:before,.btn-02:after {content: '';background:#d14c34;height:100%; width: 0;position: absolute; z-index: 1; 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:#ffcdc4}
.btn-02:hover em{ transform:translateX(10px);}
.btn-02:hover{border-color:#d14c34;}

