@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Barlow+Condensed:400,400i,500,500i,600,600i,700,700i');
/*------------ article ------------*/
.article-list .item .box{
    margin: 0 auto 45px;
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: 35px;
    position: relative;
}
.article-list .item .pic{
    position: relative;
    box-sizing: border-box;
    order: 2;
    width: 100%;
    vertical-align: top;
}
.article-list .item .box:hover .name{
    color: #17a98a;
    text-decoration: underline;
}
.type5 .keyword_box{
    color: #F2856C;
}
.type5 .article-list .pic .mask{
    opacity: 0;
    transition: all .2s;
    position: absolute;
    width: 100%;
    height: 100%;
    color: #fff;
    font-family: 'roboto', sans-serif;
    top: 50%;
    font-size: 13px;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    background: rgba(0,0,0,0.2);
    transition: all .2s;
}
.type5 .article-list .item .box:hover .mask{
    opacity: 1;
}
.type5 .article-list .item .date,
.article-date{
    color: #FFFFFF;
    margin: -25px 0 13px;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    background: #29A38A;
}
.article-date{
    margin:auto;
}
.article-box .article-list .btn.more{
    z-index: 5;
    overflow-x: hidden;
    background: #3D9E70;
    color: #fff;
    position: relative;
}
.article-box .article-list .btn.more:hover {
    background: #A7B450;
    color: #fff;
}
.type2 .article-list .date,.type3 .article-list .date,.type4 .article-list .date:before{
    color: #b5c356;
    border-color: #b5c356;
}
/*------------ keyword_box ------------*/
.keyword_box i{
    font-size: 14px;
    line-height: 14px;
    float: left;
    position: absolute;
    top: 14px;
    left: 0;
}
.keyword_box.detail{
    height: auto;
    margin: 0;
    position: relative;
    padding: 9px 0 9px 25px;
    color: #F2856C;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.5;
}
.type5 .keyword_box.detail ul{
    white-space: normal;
    overflow: inherit;
}
.type5 .keyword li a:hover{
    text-decoration: underline;
    color: #999;
}
/*!列表通用 index article*/
/*列表通用 index、products*/

.products-list .pic:before {
    content: '';
     background: -moz-linear-gradient(0deg, rgb(52 30 134 / 50%) 0%, rgba(93,172,129,0) 100%);
    background: -webkit-linear-gradient(45deg, rgb(52 30 134 / 50%) 0%,rgba(93,172,129,0) 100%);
    background: linear-gradient(0deg, rgb(52 30 134 / 50%) 0%,rgba(93,172,129,0) 100%);
    
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition: all 0.3s;
}

.products-list.type2 .item{
    margin-bottom: 30px;
}
.products-list.type2 > .item > .box{
    margin: 0 auto 0px;
    box-sizing: border-box;
    transition: all .2s;
    position: relative;
}
.products-list .box .name,.products-list.type2 .name{
    color: #222;
    font-family: "Noto Serif TC", serif;
    font-weight: 600;
}
.products-list .box:hover .name{
    color: #341e86;
}
.products-list.type2 .description,.products-list .description{
    color: #9A9A9A;
    -webkit-line-clamp: 1;
}
.products-list .box:hover .description{
    /* text-decoration: underline; */
}
.products-list .offers{
    color: #D80000;
}
.products-list .box.new:before{
    content: '';
    display: block;
    background: url(../../../images/layout01/common/products/news_tag.png);
    width: 48px;
    height: 46px;
    position: absolute;
    z-index: 10;
    left: 20px;
    top: 15px;
}
.products-list .box img{
    display: block;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    width: 100%;
}
.products-list .box .more{
    position: absolute;
    bottom: 0;
    left: 0;
    top: 50%;
    margin: -13px 0 0 0;
    width: 100%;
    padding: 0 40px;
    line-height: 1.2;
    height: 26px;
    text-align: center;
    opacity: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 10;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    font-family: 'Roboto';
    font-size: 16px;
    color: #DDDDDD;
    letter-spacing: 3px;
}
.products-list .mask .more{
    display: block;
}
.products-list.for-cart .box .wish {
    width: 35px;
    height: 35px;
    background: transparent;
    text-align: center;
    line-height: 35px;
    color: #fff;
    font-size: 18px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 45;
    transition: all .2s;
    border-radius: 0;
}
.products-list.for-cart .wish:hover,
.products-list.for-cart .wish.active {
    background: #D80000;
}
.products-list.for-cart.type2 .mask{
    z-index: unset;
}
.products-list.for-cart.type2 .box.new:before {
    z-index: 4;
}
.products-list.for-cart.type2 .mask .pic:before{
    z-index: 3;
}
@media screen and (max-width: 1000px){
     /*列表通用 index、products*/
    .products-list .box .more{
       font-size: 10px;
        letter-spacing: 0;
        padding: 0; 
    }
  
    .products-list.masonry-list.products-list .item .box{
        margin-bottom: 0px;
    }
     /*!列表通用 index、products*/
 }
