﻿@charset "utf-8";

html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}

main {
	display: block;
}

body {
	font: 62.5%/1 "PingFang TC", "微軟正黑體", "Microsoft JhengHei", Arial, Helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body.font-size-5 {
	font-size: 70.5%;
}

body.font-size-4 {
	font-size: 66.5%;
}

body.font-size-3 {
	font-size: 62.5%;
}

body.font-size-2 {
	font-size: 58.5%;
}

body.font-size-1 {
	font-size: 54.5%;
}

@media screen and (max-width:990px) {
	body.font-size-5,
	body.font-size-4,
	body.font-size-2,
	body.font-size-1 {
		font-size: 62.5%;
	}
}

/* 修正粗體 */
@font-face {
	font-family: "微軟正黑體修正";
	unicode-range: U+7db0, U+78A7, U+7B75; /* ASCII (碧筵綰) */
	font-style: normal;
	font-weight: bold;
	src: local(Yu Gothic), local(MS Gothic);
}
/* 一般粗細的時候改回微軟正黑 */
@font-face {
	font-family: "微軟正黑體修正";
	unicode-range: U+7db0, U+78A7, U+7B75; /* ASCII (碧筵綰) */
	font-style: normal;
	font-weight: normal;
	src: local("微軟正黑體");
}

a {
	color: #00479d;
	text-decoration: none;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

a:hover,
a:focus {
	color: #C73F00;
	text-decoration: none;
}

a,
button,
textarea,
select,
input {
	-webkit-appearance: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

/** Layout **/
#wrapper {
	width: 100%;
	margin: 0 auto;
}

.noscript {
	display: block;
	width: 100%;
	font-size: 1.5em;
	line-height: 120%;
	padding: 20px 0px;
	margin: 0 auto;
	box-sizing: border-box;
	background: #ffe5e6;
}

.hide-panel {
	display: none !important;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}

.sr-only-focusable {
	position: fixed;
	top: 0;
	left: 0;
	color: #000;
	opacity: 0;
	z-index: 9999;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
	color: #FFF;
	font-size: 1.2em;
	padding: 5px 10px;
	opacity: 1;
	background: rgba(0,0,0,.7);
}

.acKey,
.acKey a {
	color: transparent;
	font-size: 0.8rem;
}

.acKey:hover,
.acKey:focus,
.acKey a:hover,
.acKey a:focus {
	color: #D60000;
}

.container {
	width: 100%;
	margin: 0 auto;
}

@media screen and (max-width:990px) {
	.pc-mode {
		display: none !important;
	}

	.container {
		width: calc(100% - 50px);
	}
}

@media screen and (max-width:768px) {
	.container {
		width: calc(100% - 40px);
	}
}

@media screen and (min-width:991px) {
	.sp-mode {
		display: none !important;
	}

	.container {
		width: calc(100% - 80px);
	}
}

@media screen and (min-width:1280px) {
	.container {
		max-width: 1200px;
	}
}

@media screen and (min-width:1600px) {
	.container {
		max-width: 1600px;
	}
}

/** header **/
#header {
	position: relative;
	display: block;
	width: 100%;
	min-height: 60px;
	background: #FFF;
	margin: 0 auto;
	box-sizing: border-box;
	z-index: 99;
}

#header .container {
	width: calc(100% - 40px);
	max-width: 100%;
}

#header.sp-flex {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
}

#header.sp-flex.flex {
	position: fixed;
	-webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
	-moz-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
	box-shadow: 0 5px 10px rgba(0,0,0,0.2);
}

#header.sp-show,
#header.sp-show.flex {
	position: relative;
	margin-bottom: -60px;
}

#header .logo {
	position: absolute;
	left: 20px;
	top: 12.5px;
}

#header .logo a {
	display: block;
	width: 153px;
	height: 0;
	padding-bottom: 35px;
	background: url(../images/logo.svg) no-repeat 0 50%;
	background-size: contain;
}

@media screen and (min-width:991px) {
	#header {
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}

	#header.flex {
		position: fixed;
		left: 0;
		top: 0;
		padding-top: 0;
		background: #FFF;
		animation: header 0.5s ease 1;
		z-index: 99;
		-webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
		-moz-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
		box-shadow: 0 5px 10px rgba(0,0,0,0.2);
	}

	#header .logo {
		top: 22.5px;
	}

	#header .logo a {
		width: 16vw;
		padding-bottom: 3.7vw;
	}

	#header.flex .logo {
		top: 12.5px;
	}

	#header.flex .logo a {
		width: 153px;
		padding-bottom: 35px;
	}
}

@media screen and (min-width:1040px) {
	#header .logo {
		top: 17.5px;
	}

	#header .logo a {
		width: 197px;
		padding-bottom: 45px;
	}
}

@media screen and (min-width:1280px) {
	#header .logo {
		top: 15px;
	}

	#header .logo a {
		width: 240px;
		padding-bottom: 55px;
	}

	#header.flex .logo a {
		width: 175px;
		padding-bottom: 40px;
	}
}

@media screen and (min-width:1400px) {
}

@media screen and (min-width:1600px) {
	#header .container {
		width: calc(100% - 80px);
	}

	#header .logo {
		left: 40px;
		top: 15px;
	}

	#header.flex .logo {
		left: 40px;
	}

	#header .logo a {
		width: 262px;
		padding-bottom: 60px;
	}

	#header.flex .logo a {
		width: 197px;
		padding-bottom: 45px;
	}
}


/* ----- topHead ----- */
#topHead {
	position: relative;
	width: 100%;
	text-align: right;
	z-index: 2;
	transition: all 0.4s ease;
}

#topHead .container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

#header.flex #topHead .container {
	justify-content: flex-end;
}

#topHead .headGroup {
	position: inherit;
	width: 100%;
	padding-right: 10px;
}

@media screen and (max-width:990px) {
	#topHead .container {
		width: 100%;
		position: relative;
		max-width: 100%;
	}
}

@media screen and (min-width:991px) {
	#topHead {
		width: 100%;
		display: block;
	}

	#header.flex #topHead #addon {
		display: none;
		transform: translate3d(0, -120px, 0);
		visibility: hidden;
	}

	#topHead .headGroup {
		width: 100%;
		transition: all 0.4s ease;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: flex-end;
		box-sizing: border-box;
		padding-right: 65px;
	}

	#header.flex #topHead .headGroup {
		padding: 0 80px 0 160px;
	}
}

@media screen and (min-width:1024px) {
	#topHead .headGroup {
		padding-right: 0;
	}

	#header.flex #topHead .headGroup {
		padding: 0 0 0 160px;
	}
}

@media screen and (min-width:1280px) {
	#topHead .headGroup {
		padding-right: 70px;
	}

	#header.flex #topHead .headGroup {
		min-height: 65px;
		padding: 0 100px 0 200px;
	}
}

@media screen and (min-width:1400px) {
	#header.flex #topHead .headGroup {
		padding: 0 120px 0 200px;
	}
}

@media screen and (min-width:1600px) {
	#topHead .headGroup {
		padding-right: 90px;
	}

	#header.flex #topHead .headGroup {
		min-height: 70px;
		padding: 0 140px 0 220px;
	}
}

/* ----- addon ----- */
#addon {
	width: 100%;
}

#addon-sp {
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	text-align: center;
}

#addonLink {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#addonLink > ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

