@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:#FFF; background-size: 100%; }
body, th, td, input { font-size: 100%; }
a { text-decoration: none; color: #1450A5;}
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:#FFF9F4;}
	body.pc::-webkit-scrollbar-thumb{ background:#3290B5; }
	body.pc::-webkit-scrollbar-thumb:hover{ background:#3290B5; }
/*------*/

/*---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: #102B4C;}
.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;}
}
@media only screen and (max-width: 576px) {
	.inner-width { margin: auto 20px;}
	.txt-width { margin: auto 20px;}
}
/*------*/

/*---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;}
.title_bar .title b{ display: block; font: 700 30px/1.2em 'Noto Sans TC', sans-serif;}
.title_bar .title span{ display: block; font:600 16px/1.2em 'Noto Sans TC', sans-serif; color: #1450A5;}

@media only screen and (max-width: 576px) {
	
}
/*------*/

/*---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: #1C54A2; border: solid 1px #1C54A2; 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: #1C54A2; border: solid 1px #1C54A2; 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: #1C54A2; 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: 70px; }
/*------*/

/*---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;}
/* =============================================================================
   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(20, 80, 165, 0.8);
	-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: 10px; left: 0;
	transition: 300ms ease;
}
.logo a { height: 40px; display: flex; justify-content: space-between; }
.logo b { display: block;
	transition: 300ms ease;
}
.logo b img { height: 100%;}
.logo span { font: 700 22px/40px 'Noto Sans TC', sans-serif; letter-spacing: 1px; color: #FFF; margin-left: 10px;}
@media only screen and (max-width: 992px) {
	.logo { left: 10px;}
}
/*------*/

/*---top_menu---*/
.top_menu{ box-sizing: border-box; z-index: 2; flex: 0 0 auto; margin-right: 60px;
	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; line-height: 60px;
		transition: 500ms ease;
	}
	.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.on>a{  background: #114287; }
	.top_menu>ul>li>a:hover{ background: #114287;}

	.top_menu .submenu{ position: absolute; top: 60px; left: 0; background: #114287; min-width: 100px; overflow: hidden; max-height: 0; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
		transition: max-height 500ms ease-in-out;
	}
		.top_menu .on .submenu{ max-height: 500px;}
		.top_menu .submenu ul{ padding: 10px;}
		.top_menu .submenu ul>li + li{  border-top: solid 1px rgba(255, 255, 255, 0.2);}
		.top_menu .submenu a{ position: relative; display: block; text-align: left; color: #FFF; padding: 10px 1em; line-height: 24px; margin:0; font-size: 16px; white-space:nowrap;
			transition: 500ms ease;
		}
		.top_menu .submenu a:hover, .top_menu ul.submenu a:focus{ background: #FFF; color: #222;}
@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; margin-right: 0;
		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>a:hover::before, .top_menu>ul>li.on>a::before, .top_menu>ul>li.cur>a::before { bottom: 0; }
	.top_menu>ul>li.submenuhead.on { height: auto; }
	.top_menu .submenu{ position: relative; top: 0; left: inherit; right: inherit; width:auto; overflow: auto; margin-bottom: 5px;}
	.top_menu .submenu ul { border-bottom: none; }
	.top_menu .submenu li a{ text-align: center;}
	.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;}
}
/*------*/

/*---nav---*/
.nav{ display: flex; list-style:none; margin:0; box-sizing: border-box; position: absolute; top: 10px; right: 10px;
	transition: top 300ms ease;
}
.nav>li{ position: relative;}
.nav>li>a{ position: relative; display: flex; width: 40px; height: 40px; line-height: 40px; border-radius: 20px; margin: 0 2px; transition: 300ms ease; font-size: 22px; justify-content: center; align-items: center; color: #FFF;}
.nav>li>a img{ width: 20px; }
.nav>li>a span{ display: none;}
.nav>li>a:hover, .nav>li>a.on{ color: #FFF; background: #114287;}
/*------*/

@media only screen and (max-width: 992px) {
	.nav{ right: 50px;}
}

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


/* =============================================================================
   FOOTER
   ========================================================================== */
#footer { position:relative; padding: 0; background: #1C54A2; z-index: 200; }
#footer .info { padding: 20px; color: #FFF; background: #262626;}
#footer .info p{ color: #FFF;}
#footer .copyright { padding: 20px; color: #FFF; font: 400 13px/20px 'Noto Sans TC', sans-serif; }
#footer .copyright a{ display: inline-block; color: #FFF; text-decoration: underline;}
@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 END
	  ========================================================================== */

/*---top_banner---*/
.top_banner .swiper{width:100%;height:100%;}
.top_banner .swiper-slide img{display:block; width:100%;}
.top_banner .swiper-pagination-bullets { bottom:0;left:0;width:100%;}
.top_banner .swiper-pagination-bullet{ background: #D9D9D9; border: solid 0.5px #FFF; width: 12px; height: 12px;}
.top_banner { position: relative; overflow: hidden;}
.top_banner .pic{ position: relative; height: 65vh; min-height: 400px;}
.top_banner .txt{ position: absolute; bottom: 0; left: 0; width: 100%; z-index: 1; padding: 20px; }
.top_banner .txt .title{ font: 700 16px/1.1em 'Noto Sans TC',sans-serif; color: #000; text-align: right;}
.top_banner .txt .con{ font: 700 30px/1.1em 'Noto Sans TC',sans-serif; color: #114287; text-align: right;}
@media only screen and (max-width: 992px) {
	.top_banner .pic{ height:30vh; min-height: inherit;}
	.top_banner .txt{ bottom: 10px; }
}
@media only screen and (max-width: 896px) {
	.top_banner .pic{ height:50vh; min-height: 300px;}
}
@media only screen and (max-width: 576px) {
	.top_banner .pic{ height:24vh; min-height: 120px;}
}
/*------*/

/*---top_banner---*/
.page_banner .swiper{width:100%;height:100%;}
.page_banner .swiper-slide img{display:block; width:100%;}
.page_banner .swiper-pagination-bullets { bottom:10px;left:0;width:100%;}
.page_banner .swiper-pagination-bullet{ background: #D9D9D9; border: solid 0.5px #FFF; width: 12px; height: 12px;}
.page_banner { position: relative; overflow: hidden;}
.page_banner .pic{ position: relative; height: 300px;}
.page_banner .txt{ position: absolute; bottom: 0; left: 0; width: 100%; z-index: 1; padding: 20px; }
.page_banner .txt .title{ font: 700 16px/1.1em 'Noto Sans TC',sans-serif; color: #000; text-align: right;}
.page_banner .txt .con{ font: 700 30px/1.1em 'Noto Sans TC',sans-serif; color: #114287; text-align: right;}
/*------*/


/*---bg_box---*/
.bg_box{ position: relative; overflow: hidden;}
.bg_box .bg{ position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%;}
.bg_box .bg.bc1{ background: #3290B5;}
.bg_box .bg.bc2{ background: #3290B5 url(../images/box_bg2.jpg) no-repeat; background-size: cover;
	top: -400px;
	height: calc( 100% + 400px);
}
/*------*/

/*---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 .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%; }
@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;}
.sol_box .swiper-pagination-bullets{ bottom: 0;}
.sol_box .swiper-pagination-bullet{ background: #D9D9D9; border: solid 0.5px #FFF; width: 12px; height: 12px;}
.sol_box .list .item{ position: relative;}
.sol_box .list .item .pic{ position: relative; border-radius: 50%; padding: 0 0 calc(100% - 4px) 0; border: solid 2px #FFF; margin-bottom: 20px;}
.sol_box .list .item .txt{ text-align: center;}
.sol_box .list .item .txt .title{ font-size: 20px; line-height: 1.4em; height: 2.8em; margin-bottom: 20px; font-weight: 500; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow: hidden;}
.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;}
}
@media only screen and (max-width: 576px) {
	.sol_box .inner-width{ margin: 0;}
	.sol_box .title_bar{ text-align: center;}
}
/*------*/

/*---news_box---*/
.news_box{ position: relative; padding: 80px 0;}
.news_box .list{ position: relative;}
.news_box .list>ul{ list-style:none; margin:0; box-sizing: border-box; }
.news_box .list>ul>li{ position: relative; display: block;
	transition: background 300ms ease;
}
.news_box .list>ul>li+li{ border-top: solid 1px #CCC;}
.news_box .list>ul>li a{ display: block; padding: 10px;}
.news_box .list>ul>li a .date{ font-size: 14px;}
.news_box .list>ul>li a .title{ color: #222; font-size: 18px; font-weight: 700; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow: hidden;}
.news_box .list>ul>li:hover{ background: #f2f2f2;}

@media only screen and (max-width: 992px) {
	
}
/*------*/

/*--tra_box---*/
.tra_box{ position: relative; padding: 80px 0;}

@media only screen and (max-width: 992px) {
	
}
/*------*/

/*---inner_box---*/
.inner_box{ position: relative; padding: 60px 0;}
.inner_box .cover{ position: relative;;}
.inner_box .cover::before{ content: ''; display: block; padding-bottom: 56.25%;}
.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 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%;}
@media only screen and (max-width: 992px) {
	.inner_box .edit blockquote { padding: 15px; text-align: justify;}
	.inner_box{ padding: 40px 0;}
	.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) {

	.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: #1450A5; 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 .title { position: relative; display: block; font-size: 18px; color: #000; padding: 10px 40px 10px 80px; border-bottom: solid 1px #CCC; cursor: pointer;}
	.faq_box .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 .title.on { border: none; }
	.faq_box .title:hover { background: #f2f2f2; }
	.faq_box .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 .title.on:after { transform:rotate(180deg) }
	.faq_box .title:before { position: absolute; top: 2px; left: 10px; font:400 30px/1.4em 'Share', sans-serif; color: #222; content: 'Q' counter(my-badass-counter); counter-increment: my-badass-counter;}
.faq_box .txt { position: relative; font-size: 16px; color: #666; padding: 0 20px 0 80px; border-bottom: solid 1px #f2f2f2; overflow: hidden; max-height: 0; transition: 500ms linear; }
	.faq_box .txt:before { position: absolute; top: 5px; left: 10px; font:400 30px/1.4em 'Share', sans-serif; color: #e26862; content: 'A' counter(my-badass-counter2); counter-increment: my-badass-counter2; }
	.faq_box .txt.on { max-height: 3000px; padding: 10px 20px 20px 80px; }
	.faq_box .txt.on { border-bottom: solid 1px #CCC;}
@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: #3290B5;}
.edit hr { opacity: .15;}

/*---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;}
}