/* CSS Document */

body {	-webkit-text-size-adjust:100%; font-family: 'Noto Sans TC', sans-serif; overflow-x: hidden; position: relative;}
body:before { position: absolute; width: 100%; height: 300px; background: #eef7f1; z-index: -1; left: 0; top: 0;}
img {	border:0; }

/* Reset ================================================================================= */

a { text-decoration:none; transition: all 0.4s ease-out 0s; }
a:hover { text-decoration:none; }

* { box-sizing: border-box;}

.content-Box { max-width:1248px; width: 100%; margin:0 auto; text-align:left; position:relative; clear:both;}

#content { font-size: 18px; line-height:1.8; color: #333; letter-spacing: 0.1rem; font-weight: 400; padding-top: 100px;}
#content p{ margin-bottom: 30px; margin-top: 0; font-size: 18px;line-height:1.8;  font-weight: 400;}
p, td, li, label { font-size: 18px;line-height:1.8;  font-weight: 400;}

.photo-fit img { object-fit: cover; width: 100%; height: 100%; position: absolute; z-index: 1; left: 0; top: 0;}

.photo {line-height: 0; height: 0; padding-bottom: 40%; overflow: hidden; position: relative; z-index: 1; margin-bottom: 0px;}
.imgCenter {position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; z-index: 2;}
.imgCenter img {max-height: 100%;}

.demo-section { padding-left: 10%; padding-right: 10%;}

.banner-box { position: relative; max-width: 1800px; margin: 0 auto; width: 100%; border-radius: 0 0 80px 80px; overflow: hidden;}

.banner-pc { height: 260px;}
.banner-mobile { display: none;}
.banner-pc img, .banner-mobile img { object-fit: cover; width: 100%; height: 100%;}

#path { position: absolute; top:34px; left: 3%;}
#path ul { margin: 0; padding:  0; color: #fff; }
#path li { display: inline-block; vertical-align: top; font-size: 14px; }
#path li:after { content:"/"; display: inline-block; vertical-align: top; padding: 0 0 0 4px;}
#path li:last-child { pointer-events: none;}
#path li:last-child:after { display: none;}
#path li a { color: #fff; }
#path li a:hover { opacity: 0.5;}
#path li:last-child a { color: #fff;}

.banner-title { position: absolute; top:40%; left: 0%; transform: translateY(-40%); display: flex; flex-direction: column; flex-wrap: nowrap; width: 100%; text-align: center;}
.banner-title > h1, .banner-title > div { font-size: clamp(20px, 2.4vw, 40px); font-weight: 700; color: #fff; line-height: 1.2; text-align: center;}
.banner-title > span { font-size: clamp(19px, 1.6vw, 24px); font-weight: 700; color: #fff; line-height: 1.2;text-align: center; }

.main-box { position: relative; z-index: 2; }

/*service*/
.ad-pto { line-height: 0; margin-top: -70px; margin-bottom: calc(10px + 1%);}

.idx-service-section { padding-bottom: calc(10px + 2%); display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
.idx-service-section > div { width: calc(50% - 15px); background: #fff; box-shadow: 0px 20px 20px 0px rgba(0,0,0,0.2); margin-bottom: calc(20px + 4%); }
.idx-service-pto { display: block; padding-bottom: 40.5%;}
.idx-service-content { position: relative; padding: calc(10px + 2%) calc(20px + 2%) 62px calc(20px + 2%); }
.idx-service-title { display: block; font-size: clamp(19px, 1.3vw, 22px); font-weight: 700; padding-bottom: 10px; line-height: 1.4;}
.idx-service-title:hover { color: #01907e;}
.idx-service-data { line-height: 1.3; font-size: 17px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;}
.idx-service-content .btn01 { position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%);}

/*service-detail*/
.service-detail-section-1 { padding-bottom: calc(20px + 1%);padding-top: calc(10px + 1%);display: flex; flex-direction: row; flex-wrap: wrap;}
.service-detail-section-1 > div:nth-of-type(1) { width: 65%; padding-right: 2%;}
.service-detail-section-1 > div:nth-of-type(2) { width: 35%; text-align: center;}

.service-detail-section-2 {background: linear-gradient(135deg, #0ab56d 0%, #00a6a0 100%); padding: calc(20px + 2%) calc(20px + 2%); color: #fff; margin-bottom: calc(20px + 3%);}
.service-detail-section-2 .title02 > div { color: #fff;}
.service-detail-section-2 .title02 > div:after { background: #fff;}
.service-detail-section-2 .title03 > div { color: #fff;}
.service-detail-section-2 .title03 > div:after { background: #fff;}

.title01 { padding-bottom: calc(10px + 2%);}
.title01 span { position: relative; z-index: 3;}
.title01 > h2, .title01 > div { letter-spacing: 0.1rem; font-weight: 700; font-size: clamp(22px, 2vw, 34px); line-height: 1.3; margin: 0; padding: 0;position: relative;  display: inline-block;}
.title01 > h2:before, .title01 > h2:after, .title01 > div:before, .title01 > div:after { position: absolute; content: ""; z-index: 1;}
.title01 > h2:before, .title01 > div:before { width: 40px; height: 40px; background: #99d7cf; top:-12px; left: -16px;}
.title01 > h2:after, .title01 > div:after { width: 20px; height: 20px; background: #cce4a9; bottom:-5px; right: -6px;}

.title02 { margin-bottom: calc(10px + 1%);}
.title02 > div { display: inline-block;font-size: clamp(23px, 2.1vw, 38px); font-weight: 700; line-height: 1.4 ; padding-bottom: 10px; position: relative;}
.title02-2 > div { font-size: clamp(20px, 1.2vw, 26px); font-weight: 400; }
.title02 > div:after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: #333;}

.title03 { margin-bottom: calc(5px + 2%);}
.title03 > div { display: inline-block;font-size: clamp(19px, 1.3vw, 24px); font-weight: 500; line-height: 1.4 ; padding:8px 0 12px 20px; position: relative;}
.title03 > div:after { content: ""; position: absolute; left: 0; top: 0; width: 5px; height: 100%; background: #333;}

.layout-50 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;}
.layout-50 > div { width: calc(50% - 15px);}

.service-detail-section-3 { padding-bottom: calc(20px + 3%);}

.layout-33 { display: flex; flex-direction: row; flex-wrap: wrap; margin-right: -45px;}
.layout-33 > div { width: calc(33.33% - 45px); margin: 0 45px 20px 0;}

/*products*/
.products-list { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; padding-bottom: calc(5px + 1%)}
.products-list > a { width: calc(50% - 15px); margin-bottom: 30px;}

.pro-box { display: block; background: #f2f2f2; position: relative;}
.pro-box:hover { background: #01907e;}
.pro-box:hover .pro-name { color: #fff;}
.pro-box:hover .pro-pto-over { opacity: 1;}
.pro-box:hover .pro-pto-over > div { transform: scale(1);}
.pro-pto-box { position: relative; display: block;}
.pro-pto-over { position: absolute; z-index: 3; background: rgba(0,0,0,.6); width: 100%; height: 100%; top: 0; left: 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center;transition: all 0.4s ease-in-out 0s; opacity: 0; }
.pro-pto-over > div { width: 80px; height: 80px; border-radius: 100%; background: #295b3f; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center;transition: all 0.4s ease-in-out 0s; transform: scale(0);}
.pro-pto-over > div img { width: 45px; }
.pro-pto { padding-bottom: 75%;}
.pro-name { text-align: center; font-weight: 500; line-height: 1.2; padding: 20px 15px;}

#page { text-align: center; padding:0 0 calc(20px + 3%) 0;}
#page a { font-size: 16px; color: #000; font-weight: 400; width: 30px; height: 30px; line-height: 28px; text-align: center; border-radius: 100%; display: inline-block;}
#page a:hover, #page a.current { background: #295b3f; color: #fff;}
.page-prev, .page-next { width: 12px !important; height: 12px !important; line-height: inherit !important; border-radius: 0 !important; border-top:1px solid #000; border-right: 1px solid #000; margin: 0 20px;}
.page-prev:hover, .page-next:hover { background: none !important;}
.page-prev { transform: rotate(-135deg);}
.page-next { transform: rotate(45deg);}

/*products-detail*/
.products-detail-box { background: #fff; padding: 25px; margin-bottom: 20px; display: flex; flex-direction:row; flex-wrap: wrap; align-items: center;}
.products-detail-box > div:nth-of-type(1) { width: calc(50% + 52px);}
.products-detail-box > div:nth-of-type(2) { width: calc(50% - 52px); padding-left: 50px;}

.loop { position: relative; }
.loop .owl-dots { display: none;}
.loop .owl-item {position: relative; }
.loop .owl-nav { position: absolute; top:calc(50% - 30px); left: 0; width: 100%; z-index: 11;}
.loop .owl-prev, .loop .owl-next { position:absolute; z-index:100;  width: 50px !important; height: 50px !important; border-radius: 100% !important; background: #fff !important; border: 0px solid #fff !important;}
.loop .owl-prev { left:-25px; }
.loop .owl-next { right:-25px;}
.loop .owl-prev:before, .loop .owl-next:before { font-family: 'Font Awesome 5 Free';font-weight: 900 !important;font-size:70px; color: #fff; opacity: 1;transition: all 0.4s ease-out 0s;width: 12px; height: 12px; display: block; border-width: 1px 1px 0 0; border-style: solid; border-color: #333; background-size: contain;}
.loop .owl-prev:before { content: ""; margin-left: 19px; transform: rotate(-135deg);}
.loop .owl-next:before { content: "";  margin-left: 13px; transform: rotate(45deg);}
.loop .owl-prev:hover:before, .loop .owl-next:hover:before { opacity: 1;}
.loop .owl-stage-outer {z-index: 2;}
.loop .owl-dots { position: absolute; z-index: 100; bottom:-60px; width: 100%; text-align: right !important; padding: 0 0px; }
.loop .owl-dots .owl-dot { border: 0px solid #c10000; background: transparent; margin-left: 6px;  margin-right: 6px; border-radius: 100%;}
.loop .owl-dots .owl-dot.active {  }
.loop .owl-dots .owl-dot span, .loop  .owl-dots .owl-dot span { background: #fff !important; width: 14px !important; height: 14px !important; margin: 0 auto!important;transition: all 0.4s ease-out 0s !important; opacity: 0.4;}
.loop .owl-dots .owl-dot.active span/*, .loop  .owl-dots .owl-dot:hover span*/ {  width: 50px !important; opacity: 1;}

.share-tool { padding-bottom: 25px;}

.products-detail-title { font-size: clamp(19px, 1.3vw, 22px); font-weight: 700; padding-bottom: 10px; }

.p-detail-btn-box { display: flex; flex-direction: row; flex-wrap: wrap; padding-bottom: 15px;}
.p-detail-btn-box > div { margin: 0 10px 10px 0;}

.tool-btn-box { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; padding-top: 25px; border-top:1px solid #c6c6c6;}
.tool-btn-box > a { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; font-weight: 700; font-size: 16px; color: #333 !important; margin-bottom: 10px;}
.tool-btn-box > a > img { width: 30px; display: inline-block; margin: 0 5px;}
.tool-btn-box > a.tool-btn-prev { margin-right: 13px;}
.tool-btn-box > a.tool-btn-next { margin-left: 13px;}


.btn01 { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; padding: 0 19px; width: 150px; height: 40px; border-radius: 20px; background: #01907e; overflow: hidden; position: relative; border-width: 0;}
.btn01:after { content: ""; position: absolute; background: #77b02d; width: 150%; height: 150%; bottom: -10%; left: 50%; transform: translateX(-50%) scale(0.3, 0); transform-origin: 50% 100%;transition: all 0.3s ease-in-out 0s; border-radius: 100%; }
.btn01:hover:after { transform: translateX(-50%) scale(1, 1); }
.btn01:hover  > span { right: -40px; }
.btn01 > div { font-size: 16px; color: #fff; position: relative; z-index: 2;}
.btn01 > span { display: block; width: 6px; height: 8px; background: #fff;  position: relative; z-index: 2;transition: all 0.3s ease-in-out 0s; clip-path: polygon(0% 0, 100% 50%, 0% 100%); right: 0;}

.btn-back .btn01 { margin: 0 auto calc(20px + 4%) auto;}

/*case*/
.case-list { padding-bottom: calc(20px + 2%);}

.case-pto { display: block; padding-bottom: 75.5%; margin-bottom: 15px;}
.case-title { display: block; font-weight: 500; line-height: 1.4; padding-bottom: 6px;}
.case-tag { display: flex; flex-direction: row; flex-wrap: wrap;}
.case-tag > a { margin: 0 6px 9px 0; font-size: 15px; color: #fff !important; line-height: 1.2; padding: 5px; background: #01907e; display: inline-block;}

/*case-detail*/
.case-detail-content { display: flex; flex-direction: row; flex-wrap: wrap;}
.case-detail-content > div:nth-of-type(1) { width: 51%;}
.case-detail-content > div:nth-of-type(2) { width: 49%; padding-left: 5%;}

/*blog*/
.blog-section { display: flex; flex-direction: row; flex-wrap: wrap; background: #fff; padding: 25px; }
.blog-section > div:nth-of-type(1) { width: calc(100% - 292px); padding-right: 68px;}
.blog-section > div:nth-of-type(2) { width: 292px;}

.blog-list { margin-bottom: 20px;}
.blog-pto { line-height: 0; overflow: hidden;}
.blog-pto img { width: 100%;}
.blog-content { border-width: 0 1px 1px 1px; border-style: solid; border-color: #eeecec; padding: calc(20px + 2%);}
.blog-info { padding-bottom: 10px; display: flex; flex-direction: row; flex-wrap: wrap; font-size: 16px; color: #636363;}
.blog-info > div { font-size: 16px; margin-bottom: 5px;}
.blog-info > div:nth-of-type(1) { padding-right: 15px; margin-right: 15px; border-right: 1px solid #636363;}
.blog-date { border-right: 0px solid #636363 !important;}

.blog-aside-title { padding-bottom: 15px; margin-bottom: 10px; position: relative;}
.blog-aside-title span { font-size: 23px; color: #2d2c32; line-height: 120%; letter-spacing: 0.1rem; padding: 0; margin: 0; font-weight: 700;}
.blog-aside-title:after { content: ""; position: absolute; width: 35px; height: 3px; background: #06955d; left: 0; bottom: 0;}

.blog-aside  { margin-top: 25px;}
.blog-aside > a { position: relative; display: block; margin-bottom: 25px; padding-left: 15px; color: #333 !important; font-size: clamp(16px, 0.8vw, 18px); line-height: 1.3; font-weight: 700;}
.blog-aside > a:before { position: absolute; content: ""; background: #dddddd; width: 3px; left: 0; top: 0; height: 100%; transition: all 0.4s ease-out 0s;}
.blog-aside > a:hover { color: #06955d !important;}
.blog-aside > a:hover:before, .blog-aside > a.current:before { background: #06955d;}

.blog-aside2{ margin-bottom: 35px;}
.blog-aside2 > a { display: block; border-bottom: 1px solid #d4d4d4; padding: 15px 0;color: #333 !important; font-size: clamp(16px, 0.8vw, 18px); line-height: 1.3;font-weight: 700;}
.blog-aside2 > a:hover, .blog-aside2 > a.current { color: #06955d !important;}

.title04 { padding-bottom: 20px; margin-bottom: 20px; position: relative; display: block;}
.title04 span, .title04 h1 { font-size: clamp(19px, 1.3vw, 22px); color: #333; line-height: 120%; letter-spacing: 0.1rem; padding: 0; margin: 0; font-weight: 700;}
.title04:hover span { color: #01907e;}
.title04:after { content: ""; position: absolute; width: 42px; height: 3px; background: #333; left: 0; bottom: 0;}

/*contact*/
.contact-section { background: #fff; padding: 25px; }
.contact-section-2 { display: flex; flex-direction: row; flex-wrap: wrap; padding-bottom: calc(20px + 3%);}
.contact-section-2 > div:nth-of-type(1) { width: 60%;}
.contact-section-2 > div:nth-of-type(2) { width: 40%; padding-left: 5%;}


.contact-title { font-size: clamp(18px, 0.8vw, 20px); color: #295b3f;}
.contact-title span { color: #ed2214;}

.contact-form input[type="text"], .contact-form input[type="number"], .contact-form input[type="tel"], .contact-form input[type="phone"], .contact-form input[type="date"], .contact-form input[type="email"], .contact-form input[type="password"], .contact-form input[type="button"], .contact-form textarea { font-size: clamp(18px, 0.8vw, 20px); border-width:0 0 1px 0; border-style: solid; border-color: #d6d6d6; margin: 0px 0 0px 0; width: 100%; padding:5px 0 14px 0 ; color:#333; background: transparent; font-family: 'Noto Sans TC', sans-serif; line-height: 35px; border-radius: 0px; margin-bottom: 14px; }
.contact-form textarea { height:180px; resize:none; line-height: 140%;}
.contact-form select{ margin: 0 0 0px 0;  width:100%; max-width: 160px; /* background-image: url(../images/product-select.png); */ background-repeat: no-repeat; background-position: calc(100% - 15px) 18px; background-size: 10px; -webkit-appearance: none; -moz-appearance: none; appearance: none;   background-color: transparent; font-size: clamp(18px, 0.8vw, 20px); border-width:0 0 1px 0; border-style: solid; border-color: #999999; color:#333; font-family: 'Noto Sans TC', sans-serif;  padding:0px 35px 0px 15px;  line-height: 35px; border-radius: 0px;}
.contact-form option { padding:1px 5px;}
.contact-form select::-ms-expand {
    display: none;
}

.contact-title-2 { display: inline-block; border-radius: 10px; min-width: 70px; text-align: center; ;line-height: 30px; color: #fff; background: #009b86; padding: 0 10px; margin-bottom: 15px;}

.contact-map iframe { width: 100%; height: 215px; border-width: 0; margin-bottom: 10px;}

.contact-info { display: flex; flex-direction: row; flex-wrap: wrap; padding-bottom: calc(20px + 2%); word-break: break-all;}
.contact-info > div { margin-bottom: 0px;}
.contact-info > div:nth-child(odd) { width: 16px; }
.contact-info > div:nth-child(even) { width: calc(100% - 16px); padding-left: 10px; }

.process-box{display: grid;grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));gap:60px 80px;margin: 20px 0;}
.process-box .item{display: grid; grid-template-rows: subgrid;grid-row: span 3;gap: 20px;}
.process-box .item .number{background: #01907e;border-radius: 50%;color: #fff; width:40px;height:40px;display:flex;justify-content: center;align-items: center;position: relative;padding-left: 2px;margin: 0 auto;}
.process-box .item .number::before{position: absolute;content: "";top: 50%;left: 50%;transform: translate(-50%, -50%);background: transparent;border-radius: 50%;border: 1px solid #fff;width: 35px;height: 35px;}
.process-box .item .number::after{position: absolute;content: "";width: 1px; height: 60px;background: #d9d9d9;left: 50%;transform: translateX(-50%);bottom: -50px;z-index: -1;}
.process-box .item .pho{border-radius: 50%;border: 10px solid #01907e;overflow: hidden;}
.process-box .item .pho img{width: 100%;height: 100%;object-fit: cover;}
.process-box .item .title{color: #333333;font-weight: 500;text-align: center;}
.process-box .item:nth-child(2n+2) .number{background: #77b02d;}
.process-box .item:nth-child(2n+2) .pho{border: 10px solid #77b02d;}

@media only screen and (max-width: 1279px) {
	#content { font-size: 16px; padding-top: 60px;}
	#content p{ font-size: 16px;}
	p, td, li, label { font-size: 16px;}
	
	#path { top:15px;}
	
	.demo-section { padding-left: 5%; padding-right: 5%;}
	
	.banner-box { padding-top: 0px; border-radius: 0 0 30px 30px;}
	
	.banner-pc { display: none}
	.banner-mobile { display: block;height: 130px;}
	
	.banner-title { top:50%; transform: translateY(-50%); }
	/*.banner-title > span { display: none;}*/
	
	.ad-pto { margin-top: calc(10px + 2%);}
	
	.products-detail-box { padding: 0; background: none;}
	
	.contact-section { padding: 20px 15px;}
}



@media only screen and (max-width: 980px) {
	.service-detail-section-1 > div:nth-of-type(1) { width: 100%; padding-right: 0%;}
	.service-detail-section-1 > div:nth-of-type(2) { width: 100%; }
	.service-detail-section-1 > div:nth-of-type(2) img { max-width: 300px;}
	
	.layout-50 > div { width: 100%; padding-bottom: 25px;}
	
	.layout-33 > div { width: calc(50% - 45px); }
	
	.products-detail-box > div:nth-of-type(1) { width: 100%; padding-bottom: 25px;}
	.products-detail-box > div:nth-of-type(2) { width: 100%; padding-left: 0px;}
	
	.blog-section { padding: 0; background: none;}
	.blog-section > div:nth-of-type(1) { width: calc(100% - 0px); padding-right: 0px; padding-bottom: 25px; order: 2;}
    .blog-section > div:nth-of-type(2) { width: 100%; padding-bottom: 30px; order: 1;}
    .blog-content { padding: 20px;}

	.contact-section-2 > div:nth-of-type(1) { width: 100%; padding-bottom: 25px;}
	.contact-section-2 > div:nth-of-type(2) { width: 100%; padding-left: 0%;}
}
@media only screen and (max-width: 768px) {
	.idx-service-section > div { width: 100%; }
	
	.products-list > a { width: 100%; margin-bottom: 20px;}
	
	.loop .owl-nav { top:calc(50% - 50px); }
	.loop .owl-prev, .loop .owl-next { transform: scale(0.7);}
	.loop .owl-prev { left:-30px; }
	.loop .owl-next { right:-30px;}
	
	.case-detail-content > div:nth-of-type(1) { width: 100%; order: 2;}
	.case-detail-content > div:nth-of-type(2) { width: 100%; order: 1; padding-left: 0%; margin-bottom: 15px;}
}
@media only screen and (max-width: 640px) {
	.layout-33 { margin-right: 0px;}
	.layout-33 > div { width: 100%; margin: 0 0 20px 0;}
	
}
@media only screen and (max-width: 570px) {
	
}

@media only screen and (max-width: 414px) {
	
}

@media only screen and (max-width: 320px) {
	

}