#addonLink > ul > li {
	box-sizing: border-box;
	display: flex;
	align-items: center;
}

#addonLink > ul > li > a {
	color: #fff;
	font-size: 1.5em;
	text-align: center;
	font-weight: bold;
	box-sizing: border-box;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	line-height: 30px;
	background-color: #0e43a1;
	overflow: hidden;
	border-radius: 50px;
	position: relative;
}

#addonLink > ul > li > a > span {
	display: inline-block;
}

#addonLink > ul > li > a::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-color: #ffffff;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

#addonLink > ul > li > a.ico1::before {
	mask-image: url(../images/addon_ico1.svg);
	-webkit-mask-image: url(../images/addon_ico1.svg);
}

#addonLink > ul > li > a.ico2 {
	background-color: #13408e;
}

#addonLink > ul > li > a.ico2::before {
	mask-image: url(../images/addon_ico2.svg);
	-webkit-mask-image: url(../images/addon_ico2.svg);
}

#addonLink > ul > li > a.ico3 {
	background-color: #193c7a;
}

#addonLink > ul > li > a.ico3::before {
	mask-image: url(../images/addon_ico3.svg);
	-webkit-mask-image: url(../images/addon_ico3.svg);
}

#addonLink > ul > li > a.ico4 {
	width: auto;
	white-space: nowrap;
	padding: 0 10px;
}

#addonLink > ul > li > a.ico4::before {
	mask-image: url(../images/addon_ico4.svg);
	-webkit-mask-image: url(../images/addon_ico4.svg);
}

#addonLink > ul > li > a.ico5,
#addonLink > ul > li > a.ico6 {
	background-color: #1f3865;
}

#addonLink > ul > li > a.ico5::before {
	mask-image: url(../images/addon_ico5.svg);
	-webkit-mask-image: url(../images/addon_ico5.svg);
}

#addonLink > ul > li > a.ico6::before {
	mask-image: url(../images/addon_ico6.svg);
	-webkit-mask-image: url(../images/addon_ico6.svg);
}

#addonLink > ul > li > a.ts-on {
	background-color: #ef7d31;
}

#addonLink > ul > li > a:hover,
#addonLink > ul > li > a:focus {
	background-color: #ef7d31;
}

#addonLink > ul > li > a:hover::before,
#addonLink > ul > li > a:focus::before {
	background-color: #ffffff;
}

@media screen and (max-width:990px) {
	#addon-sp {
		width: 100%;
	}

	#addon-sp #addonLink > ul {
		width: 100%;
	}

	#addonLink > ul > li {
		width: 25%;
		border-right: 1px solid rgba(255,255,255,.3);
	}

	#addonLink > ul > li:nth-child(1),
	#addonLink > ul > li:nth-child(4),
	#addonLink > ul > li:nth-child(5) {
		display: none;
	}

	#addonLink > ul > li:last-child {
		border-right: none;
	}

	#addonLink > ul > li > a {
		width: 100%;
		height: 50px;
		border-radius: 0;
	}

	#addonLink > ul > li > a.ico2 {
		background-color: #1f3865;
	}

	#addonLink > ul > li > a:hover,
	#addonLink > ul > li > a:focus {
		color: #fff100;
	}

	#addonLink > ul > li > a::before,
	#addonLink > ul > li > a::before {
		display: none;
	}
}

@media screen and (min-width:991px) {
	#addon {
		width: auto;
		margin-top: 10px;
	}

	#addonLink > ul {
		margin-right: 0;
	}

	#addonLink > ul > li {
		width: auto;
	}

	#addonLink > ul > li + li {
		margin-left: 5px;
	}

	#addonLink > ul > li > a {
		font-size: 1.3em;
	}

	#addonLink > ul > li > a.show,
	#addonLink > ul > li > a:hover,
	#addonLink > ul > li > a:focus {
		width: auto;
		white-space: nowrap;
		padding: 0 10px;
	}

	#addonLink > ul > li > a.show {
	}

	#addonLink > ul > li > a.show::before,
	#addonLink > ul > li > a:hover::before,
	#addonLink > ul > li > a:focus::before {
		margin-right: 5px;
	}

	#addonLink > ul > li > a > span {
		display: none;
	}

	#addonLink > ul > li > a.ico4 > span {
		position: relative;
		display: inline-block;
		width: auto;
		height: auto;
	}

	#addonLink > ul > li > a.show > span,
	#addonLink > ul > li > a:hover > span,
	#addonLink > ul > li > a:focus > span {
		position: relative;
		display: inline-block;
		width: auto;
		height: auto;
	}
}

@media screen and (min-width:1280px) {
}

@media screen and (min-width:1400px) {
}


/* ----- lang_area ----- */
.lang_area {
	position: relative;
	width: 120px;
}

.lang_area > a {
	position: relative;
}

.lang_area .lanNav {
	width: 100%;
}

.lang_area .lanNav li {
	padding: 0;
	list-style: none;
	box-sizing: border-box;
}

.lang_area .lanNav li a {
	display: block;
	width: 100%;
	color: #FFF;
	font-size: 1.5em;
	line-height: 50px;
	text-align: center;
	font-weight: bold;
	white-space: nowrap;
	padding: 0 10px;
	background-color: #1f3865;
	box-sizing: border-box;
}

.lang_area .lanNav li a:hover,
.lang_area .lanNav li a:focus {
	color: #fff100
}

@media screen and (max-width:990px) {
	.lang_area {
		width: 75% !important;
		border: none !important;
	}

	.lang_area > a {
		display: none !important;
	}

	.lang_area .lanNav {
		display: flex;
		flex-wrap: wrap;
	}

	.lang_area .lanNav li {
		display: flex;
		width: 33.333%;
		align-items: center;
		box-sizing: border-box;
	}

	.lang_area .lanNav li + li {
		border-left: 1px solid rgba(255,255,255,.3);
	}
}

