/* CSS Document */

body {	-webkit-text-size-adjust:100%; font-family: 'Noto Sans TC', sans-serif; overflow-x: hidden; position: relative;}
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:1366px; width: 100%; margin:0 auto; text-align:left; position:relative; clear:both;}

#content { font-size: 20px; line-height:1.8; color: #222; letter-spacing: 0.05rem; font-weight: 400; padding-top: 0px;}

.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: 5%; padding-right: 5%;}

.font-size-18 { font-size: 18px;}
.font-size-20 { font-size: clamp(18px, 1.5vw, 20px);}
.font-size-21 { font-size: clamp(18px, 1.5vw, 21px);}
.font-size-22 { font-size: clamp(20px, 1.7vw, 22px);}
.font-size-24 { font-size: clamp(20px, 1.9vw, 24px);}
.font-size-28 { font-size: clamp(22px, 2.2vw, 28px);}
.font-size-30 { font-size: clamp(22px, 2.5vw, 30px);}
.font-size-36 { font-size: clamp(22px, 3.3vw, 36px); line-height: 1.3;}
.font-size-40 { font-size: clamp(24px, 3.5vw, 40px); line-height: 1.3;}
.font-size-44 { font-size: clamp(24px, 3.5vw, 44px); line-height: 1.3;}
.font-size-48 { font-size: clamp(24px, 3.5vw, 48px); line-height: 1.3;}

.banner { position: relative;}

.banner-pc, .banner-mobile { position: relative;}
.banner-mobile { display: none !important;}

.banner-pto {  line-height: 0;}
.banner-pto img { width: 100%;}

.video-container {position: relative;padding-bottom: 45.5%;padding-top: 30px;height: 0;overflow: hidden;}
.video-container iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%; border-width: 0; transform: scale(1.1);}


.banner-slogon { position: absolute; z-index: 3; left: 5%; top:50%; transform: translateY(-50%); max-width: 600px;}