/*!列表通用 index、products*/
/*列表通用 index、album*/
.album-list{
    margin: 0 -10px;
}
.album-list .item{
    padding: 0 10px;
}
.album-list.type1 .item .box .more:after{
    color: #fff;
    background: #31CAA4;
}
.album-list .item .name{
    color: #29A38A;
}
.masonry-list.album-list.type1 .item{
    margin-bottom: 0;
}
.masonry-list.album-list.type1 .item .name{
   text-align: left; 
}
.masonry-list.album-list.type1 .item .box .more:after{
    display: none;
}
.masonry-list.album-list .item .namebox{
    position: relative;
}

.masonry-list.album-list.type1 .item .name,
.masonry-list.album-list.type3 .item .name{
    /*padding-right: 60px;*/
    position: relative;
}
/*!瀑布流*/
/*!列表通用 index、album*/
.album-list.type1 .item .box .more{
    display: none;
}
.album-list .item .name{
    color: #fff;
}
.masonry-list.album-list.type2 .item .box:hover .namebox:after{
    display: none;
}
.masonry-list.album-list.type4 .item .namebox:after{
    display: none;
}
.container .masonry-list.album-list .item .name{
    color: #29A38D;
}
.container .masonry-list.album-list .item .box{
    margin-bottom: 20px;
}
.container .masonry-list.album-list.type2 .item .box{
    margin-bottom: 0;
}
.container .masonry-list.album-list .item .namebox{
    position: static;
    background: none;
    opacity: 1;
}
.masonry-list.album-list.type3 .item,
.masonry-list.album-list.type1 .item{
    padding: 0 15px!important;
}
/*列表通用 index、news*/
.news-list .pic{
    position: relative;
    overflow: hidden;
    margin: 0 auto 10px;
}
.news-list .btn.more{
    background: #3D9E70;
    color: #fff;
}
.news-list .box:hover .btn.more {
    background: #A7B450;
}
.news-list.type3 .date{
    color: #3D9E70;
}
.news-list.type4 .pic:before ,
.news-list.type2 .pic:before{
    content: "";
     background: -moz-linear-gradient(0deg, rgb(52 30 134 / 50%) 0%, rgba(93,172,129,0) 100%);
    background: -webkit-linear-gradient(45deg, rgb(52 30 134 / 50%) 0%,rgba(93,172,129,0) 100%);
    background: linear-gradient(0deg, rgb(52 30 134 / 50%) 0%,rgba(93,172,129,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#341e86', endColorstr='#005dac81',GradientType=1 );
     display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition: all 0.3s;
}
.news-list.type4 .box:hover .pic:before,
.news-list.type2 .box:hover .pic:before{
    background-position: 50% 50%;
    opacity: 1;
}
.news-list.type4 .item .box{
    transition: all .2s;
    border:none;
}

.news-list.type4 .txt {
    padding: 0 10px 15px 10px;
}
.news-list .item .box{
    transition: all .2s;
    top: 0;
}
.news-list .item .pic{
    position: relative;
    box-sizing: border-box;
}
.news-list.type4 .item .box:hover .pic img{
    opacity: 0.7;
}
.news-list.type4 .item .date,
.news-date{
    border-radius: 100%;
    color: #341e86;
    font-family: "Lora", serif;
    font-weight: 500;
    background: #fff;
}
.news-list.type4 .item .date{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: -31px 0px 13px;
    padding: 0 0 5px;
    line-height: 1;
    width: 70px;
    height: 70px;
}
.news-list.type4 .item .date .day{
    display: block;
    width: 100%;
    line-height: 0.8;
    margin-bottom: -15px;
    font-size: 35px;
}
.news-list .item .name{
    color: #222;
    font-family: "Noto Serif TC", serif;
    font-weight: 600;
    -webkit-line-clamp: 1;
    height: auto;
}
.news-list .box:hover .name{
    color: #341e86;
}
.news-list .item .description{
    color: #8C8C8C;
    display: none;
}
.news-list .item .box:hover .description{
    color: #464646;
}
/*!列表通用 index、news*/
/*------------ banner ------------*/
.banner{
    position: relative;
    height: auto!important;
}
.banner .slider{
    max-width: 1300px;
    position: relative;
    margin: auto;
}
.banner *{
    height: 100%;
}
.banner .slick-arrow{
    white-space: nowrap;
    text-indent: 101%;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: url('../../../images/layout01/common/index/arrow.png') no-repeat;
    width: 90px;
    height: 90px;
    margin-top: -30px;
    position: absolute;
    z-index: 80;
    top: 50%;
    cursor: pointer;
}
.banner .slick-prev{
   background-position: 0 0;
   left: -120px;
}
.banner .slick-next{
    background-position: 100% 0;
    right: -120px;
}
.banner .slick-prev:hover{
    background-position: 0 100%;
}
.banner .slick-next:hover{
    background-position: 100% 100%;
}
.banner .slick-dots{
    position: static;
    top: 100%;
    left: 0;
    right: 0;
    margin: 5px 0 0;
    padding: 0;
    list-style-type: none;
    text-align: center;
    z-index: 80;
}
.banner .slick-dots li{
    display: inline-block;
    vertical-align: middle;
}
.banner .slick-dots li button{
    white-space: nowrap;
    font-size: 0;
    overflow: hidden;
    padding: 0;
    border: 0;
    width: 45px;
    height: 9px;
    margin-top: 10px;
    cursor: pointer;
    background: none;
}
.banner .slick-dots li button:before{
    content: '';
    width: 100%;
    height: 2px;
    display: block;
    margin: 5px 5px;
    background: #ddd;
}
.banner .slick-dots li.slick-active button:before{
    background: #341e86;
}
/*------------ title ------------*/
.title{
    color: #222222;
    font-size: 23px;
    text-align: center;
    line-height: 1.25;
    letter-spacing: 0;
    margin: 0 0 25px;
    font-weight: normal;
}
.title span{
    /* display: none; */
    font-family: "Lora", serif;
    font-size: 43px;
    color: #332188;
}
.title h2{
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 3px;
    font-weight: 600;
    margin: 0;
    font-family: "Noto Serif TC", serif;
    position: relative;
}

.title h2::after {
    content: '';
    background: #ccc;
    width: 43px;
    height: 1px;
    position: relative;
    margin: 0 0 7px 8px;
    bottom: 0;
    right: 0;
    display: inline-block;
}

.title h2::before {
    content: '';
    background: #ccc;
    width: 43px;
    height: 1px;
    position: relative;
    margin: 0 13px 7px 0;
    bottom: 0;
    right: 0;
    display: inline-block;
}


.title i{
   display: none;
}
/*------------ more ------------*/

/*------------ sect ------------*/
/*新編輯器*/
.article-sect{

    background: #E9E9E9;
}

.partner-sect{
    display:flex;
    justify-content: center;
}

.partner-sect .title{
    padding:40px 40px 0 0;
    text-align:right;
    width: 25%;
}

.partner-sect  .title h2:after{
    display:none;
}
.partner-sect .partner-list{
    display:flex;
    padding:0;
    list-style: none;
}

.partner-sect .partner-list .item{
    width:33.3%;
    padding:0 10px;
    transition: all .2s;
}

.partner-sect .partner-list .item:hover{
    opacity:0.8;
}

.article-sect .container{
    padding: 40px 15px;
}
@media screen and (max-width: 1440px){
   
.partner-sect .title {
   
    width: 25%;
}

}
@media screen and (max-width: 1280px){
   .partner-sect .title {
   width: 42%;
   padding: 20px 15px 0 0;
}

}
@media screen and (max-width: 1000px){
    .article-sect .container {
    padding: 30px 15px;
}
  .partner-sect{
    
flex-direction: column;
}
      .partner-sect .title {
   width: 100%;
   padding: 0;
   text-align: center;
   margin: 0 0 15px;
}
.partner-sect  .title h2:after{
    display:inline-block;
}
}

@media screen and (max-width: 767px){
    .partner-sect .partner-list{
    flex-direction: column;
    justify-items:center;
    margin: 0  auto;
    text-align: center;
}
 .partner-sect .partner-list .item{
    width: auto;
    margin: 5px auto 10px;
}

}
/*!新編輯器*/
/*------------ about ------------*/
.about-sect{
   padding: 100px 0 30px;
}
.about-sect .row{
   
display: flex;
   
justify-content: center;
}
.about-sect .pic img{
   
}
.about-sect .col{
    
}
.about-sect .col.txt{
    max-width: 620px;
    padding: 15px 120px 0 0;
    box-sizing: border-box;
}
.about-sect .container{
  
}
.about-sect .col.pic{
   
position: relative;
   
z-index: 1;
}

.about-sect .col.pic:before {
    content: 'ABOUT';
    display: block;
    position: absolute;
    left: -290px;
    bottom: 70px;
    font-family: "Lora", serif;
    font-size: 115px;
    color: #000000;
    line-height: 1;
    background: url(../../../images/layout01/common/index/abtxtbg.jpg) no-repeat 0% 100% fixed;
    background-size: 100vw auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    z-index:1;
}

.about-sect .abpic1{
    position:absolute;
    top:-100px;
    right:120px;
    z-index: 0;
}

.about-sect .abpic2{
    position:absolute;
    top:50px;
    right:50px;
    z-index: 0;
}

.about-sect .col.pic img{
  
}
.about-sect .index_more{
    position: relative;
    display: flex;
    width: 138px;
    height: 138px;
    color: #000;
    font-family: "Noto Serif TC", serif;
    font-size: 14px;
    font-weight: normal;
    letter-spacing: 1px;
    margin: 35px auto 0 0;
    padding: 0;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    transition: .3s all ease;
}
.about-sect .index_more a{
    font-size: 0;
    padding: 0;
    display: flex;
    width: 138px;
    height: 138px;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
}
.about-sect .index_more a span{
    font-size: 14px;
    letter-spacing: 1px;
    color: #222;
    font-weight: 500;
    position: relative;
    left: 2px;
}
.about-sect .index_more::after {
    content: '';
    background: #ccc;
    width: 84px;
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -80px;
    margin: auto 0;
    transition: .4s all ease;
}
.about-sect .index_more:hover::after{
    right: -70px;
}
.about-sect .index_more::before {
    display: none;
} 
.about-sect .competenceButtonCircle{
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(180deg);
    z-index: 0;
}
.circleUnder {
    fill: none;
    stroke: #ccc; 
    stroke-width: 1px;
    stroke-dasharray: 433px;
    stroke-dashoffset: 0px;
    animation: circleDownOff 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

.circleOver {
    fill: none;
    stroke: #341e86;
    stroke-width: 1px;
    stroke-dasharray: 433px;
    stroke-dashoffset: 0;
    animation: circleUpOff 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

.about-sect .index_more:hover .circleUnder {
    animation: circleDownOn 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

.about-sect .index_more:hover .circleOver {
    animation: circleUpOn 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}
@keyframes circleUpOn {
    0% {
        stroke-dashoffset: 433;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes circleDownOn {
    0% {
        stroke-dashoffset: 0;
    }
    100% {
        stroke-dashoffset: -433;
    }
}

@keyframes circleUpOff {
    0% {
        stroke-dashoffset: 0;
    }
    100% {
        stroke-dashoffset: 433;
    }
}

@keyframes circleDownOff {
    0% {
        stroke-dashoffset: -433;
    }
    100% {
        stroke-dashoffset: 0;
    }
}
.about-sect .title{
    text-align: left;
}
.about-sect .title h2::before{
    display:none;
   
}
.about-sect .txt-box{
    
}
.about-sect .txt-box .index-about-editor .editor{
  
color: #555;
  
letter-spacing: 3px;
  
display: -webkit-box;
  
-webkit-line-clamp: 7;
  
-webkit-box-orient: vertical;
  
overflow: hidden;
  
line-height: 1.8;
}
.about-sect .txt .tag{
    display: none;
}
/*------------ news ------------*/
.articles-sect{
    padding-bottom: 50px;
    padding-top: 20px;
    background: #f5fbf4;
}
/*------------ news ------------*/
.news-sect{
   
   
}


.news-sect .title::before {
    content: '';
    background: #ccc;
    width: 1px;
    height: 45px;
    position:relative;
    margin: 0 auto 5px;
    top: 0px;
    left: 0px;
    display: block;
}


.news-sect .title h2:before,
.news-sect .title h2:after{
    display:none;
}

.news-sect .index_more{
   display:none;
}
.news-list{
    justify-content: center;
    flex-wrap: wrap;
}
.slick-track{
    margin: auto;
}
.news-sect .news-list:not(.masonry-list) .item:nth-child(n){
    clear: none!important;
    width: 100%;
}
.news-list.type2 .item{
    border:none;
    margin-bottom: 0;
}
.news-list.type2 .pic{
    float: none;
    margin-right: 0;
    width: auto;
    height: auto;
}
.news-list.type2 .item .txt{
    padding: 0;
}
.news-list .btn.more{
    position: static;
    margin: 15px 0 0; 
}
/*最新消息 少量排版*/
.news-list.onlyitem-list.type2 .pic{
    float: left;
    margin-right: 25px;
}
.news-list.onlyitem-list:not(.masonry-list) .item:nth-child(n){
    width: 50%
}
.news-list.onlyitem-list .item .box{
    max-width: inherit;
    display: flex;
    flex-wrap: wrap;
}
.news-list.onlyitem-list.type2 .item .box{
    display: block;
}
.news-list.onlyitem-list .item .pic{
    width: 312px;
}
.news-list.onlyitem-list .item .box .txt{
    width: calc(100% - 312px);
    box-sizing: border-box;
    padding: 0 45px 20px 36px;
}
.news-list.onlyitem-list.type2 .item .box .txt,
.news-list.onlyitem-list.type3 .item .box .txt{
    width: 100%;
}
.news-list.onlyitem-list .item .date{
    margin-bottom: 20px;
    margin-top: 0px;
}
/*!少量排版*/
/*------------ products ------------*/
.products-sect{
    position: relative;
    z-index: 10;
    padding: 10px 0 70px;
}
.products-sect .index_more{
    position: relative;
    color: #000;
    font-family: "Noto Serif TC", serif;
    font-size: 17px;
    font-weight: normal;
    letter-spacing: 1px;
    text-align: center;
    padding: 0;
    transition: .3s all ease;
    margin: 10px auto;
    display:block;
}

.products-sect .index_more:hover span{
    letter-spacing:6px;
    color:#332087;
}

.products-sect .index_more a{
    font-size: 0;
    padding: 0;
    position: relative;
    z-index: 5;
    
}
.products-sect .index_more a span{
    font-size: 16px;
    letter-spacing: 1px;
    color: #222;
    font-weight: 500;
    position: relative;
    transition: .3s all ease;
}

.products-sect .index_more a span:before{
     content: '';
    background: #ccc;
    width: 43px;
    height: 1px;
    position: relative;
    margin: 0 13px 5px 0;
    bottom: 0;
    right: 0;
    display: inline-block;
}


.products-sect .index_more a span:after{
     content: '';
    background: #ccc;
    width: 43px;
    height: 1px;
    position: relative;
    margin: 0 0 5px 10px;
    bottom: 0;
    right: 0;
    display: inline-block;
}




.products-sect .title{
    margin-bottom: 25px;
}
.products-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
/*產品介紹 少量排版*/
.products-list.onlyitem-list.type2 .item{
    width: 50%
}
.products-list.onlyitem-list .item .box{
    display: flex;
    max-width: 1000px;
}
.products-list.onlyitem-list.type1 .box{
    max-width: 300px;
}
.products-list.onlyitem-list.type2 .item .box .txt{
    width: calc(100% -  300px);
    padding: 30px 25px 30px 25px;
}
.products-list.onlyitem-list .item .mask{
    min-width: 300px;
    max-width: 300px;
}
.products-list.onlyitem-list .item .box .name{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: inherit;
    height: auto;
    max-height: 52px;
    margin-bottom: 15px;
    line-height: 1.8;
}
.products-list.onlyitem-list .item .description{
    -webkit-line-clamp: 5;
     height: 120px; 
     line-height: 1.65;
}
.products-list.onlyitem-list.type2 .box.new:before{
    top: 0;
    left: 0;
}
/*!少量排版*/
/*------------ service ------------*/
.service-sect:before{
    content: '';
    display: block;
    background: url(../../../images/layout01/common/index/service_bg01.jpg) 100% no-repeat;
    background-position: center;
    background-size: 100%;
    width: 1250px;
    margin-bottom: 0px;
    top: 0px;
    height: 500px;
    position: absolute;
    left: 0;
    z-index: 0;
}


.service-sect{
    background: #ddd;
    height: 500px;
    position: relative;
    
}

.service-sect .container{
    max-width:inherit;
    padding: 0;
}

.service-sect .title{
    text-align: left;
    position: relative;
}


.service-sect .title::before {
    content: '';
    background: #ccc;
    width: 90px;
    height: 1px;
    position: absolute;
    margin: 0 13px 7px 0;
    bottom: 17px;
    left: -114px;
    display: inline-block;
}


.service-sect .title h2:before,
.service-sect .title h2:after{
    display:none;
}

.service-sect  .editor ul{
    padding:0;
    margin:0;
    list-style: none;
    position:relative;
}

.service-sect  .editor ul li:before{
    content: '∞ ';
  color:#aaa;
    position: absolute;
    left: 0;
    top: 0px;
}

.service-sect  .editor li{
    padding-left: 25px;
    position: relative;
}

.service-sect .title h2{
    display:inline-block;
    padding:0 0 0 15px;
}


.service-sect .editor{
    padding: 5px 0 10px 170px;
    line-height: 2;
}
.service-box .flex{
    position: relative;
    padding: 65px 15% 55px  6%;
    width: 100%;
    max-width: 1000px;
    text-align: left;
    color: #666;
    margin: 0 0 0 auto;
    background: rgb(255 255 255 / 95%);
    box-sizing: border-box;
    height: 390px;
    z-index: 1;
}




.service-box .flex:after {
    content: '';
    display: block;
    background: url(../../../images/layout01/common/index/txtshadow.png) 100% 100% no-repeat;
    width: 540px;
    margin-bottom: 0px;
    bottom: -85px;
    height: 85px;
    position: absolute;
    left: 0;
}


.service-box .flex:before{
    content: 'OUR\ASERVICES';
    display: block;
    position: absolute;
    left: calc(0% - 469px);
    top: 70px;
    font-family: "Lora", serif;
    font-size: 115px;
    color: #000000;
    line-height: 1;
    background: url(../../../images/layout01/common/index/serbg2.jpg) no-repeat 50% 0 fixed;
    background-size: 100vw auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    z-index: 1;
    white-space:pre;
} 
.service-box >.flex > .cover{
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    font-size: 0;
}


.service-sect .index_more{
    position: absolute;
    display: flex;
    width: 138px;
    height: 138px;
    color: #000;
    font-family: "Noto Serif TC", serif;
    font-size: 15px;
    font-weight: normal;
    letter-spacing: 1px;
    margin: 0;
    padding: 0;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    transition: .3s all ease;
    top: 155px;
}
.service-sect .index_more a{
    font-size: 0;
    padding: 0;
    display: flex;
    width: 138px;
    height: 138px;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
}
.service-sect .index_more a span{
    font-size: 14px;
    letter-spacing: 1px;
    color: #222;
    font-weight: 500;
    position: relative;
    left: 3px;
}

.service-sect .index_more::before {
    display: none;
} 
.service-sect .competenceButtonCircle{
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(180deg);
    z-index: 0;
}
.circleUnder {
    fill: none;
    stroke: #ccc; 
    stroke-width: 1px;
    stroke-dasharray: 433px;
    stroke-dashoffset: 0px;
    animation: circleDownOff 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

.circleOver {
    fill: none;
    stroke: #341e86;
    stroke-width: 1px;
    stroke-dasharray: 433px;
    stroke-dashoffset: 0;
    animation: circleUpOff 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

.service-sect .index_more:hover .circleUnder {
    animation: circleDownOn 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

.service-sect .index_more:hover .circleOver {
    animation: circleUpOn 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}
/*------------ album ------------*/
.album-sect .album-list{
    margin: 0;
}
.album-sect .album-list .item{
    padding: 0;
    min-width: 25%;
}
.album-list{
    display: flex;
    margin: 0 auto;
    width: 66.68%;
    justify-content: center;
}
.album-list .item .box{
    overflow:hidden; 
}
.album-sect .album-list .item{
    margin-bottom: 0;
}
.album-list.type1 .item{
    border-bottom: none;
}
.album-sect .album-list .item .namebox{
    position: absolute;
    left: 0;
    right: 0;
    /* background: rgba(0,0,0,0.6); */
    color: #fff;
    font-size: 15px;
    padding: 14px 23px;
    transition: all 0.3s;
    opacity: 0;
    bottom: 0;
box-sizing: border-box;z-index: 2;}


.album-list .pic:before {
    content: "";
    background: -moz-linear-gradient(0deg, rgb(52 30 134 / 70%) 0%, rgba(93,172,129,0) 100%);
    background: -webkit-linear-gradient(45deg, rgb(52 30 134 / 70%) 0%,rgba(93,172,129,0) 100%);
    background: linear-gradient(0deg, rgb(52 30 134 / 70%) 0%,rgba(93,172,129,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#341e86', endColorstr='#005dac81',GradientType=1 );
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    opacity: 0;
    transition: all 0.3s;
}
.album-list .box:hover .namebox{
    opacity: 1;
}

.album-list .box:hover .pic:before{
    opacity: 1;
}

.album-sect .album-list .item .name{
    margin: 0;
}
.album-list .item .box .more{
    display: none;
}
.album-sect{
    padding: 20px 0 50px;
}
.album-sect .container{
    display: flex;
}
.album-sect .title span{
   
}
.album-sect .title h2{
    
}
.album-sect .title{
    position: relative;
    background: url(../../../images/layout01/common/index/album_title.png) center no-repeat;
    width: 15%;
    height: 0;
    display: block;
    box-sizing: border-box;
    padding: 5% 0 12%;
    /* font-size: 21px; */
    line-height: 1;
    background-size: contain;
    margin: 0 10px 0 0;
}

.album-sect .title h2:before,
.album-sect .title h2:after{
    display:none;
}

.album-sect .index_more{
    width: 15%;
    height: 0;
    display: block;
    box-sizing: border-box;
    padding: 7.5% 0 9%;
    border-radius: 0;
    position: relative;
    background: url(../../../images/layout01/common/index/album_title.png) center no-repeat;
    font-family: "Noto Serif TC", serif;
    text-align: center;
    background-size: contain;
    margin: 0 0 0 10px;
}
.album-sect .index_more a{
    font-size: 0;
    padding: 0;
    position: relative;
    z-index: 5;
    margin:0 auto;

}
.album-sect .index_more a span{
    font-size: 14px;
    letter-spacing: 1px;
    color: #222;
    font-weight: 500;
    position: relative;
    left: 5px;
}

/*瀑布流*/
.album-sect.masonry-album-sect .container{
    display: block;
}
.album-sect.masonry-album-sect .title{
    background: none;
    margin: auto;
}
.album-sect.masonry-album-sect .index_more{
    display: none;
}
.masonry-album-sect{
    padding-top: 35px;
    padding-bottom: 70px;
}
.masonry-album-sect .container{
    padding: 0 15px;
    max-width: 1330px;
}
.masonry-album-sect .album-list{
    display: block;
    width: 100%;
}
.masonry-album-sect .item{
    width: 25%;
}
.masonry-list .item .namebox{
    background: none;
    color: #4C4C4C;
    font-size: 16px;
    position: relative;   
    opacity: 1;
    text-align: left;
}

.masonry-list .item .namebox .name{
    margin: 14px 0 0;
}
/*!瀑布流*/
/*相簿 少量排版*/
.album-sect.onlyitem-sect{
   
}
.onlyitem-sect .title{
    background: none;
    margin: auto;
}
.onlyitem-sect .index_more{
    display: none;
}
.onlyitem-sect .album-list .item{
    width: 32.33%;
    float: none;
    display: inline-block;
}
.onlyitem-sect .album-list{
    text-align: center;
    margin: auto;
}
.onlyitem-sect .container{
    padding: 0 15px;
    max-width: 1330px;
    display: block;
}
.onlyitem-sect .album-list .item .namebox{
    background: none;
    color: #4C4C4C;
    font-size: 16px;
    position: relative;   
    opacity: 1;
    text-align: left;
}
.onlyitem-sect .album-list .item .box{
    margin-bottom: 30px;
    max-width: 450px;
}
.onlyitem-sect .album-list .item .box img{
    width: 100%;
}
.onlyitem-sect .album-list .item .namebox .name{
    margin: 6px 0 0;
    font-size: 16px;
    color: #4C4C4C;
}
/*!少量排版*/
/*----------- fancybox-index --------------*/
.fancybox-index .fancybox-close{
    margin-top: -65px;
}
.contact-sect{
    padding-top: 120px;
    padding-bottom: 60px;
    background: #eee;
    background-size: 100% auto;
}
.form-box{
    background: none;
}
.form-wrap{
    border:none;
    background: none;
}
.contact-sect .reminder{
    display: none;
}
.contact-sect .form-wrap .reminder{
    display: block;
}
.contact-title{
    font-size: 23px;
    line-height: 1.3;
}
.contact-title h2{
    font-size: 23px;
    line-height: 1.3;
    font-weight: normal;
    margin: 0;  
}
.contact-title > b{
    color: #000000;
    font-size: 28px;
    letter-spacing: 1px;
    font-weight: normal;
}
/*------------ rwd ------------*/
.masonry-list .item:nth-child(n){
    clear: none!important;
}
@media screen and (max-width: 1440px){
   .service-box .flex{
    max-width: 700px;
    padding: 65px 5% 55px 6%;
}



}

@media screen and (max-width: 1200px){
     /*產品介紹 少量排版*/
    .products-list.onlyitem-list .item .box{
        max-width: 300px;
        display: block;
    }
    .products-list.onlyitem-list .item .box .txt{
        width: 100%;
        padding: 0;
    }
    .products-list.onlyitem-list .item .box .name{
        white-space: nowrap;
        overflow: hidden;
        height: 25px;
        line-height: 1.2;
        margin: 15px 0 5px;
    }
    .products-list.onlyitem-list .item .description{
        -webkit-line-clamp: 2;
        height: 40px;
        line-height: 1.4;
    }
    .products-list.onlyitem-list .item .mask{
        max-width: inherit;
        min-width: inherit;
    }
    .products-list.onlyitem-list.type2 .item .box .txt{
        width: 100%;
        padding: 0;
    }
    /*!少量排版*/
    .service-box .flex:before {
   
    left: calc(0% - 250px);
    top: 200px;
   
}
}
@media screen and (max-width: 1000px){
    .about-sect .row {
    flex-direction:column;
}

    .about-sect {
    padding: 50px 0 10px;
}

    .about-sect .col.txt {
    max-width: 100%;
    padding: 30px 25px 0;
    order: 2;
}
    .about-sect .txt-box .index-about-editor .editor{
        display:block;
    }
    .about-sect .index_more{
  
margin: 25px auto 0;
}
    .about-sect .index_more::after{
        display:none;
    }
    .about-sect .col.pic {
    max-width: 500px;
    margin: 0 auto 25px;
    order: 1;
    position: relative;
    z-index: 1;
}

    .about-sect .abpic1{
    position:absolute;
    top:-100px;
    right:120px;
    z-index: 1;
}

.about-sect .abpic2{
    position:absolute;
    top:50px;
    right:50px;
    z-index: 0;
}
.about-sect .col.pic:before {
   left: 0;
   right: 0;
   bottom: -34px;
   font-size: 65px;
   background: url(../../../images/layout01/common/index/abtxtbg.jpg) no-repeat 0% 53%;
   background-size: 100vw auto;
   -webkit-background-clip: text;
   background-clip: text;
   color: transparent;
   z-index: 1;
}

    .about-sect .abpic1{
    position:absolute;
    top: -25px;
    right: 220px;
   
}

.about-sect .abpic2{
    position:absolute;
    top: 30px;
    right: 190px;
   
}
    .products-sect {
   
    padding: 10px 0 50px;
}
    .products-list .box .more{
       font-size: 10px;
        letter-spacing: 0;
        padding: 0; 
    }
    .news-list li,
    .products-list li{
        width: 50%;
    }
    /*少量排版*/
    .news-list.onlyitem-list .item .box{
        display: block;
        max-width: 312px;
        margin: auto;
    }
     .news-list.onlyitem-list .item .box .date{
        margin-top: -35px;
     }
     .news-list.onlyitem-list .item .pic{
        width: 100%;
     }
    .news-list.onlyitem-list .item .box .txt{
        padding: 0 20px 20px 20px; 
        width: 100%;
    }
    .onlyitem-sect .album-list .item{
        width: 100%;
    }
    .products-list.onlyitem-list.type2 .item{
        width: 100%;
    }
    /*!少量排版*/
   .title span {
    
font-size: 34px;
}
    
    .banner .slick-arrow{
        transform: scale(0.5);
        margin-bottom: -18px;
    }
    .banner .slick-prev{
        margin-left: -36px;
    }
    .banner .slick-next{
        background-position: 100% 0;
        margin-right: -35px;
        border-left: #8A8A8A 1px solid;
    }
   
   
    .contact-sect{
        background-size: auto,cover;
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .masonry-album-sect .item{
        width: 50%;
    }
    .album-sect.onlyitem-sect{
        background: #fff;
    }
    .album-sect{
       padding: 0px 0 30px;
    }
    .masonry-album-sect{
        background: none;
    }
    .album-sect .container{
        display: block;
        padding: 0 15px;
    }
    .album-sect .title{
        margin: 15px auto;
        width: auto;
        height: auto;
         padding: 40px 0;
        width: 160px;
        height: 160px;
    }
    .album-sect .index_more{
        width: 160px;
        height: 160px;
        margin: 20px auto 0;
        padding: 65px 0px;
    }
    .album-sect .title h2,.album-sect .index_more a span{
        position: static;
        margin:0 auto;
    }
    .album-list{
        width: 100%;
        margin: 0;
    }

     .service-box .flex{
    max-width: 100%;
    padding: 0 30px 30px;
    height: auto;
}
    .service-sect .index_more{
        position:relative;
        top: 0;
        margin: 20px auto 0;
    }
    .service-sect {
   height: auto;
   padding: 0;
   background: none;
}

    .service-sect:before {
   display:none;
}
      .service-sect:after {
    content: '';
    display: block;
    background: url(../../../images/layout01/common/index/service_bg01.jpg) 0% 0% no-repeat;
    background-size: 100%;
    width: 1250px;
    margin-bottom: 0px;
    top: inherit;
    height: 200px;
    position: relative;
    left: 0;
    z-index: 0;
    bottom: 0;
}

    .service-box .flex:before {
    content: 'OUR\ASERVICE';
    display: block;
    position: absolute;
    left: calc(0% - 0px);
    right:0;
    margin:0 auto;
    top: inherit;
    bottom: -140px;
    font-size: 65px;
    line-height: 1;
    background: url(../../../images/layout01/common/index/serbg2.jpg) no-repeat 50% 0;
    background-size: 100vw auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    z-index: 1;
    white-space: pre;
    text-align: center;
}
    .service-sect .title {
    text-align: center;
    
}

    .service-sect .editor {
    padding: 0;
    line-height: 2;
   
}
    .service-sect .editor ul{
         max-width: 280px;
         margin:0 auto;
    }
    .service-sect .title::before {
    content: '';
    background: #ccc;
    width: 1px;
    height: 45px;
    position: relative;
    margin: 0 auto 3px;
    bottom: 0;
    left:0px;
    display: block;
}
}
@media screen and (max-width: 767px){
        .about-sect {
        padding:30px 0 10px;
    }
    .service-sect{
        margin-top: 0;
    }
    .album-list{
        flex-wrap: wrap;
    }
    .album-sect .album-list .item{
        min-width: 50%;
    }
      .about-sect .abpic1{
  
  
    right: 50px;
   display: none;
}

.about-sect .abpic2{
   
right:20px;
   
display: none;
}

}
@media screen and (max-width: 480px){
    .products-list.onlyitem-list .item{
        width: 100%;
    }
     .onlyitem-sect .album-list .item{
        width: 100%;
    } 
}