/* 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.2vw, 17px); line-height:1.5; color: #333; letter-spacing: 0.05rem; font-weight: 400; padding-top: 130px;}

.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: clamp(16px, 1.3vw, 18px);}
.font-size-20 { font-size: clamp(18px, 1.5vw, 20px);}
.font-size-21 { font-size: clamp(18px, 1.6vw, 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-32 { font-size: clamp(22px, 2.7vw, 32px);}
.font-size-36 { font-size: clamp(22px, 3.3vw, 36px); line-height: 1.3;}
.font-size-40 { font-size: clamp(26px, 3.3vw, 40px); line-height: 1.3;}
.font-size-42 { font-size: clamp(26px, 3.3vw, 42px); line-height: 1.3;}
.font-size-44 { font-size: clamp(26px, 3.5vw, 44px); line-height: 1.3;}
.font-size-48 { font-size: clamp(26px, 3.5vw, 48px); line-height: 1.3;}
.font-size-60 { font-size: clamp(32px, 4vw, 60px); line-height: 1.2;}

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

.color-white { color: #fff !important;}
.color-red { color: #b61900 !important;}
.color-gray { color: #333 !important;}

.align-center { text-align: center !important;}
.align-left { text-align: left !important;}
.align-right { text-align: right !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-800 { font-weight: 800;}

.p-layout { margin: 0; padding:0 0 calc(10px + 2%) 0; font-weight: 400; line-height: 1.6; font-size: clamp(16px, 1.3vw, 18px);}

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

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

.title-type-1 { padding-bottom: calc(10px + 1%);}

.pto-pc { display: block;}
.pto-mobile { display: none;}


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

.banner-pto { position: relative;}
.banner-pto img { object-fit: cover; width: 100%; height: 100%;}
.banner-slogon { position: absolute; z-index: 5; left: 0%; top:50%; transform: translateY(-50%); display: flex; flex-direction: column; flex-wrap: nowrap; align-items: center; width: 100%; padding-left: calc(20px + 5%); padding-right: calc(20px + 5%);}

.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; position: relative;}
.mySwiper2 {height: 80%;width: 100%; margin-bottom: 25px;}
.swiper-slide .description, .swiper-slide .title , .swiper-slide .banner-btn {display: block;opacity: 0; transform: translateY(-50px);position: relative; text-align: center;}
.swiper-slide .title {font-weight: 800; font-size: clamp(23px, 3.5vw, 60px);/*-webkit-text-stroke: 2px #fff;*/ line-height: 1.2; padding-bottom: calc(5px + 1%); color: #f0f0f0;transition: all 0.5s ease 0.5s; text-shadow: 0px 0px 20px #000; letter-spacing: 0.05rem;}
.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: clamp(16px, 1.1vw, 20px); padding-bottom: 15px; line-height: 1.2; font-weight: 500;}
.swiper-slide .description {font-weight:300; font-size: clamp(17px, 2vw, 30px); color: #f0f0f0 !important;transition: all 0.8s ease 0.8s; line-height: 1.2;text-shadow: 0px 0px 20px #000;  letter-spacing: 0.05rem;}
.swiper-slide .banner-btn { display: block; background: transparent; max-width: 260px; width: 100%; line-height: 60px; border-radius: 30px; margin: 0 auto; font-weight:700; font-size: 16px; color: #fff !important;transition: transform 1.2s ease 1.2s, opacity 1.2s ease 1.2s, background 0.4s ease-out 0s; padding: 0 15px; border: 2px solid #fff;}
.swiper-slide .banner-btn:hover { background: #fff; color: #4e4e4e !important;}
.swiper-slide-active .description, .swiper-slide-active .title, .swiper-slide-active .banner-btn {opacity: 1;}
.swiper-slide-active .title, .swiper-slide-active .description { transform:translateY(0px);}
.swiper-slide-active .banner-btn { transform:translateY(0px);}

.swiper-next, .swiper-prev { width: 40px !important; height: 40px !important; border-radius: 100%; background: transparent; position: absolute; z-index: 2; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; top:calc(50% - 20px);}
.swiper-next:after, .swiper-prev:after { content: ""; display: block; width: 30px; height: 30px ; border-width: 1px 1px 0 0; border-color: #fff; border-style: solid;}
.swiper-prev:after { transform: rotate(-135deg); margin-left: 4px;}
.swiper-next:after { transform: rotate(45deg); margin-right: 4px;}
.swiper-prev { left: 20px;}
.swiper-next { right: 20px;}

.swiper-pagination { text-align: center!important; padding: 0; bottom: 15px !important;}
.swiper-pagination-bullet { width: 11px !important; height: 11px !important;  background: none !important; margin-left: 2px !important; margin-right: 2px !important; position: relative; border:1px solid rgba(241,196,27,0); opacity: 1 !important;}
.swiper-pagination-bullet:after { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 100%; background: #666666; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.swiper-pagination-bullet-active { border:1px solid #ea5b24; }
.swiper-pagination-bullet-active:after { width: 3px; height: 3px; background: #ea5b24; }

.idx-main-section { padding: calc(20px + 3%) 5% 0 5%; background: #4f4f4f; color: #fff;}

.idx-about-section { padding-bottom: calc(20px + 4%);}

.title01 { font-size: clamp(26px, 3.3vw, 42px); font-weight: 700; color: #c7a540; position: relative; line-height: 1.3; padding: 0 0 30px 0; margin: 0 0 25px 0; letter-spacing: 0.05rem;font-family: 'Noto Sans TC', sans-serif; }
.title01:after { position:absolute; content: ""; width: 30px; height: 5px; background: #c7a540; bottom: 0; left: 0;}

.btn01 { display: block; position: relative; overflow: hidden; width: 300px; line-height: 80px; border-radius: 0 40px 40px 0; padding: 0 50px 0 32px; background: #2b6866; color: #ffffff !important;font-size: clamp(16px, 1.3vw, 18px);}
.btn01:hover { padding-left: 50px; width: 250px;}
.btn01:hover:before { right: -30px;}
.btn01:hover:after { left: 30px;}
.btn01:before, .btn01:after { content: ""; position: absolute; top:50%; transform: translateY(-50%); background: #fff; width: 6px; height: 12px; clip-path: polygon(0% 0, 100% 50%, 0% 100%);transition: all 0.4s ease-out 0s;}
.btn01:before { right: 35px;}
.btn01:after { left: -40px;}

.idx-pro-section { padding-bottom: calc(20px + 4%); display: flex; flex-direction: row;flex-wrap: wrap;}
.idx-pro-section > div:nth-of-type(1) { width: 28%;}
.idx-pro-section > div:nth-of-type(2) { width: 72%; padding-left: 85px;}
.idx-pro-section-b > div:nth-of-type(1) { order: 2;}
.idx-pro-section-b > div:nth-of-type(2) { order: 1; padding-right: 85px; padding-left: 0;}

.title02 { font-size: clamp(22px, 2.7vw, 32px); font-weight: 700; color: #c7a540; position: relative; line-height: 1.3;  margin: 0 0 20px 0; letter-spacing: 0.05rem; }
.title02:after { position:absolute; content: ""; width: 30px; height: 5px; background: #c7a540; top: 50%; transform: translateY(-50%); left: -48px;}

.idx-pro-loop { padding: 20px 70px 0 70px;}

.loop2 { margin:0 0 0 0; }
.loop2 .owl-dots { display: none !important;}
.loop2 .owl-item {position: relative;  }
.loop2 .owl-nav { position: absolute; top: 44%; left: 0%; width: 100%; z-index: 11;}
.loop2 .owl-prev, .loop2 .owl-next { position:absolute; z-index:100;  width: 30px !important; height: 30px !important; border-radius: 100% !important; background: transparent !important; border: 0px solid #074151 !important; transition: all 0.4s ease-out 0s; top:50%; transform: translateY(-70%); margin: 0 !important;}
.loop2 .owl-prev:hover, .loop2 .owl-next:hover { }
.loop2 .owl-prev:hover:before, .loop2 .owl-next:hover:before { border-color: #fff; opacity: 0.6;}
.loop2 .owl-prev { left:-60px; }
.loop2 .owl-next { right:-60px;}
.loop2 .owl-prev:before, .loop2 .owl-next:before { content: ""; position: absolute; width: 20px; height: 20px; border-width: 1px 1px 0 0; border-style: solid; border-color: #fff; background-size: contain; background-repeat: no-repeat; top:50%; left: 50%; transition: all 0.4s ease-out 0s;}
.loop2 .owl-prev:before { transform:translate(-30%, -50%) rotate(-135deg);}
.loop2 .owl-next:before { transform:translate(-70%, -50%) rotate(45deg);;}
.loop2 .owl-prev:hover:before, .loop2 .owl-next:hover:before { }
.loop2 .owl-stage-outer {z-index: 2;}
.loop2 .owl-dots { position: absolute; z-index: 100; bottom:24px; left:0; width: 100%; text-align: left !important; padding: 0 0px; }
.loop2 .owl-dots .owl-dot { border: 0px solid #c10000; background: transparent; margin-left: 8px;  margin-right: 8px; border-radius: 100%;}
.loop2 .owl-dots .owl-dot.active {  }
.loop2 .owl-dots .owl-dot span, .loop2  .owl-dots .owl-dot span { background: #c0c7cb !important; width: 10px !important; height: 10px !important; margin: 0 auto!important;transition: all 0.4s ease-out 0s !important;}
.loop2 .owl-dots .owl-dot.active span/*, .loop2  .owl-dots .owl-dot:hover span*/ { background: #114375 !important; }

.idx-pro-link { display: block;}
.idx-pro-link:hover .idx-pro-pto img { transform: scale(0.9);}
.idx-pro-pto { padding-bottom: 186%; margin-bottom: 10px;}
.idx-pro-pto-b { padding-bottom: 113%;}
.idx-pro-pto img { transition: all 0.4s ease-out 0s;}
.idx-pro-name { text-align: center; color: #fff; font-weight: 500;font-size: clamp(18px, 1.5vw, 20px);}

.idx-bottom-section { padding: calc(20px + 3.5%) 10% calc(20px + 2%) 10%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; background: url("../images/idx-bottom-bg.png") no-repeat center center;}
.idx-bottom-section > div { width: calc(50% - 30px); padding-bottom: 30px;}

.title03 { font-size: clamp(26px, 3.3vw, 42px); font-weight: 700; color: #006442; position: relative; line-height: 1.3; padding: 0 0 25px 0; margin: 0 0 20px 0; letter-spacing: 0.05rem; text-align: center;}
.title03:after { position:absolute; content: ""; width: 30px; height: 5px; background: #ef6d0f; bottom: 0; left: 50%; transform: translateX(-50%);}

.idx-news-link { display: flex; flex-direction: row; flex-wrap: wrap; margin-bottom: 30px; border: 1px solid #555555;align-items: center;}
.idx-news-link:hover > div:nth-of-type(1) { background: #ef6d0f;}
.idx-news-link:hover > div:nth-of-type(1) .idx-news-date { color: #fff;}
.idx-news-link:hover > div:nth-of-type(1) .idx-news-date span { color: #fff;}
.idx-news-link > div { padding: 40px 20px;}
.idx-news-link > div:nth-of-type(1) { width: 135px;display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center;transition: all 0.4s ease-out 0s;position: relative;}
.idx-news-link > div:nth-of-type(1):before { content: ""; position: absolute; right:0; top:50%; transform: translateY(-50%); width: 1px; height: 76px; background: #555555;}
.idx-news-link > div:nth-of-type(2) { width: calc(100% - 135px - 135px); position: relative;font-size: 20px; font-weight: 700; color: #222;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;max-height: 110px;padding: 0 20px;}
.idx-news-link > div:nth-of-type(3) { width: 135px;display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center;}

.idx-news-date { color: #333; font-weight: 700;font-size: clamp(16px, 1.5vw, 20px); line-height: 1.1;}
.idx-news-date span { display: block; color: #333; font-weight: 700;font-size: clamp(18px, 2.5vw, 30px); line-height: 1.1;}
.idx-news-btn { background: #333; width: 60px; height: 60px; border-radius: 100%;display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; font-weight: 900; font-size: 14px; color: #fff;transition: all 0.4s ease-out 0s; }
.idx-news-btn:hover { transform: scale(0.9);}

.btn02 { display: block; position: relative; overflow: hidden; width: 160px; line-height: 44px; border-radius: 5px; padding: 0 20px; background: #2b6866; color: #ffffff !important;font-size: 16px; font-weight: 700; margin: 20px auto 0 auto; text-align: center;}
.btn02:hover { transform: scale(0.9);}

@media only screen and (max-width: 1279px) {
	.idx-bottom-section { padding: calc(20px + 5%) 5% calc(20px + 2%) 5%;}
	
}
@media only screen and (max-width: 1023px) {
    #content { padding-top: 73px;}

	.idx-bottom-section > div { width: 100%;}
}

@media only screen and (max-width: 980px) {
	.pto-pc { display: none;}
	.pto-mobile { display: block;width: 100%;}

	
	.banner-pc { display: none;}
	.banner-mobile { display: block; }
	
	.swiper-slide .banner-btn { max-width: 140px; line-height: 44px; border-radius: 22px; font-size: 14px; }
	.swiper-pagination { bottom: 10px !important;}

	.btn01 { width: 240px; line-height: 60px; border-radius: 0 30px 30px 0;}
	.btn01:hover { padding-left: 50px; width: 220px;}
	
	.loop2 .owl-nav { top: 33%;}
	.loop2 .owl-prev, .loop2 .owl-next { transform:translateY(-70%) scale(0.7);}
	
	.idx-pro-section > div:nth-of-type(1) { width: 100%; margin-bottom: 20px;}
	.idx-pro-section > div:nth-of-type(2) { width: 100%; padding-left: 0;}
	.idx-pro-section-b > div:nth-of-type(1) { order: 1;}
	.idx-pro-section-b > div:nth-of-type(2) { order: 2; padding-right: 0px; }
	
	.title02 { padding-left: 28px;}
	.title02:after { left: 0; width: 20px;}
}
@media only screen and (max-width: 768px) {
	.btn02 { width: 120px; line-height: 34px; font-size: 14px; }
	
}
@media only screen and (max-width: 640px) {
	
	
	
}
@media only screen and (max-width: 570px) {
	.idx-news-link > div { padding: 10px 20px;}
	.idx-news-link > div:nth-of-type(1) { width: 100%; justify-content: flex-start; border-bottom: 1px solid #555555;}
	.idx-news-link > div:nth-of-type(2) { width: calc(100% - 70px); padding: 10px 0 10px 20px;display: block;-webkit-box-orient: initial;-webkit-line-clamp: initial;overflow: visible;max-height: initial;}
	.idx-news-link > div:nth-of-type(1):before { display: none;}
	.idx-news-link > div:nth-of-type(3) { width: 70px; padding-left: 10px; padding-right: 10px;}
	.idx-news-date span { display: inline-block; margin-left: 10px;}
	.idx-news-btn { width: 50px; height: 50px; font-size: 12px; }
}

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

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