.swiper-slide {text-align: center;font-size: 18px;display: flex;justify-content: center;align-items: center;}
.swiper-slide img {display: block;width: 100%;height: 100%;object-fit: cover;}
.swiper {width: 100%;height: 300px;margin-left: auto;margin-right: auto;}
.swiper-slide {background-size: cover;background-position: center; padding: 0 0px;}
.mySwiper2 {height: 80%;width: 100%; margin-bottom: 25px;}
.swiper-slide .description, .swiper-slide .title {display: block;opacity: 0; transform: translateY(-50px);position: relative; letter-spacing: 0.05rem ; text-align: left;}
.swiper-slide .title {font-weight: 700; font-size: clamp(20px, 4vw, 62px);/*-webkit-text-stroke: 2px #fff;*/ line-height: 1.2; margin-bottom: calc(10px + 1%); color: #fff;transition: all 0.5s ease 0.5s; }
.swiper-slide .title:after {/*content: "";*/ position:absolute; width: 310px; height: 8px; background: #222; left: 0; bottom: 0;}
.swiper-slide .title > span {display: block; font-size: 4vw; padding-top: 5px;}
.swiper-slide .description {font-weight:700; font-size: clamp(16px, 2.5vw, 30px); color: #fff !important;transition: all 0.8s ease 0.8s; line-height: 1.4;}
.swiper-slide-active .description,.swiper-slide-active .title {opacity: 1;}
.swiper-slide-active .title { transform: translateY(0px);}
.swiper-slide-active .description { transform:translateY(0px);}

.swiper-next, .swiper-prev { width: 50px !important; height: 50px !important; border-radius: 100%; background: rgba(51,51,51,.8); position: absolute; z-index: 2; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; bottom:10%;transition: all 0.4s ease-out 0s; }
.swiper-next:hover, .swiper-prev:hover { transform: scale(0.85);}
.swiper-prev { right: calc(60px + 5%);}
.swiper-next { right: 5%;}

.banner .swiper-pagination-horizontal {  width: 45px !important;left: auto !important;right: 2%;top: 42% !important;}
.banner .swiper-pagination-bullet { width: 15px; height: 2px; background: #fff; border-radius: 0; opacity: 1; margin: 5px 0;}
.banner .swiper-pagination-bullet-active { width: 45px; background: #ff7600;}

.main-start { position: relative; padding-top: calc(20px + 2%); overflow-x: hidden; }

.animate-bg-1 { position: absolute; left: -10px; z-index: -3; transform-origin: 50% 50%; top:-50px; animation-name: animate-bg-1;animation-duration: 30s; animation-timing-function: linear; animation-iteration-count: infinite; width: 33%;}
.animate-bg-2 { position: absolute; right: 4%; z-index: -3; transform-origin: 50% 50%; top:30%; animation-name: animate-bg-1;animation-duration: 30s; animation-timing-function: linear; animation-iteration-count: infinite; width: 30%;}
@keyframes animate-bg-1 {
  0% { transform: rotate(0deg);}
  100% { transform: rotate(180deg);}
}

.line-animate { position: absolute; z-index: -2; transform-origin: 50% 0; width: 1px; height: 500px; background: #6ca55a; transform: rotate(-45deg);animation-name: line-animate;}
@keyframes line-animate {
  0% {opacity: 0;height: 0px}
  100% {opacity: 1;height: 500px}
}
.idx-about-line-1 { top: 0%; left: 20%;}
.idx-about-line-2 { top: 0%; right: 30%;}
.idx-about-line-3 { top: -10%; left: 5%;}
.idx-about-line-4 { top: -25%; left: 15%;}

.idx-application-section { padding-top: calc(20px + 5%); padding-bottom: calc(20px + 5%); margin-bottom: calc(20px + 5%); position: relative; display: flex; flex-direction: row; flex-wrap: wrap;}
.idx-application-section > div:nth-of-type(1) { width: 33%; padding-right: 45px;}
.idx-application-section > div:nth-of-type(1) p { margin: 0; padding:0 0 calc(20px + 2%) 0; font-weight: 400; line-height: 1.8;}
.idx-application-section > div:nth-of-type(2) { width: 67%; }
.idx-application-section:after { content: ""; position: absolute; top: 50%; transform: translateY(-50%);right: 0; height: 90%; border-width: 1px 0 1px 1px; border-color: #6ca55a; border-style: solid; border-radius: 295px 0 0 295px; width: 62%;}

.title01 { position: relative;}
.title01:before { position: absolute; content: ""; width: 28px; height: 28px; background: #478f31; border-radius: 7px; top:-6px; left: -13px; opacity: 0.8;}
.title01 > h1, .title01 > div { position: relative; z-index: 2; font-weight: 700; line-height: 1.3; padding: 0 0 calc(10px + 1%) 0; margin: 0;}
.title01 > span { position: relative; z-index: 2; font-weight: 700; line-height: 1.1; display: block; text-transform: uppercase;}

.btn01 { padding: 25px 0;}
.btn01 a { display: inline-block; position: relative; padding:8px 14px; text-align: center; min-width: 200px;}
.btn01 a:hover { background: #6ca55a; }
.btn01 a:hover span { color: #fff;}
.btn01 a span { display: inline-block; position: relative; z-index: 3; color: #222; font-size: 16px;font-weight: 400;}
.btn01 a span:before, .btn01 a span:after { content: ""; position: absolute; width: 1px; height: 10px; background: #222; left:50%;transition: all 0.2s ease-out 0s;}
.btn01 a span:before { top:-25px; transform-origin: 50% 100%;}
.btn01 a span:after { bottom:-25px; transform-origin: 50% 0%;}
.btn01 a:before, .btn01 a:after { content: ""; position: absolute; top:0; width: calc(50% - 20px); height: 100%; border-style: solid; border-color: #222; z-index: 1;transition: all 0.4s ease-out 0s; }
.btn01 a:hover span:before, .btn01 a:hover span:after { height: 0;}
.btn01 a:hover:before { width: calc(100% - 0px); border-color: #6ca55a; }
.btn01 a:hover:after { width: 0px; border-color: #6ca55a; }
.btn01 a:before { left: 0; border-width: 1px 0 1px 1px;}
.btn01 a:after { right: 0; border-width: 1px 1px 1px 0;}


.loop2 { }
.loop2 .owl-dots { display: none !important;}
.loop2 .owl-item {position: relative;  }
.loop2 .owl-item img {width: auto !important;}
.loop2 .owl-nav { position: absolute; top:calc(50% - 35px); left: 0; width: 100%; z-index: 11;}
.loop2 .owl-prev, .loop2 .owl-next { position:absolute; z-index:100; top:calc(50% + 25px); transform: translateY(-50%); background:rgba(51,51,51,.8) !important; width: 50px; height: 50px; margin: 0 !important; border-radius: 100% !important; border: 0px solid #fff !important; transform-origin: 50% 50%;transition: all 0.4s ease-out 0s;}
.loop2 .owl-prev { left:-25px; }
.loop2 .owl-next { right:-25px;}
.loop2 .owl-prev:before, .loop2 .owl-next:before { font-family: 'Font Awesome 5 Free';font-weight: 900 !important;font-size:70px; color: #fff; transition: all 0.4s ease-out 0s;width: 27px; height: 10px; background-size: contain; display: inline-block; border-width: 0; border-style: solid; border-color: #fff; position: absolute; top:50%; left: 50%; transform: translate(-50%, -50%);}
.loop2 .owl-prev:before { content: ""; background-image: url("../images/arrow-prev.png"); }
.loop2 .owl-next:before { content: ""; background-image: url("../images/arrow-next.png");}
.loop2 .owl-prev:hover, .loop2 .owl-next:hover { transform:translateY(-50%) scale(0.85);}
.loop2 .owl-stage-outer {z-index: 2;}
.loop2 .owl-dots { position: absolute; z-index: 100; bottom: -50px; left: 0; width: 100%; text-align: center!important; padding: 0 0px; }
.loop2 .owl-dots .owl-dot span, .loop2  .owl-dots .owl-dot span { background: #cecece !important; width: 14px !important; height: 14px !important;}
.loop2 .owl-dots .owl-dot.active span, .loop2  .owl-dots .owl-dot:hover span { background: #ff7600 !important; }

.idx-app-pto { position: relative; border-radius: 40px; padding-bottom: 100%; display: block;}
.idx-app-pto:hover img { filter: brightness(100%);}
.idx-app-pto:hover .idx-app-title { top:calc(50% - 20px);}
.idx-app-pto:hover .idx-app-title:before, .idx-app-pto:hover .idx-app-title:after { height: 0;}
.idx-app-pto:hover .idx-app-btn { transform: translate(-50%, -50%) scale(1); opacity: 1; top:calc(50% + 30px);}
.idx-app-pto img { transition: all 0.4s ease-out 0s;filter: brightness(40%);}
.idx-app-title { position: absolute; z-index: 3; top:50%; left: 0; width: 100%; transform: translateY(-50%); padding: 0 5%; text-align: center; color: #fff; font-weight: 700; text-shadow: 0px 0px 4px #000, 0px 0px 10px #000;transition: all 0.4s ease-out 0s; line-height: 1.1;}
.idx-app-title:before { position: absolute; content: ""; width: 1px; height:23px; background: #fff; top:-30px; left: 50%; transform: translateX(-50%);transition: all 0.4s ease-out 0s;}
.idx-app-title:after { position: absolute; content: ""; width: 1px; height:23px; background: #fff; bottom:-30px; left: 50%; transform: translateX(-50%);transition: all 0.4s ease-out 0s;}
.idx-app-btn { position: absolute; z-index: 3; width: 50px; height: 50px; background: #000; border-radius: 100%; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 18px;transition: all 0.4s ease-out 0s; top:50%; left: 50%; transform: translate(-50%, -50%) scale(0); line-height: 1; opacity: 0;}

.idx-about-section { padding: 0 5% calc(20px + 5%) 5%;  background: url("../images/idx-about-bg.jpg") repeat-x center bottom; background-size: 100%; display: flex; flex-direction: row; flex-wrap: wrap;}
.idx-about-section > div:nth-of-type(1) { width: 40%; position: relative;}
.idx-about-section > div:nth-of-type(1):before { content: ""; position: absolute; width: 55%; height: 95%;  border-radius: 80px; border: 1px solid #6ca55a; left: -50px; top:-45px;}
.idx-about-section > div:nth-of-type(1) img { position: relative; z-index:2;}
.idx-about-section > div:nth-of-type(2) { width: 60%; padding: calc(20px + 3%) 0 0 calc(20px + 3%);}

.idx-service-section { position: relative; padding-top: calc(20px + 5%);}
.idx-service-top-section { padding: 0 5% calc(20px + 2%) 5%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center;}

.idx-service-pto { position: relative; padding-bottom: 100%; display: block;}
.idx-service-pto:hover img { filter: brightness(100%);}
.idx-service-pto:hover .idx-service-title { top:calc(50% - 40px);}
.idx-service-pto:hover .idx-service-title:before, .idx-app-pto:hover .idx-app-title:after { height: 0;}
.idx-service-pto:hover .idx-app-btn { transform: translate(-50%, -50%) scale(1); opacity: 1; top:calc(50% + 40px);}
.idx-service-pto img { transition: all 0.4s ease-out 0s;filter: brightness(40%);}
.idx-service-title { position: absolute; z-index: 3; top:50%; left: 50%; width: 100%; max-width: 320px; transform: translate(-50%, -50%);  color: #fff;  text-shadow: 0px 0px 4px #000, 0px 0px 10px #000;transition: all 0.4s ease-out 0s; line-height: 1.1;}
.idx-service-title > div:nth-of-type(1) { font-weight: 700; text-align: center; line-height: 1.2; border-bottom: 1px solid #fff; padding-bottom: 8px; margin-bottom: 8px;}
.idx-service-title > div:nth-of-type(2) { font-weight: 300; text-align: center; line-height: 1.2; text-transform: uppercase;}


.loop3 { }
.loop3 .owl-dots { display: none !important;}
.loop3 .owl-item {position: relative;  }
.loop3 .owl-item img {width: auto !important;}
.loop3 .owl-nav { position: absolute; top:calc(50% - 35px); left: 0; width: 100%; z-index: 11;}
.loop3 .owl-prev, .loop3 .owl-next { position:absolute; z-index:100; top:calc(50% + 25px); transform: translateY(-50%); background:rgba(255,255,255,.8) !important; width: 50px; height: 50px; margin: 0 !important; border-radius: 100% !important; border: 0px solid #fff !important; transform-origin: 50% 50%;transition: all 0.4s ease-out 0s;}
.loop3 .owl-prev { left:10px; }
.loop3 .owl-next { right:10px;}
.loop3 .owl-prev:before, .loop3 .owl-next:before { font-family: 'Font Awesome 5 Free';font-weight: 900 !important;font-size:70px; color: #fff; transition: all 0.4s ease-out 0s;width: 27px; height: 10px; background-size: contain; display: inline-block; border-width: 0; border-style: solid; border-color: #fff; position: absolute; top:50%; left: 50%; transform: translate(-50%, -50%); filter: brightness(0)}
.loop3 .owl-prev:before { content: ""; background-image: url("../images/arrow-prev.png"); }
.loop3 .owl-next:before { content: ""; background-image: url("../images/arrow-next.png");}
.loop3 .owl-prev:hover, .loop3 .owl-next:hover { transform:translateY(-50%) scale(0.85);}
.loop3 .owl-stage-outer {z-index: 2;}
.loop3 .owl-dots { position: absolute; z-index: 100; bottom: -50px; left: 0; width: 100%; text-align: center!important; padding: 0 0px; }
.loop3 .owl-dots .owl-dot span, .loop3  .owl-dots .owl-dot span { background: #cecece !important; width: 14px !important; height: 14px !important;}
.loop3 .owl-dots .owl-dot.active span, .loop3  .owl-dots .owl-dot:hover span { background: #ff7600 !important; }


@media only screen and (max-width: 1920x) {
	
	
}

@media only screen and (max-width: 1365px) {
	#content { font-size: 17px; line-height:1.6;}
	
	.idx-application-section > div:nth-of-type(1) { width: 100%; padding-right: 0px; padding-bottom: 30px;}
	.idx-application-section > div:nth-of-type(2) { width: 100%;}
	.idx-application-section:after {  display: none;}
	
}

@media only screen and (max-width: 1279px) {
	#content { padding-top: 60px;}
	
	.banner-pc { display: none !important}
	.banner-mobile { display: block !important; }
	
	.video-container {padding-bottom: 84%;}
	
	.loop2 .owl-prev, .loop2 .owl-next, .loop3 .owl-prev, .loop3 .owl-next { transform: translateY(-50%) scale(0.7);}
	.loop2 .owl-prev:hover, .loop2 .owl-next:hover, .loop3 .owl-prev:hover, .loop3 .owl-next:hover { transform:translateY(-50%) scale(0.6);}
	.loop2 .owl-prev { left:-15px; }
	.loop2 .owl-next { right:-15px;}
	
	.idx-about-section > div:nth-of-type(1) { width: 100%; order: 2; text-align: center;}
	.idx-about-section > div:nth-of-type(1):before { display: none;}
	.idx-about-section > div:nth-of-type(2) { width: 100%; padding: 0; order: 1; padding-bottom: 30px;}
}

@media only screen and (max-width: 980px) {
	.banner-slogon { left: 0%; max-width: 100%; padding: 0 5%; top:45%;}
	.swiper-next, .swiper-prev { transform: scale(0.6); bottom: 5%;}
	.swiper-next:hover, .swiper-prev:hover { transform: scale(0.5);}
	.swiper-prev { right: calc(40px + 5%);}
}
@media only screen and (max-width: 768px) {
	.title01:before { transform: scale(0.7);}
	
}
@media only screen and (max-width: 640px) {
	
}
@media only screen and (max-width: 570px) {
	.idx-application-section .btn01 { text-align: center;}
}

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

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