@media screen and (min-width:991px) {
	.lang_area .lanNav {
		display: none;
		position: absolute;
		top: 30px;
		left: 50%;
		height: inherit;
		z-index: 100;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}

	.lang_area .lanNav li {
		padding-top: 5px;
	}

	.lang_area .lanNav li a {
		color: #000;
		font-size: 1.3em;
		line-height: 30px;
		background: #FFF;
		-webkit-border-radius: 50px;
		-moz-border-radius: 50px;
		border-radius: 50px;
		-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
		-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
		box-shadow: 0 0 5px rgba(0,0,0,0.5);
	}

	.lang_area .lanNav li a:hover,
	.lang_area .lanNav li a:focus {
		color: #A40000
	}

	.lang_area .lanNav li a span {
		display: none;
	}

	.lang_area .lanNav.show li a span {
		position: relative;
		display: inline-block;
		width: auto;
		height: auto;
	}

	.lang_area .lanNav li a.on {
		color: #fff;
		background: linear-gradient(75deg, #295da6 0%,#149ecc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	}
}

@media screen and (min-width:1280px) {
}

@media screen and (min-width:1600px) {
}

@media screen and (min-width:1920px) {
}


/* ----- searchZone ----- */
.searchZone {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	text-align: center;
	margin: 0 auto;
	z-index: 2;
}

.searchZone .searchTag {
	position: absolute;
	top: 8px;
	right: 60px;
	display: inline-block;
	box-sizing: border-box;
	z-index: 99;
}

.searchZone .searchTag a {
	display: inline-block;
	width: 44px;
	height: 44px;
	transition: all 0.4s ease;
}

.searchZone .searchTag a span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.searchZone .searchTag a span em {
	position: relative;
	width: 23px;
	height: 23px;
	background: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.searchZone .searchTag a.open span em::before {
	position: absolute;
	display: block;
	content: '';
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	border: 2px solid #000;
	box-sizing: border-box;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	-webkit-transition: -webkit-transform .2s;
	transition: transform .2s;
}

.searchZone .searchTag a.open span em::after {
	position: absolute;
	display: block;
	content: '';
	right: 2px;
	bottom: 0;
	width: 2px;
	height: 9px;
	background: #000;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	-webkit-transition: -webkit-transform .2s;
	transition: transform .2s;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.searchZone .searchTag a.close {
	display: none;
}

.searchZone .searchTag a.close span em::before,
.searchZone .searchTag a.close span em::after {
	display: block;
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 26px;
	height: 2px;
	margin-left: -13px;
	margin-top: -1px;
	background: #000;
}

.searchZone .searchTag a.close span em::before {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.searchZone .searchTag a.close span em::after {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.searchZone .search {
	position: absolute;
	top: 60px;
	display: none;
	width: 100%;
	padding: 20px 0;
	background: linear-gradient(to right, rgba(21,65,153,0.85) 0%,rgba(33,155,166,1) 99%,rgba(33,155,166,1) 100%);
	box-sizing: border-box;
}

.searchZone form {
	width: 100%;
}

.searchZone .box {
	position: relative;
	width: 100%;
	background: none;
	box-sizing: border-box;
	margin: 0 auto;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}

.searchZone .search-txt {
	width: 100%;
	color: #FFF;
	font-family: "微軟正黑體", Microsoft JhengHei, Helvetica, sans-serif;
	font-size: 1.7em;
	line-height: 50px;
	padding: 0 55px 0 10px;
	border: none;
	border-bottom: 2px solid #FFF;
	box-sizing: border-box;
	background: none;
}

.searchZone .search-txt:focus,
.searchZone .search-txt:hover {
	background-color: rgba(255,255,255,0.15);
}

.searchZone .search-txt[placeholder] {
	color: #fff;
}

.searchZone .search-txt::-webkit-input-placeholder {
	color: #fff;
}

.searchZone .search-txt:-moz-placeholder {
	color: #fff;
}

.searchZone .search-txt::-moz-placeholder {
	color: #fff;
}

.searchZone .search-txt:-ms-input-placeholder {
	color: #fff;
}

.searchZone .search-btn {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 50px;
	height: 50px;
	font-size: 0;
	padding: 0;
	margin: 0;
	border: none;
	cursor: pointer;
	background: none;
}

.searchZone .search-btn span {
	float: left;
	width: 100%;
	height: 100%;
}

.searchZone .search-btn span em {
	position: relative;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	width: 26px;
	height: 26px;
	margin: 12px auto;
	display: block;
}

.searchZone .search-btn span em::before {
	position: absolute;
	display: block;
	content: '';
	left: 0;
	top: 0;
	height: 20px;
	width: 20px;
	border: 3px solid #FFF;
	box-sizing: border-box;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
}

.searchZone .search-btn span em::after {
	position: absolute;
	display: block;
	content: '';
	left: 15px;
	top: 18px;
	width: 10px;
	height: 3px;
	background: #FFF;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.searchZone .search-btn:hover span em::before,
.searchZone .search-btn:focus span em::before {
	border-color: #fff100;
}

.searchZone .search-btn:hover span em::after,
.searchZone .search-btn:focus span em::after {
	background-color: #fff100;
}

.searchZone .keyWd {
	width: 100%;
	max-width: 1720px;
	color: #fff100;
	font-size: 1.5em;
	line-height: 27px;
	text-align: left;
	margin: 10px auto 0 auto;
	box-sizing: border-box;
}

.searchZone .keyWd a {
	display: inline-block;
	color: #FFF;
	text-decoration: none;
	vertical-align: top;
	margin: 0 5px 0 0;
}

.searchZone .keyWd a:hover,
.searchZone .keyWd a:focus {
	color: #fff100;
}

@media screen and (max-width:990px) {
	.searchZone .searchTag a {
		overflow: hidden;
	}

	.searchZone .searchTag a strong {
		position: absolute;
		display: block;
		width: 1px;
		height: 1px;
		visibility: hidden;
	}

	.searchZone .search {
		padding: 20px;
	}
}

@media screen and (min-width:991px) {
	.searchZone {
		top: 15px;
	}

	#header.flex .searchZone {
		top: 10px;
	}

	.searchZone .searchTag {
		top: 0;
		right: 20px;
	}

	.searchZone .search {
		padding: 16px 0;
		top: 65px;
		right: 0;
		width: 100%;
	}

	#header.flex .searchZone .search {
		top: 55px;
	}

	.searchZone .search-txt {
		font-size: 2em;
	}

	.searchZone .keyWd {
		margin-top: 20px;
		font-size: 1.7em;
	}
	/**/
	.searchZone .searchTag a {
		width: 50px;
		height: 50px;
		color: #fff;
		padding: 0;
		font-size: 1.6em;
		display: flex;
		align-items: center;
		white-space: nowrap;
		background: #004097;
		border-radius: 100px;
	}

	#header.flex .searchZone .searchTag a {
		width: 40px;
		height: 40px;
	}

	#header.flex .searchZone .searchTag a strong {
		visibility: hidden;
		display: block;
		width: 1px;
		height: 1px;
		display: block;
		position: absolute;
	}

	#header .searchZone .searchTag a strong {
		width: 1px;
		height: 1px;
		display: block;
		overflow: hidden;
		position: absolute;
	}

	.searchZone .searchTag a span em {
		width: 17px;
		height: 17px
	}

	.searchZone .searchTag a.open span em::before {
		width: 15px;
		height: 15px;
		border-color: #FFF;
	}

	.searchZone .searchTag a.open span em::after {
		right: 1px;
		height: 6px;
		background: #FFF;
	}

	.searchZone .searchTag a.close span em::before,
	.searchZone .searchTag a.close span em::after {
		width: 20px;
		margin-left: -10px;
		background: #FFF;
	}
}

@media screen and (min-width:1280px) {
	.searchZone {
		top: 15px;
	}

	#header.flex .searchZone {
		top: 10px;
	}

	.searchZone .searchTag a {
		width: 55px;
		height: 55px;
	}

	#header.flex .searchZone .searchTag a {
		width: 45px;
		height: 45px;
	}

	.searchZone .search {
		top: 70px;
	}
}

@media screen and (min-width:1400px) {
}

@media screen and (min-width:1600px) {
	.searchZone .searchTag {
		right: 40px;
	}

	.searchZone .searchTag a {
		width: 60px;
		height: 60px;
	}

	#header.flex .searchZone .searchTag a {
		width: 50px;
		height: 50px;
	}

	.searchZone .search {
		top: 75px;
		right: 0;
	}

	#header.flex .searchZone .search {
		top: 60px;
	}
}


/** main **/
#main {
	width: 100%;
	margin: 0 auto;
}

/** footer **/
#footer {
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0 auto;
}

#footer .fat-footer {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

#footer .trigger {
	position: absolute;
	left: 50%;
	width: 120px;
	text-align: center;
	margin-left: -60px;
	z-index: 2;
	display: none;
}

