/* 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:1280px; width: 100%; margin:0 auto; text-align:left; position:relative; clear:both;}

#content { font-size: clamp(16px, 1.5vw, 20px); line-height:1.8; color: #333; letter-spacing: 0; font-weight: 300; padding-top: 120px;}

.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: 3%; padding-right: 3%;}
.demo-section-2 { padding-left: 5%; padding-right: 5%;}

.font-size-18 { font-size: clamp(16px, 1.3vw, 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-26 { font-size: clamp(20px, 2.1vw, 26px);}
.font-size-28 { font-size: clamp(22px, 2.2vw, 28px);}
.font-size-30 { font-size: clamp(22px, 2.5vw, 30px);}
.font-size-32 { font-size: clamp(22px, 2.7vw, 32px);}
.font-size-34 { font-size: clamp(22px, 2.9vw, 34px);}
.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-42 { font-size: clamp(24px, 3.5vw, 42px); 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;}
.font-size-60 { font-size: clamp(28px, 4vw, 60px); line-height: 1.2;}
.font-size-70 { font-size: clamp(32px, 4.4vw, 70px); line-height: 1.1;}

.font-roboto { font-family: "Roboto", sans-serif;}

.color-blue { color: #206aa4;}
.color-green { color: #009fb4;}
.color-white { color: #fff;}

.align-center { text-align: center !important;}
.align-left { text-align: left !important;}
.align-right { text-align: right !important;}
.align-justify { text-align: justify!important;}

.weight-100 { font-weight: 100;}
.weight-300 { font-weight: 300;}
.weight-400 { font-weight: 400;}
.weight-500 { font-weight: 500;}
.weight-700 { font-weight: 700;}
.weight-900 { font-weight: 900;}

.p-layout { padding: 0; margin:0 0 calc(20px + 3.5%) 0; font-weight: 300; line-height: 1.8; font-size: clamp(16px, 1.5vw, 20px);}

.layout-wrap { display: flex; flex-direction: row; flex-wrap: wrap;}
.layout-nowrap { display: flex; flex-direction: row; flex-wrap: nowrap;}

.hr-type-1 { padding: 0 !important; margin: 20px 0 !important;}

.title-type-1 { line-height: 1.3; padding-bottom: calc(15px + 1%);}

.body-bg-box { position: absolute; width: 100%; z-index: -2; height: 100%; overflow: hidden; top: 0; left: 0;}
.body-bg { position: absolute; border-radius: 100%; animation-iteration-count:infinite;}
.body-bg-1 { width: 26%; padding-bottom: 26%; background: #d56548; opacity: 0.15; top:105px; left: -60px; animation-name:body-bg-1; animation-duration:20s;}
.body-bg-2 { width: 33%; padding-bottom: 33%; background: #206aa4; opacity: 0.12; top:-110px; right: -140px; animation-name:body-bg-2; animation-duration:24s;}
.body-bg-3 { width: 26%; padding-bottom: 26%; background: #f6f6f6; opacity: 1; top: 17%; left: 58%; animation-name:body-bg-3; animation-duration:15s;}

@keyframes body-bg-1{
    0%{ transform: scale(1) translate(0%, 0%);}
    33%{ transform: scale(1.2) translate(20%, -10%); opacity: 0.1;}
    66%{ transform: scale(1.4) translate(20%, 10%); opacity: 0.05;}
    100%{ transform: scale(1) translate(0%, 0%);}
}
@keyframes body-bg-2{
    0%{ transform: scale(1) translate(0%, 0%);}
    33%{ transform: scale(0.8) translate(-30%, 10%); opacity: 0.1;}
    66%{ transform: scale(0.7) translate(-20%, 25%); opacity: 0.05;}
    100%{ transform: scale(1) translate(0%, 0%);}
}

@keyframes body-bg-3{
    0%{ transform: scale(1) translate(0%, 0%);}
    33%{ transform: scale(0.7) translate(-20%, -20%);}
    66%{ transform: scale(0.6) translate(-35%, -20%);}
    100%{ transform: scale(1) translate(0%, 0%);}
}

.banner { padding-bottom: calc(20px + 6%); padding-top: 25px; overflow: hidden;}
.banner-slogon { padding: 0 3% calc(20px + 2.5%) 3%; color: #d56548; font-size: clamp(18px, 1.9vw, 24px); line-height: 1.3; letter-spacing: 0.1rem; }
.banner-slogon > div { font-size: clamp(21px, 3.5vw, 48px); font-weight: 700; color:#15629e; line-height: 1.1; padding-bottom: 8px; }


.marquee-carousel .swiper-slide:nth-child(odd) { border-radius: 30vw 30px 30px 30vw; overflow: hidden;}
.marquee-carousel .swiper-slide:nth-child(even) { border-radius:30px 30vw 30vw 30px; overflow: hidden;}
.marquee-carousel .swiper-slide img { width: 100%;}
.marquee-carousel .swiper-wrapper {-webkit-transition-timing-function: linear !important;transition-timing-function: linear !important;}

.idx-about-section { margin-bottom: calc(20px + 4%); display:flex; flex-direction: row; flex-wrap: wrap;}
.idx-about-section > div:nth-of-type(1) { width: 51%;}
.idx-about-section > div:nth-of-type(2) { width: 49%; padding-top: calc(20px + 4%);}
.idx-about-content { max-width: 615px; margin: 0 auto 0 0; padding-left: 30px;}

.title-1 { padding:25px 0 calc(10px + 1.5%) 0; margin:0 0 0 0;font-size: clamp(24px, 2.9vw, 34px); font-weight: 700; color: #206aa4; ; position: relative; line-height: 1.45; font-family: "Noto Sans TC", sans-serif; letter-spacing: 0.1rem;}
.title-1 > span { position: absolute; top: 0; left: 0; display: block; width: 30px;}
.title-1-b { text-align: center;}
.title-1-b > span { left: 50%; transform:translateX(-50%);}
.title-1 > span:before, .title-1 > span:after { position: absolute; content: ""; width: 9px; height: 9px; background: #d56548; border-radius: 100%; top: 0;}
.title-1 > span:before { left: 0;}
.title-1 > span:after { right: 0px;}

.btn-type-1 { display: block; width: 200px; line-height: 60px; background: #d56548; color: #fff !important; text-align: center; font-size: 16px; border-radius: 30px;  position: relative; overflow: hidden; }
.btn-type-1 > span { position: relative; z-index: 2; font-size: 16px;font-weight: 500; letter-spacing: 0.05rem;}
.btn-type-1:after { background: #206aa4; bottom: 0; width: 0%; height: 100%; right: -10px; content: ""; display: block; position: absolute;transition: all 0.25s ease-out 0s; transform: skewX(-20deg);}
.btn-type-1:hover { width: 190px; color: #fff !important;}
.btn-type-1:hover:after { width: 120%; left: -10px;}

.idx-service-top { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-end; margin-bottom: calc(20px + 1.5%);}
.idx-service-top > div:nth-of-type(1) { width: 210px;}
.idx-service-top > div:nth-of-type(1) .title-1 { padding-bottom: 0;}
.idx-service-top > div:nth-of-type(2) { width: calc(100% - 210px);}

.idx-service-menu { padding-bottom: calc(20px + 1.5%);}

.idx-service-item { width: fit-content; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; padding: 10px 30px 10px 15px; background: #fff; margin: 0 5px 10px 5px; border-radius: 10vw;pointer-events:none; border: 1.5px solid #206aa4;}
.idx-service-item > img { max-height: 34px;}
.idx-service-item > div { color: #333; font-weight: 500;}
.swiper-slide-thumb-active .idx-service-item { background: #d56548; border-color: #d56548;}
.swiper-slide-thumb-active .idx-service-item > img { filter: brightness(0) invert(1);}
.swiper-slide-thumb-active .idx-service-item > div { color: #fff;}

.idx-service-carousel .swiper-slide { width: auto;}

.idx-service-box { padding-bottom: calc(20px + 4%) !important;}

.idx-service-content { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center;}
.idx-service-content > div:nth-of-type(1) { width: 42%;}
.idx-service-content > div:nth-of-type(2) { width: 58%; padding: 0 5%;}
.idx-service-pto { width: 100%; border-radius: 0 25vw 25vw 0;}

.idx-service-content .p-layout { margin-bottom: calc(20px + 2%);
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;}

.idx-news-box { position: relative; background: #f3f4f5; overflow: hidden; padding: calc(20px + 4%) 3%; }
.idx-news-box .content-Box { z-index: 3;}
.idx-news-bg-1 { position: absolute; width: 29%; padding-bottom: 29%; top:-36%; left: 4%; box-shadow:inset 0px 0px 0 100px rgba(213,101,72,0.1); border-radius: 100%;}
.idx-news-bg-2 { position: absolute; width: 40%; padding-bottom: 40%; bottom:-40%; right: -10%; box-shadow:inset 0px 0px 0 160px rgba(32,106,164,0.1); border-radius: 100%;}

.idx-news-section { display: flex; flex-direction: row; flex-wrap: wrap;}
.idx-news-section > div:nth-of-type(1) { width: 200px;}
.idx-news-section > div:nth-of-type(2) { width: calc(100% - 200px); padding-left: 60px;}

.idx-news-list { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; position: relative; padding: 16px 0;}
.idx-news-list:hover > div:nth-of-type(1) { background: #15629e;}
.idx-news-list:hover > div:nth-of-type(1):before { border-color: #fff;}
.idx-news-list:hover > div:nth-of-type(2) { color: #15629e;}
.idx-news-list > div:nth-of-type(1) { width: 44px; height: 44px; border:1px solid #15629e; position: relative; border-radius: 100%;}
.idx-news-list > div:nth-of-type(2) { width: calc(100% - 44px); padding-left: 14px;color: #333;}
.idx-news-list > div:nth-of-type(1):before { content: "";position: absolute; width: 11px; height: 11px; border-width: 1px 1px 0 0; border-style: solid; border-color: #15629e; transform: rotate(45deg) translate(-50%, -50%); top:55%; left: 33%;}
.idx-news-list:before { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: #d6d6d6;}
.idx-news-list:after { content: ""; position: absolute; bottom: 0; right: 0; width: 0%; height: 1px; background: #15629e;transition: all 0.4s ease-out 0s;}
.idx-news-list:hover:after { width: 100%; left: 0;}

@media only screen and (max-width: 1279px) {
	body { padding-bottom: 50px;}
	#content { padding-top: 70px;}
	
	#content , .p-layout { line-height: 1.6;}
	
	.banner-pc { display: none !important}
	.banner-mobile { display: block !important; }
	
	.idx-news-bg-1 { top:-5%; box-shadow:inset 0px 0px 0 60px rgba(213,101,72,0.1); }
	.idx-news-bg-2 { bottom:-12%; right: -3%; box-shadow:inset 0px 0px 0 100px rgba(32,106,164,0.1);}

	.title-1 { padding-top: 15px;}
}

@media only screen and (max-width: 980px) {
	.btn-type-1 { width: 150px; line-height: 50px; border-radius: 25px; }
	.btn-type-1 > span { font-size: 15px;}
	.btn-type-1:hover { width: 140px; }

	
	.idx-service-top > div:nth-of-type(1) { width: 100%;}
	.idx-service-top > div:nth-of-type(1) .title-1 { padding-bottom: 10px;}
	.idx-service-top > div:nth-of-type(2) { width: calc(100% - 0px);}
	
	.idx-news-section > div:nth-of-type(1) { width: 100%;}
	.idx-news-section > div:nth-of-type(2) { width: calc(100% - 0px); padding-left: 0px;}
	
	.idx-news-list > div:nth-of-type(1) { width: 34px; height: 34px;}
	.idx-news-list > div:nth-of-type(1):before { width: 8px; height: 8px; top:55%; left: 33%;}
}
@media only screen and (max-width: 768px) {
	.body-bg-1 { width: 37%; padding-bottom: 37%;}
	.body-bg-2 { width: 60%; padding-bottom: 60%; top:-30px; right: -70px;}
	.body-bg-3 { width: 30%; padding-bottom: 30%; top:10%;}
	
	.idx-about-section > div:nth-of-type(1) { width: 100%; order: 2}
	.idx-about-section > div:nth-of-type(2) { width: 100%; order: 1; padding-top: 0; padding-bottom: 30px;}
	.idx-about-content { max-width: 100%; padding-left: 0px;}
	
	.idx-service-content > div:nth-of-type(1) { width: 100%; margin-bottom: 25px;}
	.idx-service-content > div:nth-of-type(2) { width: 100%; padding: 0 3%;}
	
	.idx-news-bg-1 { box-shadow:inset 0px 0px 0 20px rgba(213,101,72,0.1); }
	.idx-news-bg-2 { box-shadow:inset 0px 0px 0 40px rgba(32,106,164,0.1);}
}
@media only screen and (max-width: 640px) {
	.idx-service-carousel .swiper-wrapper { display: flex; flex-direction: column; flex-wrap: nowrap;}
	.idx-service-carousel .swiper-slide { width: 100%;}
	.idx-service-item { width: 100%; margin: 0 0 10px 0; /*pointer-events:auto;*/}
	.idx-service-box { /*display: none;*/}
	
}
@media only screen and (max-width: 570px) {
	
}

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

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