@import url('/css/fontawesome-all.css');
@import url('/css/font-awesome.min.css');
@import url('/css/fontawesome.min.css');
@import url('/css/SeoJump.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100;300;400;500;700;900&family=Noto+Sans+TC:wght@100;300;400;500;700;900&family=Noto+Sans:wght@400;700&family=Noto+Serif+SC:wght@200;300;400;500;600&family=Noto+Serif+TC:wght@200;300;400;500;600&family=Noto+Serif:wght@400;700&family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800&display=swap');
*:focus { outline: none; }

header, footer, div, nav, article, h2, h3, h4, h5, h6, hr, p, form, label, input, textarea, ul, li, img, svg, span, font, strong, b, a, i { text-align: left; vertical-align: middle; word-wrap: break-word; word-break: break-word; line-height: 170%; border-width: 0; font-family: var(--font-family), sans-serif; font-size: 16px; color: var(--info); }

ul , ol { list-style: none; }

fieldset { border: 0; }

input[type=text] , input[type=number] , input[type=tel] , input[type=password] , button , select , textarea {padding: .5rem 1rem;width: 100%;background-color: #fff;background-clip: padding-box;border: 1px #e4e4e4 solid;border-radius: .2rem;box-shadow: none;-webkit-appearance: none;-moz-appearance: none;appearance: none;}
input::-webkit-outer-spin-button , input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
input[type=number] { -moz-appearance: textfield; }
input[type="password"] { font-family: auto; }
select {padding: 0.8rem 1rem;border: 1px #e4e4e4 solid;display: block;padding: 15px 25px;border-radius: 4px;font-size: 17px;background: url(/images/00/arrow.png) no-repeat scroll 98% center;background-repeat: no-repeat;background-position: 97% 50%;-webkit-appearance: none;}

/* img */
img { max-width: 100%; }
.img_cover { object-fit: cover; }
.img_contain { object-fit: contain; }

a , a:link , a:visited , a:hover { text-decoration: none; white-space: pre-wrap; }

/* general class set */
.txt_clamp { overflow: hidden; height: 27px; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.d_inblock.txt_clamp { display: -webkit-inline-box; }
.atag_item { width: 100%; height: 100%; top: 0; left: 0; }
.nowrap_box { font-size: 0; }
.flex_direction { flex-direction: column; }
.flex_wrap {flex-wrap: wrap;display: flex;justify-content: flex-start;}
.text_uppercase { text-transform: uppercase; }
.text_en { font-family: 'Poppins', serif; }
.text_serif { font-family: 'Noto Serif TC', 'Noto Serif SC', 'Noto Serif', serif; }
.writing { -ms-writing-mode: tb-rl -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.text_stroke { color: transparent; -webkit-text-fill-color: transparent;  text-fill-color: transparent;  -webkit-text-stroke: 2px #000;  text-stroke: 2px #000; }

/* btn */
.btn , .btn_outline { padding: 2px 10px; }

/* badge  */
.badge { padding: 2px 10px; box-shadow: none; }
.badge_lighten { padding: 0 4px; min-width: 22px; border-radius: 3px; font-weight: 400; text-align: center; font-size: 12px; vertical-align: text-bottom; }

/* photo,bg_box */
a.photo , .bg_box { overflow: hidden; background: no-repeat 50% / cover; }

/* fancybox */
[class^="fancybox-"] , [class^="fancybox-"] * , .slick-track , .fa , .fas , .fa:before , .fas:before , .fa:after , .fas:after , .trans_none_box { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
.fancybox-infobar__body span { font-size: inherit; color: currentcolor; vertical-align: initial; }

/* webBox */
.webBox { overflow: hidden; position: relative; width: 100vw; min-height: 100vh; }
.webBox .pageh1 {position: absolute;top: 0;z-index: 1;color: #fff;}
.webBox .slick-slider { margin-bottom: 0; }

/* workframe */
.workframe {margin: 0 auto;width: 88vw;}

/* header */
header {padding-right: 0vw;width: 100%;top: 0;left: 0;z-index: 1001;background-color: #fff;}
header:before {position: absolute;width: 100%;height: 170%;background: linear-gradient(to top,#fff 0%, #ffffff 100%);top: 0;left: 0;pointer-events: none;content: "";}
header #cis {position: relative;padding: 6px 15px;max-width: 200px;grid-area: logo;-webkit-transition-duration: .25s;transition-duration: .25s;}
header #webmenu { position: relative; display: block; }
header #webmenu * { color: #282828; }
header #webmenu nav >ul >li >a {overflow: hidden;position: relative;}
header #webmenu nav >ul >li >a font {position: relative;padding: 0 9px 0 10px;display: block;}
header #webmenu nav >ul >li >a font:before {position: absolute;width: 100%;font-family: 'Poppins', sans-serif;text-align: center;font-size: 85%;top: 109%;left: 0;content: attr(data-hover);}
header #webmenu li .menu_body li a font , #webmenu_mb nav a font {display: block;line-height: 1;font-size: 17px;letter-spacing: 0.2em;}
header #webmenu li .menu_body li a font.text_en , #webmenu_mb nav a font.text_en { line-height: 1.2; font-weight: 500; font-size: 13px; }
header .btns_box {position: relative;align-items: center;z-index: 1002;grid-area: btns;display: flex;justify-content: flex-end;}
header .btns_box a#openform {width: 40px;height: 40px;line-height: 60px;text-align: center;position: relative;display: flex;align-items: center;justify-content: center;}
header .btns_box font {width: 0px;height: 15px;background: #787878;display: block;}
header .btns_box a#openform svg { width: 18px; height: 18px; fill: #3c3c3c; }
header .btns_box .language {position: relative;}
header .btns_box .language ul {position: absolute;width: 80px;top: 120%;left: 50%;transform: translate(-50%, -40px);opacity: 0;transition: 0.9s;text-align: center;display: none;}
header .btns_box .language ul a {display: block;color: #000;line-height: 1.5;letter-spacing: 1px;border-bottom: 1px solid #fff;transition: 0.9s;}
header .btns_box .language p {display: flex;justify-content: center;position: relative;transition: 0.9s;align-items: center;/* padding: 5px 10px; */height: 40px;line-height: 60px;}
header .btns_box .language p a{padding: 5px 10px;}
header .btns_box .language p b{color: #3c3c3c;font-weight: 300;font-size: 14px;}
header .btns_box .language i svg {fill: #3c3c3c;width: 20px;height: 30px;margin-left: 5px;}
header .btns_box .language i {position: relative;}
header.scroll { border-bottom-color: transparent; }
header.scroll:before {width: 100vw;height: 100%;background: linear-gradient(to top,#fff 0%, #ffffff 100%);}
header.scroll #cis {-webkit-transition-duration: .15s;transition-duration: .15s;}
header.scroll #webmenu * , header.scroll .btns_box a.lang_btn {color: #222;}
header #webmenu .contactBtn{width: 460px;display: flex;justify-content: space-evenly;margin-bottom: 10px;}
header #webmenu .contactBtn a {width: 50%;height: 35px;margin: 2.5px;text-align: center;color: #fff;font-size: 14px;font-weight: 400;line-height: 20px;letter-spacing: 0.2px;display: flex;align-items: center;justify-content: center;flex-wrap: nowrap;border: 1px solid rgb(255 255 255 / 20%);}
header #webmenu .contactBtn a i{color: #fff;padding-right: 10px;padding-top: 3px;font-size: 12px;}
header.scroll #webmenu .contactBtn a{color: #1e1e1e;background-color: rgb(197 197 197 / 38%);}
header.scroll #webmenu .contactBtn a i{color: rgb(30 30 30 / 33%);}

/* webmenu_mb */
#webmenu_mb {position: fixed;width: 520px;height: 100vh;background: #fff;top: 0;right: -3000px;z-index: 1001;}
#webmenu_mb .menu_info {overflow-y: scroll;margin-top: 70px;padding: 40px 40px 0;height: calc(100% - 40px);}
#webmenu_mb .menu_info::-webkit-scrollbar { width: 0; }
#webmenu_mb .itemBox{padding: 25px 15px 10px;border-bottom: 2px solid #6b6b6c;}
#webmenu_mb nav a {padding: 20px 35px 20px 10px;display: flex;align-items: baseline;border-bottom: 1px solid rgb(0 0 0 / 14%);justify-content: space-between;}
#webmenu_mb nav a font.text_en { margin: 0 0 0 .75rem; }
#webmenu_mb nav b {display: none;}
#webmenu_mb nav li .menu_body ul { margin-bottom: 10px; margin-left: 0.5em; }
#webmenu_mb nav li .menu_body .subOption .bo { position: relative; }
#webmenu_mb nav li .menu_body .subOption a { padding: 10px 35px 8px 10px;color: var(--dark); }
#webmenu_mb nav li .menu_body .sub2Option a { padding: 5px 35px 5px 10px; font-weight: 300; }
#webmenu_mb nav li .menu_body .sub3Option a {  padding-right: 5px; color: var(--red); }
#webmenu_mb .contact_box { padding: 20px 0 20px; display: none;}
#webmenu_mb[data-type="ios"] .contact_box { padding-bottom: 15vh; }
#webmenu_mb .contact_box h4 { font-size: 22px; }
#webmenu_mb .contact_box p { display: flex; font-size: 15px; color: var(--dark); }
#webmenu_mb .contact_box p * { font-size: 15px; color: var(--dark); }
#webmenu_mb .contact_box .community {margin: 20px 0;}
#webmenu_mb .contact_box .community a {margin: 0 5px;display: inline-block;text-align: center;line-height: 35px;color: var(--dark);}
#webmenu_mb .contact_box .community a:first-child { margin-left: 0; }
#webmenu_mb .contact_box .community a:last-child { margin-right: 0; }
#webmenu_mb .contact_box .community a i {font-size: 15px;}

/* menu_btn */
#menu_btn {position: relative;margin-left: 20px;width: 40px;height: 40px;line-height: 60px;text-align: center;background-color: #282828;position: relative;display: flex;align-items: center;justify-content: center;}
#menu_btn span {position: absolute;width: 45%;height: 1px;background: #fff;display: block;top: calc(((100% - 1px) / 2) - 7px);left: 30%;}
#menu_btn[data-type="1"] span:nth-child(2) { top: calc(((100% - 1px) / 2) + 1px); }
#menu_btn[data-type="1"] span:nth-child(3) { top: calc(((100% - 1px) / 2) + 10px); }
#menu_btn[data-type="1"] span { transition: transform .4s cubic-bezier(.215,.61,.355,1),opacity .4s cubic-bezier(.215,.61,.355,1), -webkit-transform .4s cubic-bezier(.215,.61,.355,1); }
#menu_btn[data-type="2"] span { transition: .4s cubic-bezier(.645,.045,.355,1); }
#menu_btn[data-type="2"] span:nth-child(1) , #menu_btn[data-type="2"] span:nth-child(2) { top: 50%; }
#menu_btn[data-type="2"] span:nth-child(3) {  display: none;}
header.scroll #menu_btn { border-color: #555; }
header.scroll #menu_btn span {}

/* menubg */
#menubg { width: 100vw; height: 100vh; top: 0; left: 0; pointer-events: none; z-index: 1000; opacity: 0; }
#menubg[data-type="2"] { background: rgba(0, 0, 0, .5); opacity: 1; pointer-events: auto; }

/* hSearch */
#hSearch { margin-top: 1rem; padding-right: 1rem; width: 240px; background: #f9f9f9; box-shadow: 0 0 0.875rem 0 rgb(53 64 82 / 30%); right: -300px; opacity: 0; z-index: 1001; }
#hSearch[data-type="2"] { right: 2vw; opacity: 1; }
#hSearch input { background-color: #f9f9f9; border: 0; }
#hSearch a {line-height: 1;display: flex;justify-content: center;align-items: center;}
#hSearch svg { width: 18px; height: 18px; }

/* footer */
footer {background-color: #2c2c2c;display: flex;flex-direction: row-reverse;}
footer * {font-weight: 300;font-size: 15px;color: #e8e8e8;}
footer .workframe{padding-top: 40px;}
footer #footer_box {grid-template-columns: 375px 1fr 210px;grid-template-rows: 70px 1fr;grid-template-areas:
"f_logo f_info f_nav"
"f_other f_info f_nav";grid-row-gap: 30px;}
footer h5 {margin-bottom: 30px;font-weight: 500;font-size: 16px;letter-spacing: 0.5px;color: #898989;}
footer h5 b {margin-right: 15px;font-size: 18px;}
footer #f_logo { grid-area: f_logo; }
footer #f_info { margin-right: 15px; grid-area: f_info; }
footer #f_nav { grid-area: f_nav; }
footer #f_nav .fcontact{position: relative;}
footer #f_nav .fcontact li{display: flex;justify-content: flex-end;}
footer #f_nav .fcontact li a{display: flex;flex-wrap: wrap;flex-direction: column;align-items: center;text-transform: uppercase;}
footer #f_nav .fcontact li a i{display: flex;color: #c7c7c7;transition: all linear .3s;background-color: rgb(43 43 43);width: 110px;height: 110px;line-height: 34px;text-transform: uppercase;border: 1px solid rgb(62 62 62);font-size: 30px;text-align: center;border-radius: 99em;align-items: center;justify-content: center;margin-bottom: 10px;}
footer #f_info p {display: flex;justify-content: flex-end;}

footer #f_info p , footer #f_info p * {font-size: 14px;}
footer #f_info p a{color: #959595;}
footer #f_info >div p a{border-right: 1px rgb(208 208 208 / 14%) solid;padding: 0 10px 0px 10px;}
footer #f_info >div p:last-child a{border-right: 0px;}
footer #f_info >div p:first-child a{padding: 0 10px 0px 0px;}
footer #f_info >div {display: flex;flex-wrap: wrap;justify-content: flex-end;}
footer #f_other {grid-area: f_other;}
footer #f_other .flex_wrap{justify-content: flex-end;}
footer #f_other .copy_box * { font-weight: 400; font-size: 14px; color: #757575; }
.community a{width: 35px;height: 35px;z-index: 999;text-align: center;border-radius: 50%;line-height: 35px;font-size: 12px;margin-right: 1rem;}
.community a i{color: #ffffff;}
/* webSeo */
#webSeo {margin-top: 1rem;padding: 5px 0;white-space: nowrap;box-sizing: border-box;}
#webSeo .seo { padding-left: 100%; font-weight: 100; line-height: 1; font-size: 13px; color: #7a7a7a; }

/* gotop */
#gotop {padding: 10px 20px 5px;background: var(--primary);display: flex;flex-direction: column;color: #fff;line-height: 220%;height: 100%;}
#gotop:before { border: #fff solid; border-width: 2px 0 0 2px; content: ""; }

@media screen and (min-width: 1501px){
	.workframe {width: 1360px;}
	header #webmenu nav >ul >li >a font {padding: 3px 10px 3px 10px;letter-spacing: 1px;}
	header #webmenu nav >ul >li >a font:before {font-size: 90%;}
	header #webmenu nav ul li:nth-child(3) a font.subfont{}
}
@media screen and (min-width: 1441px){
	header {  grid-template-columns: 30% 1fr 280px; grid-template-areas: "logo menu btns"; align-items: center; }
	header:before {height: calc(100% + 0px);}
	header #cis { position: absolute; top: 5px; left: 100px;}
	header #webmenu {padding: 19px 0px;grid-area: menu;display: flex;align-items: center;justify-content: flex-end;}
	header #webmenu nav >ul { justify-content: flex-end; align-items: center; }
	header #webmenu nav >ul >li:hover >a font { -webkit-transform: translateY(-100%); -moz-transform: translateY(-100%); transform: translateY(-100%); }
	header.scroll #webmenu nav >ul >li >a font:before {color: var(--primary);font-size: 14px;padding: 2px 0 0;}
}
@media screen and (max-width: 1440px){
	header {grid-template-columns: 1fr 280px;grid-template-areas:"logo btns";align-items: center;}
	header:before {width: calc(0vw - 0px);height: 100%;}
	header #webmenu { display: none; }
}
@media screen and (min-width: 1281px){
	.webBox .slick-dots li:hover:before { border-color: var(--primary); }
	header #webmenu .top_btn { height: 100vh; background: var(--secondary); top: 0; left: 0; }
	header #webmenu .top_btn >div { margin: auto 0 5vh 0; width: 5vw; }
	header #webmenu nav ul li b { display: none; }
	header #webmenu nav >ul >li { overflow: hidden; position: relative; }
	header #webmenu nav >ul >li:hover { overflow: visible; }
	header #webmenu nav >ul >li >p a { padding: 25px 5px; }
	header #webmenu nav >ul >li:hover >p a { color: var(--primary); }
	header #webmenu li .menu_body , header #webmenu li .menu_body .subOption li ul {width: 190px;left: 50%;z-index: 1;opacity: 0;}
	header #webmenu li .menu_body ul { background: rgb(255 255 255 / 90%); }
	header #webmenu li .menu_body .subOption li ul { position: absolute; top: 0; left: -170px; }
	header #webmenu li .menu_body .subOption li >div p { border-bottom: 1px solid rgb(131 131 131 / 26%); }
	header #webmenu li .menu_body .subOption li >div a {padding: 8px 11px;height: auto;display: block;color: #3a3a3a;font-size: 15px;}
	header #webmenu li .menu_body .subOption li >div a * {color: #3a3a3a;font-size: 14px;}
	header #webmenu li .menu_body li a font.text_en{font-size: 12px;color: rgb(6 6 6 / 50%);font-weight: 300;text-transform: capitalize;padding-top: 2px;}
	header #webmenu li .menu_body .subOption li >div a:hover {background-color: rgb(0 0 0 / 62%);color: var(--white);}
	header #webmenu li .menu_body .subOption li >div a:hover * { color: var(--white); }
	header #webmenu li:hover .menu_body , header #webmenu li .menu_body .subOption li:hover >ul {z-index: 10;opacity: 1;}
	header.scroll #webmenu nav >ul >li >p a { padding: 15px 5px; }
	header.scroll #webmenu .top_btn { height: 100vh; }
	header #webmenu .contactBtn a:hover{background-color: rgb(3 143 194);}
	header.scroll #webmenu .contactBtn a:hover{color: #ffffff;}
	header .btns_box .language ul a:hover {color: #bb1b20;border-bottom: 1px solid #bb1b20;}
	header .btns_box .language:hover ul {opacity: 1;transform: translate(-50%, 0px);pointer-events: auto;}
	header .btns_box .language:hover p {background: #bb1b20;box-shadow: 4px 6px 10px rgb(0 0 0 / 20%);}
	header .btns_box .language:hover i svg {fill: #fff;}
	header .btns_box .language:hover p b{color: #fff;}
	footer #extra ul li:hover img { display: block; }
    #webmenu_mb nav {margin-top: 20px;}
    #webmenu_mb nav ul,#webmenu_mb .itemBox{display: flex;flex-wrap: wrap;justify-content: space-between;}
    #webmenu_mb .itemBox{padding: 25px 15px 40px;}
    #webmenu_mb .itemBox p {margin-right: 15px;}
    #webmenu_mb .itemBox p a{vertical-align: bottom;}
    #webmenu_mb nav li .menu_body ul{display: flex;flex-direction: row;flex-wrap: wrap;margin-top: 20px;margin-left: 0;margin-bottom: 20px;}
    #webmenu_mb nav ul li{width: 24%;margin: 0 0.5% 30px 0;}
    #webmenu_mb nav a font{font-size: 20px;letter-spacing: 0.5px;}
    #webmenu_mb nav a font::before {content: '';position: absolute;left: 10px;bottom: 0;z-index: 1;height: 2px;background-color: #979797;width: 25px;}
	#webmenu_mb nav a{padding: 20px 10px 20px 10px;}
    #webmenu_mb nav a font.text_en{font-weight: 300;}
    #webmenu_mb nav li .menu_body ul li{width: 50%;margin: 0;}
    #webmenu_mb nav li .menu_body ul li a{border-bottom: 0px;}
    #webmenu_mb nav li .menu_body .subOption a{padding: 5px 10px 5px 10px;font-size: 15px;}
    #webmenu_mb{width: 100%;}
    #webmenu_mb .menu_info{width: 80%;margin: auto;padding: 100px 40px 0;}
}
@media screen and (max-width: 1280px){
	#webmenu_mb nav li .menu_body , #webmenu_mb nav li .menu_body .subOption li ul { position: relative; display: none; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
	#webmenu_mb nav b { position: absolute; padding-left: calc(100% - 14px); width: 35px; height: 41px; display: inline-block; text-align: center; line-height: 41px; top: calc((100% - 41px) / 2); left: 0; cursor: pointer; }
}
@media screen and (max-width: 1160px){
	footer #footer_box { grid-template-columns: 1fr 300px; grid-template-areas: "f_logo f_logo" "f_info f_nav" "f_other f_other"; }
    footer #f_logo{display: flex;justify-content: center;}
	footer #f_info >div,footer #f_info p{display: flex;justify-content: flex-start;}
	footer #f_nav .fcontact li{justify-content: center;}
	footer #f_info >div p a{border-right: 0px rgb(208 208 208 / 14%) solid;padding: 0 0px 0px 10px;}
}
@media screen and (min-width: 769px){
	header.scroll #menu_btn[data-type="2"] { border-color: #fff; }
	header.scroll #menu_btn[data-type="2"] span { background: #fff; }
	header.scroll .btns_box a#openform[data-type="2"] svg { fill: #fff; }
	header.scroll .btns_box a[data-type="2"] { color: #fff; }
}
@media screen and (max-width: 768px){
	#webmenu_mb {width: 100%;}
	#menu_btn[data-type="2"] { border-color: #555; }
	#menu_btn[data-type="2"] span {}
	header .btns_box a#openform[data-type="2"] svg {}
	header .btns_box a[data-type="2"] { color: #555; }
	header .btns_box .language p b{display: none;}
	footer .workframe{width: 88vw;padding-top: 20px;}
	footer{display: flex;flex-direction: column;}
	footer #footer_box {grid-template-columns: 1fr 200px;grid-template-areas:"f_logo f_logo""f_info f_info""f_nav f_nav""f_other f_other";grid-row-gap: 10px;}
}
@media screen and (max-width: 640px){
	#menu_btn {margin-left: 10px;}
	header .btns_box a.lang_btn { padding: 3px 10px; }
	footer h5 { margin: 2rem 0 5px; }
	footer #f_info >div { width: 100%; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; }
	footer #f_other { margin-top: 0.05rem; display: flex;align-items: center;}
    header {grid-template-columns: 1fr 140px;}
	.community a{margin: 0 10px;}
	footer #f_other .copy_box{display: flex;flex-direction: column;}
	footer #f_nav .fcontact li a i{width: 80px;
    height: 80px;font-size: 23px;}
}
@media screen and (max-width: 480px){
	#webmenu_mb .contact_box { padding-bottom: 10vh; }
    footer #f_logo a { width: 300px; margin: auto;text-align: center;}
	footer #f_info >div { grid-template-columns: repeat(2, 1fr); justify-content: center;}
}