#footer .fat-footer > .trigger {
	bottom: 0;
	margin-bottom: -10px;
}

#footer .fat-nav .trigger {
	bottom: calc(100% - 10px);
}

#footer .trigger a {
	position: relative;
	display: inline-block;
	width: 120px;
	height: 50px;
	color: #fff;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	overflow: hidden;
	margin: 0 auto;
	z-index: 1;
}

#footer .trigger a:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 20px;
	width: 100px;
	height: 100px;
	margin-left: -50px;
	background-color: #1a1a1a;
	z-index: -1;
	transform: rotate(45deg);
	border-radius: 15px;
}

#footer .trigger a.open-Panell:before {
	background-color: #fff;
	-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2);
	-moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

#footer .trigger a.open-Panell:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 9px;
	background-color: #fff;
}

#footer .trigger a:hover,
#footer .trigger a:focus {
	color: #fff45c;
}

#footer .trigger a.open-Panell {
	color: #1a1a1a;
}

#footer .trigger a.open-Panell:hover,
#footer .trigger a.open-Panell:focus {
	color: #ffa032;
}

#footer .trigger a.open-Panell span,
#footer .trigger a.close-Panell span {
	position: absolute;
	bottom: 0;
	display: block;
	width: 100%;
	margin: 0 auto;
	z-index: 2;
}

#footer .trigger a.open-Panell span:before {
	content: "";
	position: absolute;
	display: block;
	width: 10px;
	height: 10px;
	top: -15px;
	left: 50%;
	margin-left: -5px;
	border-left: 2px solid #1a1a1a;
	border-top: 2px solid #1a1a1a;
	box-sizing: border-box;
	transition: all 0.3s ease;
	transform: rotate(45deg);
}

#footer .trigger a.open-Panell:hover span:before,
#footer .trigger a.open-Panell:focus span:before {
	border-color: #ffa032;
}

#footer .trigger a.close-Panell span:before,
#footer .trigger a.close-Panell span:after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 14px;
	top: -16px;
	left: 50%;
	border: none;
	margin-left: -1px;
	background-color: #fff;
	transform: rotate(45deg);
}

#footer .trigger a.close-Panell span:after {
	transform: rotate(-45deg);
}

#footer .trigger a.close-Panell:hover span:before,
#footer .trigger a.close-Panell:focus span:before,
#footer .trigger a.close-Panell:hover span:after,
#footer .trigger a.close-Panell:focus span:after {
	background-color: #fff45c;
}

#footer .fotBot {
	width: 100%;
	padding: 30px 0;
	background: #fff;
	-webkit-box-shadow: 0 0 15px rgba(0,0,0,0.2);
	-moz-box-shadow: 0 0 15px rgba(0,0,0,0.2);
	box-shadow: 0 0 15px rgba(0,0,0,0.2);
}

@media screen and (max-width:990px) {
	#footer .fotBot {
		padding: 20px 0;
	}
}


/* ----- fat-nav ----- */
.fat-nav {
	position: relative;
	width: 100%;
	margin: 0 auto;
	z-index: 1;
	background-color: #1a1a1a;
}

.fat-nav .container > ul {
	display: flex;
	flex-wrap: wrap;
	padding: 30px 0;
	list-style: none;
	letter-spacing: -9px;
	margin: 0 -10px;
}

.fat-nav .container > ul > li {
	display: inline-block;
	width: 12%;
	letter-spacing: 0;
	padding: 20px 10px;
	box-sizing: border-box;
	vertical-align: top;
}

.fat-nav .container > ul > li > strong,
.fat-nav .container > ul > li > a {
	position: relative;
	display: inline-block;
	color: #91c8ff;
	font-size: 2.1em;
	font-weight: bold;
	line-height: 130%;
}

.fat-nav .container > ul > li > a:hover,
.fat-nav .container > ul > li > a:focus {
	color: #fff100;
}

.fat-nav .container > ul > li > ul {
	list-style: none;
}

.fat-nav .container > ul > li > ul > li {
	margin-top: 10px;
}

.fat-nav .container > ul > li > ul > li.navTit > a {
	display: inline-block;
	color: #ccc;
	font-size: 2em;
	line-height: 130%;
	padding-left: 0;
	font-weight: 700;
}

.fat-nav .container > ul > li > ul > li.navTit > a {
	display: inline-block;
	color: #ccc;
	font-size: 2em;
	line-height: 130%;
	padding-left: 0;
}

.fat-nav .container > ul > li > ul > li + li.navTit > a {
	margin-top: 15px;
}

.fat-nav .container > ul > li > ul > li > a,
.fat-nav .container > ul > li > ul > li > ul > li > a,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a {
	position: relative;
	display: inline-block;
	color: #ccc;
	font-size: 1.7em;
	line-height: 130%;
	padding-left: 20px;
	box-sizing: border-box;
}

.fat-nav .container > ul > li > ul > li a:hover,
.fat-nav .container > ul > li > ul > li a:focus {
	color: #fff100;
}

.fat-nav .container > ul > li > ul > li > a.dropBtn span:before,
.fat-nav .container > ul > li > ul > li > a.dropBtn span:after,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn span:before,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn span:after {
	content: "";
	position: absolute;
	display: block;
	width: 10px;
	height: 2px;
	top: 10px;
	left: 4px;
	border: none;
	background-color: #ccc;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	;
}

.fat-nav .container > ul > li > ul > li > a.dropBtn span:after,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn span:after {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}

.fat-nav .container > ul > li > ul > li > a.dropBtn.open span:before,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn.open span:before {
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}

.fat-nav .container > ul > li > ul > li > a.dropBtn.open span:after,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn.open span:after {
	-webkit-transform: rotate(225deg);
	-ms-transform: rotate(225deg);
	transform: rotate(225deg);
}

.fat-nav .container > ul > li > ul > li > a.dropBtn:hover span:before,
.fat-nav .container > ul > li > ul > li > a.dropBtn:focus span:before,
.fat-nav .container > ul > li > ul > li > a.dropBtn:hover span:after,
.fat-nav .container > ul > li > ul > li > a.dropBtn:focus span:after,
.fat-nav .container > ul > li > ul > li > a.dropBtn.open:hover span:before,
.fat-nav .container > ul > li > ul > li > a.dropBtn.open:focus span:before,
.fat-nav .container > ul > li > ul > li > a.dropBtn.open:hover span:after,
.fat-nav .container > ul > li > ul > li > a.dropBtn.open:focus span:after,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn:hover span:before,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn:focus span:before,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn:hover span:after,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn:focus span:after,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn.open:hover span:before,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn.open:focus span:before,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn.open:hover span:after,
.fat-nav .container > ul > li > ul > li > ul > li > a.dropBtn.open:focus span:after {
	background-color: #fff100;
}

.fat-nav .container > ul > li > ul > li > a.link:after,
.fat-nav .container > ul > li > ul > li > a.download:after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	border: 0;
	margin-left: 7px;
	vertical-align: middle;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #ccc;
	opacity: .5;
	-webkit-mask-size: 15px 15px;
	mask-size: 15px 15px;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.fat-nav .container > ul > li > ul > li > a.link:after {
	-webkit-mask-image: url(../images/nav-icon-link.svg);
	mask-image: url(../images/nav-icon-link.svg);
}

