@charset "UTF-8";
/* =============================================================================
      ____    __  __  __  _____
    /\  _ _`\/\ \/\ \/\ \/ ____/
    \ \ \  \ \ \ \ \ \ \ \ \_____
     \ \ \  \ \ \ \ \ \ \ \_____ \
      \ \ \__\ \ \ \/  \/ / ____\ \
       \ \_____/\ \______/ /\_____/
        \/____/  \/_____/  \/____/
        
    Don't Worry Never Crash
   ========================================================================== */
/* =============================================================================
   BASIC
   ========================================================================== */
/*---DEFAULT---*/
html, body { height: 100%; -webkit-text-size-adjust: none; text-size-adjust: none;}
body { background-image: linear-gradient(to top, #4E40CF 0%, #015CEC 30%); background-color: #4E40CF; background-repeat: no-repeat; }
body.bc1{ background: #5678F2;}
body.bc2{ background: #FFF;}
body, th, td, input { font-size: 100%; }
a { text-decoration: none; color: #015CEC;}
p { font-size: 1em; line-height: 1.5em; margin-bottom: 0.6em; color: #333; font-family: 'Noto Sans TC', sans-serif; }
li { font-size: 1em; line-height: 1.5em; color: #333; font-family: 'Noto Sans TC', sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: 'Noto Sans TC', sans-serif; font-weight: 700;}
h1 { font-size: 2.142em; line-height: 1.1333em; margin-bottom: .2666em; }
h2 { font-size: 1.714em; line-height: 1.1666em; margin-bottom: .4555em; }
h3 { font-size: 1.429em; line-height: 1.4em; margin-bottom: .4em; }
h4 { font-size: 1.143em; line-height: 1.5em; margin-bottom: .4555em; }
h5 { font-size: 1em; line-height: 1.5em; margin-bottom: .5em; color: #114287;}
h6 { font-size: 0.857em; line-height: 1.5em; margin-bottom: .4555em; }
	a:link, a:visited { text-decoration: none;}
	::selection { background: #111; color: #FFF;}
	/*SCROLL BAR*/
	body.pc::-webkit-scrollbar{ width:8px; }
	body.pc::-webkit-scrollbar-track{ background:#f3f3f3;}
	body.pc::-webkit-scrollbar-thumb{ background:#015CEC; }
	body.pc::-webkit-scrollbar-thumb:hover{ background:#015CEC; }

@media only screen and (max-width: 992px) {
	p { font-size: 0.9em; }
}
/*------*/

/*---IMG LOAD---*/
.imgLiquidCenter, .imgLiquidFill{ opacity: 0; transition: opacity 1000ms ease, transform 500ms ease; }
.imgLiquidCenter img, .imgLiquidFill img{ display: none;}
.imgLiquid_ready { opacity: 1; }
div.lazy{ opacity: 0; transition: opacity 1000ms ease, transform 500ms ease; }
div.lazy.imgLiquid_ready{ opacity: 1;}
img.lazy{ opacity: 0; transition: opacity 1000ms ease, transform 500ms ease; }
img.lazy.ed{ opacity: 1;}
/*------*/

/*---SCALE---*/
.if_16by9 { position: relative; padding-bottom: 56.25%;}
.if_16by9 iframe{  position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0;}
.if_21by9 { position: relative; padding-bottom: 42.85%;}
.if_21by9 iframe{  position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0;}
.if_4by3 { position: relative; padding-bottom: 75%;}
.if_4by3 iframe{  position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0;}
.if_1by1 { position: relative; padding-bottom: 100%;}
.if_1by1 iframe{  position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0;}
.item_16by9::before{ content: ''; display: block; padding-bottom: 56.25%;}
.item_4by3::before{ content: ''; display: block; padding-bottom: 75%;}
.item_1by1::before{ content: ''; display: block; padding-bottom: 100%;}
.item .s16by9::before{ display: block; content: ''; padding-bottom: 56.25%;}
.item .s4by3::before{ display: block; content: ''; padding-bottom: 75%;}
.item .s1by1::before{ display: block; content: ''; padding-bottom: 100%;}
/*------*/

/*---ELEMENT---*/
.ie { position: fixed; width: 60%; height: 80%; padding: 10% 20%; text-align: center; left: 0; top: 0; background: #f2f2f2; z-index: 9999; }
.ie .title { color: #333 !important; font-size: 2em; }
.ie p { text-align: center; color: #333 !important; font-size: 0.9375em; }
.ie a { color: #F36; }
/*------*/

/*---loading_box---*/
.loading_box{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; z-index: 9999;}
.loading_box::after{ display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;  background: url(../images/loading.gif) no-repeat center center; background-size: 60px; }
.loading_box::before{ display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: #015CEC;}
.loading_box .icon{ width: 60px; margin-top: 0;}
.loading_box .icon img{ display: block; width: 100%;}
/*------*/

/* =============================================================================
   BASIC END
   ========================================================================== */


/* =============================================================================
   MODULE
   ========================================================================== */
/*---page width---*/
.inner-width { position: relative; max-width:1200px; margin: auto;}
.txt-width { position: relative; max-width:800px; margin: auto; }
@media only screen and (max-width: 1250px) {
	.inner-width { margin: auto 25px;}
}
@media only screen and (max-width: 850px) {
	.txt-width { margin: auto 25px;}
}
/*------*/

/*---more_bar---*/
.more_bar{ position: relative; z-index: 100; text-align: left;}
.more_bar.center{ text-align: center;}
.more_bar.right{ text-align: right;}
.more_bar.pos_tr{ position: absolute; right: 0; top: 0; margin: 0;}
.more_bar.ad{ right: 320px;}
.more_bar .arr{ display: inline-block; margin: 0 20px;  vertical-align: middle; transition: 200ms ease; }
.more_bar .arr:hover{ opacity: 0.5;}
.more_bar>a+a{ margin-left: 10px;}
/*------*/

/*---title_bar---*/
.title_bar{ position: relative; text-align: left; padding: 0;}
.title_bar.left{ text-align: left; }
.title_bar.right{ text-align: right; }
.title_bar.center{ text-align: center; }
.title_bar .title{ position: relative; display: block; margin: 0 0 20px 0;}

.box_line{ padding: 30px; border: solid 2px rgba(255, 255, 255, 0.2); border-radius: 20px;}
.box_line.c1{ border: solid 2px #4E40CF; }
.title_bar .title b{ display: block; font: 700 30px/1.4em 'Noto Sans TC', sans-serif; color: #4E40CF;}
.title_bar .title span{ display: block; font:600 16px/1.2em 'Noto Sans TC', sans-serif; color: #1450A5;}
.title_bar .title.big b{ font: 700 34px/1.4em 'Noto Sans TC', sans-serif;}
.title_bar .title.w b{ color: #FFF;}
.title_bar .title.w span{ color: #FFF;}
@media only screen and (max-width: 992px) {
	.title_bar .title.big b{ font: 700 28px/1.2em 'Noto Sans TC', sans-serif;}
	.title_bar .title b{ font: 700 24px/1.2em 'Noto Sans TC', sans-serif; }
}
@media only screen and (max-width: 576px) {
	.box_line{ padding: 20px; }
}
/*------*/

/*---button---*/
.btns .btn_more{ margin: 5px;}
.btn_more{ position: relative; display: inline-block; color: #FFF; min-width: 140px; text-align: center; padding: 0 30px; border-radius: 25px; background: #015CEC; border: solid 1px #015CEC; box-sizing: border-box; vertical-align: middle;
	font: 400 18px/48px 'Noto Sans TC', sans-serif; letter-spacing: 1px;
	transition: 200ms ease;
}
.btn_more:hover, .btn_more:focus{ color: #015CEC; border: solid 1px #015CEC; background: #FFF;}
.btn_more.sm{ min-width: 100px; padding: 0 20px; font: 400 16px/30px sans-serif; letter-spacing: 0;}
@media only screen and (max-width: 1200px) {
	.btn_more{ padding: 0 20px;}
}
@media only screen and (max-width: 576px) {
	.btn_more{ min-width: 100px; }
}
/*------*/

/*---to_top---*/
.to_top{ position: fixed; cursor: pointer; bottom: -50px; right: 20px; width: 40px; height: 40px; line-height: 40px; text-align: center; background: #015CEC; border: solid 1px #FFF; border-radius: 24px; color: #FFF; font-size: 16px; z-index: 100;
	transition: 300ms ease;
}
.to_top:hover{ background: #E8662B; color: #FFF;}
.to_top.ed{ bottom: 80px; }
/*------*/

/*---alert_box---*/
.alert_box{ position:fixed; top:-100%; left:0; width:100%; height:100%; overflow:auto; -webkit-overflow-scrolling: touch; opacity:0; z-index: 3000; pointer-events: none;
	transition: 500ms ease;
}
.alert_box.on{ top:0; opacity:1; }
.alert_box .txt{ position: absolute; width: 300px ; padding: 20px; z-index:10; box-sizing: border-box; color: #FFF; top: 10px; right: 10px; border-radius: 10px;
	background: #e26862;
}
.alert_box .fa{ font-size: 18px; margin-right: 10px;}
/*------*/

/*---path---*/
#path{ position: fixed; top: 60px; left: 0; z-index: 200; width: 100%; background: rgba(20, 80, 165, 0.9); color: #FFF; padding: 5px; font-size: 14px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);}
#path .inner-width{ display: flex; overflow: auto;}
#path .inner-width>*{ white-space: nowrap; }
#path .inner-width>*+*::before{ margin-left: -10px; margin-right: 10px;
	font-family: "FontAwesome"; content: "\f0da";
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
#path i{ padding: 0 4px 0 0;}
#path a{ padding: 0 10px; color: #FFF;}
#path span{ padding: 0 10px;}
#path b{ padding: 0 10px;}
/*------*/

/* =============================================================================
   MODULE END
   ========================================================================== */

/* =============================================================================
   BLOCK
   ========================================================================== */
#wrapper { position: relative; z-index: 1; width: 100%; margin:auto; top:0; overflow:hidden;}
#content { position: relative; padding-top: 60px;}
body.bc2 #content { padding-top: 60px; }
/* =============================================================================
   BLOCK END
   ========================================================================== */

/* =============================================================================
   HEADER
   ========================================================================== */
#header { position:fixed; z-index:1000; width:100%; left:0; }
#header::before { position:absolute; display: block; content: ''; z-index:-1; width:100%; top:0; left:0; height: 60px;
	background: rgba(18, 49, 201, 0.95);
	-webkit-backdrop-filter: blur(10px) saturate(150%);
	backdrop-filter: blur(20px) saturate(150%);
	transition: 300ms ease;
}
#header>.inner-width{ display: flex; justify-content: flex-end; align-items: center; height: 60px;
	transition: 300ms ease;
}
@media only screen and (max-width: 992px) {
	#header>.inner-width{ margin: 0;}	
}
/*---logo---*/
.logo { position: absolute; top: 15px; left: 0;
	transition: 300ms ease;
}
.logo a { height: 24px; display: flex; justify-content: space-between; }
.logo b { display: block;
	transition: 300ms ease;
}
.logo b img { height: 100%;}
.logo span{ font-size: 14px; color: #FFF; line-height: 28px; margin-left: 10px;}
@media only screen and (max-width: 992px) {
	.logo { top: 15px; left: 20px;}
}
/*------*/

/*---top_menu---*/
.top_menu{ box-sizing: border-box; z-index: 2; flex: 0 0 auto;
	transition: 500ms ease;
}
	.top_menu ul{ list-style:none; margin:0; box-sizing: border-box; text-align: right;}
	.top_menu>ul>li{ position: relative; display: inline-block; }
	.top_menu>ul>li>a{ position:relative; display:block; font-size: 1rem; color:#FFF; padding:0 1em; margin: 0 ; min-width: 120px; text-align: center; line-height: 40px;
		transition: 500ms ease;
	}
	.top_menu>ul>li.s2>a{ background: #FFF; color: #015CEC; border-radius: 20px;}
	.top_menu>ul>li>a span{ display: none;}
	.top_menu>ul>li>a::before{
		position: absolute; bottom: -2px; left: 50%; display: block; content: ''; width: 0%; height: 4px; background: #FFF; border-radius: 2px;
		transition: 500ms ease;
	}
	.top_menu>ul>li>a:hover{ background: #4E40CF; color: #FFF;}
	.top_menu>ul>li>a:hover b{ display: none;}
	.top_menu>ul>li>a:hover span{ display: block;}

	.top_menu>ul>li.s3>a{ background: #FFF; color: #015CEC; border-radius: 20px; min-width: inherit; width: 40px; line-height: 40px; padding: 0; margin: 0 5px; }
	.top_menu>ul>li.s3>a i{ font-size: 24px;}

	.top_menu>ul>li.s3>a::before{display: none;}
	.top_menu>ul>li.s3>a:hover{ background: #4E40CF; color: #FFF;}

@media only screen and (max-width: 992px) {
	/*MENU*/
	.menu_btn{ position: absolute; top:0; right:0; display:block; width:50px; height:60px; z-index:3000; cursor: pointer;} 
	.menu_btn>div{ position:absolute; width:24px; height:2px; background: #FFF; left:12px; transition: 0.2s ease-in; }
	.menu_btn.on>div{ background: #CCC;}
	.menu_btn .m1{ top:20px;}
	.menu_btn .m2{ top:28px;}
	.menu_btn .m3{ top:36px;}
	.menu_btn:hover .m1,.menu_btn:hover .m2,.menu_btn:hover .m3{ width:24px;}
	.menu_btn.on .m1{ top:29px; width: 24px; transform: rotateZ(45deg) }
	.menu_btn.on .m2{ opacity: 0; width:0; left:50%;}
	.menu_btn.on .m3{ top:29px; width: 24px; transform: rotateZ(-45deg); }
	.top_menu{ background: #222; position:fixed; top:0 !important; left: initial; right:-100% !important; width:240px;  z-index:100; height: 100%; box-sizing: border-box; letter-spacing: 0.1em; overflow: auto;
		transition: 500ms ease-in;
		-webkit-backdrop-filter: blur(20px) saturate(150%);
		backdrop-filter: blur(20px) saturate(150%);
	}
	.top_menu ul{ list-style:none; margin:0; padding:60; width:100%; display:block; box-sizing: border-box; transition: 500ms ease-in;}
	.top_menu>ul{ padding:60px 10px; }
	.top_menu ul>li{ display: block; border-left:none; float: none; margin: 0;}
	.top_menu>ul>li { display: block; float: none; border-top: solid 1px #666;}
	.top_menu>ul>li:first-child{ border: none;}
	.top_menu>ul>li>a{ margin: 5px 0; padding:10px; line-height: 1.2em; }
	.top_menu>ul>li.s3>a{ margin: 15px; position: absolute; top: 0; left: 0; width: 32px; line-height: 32px; color: #333;}
	.top_menu>ul>li.s3{ position: static;}

	.top_menu>ul>li>a:hover::before, .top_menu>ul>li.on>a::before, .top_menu>ul>li.cur>a::before { bottom: 0; }
	.top_menu.on{ right:0 !important; }
	.top_menu_mask{ display:block; position:fixed; top:0; left:100%;; width:100%; height:100%; z-index:0; opacity:0; background: rgba(0,0,0,0.8); transition: opacity 500ms ease-in; }
	.top_menu_mask.on{ left:0; opacity:1; z-index: 2;}
}
/*------*/

/* =============================================================================
   HEADER END
   ========================================================================== */


/* =============================================================================
   FOOTER
   ========================================================================== */
#footer { position:relative; padding: 20px 0; background: #4E40CF; z-index: 200; }
#footer .info { padding: 20px; color: #FFF; background: #262626;}
#footer .info p{ color: #FFF;}
#footer .foot_menu{ position: relative; padding: 10px 0;}
#footer .foot_menu ul{ margin: 0; list-style: none; display: flex; justify-content: center;}
#footer .foot_menu ul li a{ display: block; padding: 5px 10px; margin: 0 5px; color: #FFF; border: solid 1px transparent; border-radius: 4px; white-space: nowrap;
	transition: 500ms ease;
}
#footer .foot_menu ul li a:hover{ background: #015CEC}
#footer .copyright { padding: 20px; color: #FFF; font: 400 13px/20px 'Noto Sans TC', sans-serif; text-align: center;}
#footer .copyright a{ display: inline-block; color: #FFF; text-decoration: underline;}
#footer .attention {display: block; text-align: center; flex: 0 0 50%; }
#footer .attention a{ display: inline-block; width: 40px; height: 40px; line-height: 40px; text-align: center; border-radius: 50%; font-size: 24px; color: #FFF; margin: 0 10px;
	transition: 300ms ease;
}
#footer .attention a img{ display: inline-block; width: 24px; vertical-align: middle; margin-top: -4px; filter: invert(100%) sepia(0%) saturate(2303%) hue-rotate(338deg) brightness(111%) contrast(99%);}
#footer .attention a:hover{ color: #4E40CF; background: #FFF;}
#footer .attention a:hover img{ filter: invert(24%) sepia(74%) saturate(2730%) hue-rotate(239deg) brightness(83%) contrast(94%); }
@media only screen and (max-width: 992px) {
	#footer>.inner-width{ flex-wrap: wrap;}
	#footer .copyright { flex: 0 0 100%; }
	#footer .attention { flex: 0 0 100%; padding: 0 0 20px 0;}
	#footer .attention { text-align: center;}
	#footer .copyright { text-align: center;}
}
@media only screen and (max-width: 576px) {
	#footer .copyright span{ display: block; font-size: 12px; line-height: 1.8em;}
	#footer .foot_menu ul{ justify-content: start; overflow: auto;}
}
   /* =============================================================================
	  FOOTER END
	  ========================================================================== */

/*---top_banner---*/
.top_banner { position: relative;}
.top_banner .bg{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: url(../images/banner_bg1.svg) no-repeat; background-position: bottom center; background-size: cover;
	-webkit-animation: bounce 7s ease-in-out alternate ;
	animation: bounce 7s ease-in-out infinite alternate;
}
@keyframes bounce {
	0%{left:-40%; width: 140%;}
	100%{left:0;  width: 100%;}
} 
.top_banner .swiper{width:100%;height:100%; overflow: hidden;}
.top_banner .swiper-slide img{display:block; width:100%;}
.top_banner .swiper-pagination-bullets { bottom:10px;left:0;width:100%;}
.top_banner .swiper-pagination-bullet{ background: #D9D9D9; border: solid 0.5px #FFF; width: 12px; height: 12px;}
.top_banner .pic{ position: relative; left: calc(50% - 80px); width: 50%; margin: 40px; height: 80vh; min-height: 400px;}
.top_banner .txt{ position: absolute; top: 30%; left: 15%; width: 500px; z-index: 1; padding: 20px; }
.top_banner .txt .title{ position: relative; display: inline-block; font: 700 24px/1.1em 'Noto Sans TC',sans-serif; color: #4E40CF; margin: 0 30px; padding: 0 5px; background: #FFF; z-index: 1;}
.top_banner .txt .con{ display: inline-block; font: 700 50px/1.1em 'Noto Sans TC',sans-serif; color: #122FC9; padding: 10px 30px; border: solid 4px #4E40CF; margin-top: -15px; border-radius: 20px; margin-bottom: 10px;}
.top_banner .txt p{ font: 500 14px/1.5em 'Noto Sans TC',sans-serif; color: #666; }
@media only screen and (max-width: 1600px) {
	.top_banner .txt{ left: 10%; }
}
@media only screen and (max-width: 1200px) {
	.top_banner .txt{ left: 4%; }
	.top_banner .pic{ height: 420px; }
	.top_banner .txt .con{ font: 700 30px/1.1em 'Noto Sans TC',sans-serif; }
}
@media only screen and (max-width: 720px) {
	.top_banner .pic{ left: 0; width: 100%; margin: 0; height: 400px; }
	.top_banner .txt{ position: relative; top: -100px; left: 0; width: 100%; text-align: center;}
	.top_banner .txt .con{ background: #FFF;}
}
/*------*/

/*---top_banner---*/
.page_banner { position: relative; }
.page_banner .pic{ position: relative; height: 320px; background-position: center bottom !important;}
.page_banner .txt{ position: absolute; top: 20%; left: 0; width: 100%; z-index: 1; padding: 20px; }
.page_banner .txt .title{ font: 700 24px/1.1em 'Noto Sans TC',sans-serif; color: #4E40CF; }
.page_banner .txt .con{ font: 700 50px/1.1em 'Noto Sans TC',sans-serif; color: #122FC9; }
@media only screen and (max-width: 992px) {
	.page_banner .pic{ height: 240px; }
	.page_banner .txt{ top: 25%; }
	.page_banner .txt .title{ font: 700 18px/1.1em 'Noto Sans TC',sans-serif; }
	.page_banner .txt .con{ font: 700 30px/1.1em 'Noto Sans TC',sans-serif; }
}
@media only screen and (max-width: 576px) {
	.page_banner .pic{ background-position: 70% bottom !important;}
}
/*------*/

/*---bg_box---*/
.bg_box{ position: relative; }
.bg_box .bg{ position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.bg_box .bg.bc0{ background: #FFF;}
.bg_box .bg.bc1{ width: 98%; left: 0; border-radius: 0 60px 60px 0; background: #f2f2f2;}
.bg_box .bg.bc2{ width: 98%; left: 2%; border-radius: 60px 0 0 60px; background: #f2f2f2;}
.bg_box .bg.bc3{ background: url(../images/box_bg.svg) no-repeat bottom;  top: inherit; bottom: 0; background-size: 100% auto;}
@media only screen and (max-width: 992px) {
	.bg_box .bg.bc1{ border-radius: 0 40px 40px 0; }
	.bg_box .bg.bc2{ border-radius: 40px 0 0 40px; }
}
/*------*/

/*---about_box---*/
.about_box{ position: relative; padding: 80px 0;}
.about_box .pic img{ max-width: 100%;}
.about_box .txt .con{ margin-bottom: 20px;}
.about_box .txt .con.w p{ color: #FFF;}
.colc{ display: flex; flex-direction: column; justify-content: center;}
.about_box .cover{ position: relative; display: block; width: 100%;  padding: 0 0 56.25% 0; overflow: hidden; border-radius: 5px;}
.about_box .cover .pic{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.about_box .cover_bottom{ margin-bottom: -22px; pointer-events: none; }
.about_box .cover_bottom img{ max-width: 100%;}
.about_box .cover_bottom img::selection{ background: none;}
@media only screen and (max-width: 1200px) {

	.about_box .txt { padding: 10px;}
}
@media only screen and (max-width: 992px) {
	.about_box{ padding: 40px 0;}
}
/*------*/

/*---sol_box---*/
.sol_box{ position: relative; padding: 80px 0;}
.sol_box .list{ position: relative; overflow: hidden; padding: 40px 0; display: flex; flex-wrap: wrap;}
.sol_box .list .item{ position: relative; flex: 0 0 calc(100% / 3 - 80px); margin: 0 40px;}
.sol_box .list .item .pic{ position: relative; padding: 0 0 100% 0; margin-bottom: 20px;}
.sol_box .list .item .txt{ text-align: center;}
.sol_box .list .item .txt .title{ font-size: 16px; line-height: 1.4em; height: 2.8em; font-weight: 500; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow: hidden; color: #333;}
.sol_box .list .item .txt .con{ font-size: 14px; line-height: 1.4em; }
@media only screen and (max-width: 992px) {
	.sol_box{ padding: 40px 0; }
	.sol_box .list{ flex-wrap: nowrap; margin: 0 -25px; overflow: auto;}
	.sol_box .list .item{ flex: 0 0 calc(90% / 3 ); margin: 0 30px;}
	.sol_box .list .item:last-child{ flex: 0 0 calc(90% / 3 + 40px ); padding-right: 40px;}
}
@media only screen and (max-width: 576px) {
	.sol_box .list .item{ flex: 0 0 60%; margin: 0 20px;}
	.sol_box .list .item:last-child{ flex: 0 0 calc(60% + 25px ); padding-right: 25px;}
}
/*------*/

/*---par_box---*/
.par_box{ position: relative; padding: 80px 0;}
.par_box .swiper-container{animation:line-slide 60s forwards infinite linear;}
.par_box .swiper-wrapper{-webkit-transition-timing-function:linear !important;transition-timing-function:linear !important;position:relative;}
.par_box .list .item{ display: block; margin: 10px; background: #015CEC; border-radius: 80px; padding: 40px;}
.par_box .list .item:nth-child(odd){ background: #4E40CF;}
.par_box .list .item .pic{ width: 100px; height: 100px; border-radius: 50px; overflow: hidden; float: left;}
.par_box .list .item .con{ position: relative; color: #FFF; padding: 0 20px; margin-bottom: 30px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow: hidden;}
.par_box .list .item .con::before{ display: block; content: '“'; position: absolute; top: 0; left: 0; font-size: 40px; font: 700 30px/1.1em 'Montserrat Alternates', sans-serif; color: #FF9878;}
.par_box .list .item .con::after{ display: block; content: '”'; position: absolute; bottom: -15px; right: 0; font-size: 40px; font: 700 30px/1.1em 'Montserrat Alternates', sans-serif; color: #FF9878;}
.par_box .list .item .name{ color: #FFF; padding-top: 20px;}
.par_box .list .item .name b{ display: block; text-align: right; font: 700 30px/1.1em 'Montserrat Alternates', sans-serif; color: #FF9878; }
.par_box .list .item .name span{ display: block; text-align: right; font-size: 14px; }
.par_box .fx{ position: absolute; bottom: 0; right: 0; z-index: -1; pointer-events: none;}
.par_box .fx img{ display: block;}
.par_box .fx img::selection{ background: none;}

@keyframes line-slide {
	0% {
		background-position: -5% 0;
	}
	100% {
		background-position: 100% 0;
	}
}
@media only screen and (max-width: 992px) {
	.par_box{ padding: 40px 0;}
}
/*------*/

/*---case_box---*/
.case_box{ position: relative; padding: 80px 0;}
.case_box .list{ position: relative; overflow: hidden; padding: 40px 0; display: flex; flex-wrap: wrap; max-width: 800px; margin: 0 auto;}
.case_box .list.col4 { max-width: inherit;}
.case_box .list .item{ position: relative; flex: 0 0 calc(100% / 4 - 60px); margin: 10px 30px;}
.case_box .list.col4 .item{ flex: 0 0 calc(100% / 4 - 60px); margin: 10px 30px;}
.case_box .list .item .pic{ position: relative; padding: 0 0 100% 0; margin-bottom: 5px; border-radius: 50%;}
.case_box .list .item .name{ font-size: 16px; line-height: 1.4em; height: 2.8em; text-align: center; margin-bottom: 20px; font-weight: 500; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow: hidden; color: #FFF;}
@media only screen and (max-width: 992px) {
	.case_box{ padding: 40px 0;}
	.case_box .list .item{ flex: 0 0 calc(100% / 3 - 60px); margin: 10px 30px;}
	.case_box .list.col4 .item{ flex: 0 0 calc(100% / 4 - 40px); margin: 10px 20px;}
}
@media only screen and (max-width: 576px) {
	.case_box .list .item{ flex: 0 0 calc(100% / 2 - 40px); margin: 20px;}
	.case_box .list.col4 .item{ flex: 0 0 calc(100% / 2 - 20px); margin: 10px;}
}
/*------*/

/*---inner_box---*/
.inner_box{ position: relative; padding: 60px 0;}
.inner_box .form_name{ display: inline-block; min-width: 170px;}
.inner_box .cover img{ object-fit: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.inner_box .edit blockquote { background: #f2f2f2;}
.inner_box .edit p{ font: 400 15px/2em sans-serif; margin-bottom: 1em; text-align: justify;}
.inner_box .edit ul, .inner_box .edit ol{ margin-bottom: 1em;}
.inner_box .edit li{ font: 400 15px/2em sans-serif; }
.inner_box .edit p strong{ color: #114287;}
.inner_box td{ font: 400 15px/2em sans-serif; }
.inner_box a.video {  display: flex; justify-content: center; align-items: center;}
.inner_box a.video::before{ content: ''; display: block; padding-bottom: 56.35%;}
.inner_box a.video::after{ display: block; position: absolute; color:#FFF; opacity: 1; z-index: 2; width: 48px; height: 48px; line-height: 48px; text-align: center; font-size: 48px;
	font-family: "FontAwesome"; content: "\f144";
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
	transition: 500ms ease-in-out;	
	text-shadow: 0 0 0 10px rgba(0,0,0,0.2);
}
.inner_box a.video:hover::after{ opacity: 0.2;}
.inner_box a.video .pic{ width: 100%; padding-bottom: 56.25%;}
.inner_box #content{ padding-top: .375rem !important;}
@media only screen and (max-width: 992px) {
	.inner_box .edit blockquote { padding: 15px; text-align: justify;}
	.inner_box{ padding: 40px 0;}
	.tab_scroll table{ min-width: 600px;}
	.tab_scroll{ overflow: auto;}
}
/*------*/

/*---pho_list---*/
.pho_list{ position: relative; margin:0 -10px; display: flex; flex-wrap: wrap;}
.pho_list a{ position: relative; flex: 0 0 calc( 100% / 3 - 20px); margin: 10px; overflow: hidden; background: #333; border-radius: 4px;}
.pho_list.col4 a{ flex: 0 0 calc( 100% / 4 - 20px); }
.pho_list a figure{ position: absolute; display: block; z-index: 1; bottom: 0; left: 0; width: 100%; box-sizing: border-box; background: rgba(0,0,0,0); color: #FFF; padding: 5px; text-align: center; opacity: 0; font-size: 0.9em;
	transition: 500ms ease-in-out;
}
.pho_list a img{ position: absolute; top: 0%; left: 0%; width: 100% !important; height: 100% !important; object-fit: cover;}
.pho_list a::before{ content: ''; display: block; position: relative; color:#FFF; opacity: 0; z-index: 2; top: 0%; left:0%; width: 100%; padding-bottom: 100%; background: #333;
	transition: 500ms ease-in-out;	
}
.pho_list a.paper::before{ padding-bottom: 140%;}
.pho_list a::after{ display: block; position: absolute; color:#FFF; opacity: 0; z-index: 2; top: 50%; left:50%; margin: -16px 0 0 -16px ; width: 32px; height: 32px; line-height: 32px; text-align: center; font-size: 1.2em;
	font-family: "FontAwesome"; content: "\f00e";
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
	transition: 500ms ease-in-out;	
	text-shadow: 0 0 0 10px rgba(0,0,0,0.2);
}
.pho_list a:hover figure{ background: rgba(0,0,0,0.6); opacity: 1;}
.pho_list a:hover::before{ opacity: 0.4;}
.pho_list a:hover::after{ opacity:1;}
@media only screen and (max-width: 992px) {
	.inner_box .form_name{ display: block; min-width: inherit;}
	.pho_list a{ position: relative; flex: 0 0 calc( 100% / 2 - 20px); }
	.pho_list.col4 a{ position: relative; flex: 0 0 calc( 100% / 2 - 20px); }
}
/*------*/

/*---list element---*/
.tag_list{ position:relative; z-index: 10; display: flex; flex-wrap: wrap;}
.tag_list.postl{ position: absolute; top:0; left: 0; padding: 5px;}
.tag_list.postr{ position: absolute; top:0; right: 0; padding: 5px;}
.tag_list .item{ font-size: 13px; background: #CCC; padding: 0 8px; line-height: 20px; color: #FFF; border-radius: 4px; margin: 2px;}
.tag_list .item.c1{ background: #F64953;}
.tag_list .item.c2{ background: #F67349;}
.tag_list .item.c3{ background: #a03ce2;}
.tag_list .item.c4{ background: #C28978;}
.tag_list .item.big{ font-size: 16px; line-height: 2em;}
/*------*/

/*---share_bar---*/
.share_bar{ position: relative;}
.share_bar.postr{ position: absolute; top: 0; right:0; }
.share_bar .title{ font-size: 12px; color: #ccc; padding: 0 5px;}
.share_bar .items { display: flex; }
.share_bar.postr .items{ justify-content: flex-end; }
.share_bar.postr .title{ text-align: right;}
.share_bar .items a{ color: #1C54A2; text-align: center; display: flex; justify-content: center; align-items: center; font-size: 18px; width: 38px; height: 38px; border-radius: 20px; margin: 0;}
.share_bar .items a i{ font-size: 20px; vertical-align: text-top; margin: -1px 0 0 0;}
.share_bar .items a.line img{ width: 20px; vertical-align: text-top; margin: -1px 0 0 0;}
.share_bar .items a.fb:hover{ background: #3B5998;}
.share_bar .items a.tw:hover{ background: #1EA2F2;}
.share_bar .items a.line:hover{ background: #00B901;}
.share_bar .items a:hover{ color: #FFF;}
.share_bar .items a.line img{ filter: invert(23%) sepia(90%) saturate(1455%) hue-rotate(200deg) brightness(87%) contrast(90%);}
.share_bar .items a.line:hover img{ filter: invert(100%) sepia(84%) saturate(0%) hue-rotate(200deg) brightness(105%) contrast(102%);}
/*------*/

/*---filter_menu---*/
.filter_menu{ position: relative; margin-bottom: 40px;}
.filter_menu ul{ list-style: none; margin: 0; display: flex; flex-wrap: wrap; justify-content: center;}
.filter_menu a{ display: block; padding:0 30px; margin: 5px; color: #1C54A2; border-radius: 4px; font: 500 15px/40px sans-serif; white-space: nowrap; border: solid 1px #1C54A2;
	transition: background 300ms ease;
}
.filter_menu a:hover{ background: #666; color: #FFF;}
.filter_menu a.on{ background: #1C54A2; color: #FFF;}
.filter_menu .active a{ background: #1C54A2; color: #FFF;}
.filter_menu .form-select {
	text-align: center;
	padding: 0 20px;
	-moz-padding-start: calc(0.75rem - 3px);
	font-size: 1rem;
	font-weight: 400;
	line-height: 40px;
	color: #FFF;
	background-color: #1C54A2;
	background-image: url(../images/sel_arr.svg);
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 16px 12px;
	border: none;;
	border-radius: 4px;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
@media only screen and (max-width: 992px) {
	.filter_menu a{ padding:0 15px;}
}
@media only screen and (max-width: 576px) {
	.filter_menu{ margin-bottom: 20px;}
}
/*------*/

/*---faq_box---*/
.faq_box { position: relative; padding: 60px 0;}
.faq_box .list { counter-reset: my-badass-counter my-badass-counter2;}
.faq_box .faq_title { position: relative; display: block; font-size: 16px; color: #000; padding: 10px 40px 10px 40px; border-bottom: solid 1px #CCC; cursor: pointer;}

	.faq_box .faq_title .tag{ display: inline-block; line-height: 20px; padding: 0 5px; margin: 0 5px; color: #FFF; background: #b50105; border-radius: 4px; font-size: 12px;}
	.faq_box .faq_title.on { border: none; }
	.faq_box .faq_title:hover { background: rgba(200, 200, 252005, 0.3); }
	.faq_box .faq_title:after { position: absolute; top: 10px; right: 10px; font-size: 24px; color: #CCC; margin: 0 5px 0 0; content: "\f107"; font-family: FontAwesome; font-style: normal; font-weight: normal; text-decoration: inherit;
		transition: 500ms ease
	}
	.faq_box .faq_title.on:after { transform:rotate(180deg) }
	.faq_box .faq_title:before { position: absolute; top: 2px; left: 10px; font:400 30px/1.4em 'Share', sans-serif; color: #122FC9; content: 'Q';}
.faq_box .faq_txt { position: relative; font-size: 15px; color: #666; padding: 0 20px 0 40px; border-bottom: solid 1px #f2f2f2; overflow: hidden; max-height: 0; transition: 500ms linear; }
	.faq_box .faq_txt:before { position: absolute; top: 5px; left: 10px; font:400 30px/1.4em 'Share', sans-serif; color: #4E40CF; content: 'A'; }
	.faq_box .faq_txt.on { max-height: 3000px; padding: 10px 20px 20px 40px; }
	.faq_box .faq_txt.on { border-bottom: solid 1px #CCC;}
	.faq_box .faq_txt img{ max-width: 100%; margin: 10px 0;}

.faq_box .w .faq_title { color: #FFF;}
.faq_box .w .faq_txt { color: #FFF;}
.faq_box .w .faq_title:before { color: #FFF;}
.faq_box .w .faq_txt:before { color: #FFF;}
.faq_box .w .faq_txt a{ color: #ffda73;}


@media only screen and (max-width: 992px) {
	.faq_box { padding: 40px 0;}
}
@media only screen and (max-width: 576px) {
	
}		
/*------*/

/*===POPUP===*/
/*---pop_box---*/
.pop_box{ position:fixed; top:0%; left:0; width:100%; height:100%; overflow:auto; -webkit-overflow-scrolling: touch; z-index:1000; display: none;}
.pop_box.on{ top:0; opacity:1;}
.pop_box .mask{  position: fixed; top:0%; left:0; width:100%; height:100%; z-index:1; background:rgba(0,0,0,.8); background-size: cover; opacity:1;
	transition: 800ms ease;
}
	/*close_btn*/
	.pop_box .close_btn{ position: relative; width:48px; text-align:center; z-index:10; margin: 20px auto; cursor: pointer; background: #333;
		transition: border-radius 300ms ease, background 300ms ease, transform 300ms ease;
	}
	.pop_box .close_btn.in{ position: absolute; top: 0; right: 0; margin: 0;}
	.pop_box .close_btn.fixed{ position: fixed; top: -44px; right: -44px; margin: 0; background: rgba(0, 0, 0, 0.2);}
	.pop_box .close_btn img{ display: block; max-width:100%; margin: 8px;}
	.pop_box .close_btn:hover{ border-radius: 24px; }
	.pop_box .close_btn.in:hover{ border-radius: 0 0 0 24px; transform: translateY(-2px);}

	.pop_box.on .close_btn.fixed{ top: 6px; right: 8px;  opacity: 0.8;
		stroke: #4f4f4f;
		stroke-width: 1px;
		fill: #f2f2f2;
	}
	.pop_box.on .close_btn.fixed:hover{ opacity: 1;
		fill: #FFF;
	}

	.form-label{ font-size: 15px; margin-bottom: 0.2rem;}

	/*pop_txt*/
	.pop_box .pop_txt{ position: relative; max-width:520px; margin:20vh auto; z-index:10; box-sizing: border-box; }
	.pop_box .pop_txt.inner{ background:#FFF; margin: 80px auto; border-radius: 10px; overflow: hidden;}
	.pop_box .pop_txt.xxl{ max-width: 1200px; margin: 80px auto;}
	.pop_box .pop_txt.xl{ max-width: 1000px; margin: 80px auto;}
	.pop_box .pop_txt.lg{ max-width: 720px; margin: 80px auto;}
	.pop_box .pop_txt.sm{ max-width: 480px; margin: 80px auto;}

	.pop_box .pop_txt .pop_title{ position: relative; height: 200px; display: flex; justify-content: center; align-items: center;}
	.pop_box .pop_txt .pop_title .bg{ position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: -1;}
	.pop_box .pop_txt .pop_title .name{ font:500 30px/1.4em 'Noto Sans TC', sans-serif; color: #FFF;}
	.pop_box .pop_txt .pop_title.sm{  height: 60px; background: #3290B5;}
	.pop_box .pop_txt p{font-size: 14px;}
	.pop_box .pop_txt li{font-size: 14px;}
	.pop_box .pop_txt .cover { position: relative; height: 240px;}


	.pop_box .pop_txt .cover_lg { position: relative; max-height: 364px; }
	.pic_lg{ position: absolute; width:  calc(100% + 20px); height: calc(100% + 20px); margin-top: -40px; margin-left: -40px; overflow: hidden;}
	.pic_lg img{ position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; object-fit: cover;}

	/*view*/
	.pop_box .view{ position: relative; padding: 40px;}
	
.pop_box .pop_txt.vi{ display: flex; align-items: center; height: calc(100vh - 160px);}
.pop_box .box{ display: block;}
.pop_box .video { position: relative; width: 100%; border-radius: 10px; overflow: hidden;}
.pop_box .video::before{ content: ''; display: block; padding-bottom: 56.25%;}
.pop_box .video iframe{ position: absolute; top: 0; left: 0; display: none; width: 100%; height: 100%;}

.pop_box.on .video iframe{ display: block;}


@media only screen and (max-width: 1200px) {
	.pop_box .pop_txt.xxl{ margin: 80px 0;}
	.pop_box .pop_txt.xxl.vi{ margin: 80px 20px;}
}
@media only screen and (max-width: 992px) {
	.pop_box .pop_txt.xl{ margin: 80px 0;}
	.pop_box .view{padding:20px;}
}@media only screen and (max-width: 720px) {
	.pop_box .pop_txt.lg{ margin: 80px 0;}
}
@media only screen and (max-width: 576px) {
	.pop_box .pop_txt .pop_title .name{ font:500 16px/1.4em 'Noto Sans TC', sans-serif; }
	.pop_box .pop_txt.sm{ margin: 80px 0; max-width: 576px;}

	.pop_box .pop_txt .cover_lg { position: relative; max-height: inherit; }

	.pic_lg{ position: relative;  display: block; width: calc( 100% + 60px); margin:-20px -20px 20px -20x;}
	.pic_lg img{ position: relative; width: calc(100%+ 40) ; margin:-20px 0 20px -20x;}
}	
/*------*/

/* =============================================================================
   INNER LAYOUT
   ========================================================================== */

/*---EDITOR---*/
.edit img{ max-width: 100%; height: auto !important;}
.edit iframe{ max-width: 100%;}
.edit .text{ padding: 3rem;}
.edit h2{ color: #015CEC;}
.edit hr { opacity: .15;}
.edit p { line-height: 1.8em;}
.edit ul{ margin-bottom: 1em;}

/*---text img---*/
.pic_br20{ display: block; overflow: hidden; border-radius: 20px;}
.pic_center{ display: block; max-width: 100%; margin: 0 auto 20px; padding: 0 0 20px 0; text-align: center; }
.pic_center img{ width: 100%; max-width: 500px; height: auto;}
.pic_center figure{ display: block; text-align: left; color: #333; padding: 10px;}
.pic_center.col2 { overflow: auto;}
.pic_center.col2 a{ width:calc(50% - 20px); max-width: none; margin: 0 10px; float: left;}
.pic_left{ display: block; float:left; margin: 0 40px 20px 0; max-width: 45%; }
.pic_left img{ display: block; width: 100%; height: auto;}
.pic_right{ display: block; float:right; margin: 0 0 20px 40px; max-width: 45%; }
.pic_right img{ display: block; width: 100%; height: auto;}
.pic_full{ display: block; max-width: 100%; margin: 0 auto 2em; text-align: center;}
.pic_full img{ width: 100%; max-width: 1600px; height: auto;}
.pic_full figure{ display: block; text-align: left; color: #333; }
.pic_2col{ position: relative; display: flex; margin: 0 -20px; padding: 0 10px;}
.pic_2col>a{ position: relative; display: block; flex: 0 1 50%; margin: 10px;}
.pic_2col>a img{ position: absolute; top: 0%; left: 0%; width: 100% !important; height: 100% !important; object-fit: cover;}
.pic_2col>a::before{ content: ''; display: block; padding-bottom: 75%;}
.pic_3col{ position: relative; display: flex; margin: 0 -20px; padding: 0 10px;}
.pic_3col>a{ position: relative; display: block; flex: 0 1 50%; margin: 10px;}
.pic_3col>a img{ position: absolute; top: 0%; left: 0%; width: 100% !important; height: 100% !important; object-fit: cover;}
.pic_3col>a::before{ content: ''; display: block; padding-bottom: 75%;}
@media only screen and (max-width: 992px) {
	.edit .text{ padding: 2rem;}
}
@media only screen and (max-width: 720px) {
	.pic_right{ float:none; margin: 0 0 20px 0; max-width: 100%; width: 100%; }
	.pic_left{ float:none; margin: 0 0 20px 0; max-width: 100%; width: 100%; }
	.edit .text{ padding: 1rem;}
}
/*------*/
/* =============================================================================
   INNER LAYOUT END
   ========================================================================== */

/*---RWD---*/
.desk-show { display: block !important;}
.desk-ib-show{ display: inline-block !important;}
.mobile-show { display: none !important; }
.peload{ opacity:0; transition: opacity 2000ms 3000ms ease;}
.peload.ed{ opacity:1;}
.pehide.ed{ display:none;}
.phone_btn{ display: none;}
.mobile_menu{ display: none;}
@media only screen and (max-width: 720px) {
	.desk-show { display: none!important;}
	.desk-ib-show{ display: none !important;}
	.mobile-show { display: block!important;}
}