.fat-nav .container > ul > li > ul > li > a.download:after {
	-webkit-mask-image: url(../images/nav-icon-download.svg);
	mask-image: url(../images/nav-icon-download.svg);
}

.fat-nav .container > ul > li > ul > li > a.link:hover:after,
.fat-nav .container > ul > li > ul > li > a.link:focus:after,
.fat-nav .container > ul > li > ul > li > a.download:hover:after,
.fat-nav .container > ul > li > ul > li > a.download:focus:after {
	background-color: #fff100;
}

.fat-nav .container > ul > li > ul > li > ul,
.fat-nav .container > ul > li > ul > li > ul > li > ul {
	list-style: none;
	height: 0;
	padding-left: 15px;
	visibility: hidden;
	opacity: 0;
	overflow: hidden;
}

.fat-nav .container > ul > li > ul > li.navTit {
	display: block;
}

.fat-nav .container > ul > li > ul > li.navTit > ul {
	height: inherit;
	visibility: visible;
	opacity: 1;
	overflow: inherit;
	padding-left: 0;
}

.fat-nav .container > ul > li > ul > li > ul.focu-show,
.fat-nav .container > ul > li > ul > li > ul > li > ul.focu-show {
	height: inherit;
	opacity: 1;
	visibility: visible;
	overflow: inherit;
}

.fat-nav .container > ul > li > ul > li > ul > li,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li {
	margin-top: 10px;
}

.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn),
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 1.6em;
	line-height: 125%;
	padding-left: 1em;
}

.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn):before,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a:before {
	content: '';
	display: block;
	position: absolute;
	left: 3px;
	top: 9px;
	width: 5px;
	height: 2px;
	background: #fff;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn):hover,
.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn):focus,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a:hover,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a:focus {
	color: #fff100;
}

.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn):hover:before,
.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn):focus:before,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a:hover:before,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a:focus:before {
	background: #fff100;
}

.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn).link:after,
.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn).download:after,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a.link:after,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a.download:after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	border: 0;
	margin-left: 7px;
	vertical-align: middle;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #fff;
	opacity: .5;
	-webkit-mask-size: 15px 15px;
	mask-size: 15px 15px;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn).link:after,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a.link:after {
	-webkit-mask-image: url(../images/nav-icon-link.svg);
	mask-image: url(../images/nav-icon-link.svg);
}

.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn).download:after,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a.download:after {
	-webkit-mask-image: url(../images/nav-icon-download.svg);
	mask-image: url(../images/nav-icon-download.svg);
}

.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn).link:hover:after,
.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn).link:focus:after,
.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn).download:hover:after,
.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn).download:focus:after,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a.link:hover:after,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a.link:focus:after,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a.download:hover:after,
.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a.download:focus:after {
	background-color: #fff100;
}

@media screen and (max-width:990px) {
	.fat-nav .container > ul {
		margin: 0 -15px;
	}

	.fat-nav .container > ul > li {
		width: 25%;
		padding: 20px 15px;
	}

	.fat-nav .container > ul > li.laws > strong {
		width: 100%;
	}

	.fat-nav .container > ul > li.laws {
		width: 50%;
	}

	.fat-nav .container > ul > li.laws > ul {
		display: inline-flex;
		flex-wrap: wrap;
	}

	.fat-nav .container > ul > li.laws > ul > li {
		width: calc(50% - 15px);
	}

	.fat-nav .container > ul > li.laws > ul > li:nth-child(2) {
		padding-left: 30px;
	}

	.fat-nav .container > ul > li.laws > ul + ul {
		margin-left: 30px;
	}

	.fat-nav .container > ul > li > ul > li + li.navTit > a {
		margin-top: 0;
	}

	.fat-nav .container > ul > li.laws > ul + ul > li.navTit > a {
		margin-top: 10px;
	}
}

@media screen and (max-width:720px) {
	.fat-nav .container > ul > li {
		width: 33.3333%;
	}

	.fat-nav .container > ul > li.laws {
		width: 66.6666%;
	}
}

@media screen and (max-width:460px) {
	.fat-nav .container > ul {
		padding: 25px 0;
	}

	.fat-nav .container > ul > li {
		width: 50%;
	}

	.fat-nav .container > ul > li.laws {
		width: 100%;
	}
}

@media screen and (min-width:991px) {
	.fat-nav .container > ul {
		margin: 0 -10px;
	}

	.fat-nav .container > ul > li {
		padding: 20px 10px 0 10px;
		margin-bottom: 25px;
	}

	.fat-nav .container > ul > li > strong,
	.fat-nav .container > ul > li > a {
		font-size: 1.8em;
	}

	.fat-nav .container > ul > li > ul > li.navTit > a {
		font-size: 1.7em;
	}

	.fat-nav .container > ul > li > ul > li > a {
		font-size: 1.5em;
	}

	.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn),
	.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a {
		font-size: 1.4em;
	}
}

@media screen and (min-width:1200px) {
	.fat-nav .container > ul > li {
		padding: 25px 10px;
		margin-bottom: 0;
	}
}

@media screen and (min-width:1400px) {
	.fat-nav .container > ul {
		margin: 0 -15px;
	}

	.fat-nav .container > ul > li {
		padding: 25px 15px;
	}
}

@media screen and (min-width:1600px) {
	.fat-nav .container > ul {
		margin: 0 -25px;
	}

	.fat-nav .container > ul > li {
		padding: 5px;
	}

	.fat-nav .container > ul > li > strong,
	.fat-nav .container > ul > li > a {
		font-size: 2.1em;
	}

	.fat-nav .container > ul > li > ul > li.navTit > a {
		font-size: 2em;
	}

	.fat-nav .container > ul > li > ul > li > a {
		font-size: 1.7em;
	}

	.fat-nav .container > ul > li > ul > li > ul > li > a:not(.dropBtn),
	.fat-nav .container > ul > li > ul > li > ul > li > ul > li > a {
		font-size: 1.6em;
	}
}

/* ----- add_info ----- */
.add_info {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.fotLogo img {
	width: auto;
	height: 50px;
}

.copyright {
	width: 100%;
	margin-top: 10px;
}

.copyright .wd {
	width: calc(100% - 60px);
}

.copyright .wd dt,
.copyright .wd dd {
	color: #000;
	font-size: 1.5em;
	line-height: 170%;
	font-weight: bold;
}

.copyright .wd dd a,
.copyright .wd dd span {
	position: relative;
	display: inline-block;
	padding-right: 1.7em;
}

.copyright .wd dd a {
	color: #000;
}

.copyright .wd dd a:hover,
.copyright .wd dd a:focus {
	color: #cc3300;
}

.copyright .wd dd span:last-child {
	padding-right: 0;
}

.copyright .wd dd a::after,
.copyright .wd dd span::after {
	content: "";
	display: block;
	position: absolute;
	right: 0.85em;
	top: 50%;
	width: 1px;
	height: 16px;
	background: #333;
	margin-top: -8px;
}

.copyright .wd dd span:last-child::after {
	display: none;
}

.fotMark {
	position: absolute;
	right: 65px;
	top: 0;
	width: auto;
}

.fotMark ul {
	list-style: none;
	margin: -5px;
}

.fotMark ul li {
	display: inline-block;
	padding: 5px;
	vertical-align: top;
}

.fotMark ul li a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	box-sizing: border-box;
	border: 2px solid #b6b7b7;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
}

.fotMark ul li a:hover,
.fotMark ul li a:focus {
	-webkit-transform: rotate(360deg);
	-moz-transform: rotate(360deg);
	-ms-transform: rotate(360deg);
	-o-transform: rotate(360deg);
	transform: rotate(360deg);
}

.fotMark ul li a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 25px;
	height: 25px;
	margin: -12.5px 0 0 -12.5px;
	background-color: #666;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.fotMark ul li a.btn-map:before {
	-webkit-mask-image: url(../images/icon-map.svg);
	mask-image: url(../images/icon-map.svg);
}

.fotMark ul li a.btn-tel:before {
	-webkit-mask-image: url(../images/icon-tel.svg);
	mask-image: url(../images/icon-tel.svg);
}

.fotMark ul li a.btn-mail:before {
	-webkit-mask-image: url(../images/icon-mail.svg);
	mask-image: url(../images/icon-mail.svg);
}

@media screen and ( max-width:768px) {
	.fotMark {
		right: 0;
	}
}

@media screen and ( max-width:460px) {
	.add_info {
		justify-content: center;
		flex-direction: column;
	}

	.copyright .wd {
		width: 100%;
		text-align: center;
	}

	.copyright .wd dd span {
		width: 100%;
		padding-right: 0;
	}

	.copyright .wd dd a {
		display: inline-block;
		width: calc(50% - 5px);
		text-align: center;
		padding: 5px 10px;
		border: 1px solid #000;
		box-sizing: border-box;
		margin: 5px 0;
	}

	.copyright .wd dd a + a {
		margin-left: 10px;
	}

	.copyright .wd dd a:hover,
	.copyright .wd dd a:focus {
		border-color: #cc3300;
	}

	.copyright .wd dd a::after,
	.copyright .wd dd span::after {
		display: none;
	}

	.fotMark {
		position: relative;
		right: inherit;
		width: 155px;
		margin: 10px auto 0 auto;
	}

	.fotMark ul li a {
		width: 45px;
		height: 45px;
	}
}

@media screen and (min-width:991px) {
	.fotLogo img {
		width: auto;
		height: 55px;
	}

	.copyright .wd {
		width: 100%;
	}

	.fotMark {
		right: 80px;
	}

	.fotMark ul li a {
		width: 55px;
		height: 55px;
	}

	.fotMark ul li a:before {
		width: 30px;
		height: 30px;
		margin: -15px 0 0 -15px;
	}
}

@media screen and (min-width:1280px) {
	.add_info {
		justify-content: space-between;
	}

	.copyright {
		width: calc(100% - 200px);
		margin-top: 0;
	}

	.copyright .wd {
		text-align: left;
		box-sizing: border-box;
		padding: 15px 15px 0 0;
	}

	.fotLogo {
		width: 24%;
	}

	.fotMark {
		position: relative;
		right: inherit;
		width: 185px;
	}
}

@media screen and (min-width:1400px) {
	.fotLogo img {
		height: 60px;
	}

	.copyright {
		width: calc(100% - 500px);
	}

	.copyright .wd {
		padding: 0 20px;
	}

	.fotLogo {
		width: 260px;
	}

	.fotMark {
		width: 200px;
	}

	.fotMark ul li a {
		width: 60px;
		height: 60px;
	}
}

@media screen and (min-width:1600px) {
	.copyright .wd {
		padding: 0 30px;
	}

	.fotMark {
		width: 210px;
	}

	.fotMark ul {
		margin: -7.5px;
	}

	.fotMark ul li {
		padding: 7.5px;
	}
}


/* gMenu */
#gMenu {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: flex;
	width: 50px;
	flex-direction: column;
	align-items: flex-end;
	z-index: 90;
}

@media screen and (min-width:991px) {
	#gMenu {
		width: 55px;
	}
}

@media screen and (min-width:1920px) {
	#gMenu {
		width: 60px;
	}
}
/* 手機版：維持原本右下角 */
@media screen and (max-width: 767px) {
	#gMenu {
		position: fixed;
		right: 20px; /* 原始設定 */
		bottom: 20px; /* 原始設定 */
		left: auto;
		top: auto;
		transform: none;
	}
}

/* ----- icService ----- */
.icService {
	position: relative;
	display: block;
	width: 324px;
	max-height: 60vh;
}

.icService .icOpen {
	display: none;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50px;
	height: 50px;
}

.icService .icOpen a {
	display: block;
	width: 100%;
	height: 100%;
	background: #619df2 url(../images/ip-robot-talk.svg) no-repeat 50% 50%;
	background-size: contain;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
}

.icService .icBox > .box {
	position: relative;
	display: flex;
	width: 100%;
	height: 80px;
	padding: 8px;
	box-sizing: border-box;
	background: linear-gradient(135deg, #149ecc 0%,#295da6 100%);
	align-items: flex-start;
	flex-direction: column;
	justify-content: space-between;
	-webkit-box-shadow: 0 1px 7px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 1px 7px rgba(0,0,0,0.3);
	box-shadow: 0 1px 7px rgba(0,0,0,0.3);
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.icService .icBox > .box:has(.expend) {
	max-height: 65vh;
	height: 400px;
}

.icService .icBox > .box > .close {
	position: absolute;
	right: 10px;
	top: 0;
	width: 40px;
	height: 40px;
	font-size: 0;
	z-index: 1;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.icService .icBox > .box > .close span {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.icService .icBox > .box > .close span::before,
.icService .icBox > .box > .close span::after {
	position: absolute;
	display: block;
	content: '';
	left: 50%;
	top: 50%;
	width: 20px;
	height: 2px;
	margin: -1px 0 0 -10px;
	border: none;
	background: #FFF;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	-webkit-transition: -webkit-transform .2s;
	transition: transform .2s;
}

.icService .icBox > .box > .close span::before {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.icService .icBox > .box > .close span::after {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.icService .icBox > .box > .close:hover span:before,
.icService .icBox > .box > .close:focus span:before,
.icService .icBox > .box > .close:hover span:after,
.icService .icBox > .box > .close:focus span:after {
	background: #fff45c;
}

.icService .icBox > .box > p {
	position: relative;
	color: #fff;
	font-family: "PingFang TC Semibold", "微軟雅黑", "Microsoft YaHei";
	font-size: 2em;
	font-weight: bold;
	line-height: 18px;
}

.icService .icTalk {
	display: block;
	width: 100%;
	height: 100%;
	padding: 15px;
	overflow: auto;
	background: #FFF;
	box-sizing: border-box;
	margin-top: 10px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	padding: 0 6px;
}

.icService .icTalk .ic-system {
	display: flex;
}

.icService .icTalk .ic-user + .ic-system {
	margin-top: 10px;
}

.icService .icTalk .ic-system .ic-avatar {
	display: inline-block;
	width: 50px;
	height: 50px;
	background: #619df2 url(../images/ip-robot-talk.svg) no-repeat 50% 50%;
	background-size: contain;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
}

.icService .icTalk .ic-system .ic-message {
	display: inline-block;
	width: calc(100% - 60px);
	margin-left: 10px;
}

.icService .icTalk .ic-system .ic-message .ic-card {
	display: inline-block;
	width: 100%;
}

.icService .icTalk .ic-system .ic-message .ic-card {
	margin-bottom: 5px;
}

.icService .icTalk .ic-system .ic-message .ic-card .ic-box {
	display: inline-block;
	font-family: "微軟正黑體", Arial, Helvetica, sans-serif;
	font-size: 1.5em;
	line-height: 125%;
	padding: 3px 6px;
	background: #eeeeee;
	box-sizing: border-box;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.icService .icTalk .ic-system .ic-message .ic-card .ic-box h3 {
	font-size: 1.13em;
	font-weight: bold;
	line-height: 125%;
}

.icService .icTalk .ic-system .ic-message .ic-card .ic-box .ic-content {
	margin: 2.5px -2.5px;
}

.icService .icTalk .ic-system .ic-message .ic-card .ic-box .ic-content button {
	display: inline-block;
	color: #FFF;
	font-family: "微軟正黑體", Arial, Helvetica, sans-serif;
	font-size: 1em;
	padding: 4px 8px;
	background: #448aca;
	border: none;
	cursor: pointer;
	margin: 2.2px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.icService .icTalk .ic-system .ic-message .ic-card .ic-box .ic-content button:hover,
.icService .icTalk .ic-system .ic-message .ic-card .ic-box .ic-content button:focus {
	background: #cc3300;
}

.icService .icTalk .ic-system .ic-message .ic-timestamp {
	/*display: inline-block;*/
	display: none;
	width: 100%;
	color: #666666;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.3em;
}

.icService .icTalk .ic-user {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin-top: 10px;
}

.icService .icTalk .ic-user .ic-message {
	display: inline-block;
	width: 100%;
	text-align: right;
}

.icService .icTalk .ic-user .ic-message .ic-box {
	display: inline-block;
	color: #FFF;
	font-family: "微軟正黑體", Arial, Helvetica, sans-serif;
	font-size: 1.5em;
	line-height: 125%;
	padding: 8px 8px;
	background: #333333;
	box-sizing: border-box;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.icService .icTalk .ic-user .ic-timestamp {
	display: none;
	width: 100%;
	color: #666666;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.3em;
	text-align: right;
	margin-top: 5px;
}

.icService .icSearch {
	display: block;
	width: 100%;
	letter-spacing: -9px;
	box-sizing: border-box;
	margin-top: 8px;
}

.icService .icSearch .search-query {
	width: calc(100% - 88px);
	height: 30px;
	color: #000;
	font-family: "微軟正黑體", Arial, Helvetica, sans-serif;
	font-size: 1.5em;
	line-height: 30px;
	letter-spacing: 0;
	padding: 0 10px;
	border: none;
	box-sizing: border-box;
	vertical-align: middle;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.icService .icSearch .search-btn {
	display: inline-block;
	width: 80px;
	height: 30px;
	color: #FFF;
	font-family: "PingFang TC Semibold", "微軟雅黑", "Microsoft YaHei";
	font-size: 1.5em;
	font-weight: bold;
	line-height: 30px;
	letter-spacing: 0;
	text-align: center;
	vertical-align: middle;
	border: none;
	background: #002266;
	margin-left: 8px;
	cursor: pointer;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.icService .icSearch .search-btn:hover,
.icService .icSearch .search-btn:focus {
	background: #cc3300;
}

.icService .icSearch .search-btn span {
	position: relative;
	display: inline-block;
	padding-right: 20px;
}

.icService .icSearch .search-btn span::before {
	position: absolute;
	display: block;
	content: '';
	right: 0;
	top: 50%;
	width: 13px;
	height: 13px;
	margin: -6.5px 0 0 0;
	border: none;
	background: url(../images/icSearch-icon.svg) no-repeat 50% 50%;
	background-size: cover;
}

.icService .icTalk .ic-loading {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
	gap: 10px;
	margin: 1rem 0;
	margin-left: 20px;
}

.icService .icTalk .ic-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: #999;
	animation: pulse 1.2s infinite ease-in-out;
}

.icService .icTalk .ic-dot:nth-child(2) {
	animation-delay: 0.2s;
}

.icService .icTalk .ic-dot:nth-child(3) {
	animation-delay: 0.4s;
}

/** 機器人半透明背景 **/
.icService .icBox.icFade > .box {
	background: linear-gradient(135deg, rgba(20, 158, 204, 0.9) 0%, rgba(41, 93, 166, 0.9) 100%);
}

.icService .icBox.icFade:focus > .box,
.icService .icBox.icFade:hover > .box {
	background: #619df2;
}

.icService .icBox.icFade .icTalk {
	background: rgba(255, 255, 255, 0.9);
	scrollbar-color: rgba(170, 170, 170, 0.5) rgba(255, 255, 255, 0.9);
}

.icService .icBox.icFade:focus .icTalk,
.icService .icBox.icFade:hover .icTalk {
	background: #FFF;
	scrollbar-color: unset;
}

.icService .icBox.icFade .icTalk .ic-system .ic-avatar {
	background: rgba(97, 157, 242, 0.9) url(../images/ip-robot-talk.svg) no-repeat 50% 50%;
}

.icService .icBox.icFade:focus .icTalk .ic-system .ic-avatar,
.icService .icBox.icFade:hover .icTalk .ic-system .ic-avatar {
	background: #619df2 url(../images/ip-robot-talk.svg) no-repeat 50% 50%;
}

.icService .icBox.icFade .icTalk .ic-system .ic-message .ic-card .ic-box {
	background: rgba(238, 238, 238, 0.9);
}

.icService .icBox.icFade:focus .icTalk .ic-system .ic-message .ic-card .ic-box,
.icService .icBox.icFade:hover .icTalk .ic-system .ic-message .ic-card .ic-box {
	background: #eeeeee;
}

.icService .icBox.icFade .icTalk .ic-system .ic-message .ic-card .ic-box .ic-content button {
	background: rgba(68, 138, 202, 0.9);
}

.icService .icBox.icFade:focus .icTalk .ic-system .ic-message .ic-card .ic-box .ic-content button,
.icService .icBox.icFade:hover .icTalk .ic-system .ic-message .ic-card .ic-box .ic-content button {
	background: #448aca;
}

.icService .icBox.icFade .icSearch .search-query {
	background: rgba(255, 255, 255, 0.9);
}

.icService .icBox.icFade:focus .icSearch .search-query,
.icService .icBox.icFade:hover .icSearch .search-query {
	background: #fff;
}

.icService .icBox.icFade .icSearch .search-btn {
	background: rgba(0, 34, 102, 0.9);
}

.icService .icBox.icFade:focus .icSearch .search-btn,
.icService .icBox.icFade:hover .icSearch .search-btn {
	background: #002266;
}


@keyframes pulse {
	0%, 80%, 100% {
		background-color: #999;
		transform: scale(1);
	}

	40% {
		background-color: #bfbfbf; /* 約 25% 灰 */
		transform: scale(1.4);
	}
}

@media screen and (max-width:460px) {
	.icService {
		width: calc(100vw - 40px);
	}

	.icService .icBox > .box > p {
		font-size: 1.8em;
	}

	.icService .icTalk {
		/*padding: 10px 15px 10px 10px;*/
	}

	.icService .icTalk .ic-system .ic-avatar {
		width: 45px;
		height: 45px;
	}

	.icService .icTalk .ic-system .ic-message {
		width: calc(100% - 55px);
	}
}

@media screen and (max-width:990px) {
	.icService .icBox {
		top: unset;
		bottom: 10px;
		right: 10px;
		width: 100%;
	}

	.icService .icBox > .box > p {
		font-size: 1.92em;
	}

	/** 機器人半透明背景 **/
	/*
	.icService .icBox.icFade > .box {
		background: linear-gradient(135deg, rgba(20, 158, 204, 0.8) 0%, rgba(41, 93, 166, 0.8) 100%);
	}

	.icService .icBox.icFade .icTalk {
		background: rgba(255, 255, 255, 0.8);
		scrollbar-color: rgba(170, 170, 170, 0.8) rgba(255, 255, 255, 0.8);
	}

	.icService .icBox.icFade .icTalk .ic-system .ic-avatar {
		background: rgba(97, 157, 242, 0.8) url(../images/ip-robot-talk.svg) no-repeat 50% 50%;
	}

	.icService .icBox.icFade .icTalk .ic-system .ic-message .ic-card .ic-box {
		background: rgba(238, 238, 238, 0.8);
	}

	.icService .icBox.icFade .icTalk .ic-system .ic-message .ic-card .ic-box .ic-content button {
		background: rgba(68, 138, 202, 0.8);
	}

	.icService .icBox.icFade .icSearch .search-query {
		background: rgba(255, 255, 255, 0.8);
	}

	.icService .icBox.icFade .icSearch .search-btn {
		background: rgba(0, 34, 102, 0.8);
	}
	*/
}

@media screen and (min-width:991px) {
	.icService .icOpen {
		width: 60px;
		height: 60px;
	}
}

@media screen and (min-width:1920px) {
}


/* ----- guideline ----- */
.guideline {
	display: none;
	display: flex;
	width: 90px;
	text-align: center;
	flex-direction: column-reverse;
	align-items: center;
	margin-top: 10px;
}

.guideline a {
	position: relative;
	display: block;
	width: 80px;
	height: 80px;
	overflow: hidden;
	background: url(../images/icon-Guideline.png) no-repeat 50% 50%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}


/* ----- tailShare ----- */
.tailShare {
	display: flex;
	width: 50px;
	text-align: center;
	flex-direction: column-reverse;
	align-items: center;
	margin: 10px 0 0 0;
	z-index: 90;
}

@media screen and (min-width:991px) {
	.tailShare {
		width: 55px;
	}
}

@media screen and (min-width:1920px) {
	.tailShare {
		width: 60px;
	}
}


/* ----- tailshareBtn ----- */
.tailshareBtn {
	position: relative;
	display: none;
}

.tailshareBtn > a {
	position: relative;
	display: block;
	width: 45px;
	height: 45px;
	overflow: hidden;
	background: #0096e6;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}

.tailshareBtn > a.close {
	display: none;
}

.tailshareBtn > a.open:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 19px;
	height: 19px;
	margin: -9.5px 0 0 -9.5px;
	background: url(../images/icon-share.svg) 50% 50% no-repeat;
	background-size: cover;
}

.tailshareBtn > a.close:before,
.tailshareBtn > a.close:after {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: 20px;
	top: 50%;
	left: 50%;
	border: none;
	margin: -10px 0 0 -0.5px;
	background-color: #FFF;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.tailshareBtn > a.close:after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.tailshareBtn > a span {
	position: relative;
	display: block;
	color: #FFF;
	font-size: 1.2em;
	text-align: center;
	padding-top: 32px;
}

.tailShare .tailshareMenu {
	display: none;
}

.tailShare .tailshareMenu ul {
	width: 45px;
	list-style: none;
	letter-spacing: -9px;
}

.tailShare .tailshareMenu li {
	display: inline-block;
	letter-spacing: 0;
	margin-bottom: 5px;
}

.tailShare .tailshareMenu a {
	position: relative;
	display: block;
	width: 45px;
	height: 45px;
	text-align: left;
	text-indent: -999px;
	overflow: hidden;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}

.tailShare .tailshareMenu a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 25px;
	height: 25px;
	margin: -12.5px 0 0 -12.5px;
	background-size: 100% auto;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.tailShare .tailshareMenu a.icon-fb {
	background-color: rgba(8,102,255,1);
}

.tailShare .tailshareMenu a.icon-fb:before {
	background-image: url(../images/icon-FB.svg);
}

.tailShare .tailshareMenu a.icon-twitter {
	background-color: #000;
}

.tailShare .tailshareMenu a.icon-twitter:before {
	background-image: url(../images/icon-Twitter-X.svg);
}

.tailShare .tailshareMenu a.icon-line {
	background-color: rgba(1,185,1,1);
}

.tailShare .tailshareMenu a.icon-line:before {
	background-image: url(../images/icon-LINE.svg);
}

.tailShare .tailshareMenu a:hover:before {
	-webkit-transform: rotate(360deg);
	-ms-transform: rotate(360deg);
	transform: rotate(360deg);
}

@media screen and (min-width:991px) {
	.tailshareBtn > a {
		width: 50px;
		height: 50px;
	}

	.tailshareBtn > a.open:before {
		width: 21px;
		height: 21px;
		margin: -10.5px 0 0 -10.5px;
	}

	.tailShare .tailshareMenu {
		bottom: 50px;
	}

	.tailShare .tailshareMenu ul {
		width: 50px;
	}

	.tailShare .tailshareMenu a {
		width: 50px;
		height: 50px;
	}

	.tailShare .tailshareMenu a:before {
		width: 30px;
		height: 30px;
		margin: -15px 0 0 -15px;
	}
}


/* ----- goTop ----- */
.goTop {
	display: none;
	width: 50px;
	margin: 5px 0 0 0;
}

.goTop a {
	position: relative;
	display: block;
	width: 45px;
	height: 45px;
	overflow: hidden;
	background: #505050;
	margin: 0 auto;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}

.goTop a:hover,
.goTop a:focus {
	background-color: #ef7d31;
}

.goTop a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 21px;
	height: 21px;
	margin: -10.5px 0 0 -10.5px;
	background: url(../images/icon-top.svg) 50% 50% no-repeat;
	background-size: cover;
}

@media screen and (min-width:991px) {
	.goTop {
		width: 55px;
	}

	.goTop a {
		width: 50px;
		height: 50px;
	}
}

@media screen and (min-width:1920px) {
	.goTop {
		width: 60px;
	}
}

/*PRINT*/
@media print {
	body {
		margin: 0 !important;
		padding: 0 !important;
	}

	h1, h2, h3, h4, h5, h6 {
		page-break-after: avoid;
		page-break-inside: avoid;
	}

	blockquote, table, pre {
		page-break-inside: avoid;
	}

	ul, ol, dl {
		page-break-before: avoid;
	}

	img {
		max-width: 100% !important;
		page-break-inside: avoid;
	}

	#addon,
	#navMenu,
	.searchZone,
	.donate,
	.fatfooter .trigger,
	.fatfooter .fat-nav,
	.faqHelper,
	#gMenu {
		display: none !important;
	}

	#wrapper {
		padding-top: 60px;
		background: none !important;
	}

	#header, #header.sp-flex {
		position: relative !important;
		background: #FFFFFF !important;
	}

	#footer {
		padding: 20px !important;
	}

	.add_info {
		padding: 0 !important;
		margin: 0 auto;
	}
}

@page {
	size: A4 portrait; /*a4尺寸 直式 */
	margin: 1cm; /*邊距1公分 */
	orphans: 2; /*頁面最後一段段落行數，預設值為2 */
	widows: 2; /*頁面第一段段落行數，預設值為2 */
}
