@charset "utf-8";

:root {
	
	--body-base-bg:#fff;
	--body-base-color:#333;
	
	--editor-base-color:#333;
	--editor-base-a-color:rgba(0,0,238,1); /*預設藍*/

	--gap-base:2rem;
	--gap-card:0.5rem;
	
	--btn-radius:30px;
	
  
	/* --- Typography --------------- */
	--text:16px;
	
	--text-xs: calc(var(--text) * 0.75); /* 12px */
	--text-sm: calc(var(--text) * 0.875); /* 14px */
	
	--text-base: calc(var(--text) * 1);
	
	--text-lg: calc(var(--text) * 1.125); /* 18px--h4 */
	--text-xl: calc(var(--text) * 1.25); /* 20px--h3 */
	--text-2xl: calc(var(--text) * 1.5); /* 24px--h2 */
	--text-3xl: calc(var(--text) * 1.875); /* 30px--h1 */
	--text-4xl: calc(var(--text) * 2.25); /* 36px */
	--text-5xl: calc(var(--text) * 3); /* 48px */
	

	/* --- line-height --------------- */
	--line-height-heading: 1.2;
	--line-height-body: 1.4;


	/* --- Space --------------- */
	--spacing: 1rem;
	
	--spacing-2xs: calc(var(--spacing) * 0.25); /*4px*/
	--spacing-xs: calc(var(--spacing) * 0.5); /*8px*/
	--spacing-sm: calc(var(--spacing) * 0.75); /*12px*/
	--spacing-base: calc(var(--spacing) * 1);
	--spacing-md: calc(var(--spacing) * 1.5); /*24px*/
	--spacing-lg: calc(var(--spacing) * 2); /*32px*/
	--spacing-xl: calc(var(--spacing) * 3); /*48px*/
	--spacing-2xl: calc(var(--spacing) * 4); /*64px*/
	--spacing-3xl: calc(var(--spacing) * 6); /*96px*/
	--spacing-4xl: calc(var(--spacing) * 8); /*128px*/

	
	
	--color-case-result:#F6781D; /*案件-成果*/
	--color-case-goon:#178CF7; /*案件-進行中*/
	--color-case-finish:#EF4124; /*案件-已完成*/
	
	--color-case-petition:#4d8a2a; /*案件-我要陳情*/
	
	--color-reserve:#e2630d; /*預約*/
	--color-meeting:#4FAE5C; /*會議*/
	
	--color-apply:#4FAE5C; /*立即申請*/
	--color-addcart:#D54545; /*立即購買*/
	
	--color-website:#4FAE5C; /*icon*/
	--color-line:#38C702; /*icon*/
	--color-fb:#395693; /*icon*/
	--color-wechat:#04CF66; /*icon*/
	--color-ig:#E302DD; /*icon*/
	--color-mail:#3785C4; /*icon*/
	
}


/*----------------------------------------------------------------------
	#reset
-------------------------------- */
*,
*::before,
*::after{
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
			box-sizing:border-box
}

html, body, div, ul, ol, li, 
form, input, button,textarea, blockquote,p{
	margin:0;
	padding:0;
}

ol, ul, li{list-style:none;}

h6, h5, h4, h3, h2, h1{
	margin-top:0;
	margin-bottom:var(--spacing-xs);
	font-weight:500;
	line-height:1.2;
}

p{
	margin-top:0;
	margin-bottom:var(--spacing-xs);
}

a{
    text-decoration:none;
}
a:hover{
	outline:none;
}


button{
	border-radius:0;
}

button:focus:not(:focus-visible){
	outline:0;
}

input, button, select, optgroup, textarea{
	margin:0;
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;

	outline:none;
}

button, select{
	text-transform:none;
}

[role=button]{
	cursor:pointer;
}

select{
	word-wrap:normal;
}
select:disabled{
	opacity:1;
}

[list]::-webkit-calendar-picker-indicator{
	display:none;
}

button,
[type=button],
[type=reset],
[type=submit]{
	-webkit-appearance:button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled){
	cursor:pointer;
}

::-moz-focus-inner{
	padding:0;
	border-style:none;
}

textarea{
	resize:vertical;
}

fieldset{
	min-width:0;
	padding:0;
	margin:0;
	border:0;
}

legend{
	float:left;
	width:100%;
	font-size:var(--text-lg);
	line-height:inherit;
	padding:0;
	margin-bottom:var(--spacing-xs);
}
@media (min-width:1200px){
	legend{
		font-size:var(--text-xl);
	}
}
legend + *{
	clear:left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field{
	padding:0;
}

::-webkit-inner-spin-button{
	height:auto;
}

[type=search]{
  outline-offset:-2px;
  -webkit-appearance:textfield;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"]{
	direction:ltr;
}
*/
::-webkit-search-decoration{
	-webkit-appearance:none;
}

::-webkit-color-swatch-wrapper{
	padding:0;
}

::file-selector-button{
	font:inherit;
}

::-webkit-file-upload-button{
	font:inherit;
	-webkit-appearance:button;
}

iframe{
	border:0;
}


/* HTML5 display-role reset for older browsers */
article, aside, details,
figcaption, figure,
footer,
header,
hgroup,
menu, nav,
section,
main{ 
	display:block;
}



/*----------------------------------------------------------------------
	#base
-------------------------------- */
/* 修正粗體 (碧筵綰在粗體時會隔很遠) */
@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-display: block;
	/* Instructs browser to block rendering until loaded */
}
/* 一般粗細的時候改回微軟正黑 */
@font-face{
    font-family:'微軟正黑體修正';
    unicode-range:U+7db0, U+78A7, U+7B75; /* ASCII (碧筵綰) */
    font-style:normal;
    font-weight:normal;
    src:local(微軟正黑體);
	
	font-display: block;
}

body{
	background:var(--body-base-bg);
	font-family:"Microsoft JhengHei","微軟正黑體修正","微軟正黑體",sans-serif;
	color:var(--body-base-color);
	font-size:var(--text-base);
	line-height: var(--line-height-body);
}




/*----------------------------------------------------------------------
	#grid system
-------------------------------- */
.container,
.container-fluid{
	width:100%;
	padding:0 12px;
	margin:0 auto;
}

@media (min-width:576px){
	.container,
	.container-fluid{
		padding:0 16px;
	}
}
@media (min-width:768px){
}
@media (min-width:992px){
}
@media (min-width:1200px){
    .container{ width:90%; }
}
@media (min-width:1400px){
    .container{ /*max-width:1000px;*/ width:80%; }
}
@media (min-width:1920px){
    .container{ /*max-width:1200px;*/ width:80%; }
}


.grid {
	display: grid;
	gap:calc( var(--gap-base) / 2);
}
@media (min-width:1200px){
	.grid {
		gap:var(--gap-base);
	}
}

.card-grid{
	display:grid;
	gap:var(--gap-card);
}

.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.5rem; }
.gap-6 { gap: 2rem; }
.gap-7 { gap: 2.5rem; }
.gap-8 { gap: 3rem; }

/* 移動端時一列幾個項目 */
.grid-xs-2{ grid-template-columns: repeat(2, minmax(0, 1fr));}
.grid-xs-3{ grid-template-columns: repeat(3, minmax(0, 1fr));}

.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }

.col-auto { grid-column: auto; }
.col-span-1 { grid-column: span 1 / span 1; }
.col-span-2 { grid-column: span 2 / span 2; }
.col-span-3 { grid-column: span 3 / span 3; }
.col-span-4 { grid-column: span 4 / span 4; }
.col-span-5 { grid-column: span 5 / span 5; }
.col-span-6 { grid-column: span 6 / span 6; }

@media (min-width:576px){
	.grid-repeat-15{ grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
	.grid-repeat-20{ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
	.grid-repeat-25{ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
	.grid-repeat-30{ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
	.grid-repeat-35{ grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); }
	.grid-repeat-40{ grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); }
	.grid-repeat-45{ grid-template-columns: repeat(auto-fill, minmax(450px, 1fr)); }

	.grid-cols-sm-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-sm-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-sm-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-sm-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-sm-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.grid-cols-sm-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.grid-cols-sm-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.grid-cols-sm-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
	
	.col-sm-auto { grid-column: auto; }
	.col-span-sm-1 { grid-column: span 1 / span 1; }
	.col-span-sm-2 { grid-column: span 2 / span 2; }
	.col-span-sm-3 { grid-column: span 3 / span 3; }
	.col-span-sm-4 { grid-column: span 4 / span 4; }
	.col-span-sm-5 { grid-column: span 5 / span 5; }
	.col-span-sm-6 { grid-column: span 6 / span 6; }
}
@media (min-width:768px){
	.grid-cols-md-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-md-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-md-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-md-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-md-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.grid-cols-md-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.grid-cols-md-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.grid-cols-md-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
	
	.col-md-auto { grid-column: auto; }
	.col-span-md-1 { grid-column: span 1 / span 1; }
	.col-span-md-2 { grid-column: span 2 / span 2; }
	.col-span-md-3 { grid-column: span 3 / span 3; }
	.col-span-md-4 { grid-column: span 4 / span 4; }
	.col-span-md-5 { grid-column: span 5 / span 5; }
	.col-span-md-6 { grid-column: span 6 / span 6; }
}
@media (min-width:992px){
	.grid-cols-lg-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-lg-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-lg-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-lg-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-lg-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.grid-cols-lg-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.grid-cols-lg-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.grid-cols-lg-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
	
	.col-lg-auto { grid-column: auto; }
	.col-span-lg-1 { grid-column: span 1 / span 1; }
	.col-span-lg-2 { grid-column: span 2 / span 2; }
	.col-span-lg-3 { grid-column: span 3 / span 3; }
	.col-span-lg-4 { grid-column: span 4 / span 4; }
	.col-span-lg-5 { grid-column: span 5 / span 5; }
	.col-span-lg-6 { grid-column: span 6 / span 6; }
}
@media (min-width:1200px){
	.grid-cols-xl-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-xl-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-xl-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-xl-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xl-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.grid-cols-xl-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.grid-cols-xl-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.grid-cols-xl-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
	
	.col-xl-auto { grid-column: auto; }
	.col-span-xl-1 { grid-column: span 1 / span 1; }
	.col-span-xl-2 { grid-column: span 2 / span 2; }
	.col-span-xl-3 { grid-column: span 3 / span 3; }
	.col-span-xl-4 { grid-column: span 4 / span 4; }
	.col-span-xl-5 { grid-column: span 5 / span 5; }
	.col-span-xl-6 { grid-column: span 6 / span 6; }
}
@media (min-width:1600px){
	.grid-cols-xxl-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.grid-cols-xxl-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid-cols-xxl-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-cols-xxl-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid-cols-xxl-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.grid-cols-xxl-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.grid-cols-xxl-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.grid-cols-xxl-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
	
	.col-xxl-auto { grid-column: auto; }
	.col-span-xxl-1 { grid-column: span 1 / span 1; }
	.col-span-xxl-2 { grid-column: span 2 / span 2; }
	.col-span-xxl-3 { grid-column: span 3 / span 3; }
	.col-span-xxl-4 { grid-column: span 4 / span 4; }
	.col-span-xxl-5 { grid-column: span 5 / span 5; }
	.col-span-xxl-6 { grid-column: span 6 / span 6; }
}



/*----------------------------------------------------------------------
	#flex
-------------------------------- */
.flexbar{
	display:flex; flex-wrap:wrap;
	align-items:center;
}

.flex-nowrap{ flex-wrap: nowrap; }
.flex-wrap{ flex-wrap: wrap; }
.flex-wrap-reverse{ flex-wrap: wrap-reverse; }

.flex{ display:flex; }
.hidden{ display:none; }
.block{ display:block; }

.align-start { align-items: flex-start; }
.align-center { align-items: center; }
.align-end { align-items: flex-end; }
.align-stretch { align-items:stretch; }

.justify-start { justify-content: flex-start; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.justify-between{ justify-content: space-between; }


@media (min-width:576px){
	.sm-hidden{ display:none; }
	.sm-block{ display:block; }
	
	.align-sm-start { align-items: flex-start; }
	.align-sm-center { align-items: center; }
	.align-sm-end { align-items: flex-end; }
	.align-sm-stretch { align-items:stretch; }
	
	.justify-sm-start { justify-content: flex-start; }
	.justify-sm-end { justify-content: flex-end; }
	.justify-sm-center { justify-content: center; }
	.justify-sm-between{ justify-content: space-between; }
}
@media (min-width:768px){
	.md-hidden{ display:none; }
	.md-block{ display:block; }
		
	.align-md-start { align-items: flex-start; }
	.align-md-center { align-items: center; }
	.align-md-end { align-items: flex-end; }
	.align-md-stretch { align-items:stretch; }
	
	.justify-md-start { justify-content: flex-start; }
	.justify-md-end { justify-content: flex-end; }
	.justify-md-center { justify-content: center; }
	.justify-md-between{ justify-content: space-between; }
}
@media (min-width:992px){
	.lg-hidden{ display:none; }
	.lg-block{ display:block; }
	
	.align-lg-start { align-items: flex-start; }
	.align-lg-center { align-items: center; }
	.align-lg-end { align-items: flex-end; }
	.align-lg-stretch { align-items:stretch; }
	
	.justify-lg-start { justify-content: flex-start; }
	.justify-lg-end { justify-content: flex-end; }
	.justify-lg-center { justify-content: center; }
	.justify-lg-between{ justify-content: space-between; }
}
@media (min-width:1200px){
	.xl-hidden{ display:none; }
	.xl-block{ display:block; }
	
	.align-xl-start { align-items: flex-start; }
	.align-xl-center { align-items: center; }
	.align-xl-end { align-items: flex-end; }
	.align-xl-stretch { align-items:stretch; }
	
	.justify-xl-start { justify-content: flex-start; }
	.justify-xl-end { justify-content: flex-end; }
	.justify-xl-center { justify-content: center; }
	.justify-xl-between{ justify-content: space-between; }
}
@media (min-width:1600px){
	.xxl-hidden{ display:none; }
	.xxl-block{ display:block; }
	
	.align-xxl-start { align-items: flex-start; }
	.align-xxl-center { align-items: center; }
	.align-xxl-end { align-items: flex-end; }
	.align-xxl-stretch { align-items:stretch; }
	
	.justify-xxl-start { justify-content: flex-start; }
	.justify-xxl-end { justify-content: flex-end; }
	.justify-xxl-center { justify-content: center; }
	.justify-xxl-between{ justify-content: space-between; }
}



/*----------------------------------------------------------------------
	#heading
-------------------------------- */
.heading{}

/*呈一列*/
.heading_group{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
}
.heading_group .heading-icon, 
.heading_group .heading-text, 
.heading_group .heading-subtext{
	display:block;
}
.heading-icon img{
	display:block; max-width:100%; height:auto;
}

h1, .font--xxl {
	font-size: var(--text-3xl);
}

h2, .font--xl {
	font-size: var(--text-2xl);
}

h3, .font--lg {
	font-size: var(--text-xl);
}

h4, .font--md {
	font-size: var(--text-lg);
}

small, .font--sm {
	font-size: var(--text-sm);
}


h1, h2, h3, h4, form legend {
	font-weight: 700;
	line-height: var(--line-height-heading);
	margin-bottom: var(--spacing-xs);
}
p{
	margin-top:var(--spacing-xs);
	margin-bottom:var(--spacing-xs);
}



/*----------------------------------------------------------------------
	#editor：後台編輯器
-------------------------------- */
.editor{
	overflow-wrap: break-word; /*文字太長，允許文字在任意位置斷行*/
	word-break: break-all; /*英文過長，強制換行*/
}

.editor h1 { margin-bottom: var(--spacing-md); }

.editor h2,
.editor h3,
.editor h4 {
	margin-top: var(--spacing-md);
	margin-bottom: var(--spacing-sm);
}

.editor ul,
.editor ol,
.editor p {
	margin-bottom: var(--spacing-sm);
}

.editor ul,
.editor ol {
	list-style-position: outside;
	padding-left: var(--spacing-lg);
}

.editor ul { list-style-type: disc; }
.editor ol { list-style-type: decimal; }
.editor ul li,
.editor ol li {
	display:list-item;
	list-style:inherit;
	line-height: var(--line-height-body);
}

.editor em { font-style: italic; }
.editor u { text-decoration: underline; }

.editor img{ max-width:100%; height:auto; }
.editor iframe{ max-width:100%; }


/* ===== a連結 */
.editor{
	color:var(--editor-base-color);
}
.editor a{
	color:var(--editor-base-a-color);
}
.editor a:hover{
	color:var(--color-accent);
}



/*----------------------------------------------------------------------
	#text-limit:文字限制行數
-------------------------------- */
.text-limit{
	display:-webkit-box; 
	text-overflow:ellipsis; overflow:hidden;
	-webkit-box-orient:vertical; white-space:normal;
}
.text-line-1{ -webkit-line-clamp:1; }
.text-line-2{ -webkit-line-clamp:2; }
.text-line-3{ -webkit-line-clamp:3; }
.text-line-4{ -webkit-line-clamp:4; }

@media (min-width: 576px) {
	.sm-text-limit{
		display:-webkit-box; 
		text-overflow:ellipsis; overflow:hidden;
		-webkit-box-orient:vertical; white-space:normal;
	}
}
@media (min-width: 768px) {
	.md-text-limit{
		display:-webkit-box; 
		text-overflow:ellipsis; overflow:hidden;
		-webkit-box-orient:vertical; white-space:normal;
	}
}
@media (min-width: 992px) {
	.lg-text-limit{
		display:-webkit-box; 
		text-overflow:ellipsis; overflow:hidden;
		-webkit-box-orient:vertical; white-space:normal;
	}
}
@media (min-width: 1200px) {
	.xl-text-limit{
		display:-webkit-box; 
		text-overflow:ellipsis; overflow:hidden;
		-webkit-box-orient:vertical; white-space:normal;
	}
}
@media (min-width: 1400px) {
	.xxl-text-limit{
		display:-webkit-box; 
		text-overflow:ellipsis; overflow:hidden;
		-webkit-box-orient:vertical; white-space:normal;
	}
}





/*----------------------------------------------------------------------
	#btn:base
		.btn_reserve：預約/參加會議[in card_designer]
		.btn_apply：立即申請[in agent_pd]
		.btn_addcart：立即購買[in agent_pd]
		.btn_consult：問題諮詢[in view]
		.btn_idxmore：更多[in idx]
		.btn-pageback：返回[in view]
		
-------------------------------- */
.btnbar,
.card-btnbar{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	gap:1rem;
	
	text-align:center;
	margin:var(--spacing-sm) 0;
}

.btn, 
.card-btn{
	position: relative;
	display: inline-flex;
	align-items:center; justify-content:center;
	
	white-space: nowrap;
	text-decoration: none;
	
	min-width:120px;
	background-color:transparent;
	border:1px solid #ccc;
	border-radius:var(--btn-radius);
	
	color:#222;
	
	font-size:var(--text-base);
	font-weight:600; line-height: 1;
	padding: var(--spacing-sm);

	cursor:pointer;
	
	-webkit-user-select:none;
	   -moz-user-select:none;
			user-select:none;
}
@media (prefers-reduced-motion:reduce){
	.btn, 
	.card-btn{
		transition:none;
	}
}
.btn:active, 
.card-btn:active {
	transition: none;
}


.btn .iconsvg,
.btn-text,
.card-btn .iconsvg,
.card-btn-text{
	position:relative; z-index:2;
	line-height:1;
	margin:0 1px;
}

.btn .iconsvg,
.card-btn .iconsvg{
	width:16px; height:16px;
}

.btn .iconsvg:before,
.card-btn .iconsvg:before{
	background-color:#222;
}

.btn:hover{
	color:#000;
}

.btn-check:focus + .btn, .btn:focus{
	outline:0;
	box-shadow:0 0 0 0.15rem rgba(13, 110, 253, 0.15);
}



/*----------------------------------------------------------------------
	#btn
-------------------------------- */
.btn{
	min-width:160px;
	background:#fff;
	border:1px solid var(--color-one);
	color:var(--color-one);
	box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}
.btn .iconsvg{
	width:20px; height:20px;
}
.btn .iconsvg:before{
	background-color:var(--color-one);
}

.btn:hover{
	border-color:var(--color-accent);
	background:var(--color-accent);
	color:#fff;
}
.btn:hover .iconsvg:before{
	background-color:#fff;
}





/*----------------------------------------------------------------------
	#card
-------------------------------- */
.card{
	position:relative; z-index:2;
	background:#fff;
}

.card-photo, 
.card-iframe{
	position:relative;
}
.card-photo a{ display:block; }
.card-mask{ display:none; }

.card-photo{ min-height:10px; }
.card-photo img{ display:block; max-width:100%; height:auto; }

/* ===== #item-fitimg：方形圖(限定大小)設定 */
.item-fitimg{
	position: relative;
	text-align:left;
}
.item-fitimg:before{
	content: "";
    display:block;
    padding-bottom: 100%;
}

.fitimg{
	position: absolute; top:0; left:0;
	width: 100%; height: 100%;

	-webkit-object-fit: contain;
	   -moz-object-fit: contain;
		    object-fit: contain;
}
.card-photo .fitimg{
	max-width:auto; height: 100%;
}

/* ===== #card-iframe：影片/地圖 */
.card-iframe{
	position:relative;
    width:100%; height:0;
    padding-bottom:100%;
}
.card-iframe iframe{
	position:absolute; z-index:2; top:0; left:0;
	width:100%; height:100%;
}
.card-iframe_map{
	position:relative;
	min-height:50px;
	background:#F1F3F4;
}
.card-iframe_map:before{
	display:block;
	position:absolute; z-index:1; top:50%; left:50%; content:"MAP";
	font-family:Helvetica, sans-serif;
	font-weight:600; line-height:1;
	color:#BDD4F8;
	
	transform:translate(-50%, -50%);
}

/* ===== #card-name */
.card-name{
	font-weight:600;
}
.card-name a{ display:block; }

/*將連結擴展至整個card*/
.card-name a:before{
	position:absolute; z-index:2; top:0; left:0; content:"";
	width:100%; height:100%;
	background:transparent;
}

/* ===== #card-text */
.card-text{
	color:#666;
	margin-top:var(--spacing-xs);
}
.img-hidden img{
	display:none; /*在列表裡的說明文字，若有圖片則隱藏*/
}

/* ===== #card-info */
.card-infolist{ margin-top:var(--spacing-xs); }

.card-info{
    position:relative;
    display:flex; flex-wrap:wrap;
	align-items:center;
	gap:var(--spacing-2xs);
	line-height:1;
}

.card-info .iconsvg,
.card-info .card-info-icon,
.card-info .card-info-title,
.card-info .card-info-text{
    display:block;
    line-height:1.3;
}

.card-info .iconsvg{ width:16px; height:16px; }
.card-info .iconsvg:before{ background-color:#777; }

.card-info .card-info-icon{ width:20px; height:20px; }
.card-info .card-info-icon img{
	display:block;
	max-width:100%; height:auto;
}

.card-info .card-info-text{
	word-break:break-all;
	word-wrap:break-word;
}


/* ===== #card-icon */
.card-iconlist{
	display:flex; flex-wrap:wrap;
	align-items:center;
	gap:var(--spacing-2xs);
	
	margin-top:var(--spacing-sm);
}
.card-icon{ display:block; border-radius:4px; }
.card-icon .iconsvg:before{
	background-color:#fff;
	-webkit-mask-size:65% 65%;
			mask-size:65% 65%;
}
.card-icon_website{ background:var(--color-website); }
.card-icon_line{ background:var(--color-line); }
.card-icon_mail{ background:var(--color-mail); }





/*----------------------------------------------------------------------
	#infolist：資訊
		.info_view_date：日期 [in view]
		.infolist_footer_company [in footer]
		
-------------------------------- */
.infolist{}
.infolist > li{ margin:var(--spacing-2xs) 0; }

.info{
	display: inline-flex;
	align-items:center;
	padding:var(--spacing-2xs) 0;
}


/*資訊內容呈一列*/
.info-icon,
.info-title,
.info-text{
	position:relative;
	display:block;
}
.info-text{
	overflow-wrap: break-word;
}





/*----------------------------------------------------------------------
	#page-overlay：隱藏區塊顯現時，內容區覆蓋變暗
-------------------------------- */
.page-overlay{ 
	position:fixed; z-index:1000; top:0; left:0; 
	width:100%; height:100vh;
	overflow:hidden;

	opacity:0;
	pointer-events:none;
	visibility:hidden;
}
.page-overlay.is-open{
	display:block;
	background:rgba(0,0,0,0.85);
    
    opacity:1;
    pointer-events:auto;
    visibility:visible;
}

/* ===== 跳出隱藏區塊時，內容區的卷軸隱藏*/
body.overflow-hidden{ overflow:hidden; }

@media (min-width:992px){
	.page-overlay.is-open{
        opacity:0;
        pointer-events:auto;
        visibility:hidden;
    }
    
    body.overflow-hidden{
        overflow:auto;
    }
}



/*----------------------------------------------------------------------
	#Sidelink
-------------------------------- */
.scrolltop{
	cursor:pointer;
}


/* ===== [in 大螢幕時-右側固定列] */
.sidefixed_right{
	display:none;
	position:fixed; z-index:90; right:5px; bottom:100px;
	
	opacity:0;
	pointer-events:none;
	visibility:hidden;
}
@media (min-width:992px){
	.sidefixed_right{ display:block; }
}
.sidefixed_right.is-show{
	opacity:1;
	pointer-events:auto;
	visibility:visible;
}

.sidefixed_right_list > li{
	margin:var(--spacing-2xs);
}


/* ===== [in 小螢幕時-底部固定列] */
.sidefixed_btm{
	position:fixed; z-index:990; bottom:0; left:0;
	width:100%; height:auto;
	background:#fff;
	box-shadow:0 -3px 4px 0 rgb(0,0,0,0.2);
}
@media (min-width:992px){
	.sidefixed_btm{ display:none; }
}

.sidefixed_btm_list{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
}
.sidefixed_btm_list > li{
	width:calc(100% / 7);
	border-left:1px solid rgba(0,0,0,0.1);
}
.sidefixed_btm_list > li.sideline_fillup{
    flex:1 1 auto;
    width:1%; min-width:0;
}


/* ===== sidelink */
.sidelink{ 
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
	font-size:var(--text-sm); font-weight:600; letter-spacing:0px;
	text-align:center;
}
.sidelink span{ display:block; }

iframe.line-it-button {
	min-width:30px;
	min-height:30px;
}


/* ===== [in sidefixed_right]：大螢幕時-右側固定列 */
.sidefixed_right .sidelink{
	width:40px; height:40px;
	background:#fff;
	border:1px solid #fff;
	border-radius:3px;
	color:#333;
	box-shadow:1px 1px 2px rgba(0,0,0,0.3);
	overflow:hidden;
}
.sidefixed_right .sidelink a{
	position:relative;
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	width:100%; height:100%;
}
.sidefixed_right .sidelink .iconsvg{ z-index:2; width:22px; height:22px; }
.sidefixed_right .sidelink .iconsvg:before{
	background-color:#848484;
}
.sidefixed_right .sidelink-text{ display:none; }


.sidefixed_right .sidelink.scrolltop .iconsvg{
	width:25px; height:25px;
}

.sidefixed_right .sidelink_wechat:hover .sidelink-icon:before{
	background-color:var(--color-wechat);
}
.sidefixed_right .sidelink_fb:hover .sidelink-icon:before{
	background-color:var(--color-fb);
}
.sidefixed_right .sidelink_ig:hover .sidelink-icon:before{
	background-color:var(--color-ig);
}
.sidefixed_right .sidelink_reserve:hover .sidelink-icon:before{
	background-color:var(--color-reserve);
}

.sidefixed_right .sidelink_scroll:hover{
	background-color:var(--color-accent);
}
.sidefixed_right .sidelink_scroll:hover .sidelink-icon:before{
	background-color:#fff;
}


/* ===== sidelink [in sidefixed_btm]：小螢幕時-底部固定列 */
.sidefixed_btm .sidelink a{
	width:100%;
	padding:var(--spacing-xs) 0;
	color:#fff;
	text-align:center;
}
.sidefixed_btm .sidelink .sidelink-icon{
	width:20px; height:20px;
	margin:0 auto 1px auto;
}
.sidefixed_btm .sidelink .sidelink-icon:before{
	background-color:#666;
}
.sidefixed_btm .sidelink-text{
	color:#666;
	font-size: var(--text-sm); font-weight:600; line-height:1;
}

.sidefixed_btm .sidelink.navbar_toggler .sidelink-icon:before{
	background-color:#333;
}
.sidefixed_btm .sidelink.navbar_toggler .sidelink-text{
	color:#333;
}



/*----------------------------------------------------------------------
	#dropdown：下拉式選單
-------------------------------- */

/* ===== 觸發鈕*/
.dropdown{
	position:relative;
	display:inline-block; vertical-align:middle;
}
.dropdown_trigger{
	display:block;
	background:#fff;
	border:1px solid #fff;
	border-radius:3px;
	color:var(--color-one);

	padding: var(--spacing-xs) var(--spacing-base);
	text-align:center;
}
.dropdown_trigger-text{
	position:relative;
	display:inline-block;
	font-size: var(--text-lg); font-weight:600; line-height:1;
	padding-right:var(--spacing-md);
}
.dropdown_trigger-text:before{
	position:absolute; top:50%; right:0; content:"";
	width:0; height:0;
	
	border-width:6px 6px 0 6px;
	border-style:solid;
	border-color:transparent;
	border-top-color:var(--color-one);
	
	transform:translate(0, -50%);
}
.dropdown_trigger:hover{ border-color:#fff; }

@media (min-width:992px){
	.dropdown_trigger{
		padding: var(--spacing-xs) var(--spacing-sm);
	}
	.dropdown_trigger-text{
		font-size: var(--text-sm);
		padding-right:12px;
	}
	.dropdown_trigger-text:before{
		border-width:4px 4px 0 4px;
	}
}


/* ===== 觸發鈕-啟動*/
.dropdown_trigger.is-open{
	background:var(--color-accent);
	border-color:#fff;
	color:#fff;
}
.dropdown_trigger.is-open .dropdown_trigger-text:before{
	border-width:0 4px 4px 4px;
	border-top-color:transprent;
	
	border-bottom-color:#fff;
}


/* ===== 觸發區塊*/
.dropdown_content{
	display:none;
	position:absolute; z-index:2; left:0; top:100%;
	width:100%;
	background:#fff;
	border-radius:5px;
	box-shadow:1px 1px 4px rgba(0, 0, 0, 0.3);
}
.dropdown_content.is-open{
	display:block;
}


/* ===== 下拉項目*/
.dropdown_menu li{}
.dropdown_menu li a{
	display:block;
	width:100%;
	border-bottom:1px solid #ccc;
	font-size: var(--text-lg); font-weight:600; line-height:1;
	color:#333;
	padding:var(--spacing-md) var(--spacing-2xs);
	text-align:center;
}
.dropdown_menu > li:last-child a{
	border-bottom-width:0;
}
.dropdown_menu li a:hover{
	color:var(--color-accent);
}
.dropdown_menu li a.active{
	color:var(--color-one);
}
@media (min-width:992px){
	.dropdown_menu li a{
		font-size: var(--text-sm);
		padding:var(--spacing-base) var(--spacing-2xs);
	}
}



/*----------------------------------------------------------------------
	#language：語系-列表式
-------------------------------- */
.language_box{ display:none; }
@media (min-width:992px){
	.language_box{ display:block; }
}

.language_list{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:flex-end;
	gap:var(--spacing-xs);
	
	margin:var(--spacing-sm) 0;
}

.language{ 
	background:rgba(0,0,0,0.03);
	border:1px solid rgba(0,0,0,0.03);
	border-radius:3px;
    font-size:var(--text-sm); font-weight:600; font-weight:600;
	color:var(--color-dark);
	padding:var(--spacing-xs) var(--spacing-sm);
}
.language:hover{
	background:var(--color-one);
	border-color:var(--color-one);
	color:#fff;
}
.language.active{
	background:#fff;
	border:1px solid #666;
	color:#666;
	cursor:default;
}



/*----------------------------------------------------------------------
	#language_member：會員管理(語系條列式與下拉式裡的css命名皆同)
-------------------------------- */
.language_member{
	display:inline-block; vertical-align:middle;
	position:relative;
	width:48px; height:48px; min-width:auto;
	background:#fff;
	border:1px solid #ccc;
	border-radius:50%;
	font-size:0;
	margin-left:var(--spacing-md);
}
@media (min-width:992px){
	.language_member{ width:36px; height:36px; }
}
.language_member:before{
	position:absolute; z-index:1; top:0; left:0; content:"";
	width:100%; height:100%;
	
	background-color:var(--color-dark);
	
	-webkit-mask-position:center;
			mask-position:center;
	
	-webkit-mask-repeat:no-repeat;
			mask-repeat:no-repeat;
	
	-webkit-mask-size:50% 50%;
			mask-size:50% 50%;
	
	-webkit-mask-image:url(../images/icon/icon_person.svg);
			mask-image:url(../images/icon/icon_person.svg);
}

.language_member:hover{
	background:#fff;
	border-color:var(--color-accent);
}
.language_member:hover:before{
	background-color:var(--color-accent);
}


/* ===== language_dropbox ：語系下拉模式 */
.language_dropbox{
	text-align:center;
}



/*----------------------------------------------------------------------
	#sign_close 【X】關閉圖樣
-------------------------------- */
.sign_close{
	position:relative;
	display:block;
	width:30px; height:30px;
}
.sign_close:before , .sign_close:after{
	position:absolute; left:50%; top:0; content:"";
	width:3px; height:100%;
	background:#fff;
	border-radius:2px;
}
.sign_close:before{ transform:rotate(45deg); }
.sign_close:after{ transform:rotate(-45deg); }



/*----------------------------------------------------------------------
	#sign_hamburger ：【三】圖樣
-------------------------------- */
.sign_hamburger{
	position:relative;
	display:block;
	width:100%; height:100%;
}
.sign_hamburger:before,
.sign_hamburger:after,
.sign_hamburger-line{
	position:absolute; left:0; top:0; content:"";
	width:100%; height:2px;
	margin-top:-1px;
	background:#333;
	border-radius:2px;
	transition:top 0.3s ease-in-out , transform 0.3s ease-in-out;
}
.sign_hamburger:before{ top:20%; }
.sign_hamburger:after{ top:80%; }
.sign_hamburger-line{ top:50%; }

.sign_hamburger.is-open:before{
	top:50%;
	-webkit-transform:rotate(45deg);
    transform:rotate(45deg);
}
.sign_hamburger.is-open:after{
	top:50%;
	-webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
}
.sign_hamburger.is-open .sign_hamburger-line{
	opacity:0;
}





/*----------------------------------------------------------------------
	#header 、 #footer 、 #main
-------------------------------- */
.header,.header_inner,
.main,.main_inner,
.footer,.footer_inner{
	position:relative;
}

.main{ overflow:hidden; }

.header{ z-index:4; }
.header_inner{ z-index:5; }

.main_inner , .footer_inner{ z-index:3; }

/*.header_row,
.footer_row{
	display:flex; flex-wrap:wrap;
}*/
.header-left,.header-center,.header-right,
.header-one,.header-two,.header-three,.header-four,
.footer-left,.footer-center,.footer-right{
	width:100%;
}



/*----------------------------------------------------------------------
	#logo:base
-------------------------------- */
.logo a{
	display:block;
}

/* =====圖片式*/
.logo-photo{
	max-width:300px;
}
.logo-photo img{
	display:block; max-width:100%; height:auto;
}

/* =====文字式*/
.logo-text{
	display:inline-block;
	color:var(--color-one);
	font-size:var(--text-lg); font-weight:600; line-height:1.3;
}



/*----------------------------------------------------------------------
	#offside
-------------------------------- */
.offside{
	position:fixed; z-index:1000; top:0; left:0;
	width:100%; height:100vh;
	overflow:hidden;
	
	opacity:0;
	pointer-events:none;
	visibility:hidden;

	transition: opacity 0s, visibility 0s, transform 0s;
}
.offside.is-open{ 
	opacity:1;
	pointer-events:auto;
	visibility:visible;

	transition: opacity 0.7s, visibility 0.7s, transform 0.7s;
}
@media (min-width:992px){
	.offside{ display:none; }
}

.offside_inner{
	width:calc( 100% - 90px ); height:100vh;

	background: var(--color-offside);
	border-left:1px solid rgba(255,255,255,0.05);
	
	margin-left:auto;
	padding-bottom:var(--spacing-4xl);
	
	overflow-y:auto;
	overflow-x:hidden;
	
	box-shadow:-5px 0 5px rgba(0,0,0,0.3);
}

.offside_header{
	padding: var(--spacing-lg) 0;
}



/*----------------------------------------------------------------------
	#menu_offside：側邊區塊選單
-------------------------------- */
.menu_offside{}

.menu_offside li{
	border-width:0 0 1px 0;
	border-style:solid;
	border-color:rgba(0,0,0,0.2);
}
.menu_offside li a{
	position:relative;
	display:block;
	color:var(--color-one);
	font-size:var(--text-base); font-weight:600;
	padding:1rem 3rem 1rem 2rem;
	text-decoration:none;
}
.menu_offside .menu-subtext{
	display:none;
}


/* ===== 第一層文字 */
.menu_offside > li{
	border-color:rgba(255,255,255,0.2);
}
.menu_offside > li:first-child{
	border-top-width:1px;
}
.menu_offside > li > a{
	color:#fff;
}


/* ===== 文字前端 is 打開下層選單之提醒 */
.menu_offside li a:before{
	position:absolute; top:50%; left:10px; content:"";
	width:8px; height:8px;
	margin-top:-4px;
	background: var(--color-accent);
	border-radius:2px;
	transform:rotate(45deg);
	opacity:0;
}
.menu_offside li a.is-current{
	background:#fff;
	color: var(--color-accent);
}
.menu_offside li a.is-current:before{
	opacity:1;
}


/* ===== 右側 is 有下層之提示圖樣(+號) */
.menu-subbtn{
	display:block;
	position:absolute; z-index:1; top:0; right:0;
	width:70px; height:100%;
	background:rgba(255,255,255,0.05);
	cursor:pointer;
}
.menu-subbtn:before,
.menu-subbtn:after{
    position:absolute; z-index:2; right:50%; top:50%; content:"";
	width:2px; height:10px;
    margin-right:-1px; margin-top:-5px;
	background:#333;
	border-radius:2px;
	outline:0;
	transform-origin:center;
	transition:transform 0.4s ease-in-out;
}
.menu-subbtn:before{ transform:rotate(90deg); }


/* ===== 有下層之提示圖樣-第1層 */
.menu_offside > li > a .menu-subbtn{
	border-left-color:rgba(255,255,255,0.2);
}
.menu_offside > li > a .menu-subbtn:before,
.menu_offside > li > a .menu-subbtn:after{
	background:#fff;
}
.menu_offside > li > a .menu-subbtn.is-open:before,
.menu_offside > li > a .menu-subbtn.is-open:after,
.menu-subbtn.is-open:before,
.menu-subbtn.is-open:after{
	background: var(--color-accent);
}
.menu-subbtn.is-open:before{ transform:rotate(45deg); }
.menu-subbtn.is-open:after{ transform:rotate(-45deg); }	


/* ===== 第二層之後的層級收縮 */
.menu_offside ul{
	display:none;
	position:relative; top:0; left:0;
	width:100%;
	border-top:1px solid rgba(0,0,0,0.2);
	padding-left:var(--spacing-base);
	background:#fff;
}
.menu_offside ul.is-visible{ display:block; }

.menu_offside ul li:last-child{
	border-bottom-width:0;
}



/*----------------------------------------------------------------------
	#offside_close：側邊隱藏區塊-關閉鈕
-------------------------------- */
.offside_close{
	position:fixed; z-index:1102; top:0; left:0;
	
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
	width:90px; height:100%;
}
.offside_close .sign_close{
	margin:0 auto var(--spacing-2xs) auto;
}
.offside_close .sign_close:before ,
.offside_close .sign_close:after{
	background:#fff;
}
.offside_close-text{
	width:100%;
	color:#fff;
	font-size:var(--text-sm); font-weight:600;
	letter-spacing:3px;
	margin-left:var(--spacing-2xs);
	text-align:center;
}










/*----------------------------------------------------------------------
	#header
-------------------------------- */
.header_top{
	border-top:15px solid var(--color-light);
	padding-top:var(--spacing-xs);
}

.header_main{
	margin:var(--spacing-xs) 0;
}
.header_main .header_row{
	align-items:center;
}
.header_main .header-left{
	flex:1 1 auto;
	width:1%; min-width:0;
	margin-left:60px;
}
.header_main .header-right{
	width:60px;
}

.header_btm{
	display:none;
}

@media (min-width:992px){
	.header{
		margin-bottom:var(--spacing-sm);
	}
	.header_top{
		border-top-width:30px;
	}
	
	.header_main{
		margin:var(--spacing-md) 0;
	}
	.header_main .header-left{
		width:100%;
	}
	.header_main .header-right{
		display:none;
	}
	
	.header_btm{
		display:block;
	}
}



/*----------------------------------------------------------------------
	#header_fixed [is-sticky]：卷軸下捲時固定
-------------------------------- */
.header_fixed.is-sticky{
	position:fixed; z-index:900; top:-300px; left:0;
	width:100%; height:auto;

	background:#fff;
	box-shadow:0 2px 6px rgba(0,0,0,0.1);
	padding:var(--spacing-xs);
	
	transition:transform 0.6s ease-in-out;
}
.header_fixed.is-sticky.is-scroll{
	transform:translateY(300px);
}



/*----------------------------------------------------------------------
	#logo in header
-------------------------------- */
.header .logo{
	max-width:300px;
	margin:var(--spacing-xs) auto;
}
@media (min-width:992px){
	.header .logo{
		text-align:center;
	}
}



/*----------------------------------------------------------------------
	#navbar_toggler：側邊隱藏區塊-觸發鈕
-------------------------------- */
.navbar_toggler{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:flex-end;
	
	width: 50px;
	margin: 0 0 0 auto;
	
	/*取消連結的醒目點選標示*/
	-webkit-tap-highlight-color: transparent;
}
.navbar_toggler .navbar_toggler-icon,
.navbar_toggler .navbar_toggler-text{
	display:block;
	line-height:1;
}
.navbar_toggler .navbar_toggler-icon{
	width:32px; height:36px;
}
.navbar_toggler .sign_hamburger:before, 
.navbar_toggler .sign_hamburger:after, 
.navbar_toggler .sign_hamburger-line{
	height:4px;
	background:var(--color-one);
}
.navbar_toggler .navbar_toggler-text{
	font-size:var(--text-md); font-weight:600;
	color:var(--color-one);
}



/*----------------------------------------------------------------------
	#menu
-------------------------------- */
.menu{
	display:none;
}
@media (min-width:992px){
	.menu{
		display:flex; flex-wrap:wrap;
		justify-content:center;
		gap:var(--spacing-xs);
	}
}

.menu .menulink{
	height:36px;
	overflow:hidden;
	border-bottom:3px solid transparent;
}
.menu .menulink a{
	display:block;
	padding:0 var(--spacing-2xs);
	transition:transform 0.2s;
}
.menu .menulink a:hover{
	transform:translateY(-36px);
}

.menu .menulink a .menu-text,
.menu .menulink a .menu-subtext{
	display:block;
	font-size:var(--text-base);
	font-weight:600; line-height:36px;
	color:#333;
	text-align:center;
}
.menu .menulink a .menu-subtext{
	color:var(--color-accent);
}

.menu .menulink:hover{
	border-bottom-color:var(--color-accent);
}


/* ===== 卷軸下捲時選單設定 [in header is-sticky] ===== */
.header_fixed.is-sticky .menu .menulink{
	height:30px;
}
.header_fixed.is-sticky .menu .menulink a:hover{
	transform:translateY(-30px);
}
.header_fixed.is-sticky .menu .menulink a .menu-text,
.header_fixed.is-sticky .menu .menulink a .menu-subtext{
	line-height:30px;
}










/*----------------------------------------------------------------------
	#footer
-------------------------------- */
.footer{
	background:var(--color-lighter);
}
.footer_main{
	padding:var(--spacing-md) 0;
}
.footer_btm{
	background:rgba( var(--color-one-rgb), 0.1);
	padding:var(--spacing-md) 0 var(--spacing-3xl) 0;
}
.footer_btm .footer-right{
	margin-top:var(--spacing-md);
}
@media (min-width:992px){
	.footer_btm{ padding:var(--spacing-sm) 0; }
}



/*----------------------------------------------------------------------
	#infolist_footer_company
-------------------------------- */
.infolist_footer_company{
	text-align:center;
}
.infolist_footer_company .info{
    font-size: var(--text-sm);
}
.infolist_footer_company .info-title{
	position:relative; display:block;
}
.infolist_footer_company .info-text{
	flex:1 1 auto;
	width:1%; min-width:0;
	margin-left:0.125rem;
	text-align:left;
}
.infolist_footer_company,
.infolist_footer_company a{
	color:#333;
}
.infolist_footer_company a:hover{
	color: var(--color-accent);
}



/*----------------------------------------------------------------------
	#web-foot
-------------------------------- */
.web-foot{
	display:flex; flex-wrap:wrap;
	gap:var(--spacing-2xs);
	
	font-size:var(--text-sm); font-weight:600;
	text-align:center;
}
.web-foot li{
	width:100%;
}

.web-foot,
.web-foot a{
	color:#666;
}
.web-foot a:hover{
	color:var(--color-accent);
}
@media (min-width:992px){
	.web-foot.txt-left{
		text-align:left;
	}
	.web-foot.txt-right{
		text-align:right;
	}
	.web-foot br{ display:none;}
}



/*----------------------------------------------------------------------
	#navbar_social：社群
-------------------------------- */
.navbar_social{
	justify-content:center;
	gap:var(--spacing-xs);
	
	margin-top:var(--spacing-base);
}

.navlink_social{
	display:block;
	padding:0;
}
.navlink_social .navlink-text{ display:none; }
.navlink_social .navlink-icon{
	width:40px; height:40px;
	background:var(--color-one);
	border:1px solid rgba(255,255,255,0.1);
	border-radius:50%;
	overflow:hidden;
	transition:transform 0.3s ease;
}
.navlink_social .navlink-icon:before{
	background-color:#fff;
	
	-webkit-mask-size:60% 60%;
    mask-size:60% 60%;
}
.navlink_social a:hover .navlink-icon{
	background:var(--color-accent);
}

@media (min-width:992px){
	.navlink_social .navlink-icon{
		width:36px; height:36px;
	}
}










/*----------------------------------------------------------------------
	#Slickbase 輪播基礎
-------------------------------- */

/* 為解決因圖片過多，load時會出現圖片爆框問題 */
.slickbase{
	opacity:0;
	/*visibility:hidden;*/
	-webkit-transition:opacity 1s ease , visibility 1s ease;
			transition:opacity 1s ease , visibility 1s ease;
}

.slickbase.slick-initialized{
	visibility:visible;
	opacity:1;
}

.slickbase > li,
.slickbase .slick-slide{
	display:none;
}

.slickbase > li:first-child,
.slickbase .slick-slide:first-child{
	display:block;
	visibility:hidden;
} 

.slickbase.slick-initialized .slick-slide{
	display:block;
	visibility:visible!important;
}


/* ===== slick 基礎設定-項目 */
.slickbase{ overflow:hidden; }
.slickbase .slick-slide{
	position:relative;
	overflow:hidden;
}


/* ===== slick 基礎設定-左右按鈕 */
.slickarrow .slick-prev, 
.slickarrow .slick-next{
	position:absolute; z-index:11; top:0;
	display:block;
	width:50px; height:100%;
	background:rgba(255,255,255,0.1);
	border:none;
	color:transparent;
	font-size:0;
	cursor:pointer;
	transition:opacity 0.7s ease , transform 0.7s ease;
}
.slickarrow .slick-prev{ left:0; transform:translateX(-70px); }
.slickarrow .slick-next{ right:0; transform:translateX(70px); }

.slickarrow .slick-prev:before, 
.slickarrow .slick-next:before{
	position:absolute; top:50%; left:50%; content:"";
	width:10px; height:10px;
	border:4px solid #fff;
	transform:translate(-50%, -50%) rotate(45deg);
}
.slickarrow .slick-prev:before{ border-top-width:0; border-right-width:0; }
.slickarrow .slick-next:before{ border-left-width:0; border-bottom-width:0; }

.slickarrow .slick-prev:hover:before, 
.slickarrow .slick-next:hover:before{
	border-color:var(--color-accent);
}
.slickarrow:hover .slick-prev, 
.slickarrow:hover .slick-next{
	transform:translateX(0);
}


/* ===== slick 基礎設定-底下圓圈 */
.slickdots .slick-dots{
	position:relative; z-index:12;
	display:flex; flex-wrap:wrap; 
	justify-content:center;
	gap:var(--spacing-xs);
	
	width:100%;
	background:transparent;
	padding:0 var(--spacing-2xs);
}
.slickdots .slick-dots li{
	font-size:0;
}
.slickdots .slick-dots li button{
	width:20px; height:4px;
	background:#ccc;
	border:1px solid #fff;
	font-size:0;
	cursor:pointer;
}
.slickdots .slick-dots li button:hover{
	background:var(--color-accent);
}
.slickdots .slick-dots li.slick-active button{
	background:var(--color-one);
	
	opacity:1;
}
@media (min-width:992px){
	.slickdots .slick-dots li button{
		width:30px; height:8px;
	}
}



/*----------------------------------------------------------------------
	#banner
-------------------------------- */

/* ===== in idx */
.slide-banner .slick-slide img{
	display:block; max-width:100%; height:auto;
    margin:0 auto;
}

/* ===== in page */
.banner-single img{
	display: block; max-width: 100%; height: auto;
    margin: 0 auto;
}



/*----------------------------------------------------------------------
	#marquee：跑馬燈
-------------------------------- */
.marqueebar{
	position:relative; z-index:3;
	margin:var(--spacing-md) 0;
}
.marquee_inner{
	position:relative;
	background:rgba(var(--color-one-rgb), 0.05);
	padding:var(--spacing-xs) 0;
}

.marquee_main{
	margin-left:50px;
}

.marquee-tag{
	position:absolute; top:50%; left:10px;
	transform:translate(0, -50%);
}
.marquee-tag_desktop{ display:none; }
.marquee-tag_mobile{ display:block; }
@media (min-width:992px){
	.marquee_main{
		margin-left:75px;
	}

	.marquee-tag_desktop{ display:block; }
	.marquee-tag_mobile{ display:none; }
}


/* ===== 跑馬燈圖標-桌面端 */
.marquee-tag_desktop{
	background:#E94847;
	border-radius:3px;
	
	font-size:var(--text-sm); font-weight:600;
	color:#fff;
	text-align:center;
	
	padding:var(--spacing-2xs) var(--spacing-xs);
}
.marquee-tag_desktop:before{
	position:absolute; top:50%; right:-6px; content:"";
	width:0; height:0;
	margin-top:-6px;
	
	border-width:6px 0 6px 6px;
	border-style:solid;
	border-color:transparent;
	
	border-left-color:#E94847;
}

/* ===== 跑馬燈圖標-移動端 */
.marquee-tag_mobile{
	width:34px; height:34px;
	background:#E94847;
	border:2px solid #fff;
	border-radius:50%;
}
.marquee-tag_mobile .iconsvg:before{
	background-color:#fff;
	
	-webkit-mask-size: 80% 80%;
    mask-size: 80% 80%;
}


/* ===== 跑馬燈-文字 */
.marquee-slide{
	height: 34px;
	overflow: hidden;
}

.marquee-slide li{}

.marquee{}

.marquee a{
	display:block;
	color:var(--color-one);
}
.marquee-text{
	display:block;
	font-size:var(--text-lg); font-weight:600;
	line-height:32px;
	
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.marquee a:hover{
	color:var(--color-accent);
}
@media (min-width:992px){
	.marquee-text{
		font-size:var(--text-xl);
	}
}





/*----------------------------------------------------------------------
	#webclose：網站維修
-------------------------------- */
.wrapper.webclose{ background: #fff; }

.webclose{
	width: 100%; height: 100%;
	min-height: 100vh;
}

.webclose_row{
	width: 100%; height: 100vh;
	
	display: flex; flex-wrap: wrap;
	align-items: center; justify-content: center;
}
.webclose-box{
	width: 100%; max-width: 600px;
}

.card_webclose{
	background: transparent;
	border-width: 0;
	padding: 0;
	margin: 0;
	box-shadow: none;
}
.card_webclose:before,
.card_webclose:after{
	display: none;
}

/*圖片 */
.card_webclose .card-photo{ border-width: 0; }

/*公司資料 */
.card_webclose .card-text{
    margin: 10px 0;
    font-size: var(--text-lg); font-weight: 600;
    color: #2E97BF;
    text-align: center
}

.card_webclose .card-infolist{
    text-align: center;
}
.card_webclose .card-info{
    display: inline-block;
    vertical-align: middle;
    margin: var(--spacing-2xs);
}

.card_webclose .card-info ,
.card_webclose .card-info a{
    font-size: var(--text-base); font-weight: 600;
	color: #333;
}
.card_webclose .card-info a:hover{
	color: #9F0605;
}










/*----------------------------------------------------------------------
	#form:base
-------------------------------- */

.form-label{ margin-bottom:var(--spacing-xs); }

.form-text{
	margin-top:var(--spacing-2xs);
	font-size:var(--text-sm);
	color:#6c757d;
}


/* ===== 輸入欄位 */
.form-control{
	display:block;
	width:100%;
	
	background-color:#fff;
	background-clip:padding-box;
	
	border:1px solid #ced4da;
	border-radius:0.25rem;
	
	font-size:var(--text-base); font-weight:400; line-height:1.5;
	color:#212529;
	
	padding:var(--spacing-xs) var(--spacing-sm);

	-webkit-appearance:none;
	   -moz-appearance:none;
			appearance:none;

	transition: border-color 0.15s ease-in-out, 
				box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion:reduce){
	.form-control{
		transition:none;
	}
}

.form-control[type=file]{
	overflow:hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]){
	cursor:pointer;
}

.form-control:focus{
	color:#212529;
	background-color:#fff;
	border-color:#86b7fe;
	outline:0;
	box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-control::-webkit-date-and-time-value{
	height:1.5em;
}

.form-control::-moz-placeholder{
	color:#6c757d;
	font-size:var(--text-sm);
	opacity:1;
}
.form-control::placeholder{
	color:#6c757d;
	font-size:var(--text-sm);
	opacity:1;
}

.form-control:disabled,
.form-control[readonly]{
	background-color:#e9ecef;
	opacity:1;
}
.form-control::file-selector-button{
	padding:0.375rem 0.75rem;
	margin:-0.375rem -0.75rem;
	
	-webkit-margin-end:0.75rem;
	margin-inline-end:0.75rem;
	
	color:#212529;
	background-color:#e9ecef;
	pointer-events:none;
	
	border-color:inherit;
	border-style:solid;
	border-width:0;
	border-inline-end-width:1px;
	
	border-radius:0;
	transition: color 0.15s ease-in-out,
				background-color 0.15s ease-in-out,
				border-color 0.15s ease-in-out,
				box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion:reduce){
	.form-control::file-selector-button{
		transition:none;
	}
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button{
	background-color:#dde0e3;
}
.form-control::-webkit-file-upload-button{
	padding:0.375rem 0.75rem;
	margin:-0.375rem -0.75rem;
	
	-webkit-margin-end:0.75rem;
	margin-inline-end:0.75rem;
	
	color:#212529;
	background-color:#e9ecef;
	pointer-events:none;
	border-color:inherit;
	border-style:solid;
	border-width:0;
	border-inline-end-width:1px;
	
	border-radius:0;

	transition: color 0.15s ease-in-out,
				background-color 0.15s ease-in-out,
				border-color 0.15s ease-in-out,
				box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion:reduce){
	.form-control::-webkit-file-upload-button{
		-webkit-transition:none;
		transition:none;
	}
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{
	background-color:#dde0e3;
}

.form-control-plaintext{
	display:block;
	width:100%;
	padding:var(--spacing-xs) 0;
	margin-bottom:0;
	line-height:1.5;
	color:#212529;
	background-color:transparent;
	border:solid transparent;
	border-width:1px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg{
	padding-right:0;
	padding-left:0;
}

textarea.form-control{
	min-height:calc(1.5em + 0.75rem + 2px);
}
/* textarea.form-control-sm{
	min-height:calc(1.5em + 0.5rem + 2px);
}
textarea.form-control-lg{
	 min-height:calc(1.5em + 1rem + 2px);
} */


/* ===== 下拉選單 */
.form-select{
	display:block;
	width:100%;
	
	padding:var(--spacing-xs) var(--spacing-sm);
	padding-right:var(--spacing-lg);
	
	-moz-padding-start:calc(0.75rem - 3px);
	
	font-size:var(--text-base);
	font-weight:400;
	line-height:1.5;
	color:#212529;
	
	background-color:#fff;
	background-image:url(../images/icon/icon_select.svg);
	background-repeat:no-repeat;
	background-position:right 0.75rem center;
	background-size:16px 12px;
	
	border:1px solid #ced4da;
	border-radius:0.25rem;
	cursor:pointer;
	
	transition: border-color 0.15s ease-in-out,
				box-shadow 0.15s ease-in-out;
				
	-webkit-appearance:none;
	   -moz-appearance:none;
			appearance:none;
}
@media (prefers-reduced-motion:reduce){
	.form-select{
		transition:none;
	}
}
.form-select:focus{
	border-color:#86b7fe;
	outline:0;
	box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple],
.form-select[size]:not([size="1"]){
	padding-right:0.75rem;
	background-image:none;
}
.form-select:disabled{
	background-color:#e9ecef;
}
.form-select:-moz-focusring{
	color:transparent;
	text-shadow:0 0 0 #212529;
}


/* ===== 核取方塊&選項按鈕 */
.form-check{
	display:block;
	min-height:1.5rem;
	padding-left:var(--spacing-md);
	margin:var(--spacing-2xs) 0;
}
.form-check .form-check-input{
	float:left;
	margin-left:-1.5em;
}

.form-check-input{
	width:1em; height:1em;
	
	margin-top:var(--spacing-2xs);
	vertical-align:top;
	
	background-color:#fff;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	
	border:1px solid rgba(0, 0, 0, 0.25);
	
	-webkit-appearance:none;
	   -moz-appearance:none;
			appearance:none;
			
	-webkit-print-color-adjust:exact;
				  color-adjust:exact;
}
.form-check-input[type=checkbox]{
	border-radius:0.25em;
}
.form-check-input[type=radio]{
	border-radius:50%;
}
.form-check-input:active{
	filter:brightness(90%);
}
.form-check-input:focus{
	border-color:#86b7fe;
	outline:0;
	box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked{
	background-color:#0d6efd;
	border-color:#0d6efd;
}
.form-check-input:checked[type=checkbox]{
	background-image:url(../images/icon/icon_tick.svg);
}
.form-check-input:checked[type=radio]{
	background-image:url(../images/icon/icon_circle.svg);
}
.form-check-input[type=checkbox]:indeterminate{
	background-color:#0d6efd;
	border-color:#0d6efd;
	background-image:url(../images/icon/icon_null.svg);
}
.form-check-input:disabled{
	pointer-events:none;
	filter:none;
	opacity:0.5;
}
.form-check-input[disabled] ~ .form-check-label,
.form-check-input:disabled ~ .form-check-label{
	opacity:0.5;
}

.form-check-inline{
	display:inline-block;
	margin-right:1rem;
}





/*----------------------------------------------------------------------
	#formbox：表單
		.formbox_case_login：登入[in case_login]
		.formbox_petition_login：登入[in case_petition_a]
		
		.formbox_petition：填寫資料[in case_petition_b]
		.formbox formbox_inquire：填表諮詢[in idx & contact]
		
		.formbox_cateselect：分類-下拉選單式
		.formbox_cateselect_timeline
		.formbox_cateselect_franchiser_albums
		.formbox_cateselect_designer
		
-------------------------------- */
.formbox{
	position:relative; z-index:5;
}

.formlist{
	display:grid;
	gap:1.5rem;
	/* grid-template-columns: repeat(2, minmax(0, 1fr)); */
}
.formlist > li{
	position:relative;
	width:100%;
}

/* ===== 表單說明 */
.form-describe{
	color:#333;
	font-size:var(--text-lg); font-weight:600;
	text-align:center;
	margin-bottom:var(--spacing-lg);
}

/* ===== 必填 */
.data_required{
	vertical-align:text-top;
	font-size:var(--text-sm);
	color:red;
	
	/*text-shadow: black 0.1em 0.1em 0.2em;*/
}


/*===== #input_group */
.input_group-left{
	margin-bottom:var(--spacing-sm);
}
@media (min-width:992px){
	.input_group{
		display:flex; flex-wrap:wrap;
		align-items:center;
	}
	.input_group-left{
		margin-bottom:0;
	}
	.input_group-right{
		position:relative;
		
		flex:1 1 auto;
		width:1%; min-width:0;
	}
}


/* ===== 標題 */
.form-icon,
.form-require,
.form-title{
	display:inline-block; vertical-align:middle;
}
.form-require{
	width:7px;
	margin-right:var(--spacing-2xs);
}

.form-title{
	position:relative;
	font-size:var(--text-lg); font-weight:600;
	color:var(--color-dark);
	padding-right:var(--spacing-md);
	
	/*text-shadow: black 0.1em 0.1em 0.2em;*/
}
@media (min-width:992px){
	.form-title{
		width:120px;
		margin-right:var(--spacing-sm);
		
		/*文字左右對齊*/
		text-align:justify;
		text-align-last:justify;
		text-justify:inter-word;
	}
}
.form-title:after{
	position:absolute; top:-2px; right:0; content:"：";
	color:var(--color-dark);
}


/*===== #內容-純文字 */
.input_group-text{
	background:rgba(0,0,0,0.03);
	padding:var(--spacing-xs) var(--spacing-2xs);
	font-size:var(--text-base); font-weight:600; line-height:1.5;
	color:#333;
}


/*===== #form-remind：欄位說明文字*/
.form-remind{
	width:100%;
	color:#666;
	font-size:var(--text-sm);
	margin-top:var(--spacing-xs);
}


.form-control,
.form-select{
	background-color:#F9F9F9;
    border:1px solid #999;
	border-radius:3px;
}
textarea.form-control{
	border-radius:3px;
}


/* ===== #單選按鈕 */
.form-checklist{
	display:flex; flex-wrap:wrap;
	gap:var(--spacing-md);
}
.form-check{
	font-weight:600;
}


/* ===== 驗證碼列 */
.form-verifybox{
	display:inline-block;
	background:rgba(255,255,255,0.5);
	/*padding:var(--spacing-xs) var(--spacing-sm);*/
}
.form-verifybox a{
	font-size:var(--text-sm); font-weight:600;
}
.form-verifybox input{
	background-color: #F9F9F9;
    border: 1px solid #999;
	padding:var(--spacing-2xs);
}


/* ===== 按鈕列 */
.form-btnbar{
	text-align:center;
	margin-top:var(--spacing-lg);
}
.formbtn{
	background:var(--color-one);

	border:2px solid #fff;
	border-radius:10rem;
	color:#fff;
	font-size:var(--text-lg); font-weight:600; line-height:1;
	padding:var(--spacing-sm) var(--spacing-xl);
	box-shadow:1px 1px 5px rgba(0, 0, 0, 0.2);
}
.formbtn:hover{
	background:var(--color-accent);
	color:#fff;
	box-shadow:2px 2px 10px rgba(0, 0, 0, 0.5);
}










/*----------------------------------------------------------------------
	#iconsvg
-------------------------------- */
.iconsvg {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;

} 
.iconsvg:before {
	position: absolute; top: 0; left: 0; content: "";
	width:100%; height:100%;
    background-color: #333;

    -webkit-mask-position: center;
			mask-position: center;
    
    -webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
    
    -webkit-mask-size: 100% 100%;
			mask-size: 100% 100%;
	
	/*-webkit-mask-size: 65% 65%;
			mask-size: 65% 65%;*/
}


/*===== #scrolltop*/
.icon-scrolltop:before {
    -webkit-mask-image: url(../images/icon/icon_scrolltop.svg);
    mask-image: url(../images/icon/icon_scrolltop.svg);
}
.icon-scrolltop-mobile:before {
    -webkit-mask-image: url(../images/icon/icon_scrolltop_mobile.svg);
    mask-image: url(../images/icon/icon_scrolltop_mobile.svg);
}


/*===== #marquee - 20230519 add*/
.icon_marquee:before {
    -webkit-mask-image: url(../images/icon/icon_marquee.svg);
    mask-image: url(../images/icon/icon_marquee.svg);
}


/*===== #social*/
.icon-fb:before {
    -webkit-mask-image: url(../images/icon/icon_fb.svg);
    mask-image: url(../images/icon/icon_fb.svg);
}
.icon-line:before {
    -webkit-mask-image: url(../images/icon/icon_line.svg);
    mask-image: url(../images/icon/icon_line.svg);
}
.icon-ig:before {
    -webkit-mask-image: url(../images/icon/icon_ig.svg);
    mask-image: url(../images/icon/icon_ig.svg);
}
.icon-youtube:before {
    -webkit-mask-image: url(../images/icon/icon_youtube.svg);
    mask-image: url(../images/icon/icon_youtube.svg);
}
.icon-twitter:before {
    -webkit-mask-image: url(../images/icon/icon_twitter.svg);
    mask-image: url(../images/icon/icon_twitter.svg);
}
.icon-weibo:before {
    -webkit-mask-image: url(../images/icon/icon_weibo.svg);
    mask-image: url(../images/icon/icon_weibo.svg);
}
.icon-wechat:before {
    -webkit-mask-image: url(../images/icon/icon_wechat.svg);
    mask-image: url(../images/icon/icon_wechat.svg);
}
.icon-skype:before {
    -webkit-mask-image: url(../images/icon/icon_skype.svg);
    mask-image: url(../images/icon/icon_skype.svg);
}
.icon-home:before {
    -webkit-mask-image: url(../images/icon/icon_home.svg);
    mask-image: url(../images/icon/icon_home.svg);
}


/*===== #contact info 、 form */
.icon-person:before {
    -webkit-mask-image: url(../images/icon/icon_person.svg);
    mask-image: url(../images/icon/icon_person.svg);
}
.icon-phone:before {
    -webkit-mask-image: url(../images/icon/icon_phone.svg);
    mask-image: url(../images/icon/icon_phone.svg);
}
.icon-fax:before {
    -webkit-mask-image: url(../images/icon/icon_fax.svg);
    mask-image: url(../images/icon/icon_fax.svg);
}
.icon-mail:before {
    -webkit-mask-image: url(../images/icon/icon_mail.svg);
    mask-image: url(../images/icon/icon_mail.svg);
}
.icon-address:before {
    -webkit-mask-image: url(../images/icon/icon_address.svg);
    mask-image: url(../images/icon/icon_address.svg);
}
.icon-company:before {
    -webkit-mask-image: url(../images/icon/icon_company.svg);
    mask-image: url(../images/icon/icon_company.svg);
}
.icon-working:before {
    -webkit-mask-image: url(../images/icon/icon_working.svg);
    mask-image: url(../images/icon/icon_working.svg);
}
.icon-global:before {
    -webkit-mask-image: url(../images/icon/icon_global.svg);
    mask-image: url(../images/icon/icon_global.svg);
}
.icon-verify:before {
    -webkit-mask-image: url(../images/icon/icon_verify.svg);
    mask-image: url(../images/icon/icon_verify.svg);
}


/*===== #go to page */
.icon-pageback:before {
    -webkit-mask-image: url(../images/icon/icon_pageback.svg);
    mask-image: url(../images/icon/icon_pageback.svg);
}
.icon-question:before {
    -webkit-mask-image: url(../images/icon/icon_question.svg);
    mask-image: url(../images/icon/icon_question.svg);
}
.icon-read-more:before {
    -webkit-mask-image: url(../images/icon/icon_read_more.svg);
    mask-image: url(../images/icon/icon_read_more.svg);
}
.icon-triangle-right:before {
    -webkit-mask-image: url(../images/icon/icon_triangle_right.svg);
    mask-image: url(../images/icon/icon_triangle_right.svg);
}
.icon-view-more:before {
    -webkit-mask-image: url(../images/icon/icon_double_right.svg);
    mask-image: url(../images/icon/icon_double_right.svg);
}
.icon-go:before,
.icon-apply:before,
.icon-outlink:before{
    -webkit-mask-image: url(../images/icon/icon_go.svg);
    mask-image: url(../images/icon/icon_go.svg);
}


/*===== #meeting */
.icon-reserve:before {
    -webkit-mask-image: url(../images/icon/icon_calendar.svg);
    mask-image: url(../images/icon/icon_calendar.svg);
}
.icon-meeting:before {
    -webkit-mask-image: url(../images/icon/icon_meeting.svg);
    mask-image: url(../images/icon/icon_meeting.svg);
}
.icon-no-allow:before {
    -webkit-mask-image: url(../images/icon/icon_no_allow.svg);
    mask-image: url(../images/icon/icon_no_allow.svg);
}


/*===== #case */
.icon-case-result:before {
    -webkit-mask-image: url(../images/icon/icon_case_result.svg);
    mask-image: url(../images/icon/icon_case_result.svg);
}
.icon-case-goon:before {
    -webkit-mask-image: url(../images/icon/icon_case_goon.svg);
    mask-image: url(../images/icon/icon_case_goon.svg);
}
.icon-case-finish:before {
    -webkit-mask-image: url(../images/icon/icon_case_finish.svg);
    mask-image: url(../images/icon/icon_case_finish.svg);
}
.icon-petition:before {
    -webkit-mask-image: url(../images/icon/icon_petition.svg);
    mask-image: url(../images/icon/icon_petition.svg);
}



.icon-hamburger:before {
    -webkit-mask-image: url(../images/icon/icon_hamburger.svg);
    mask-image: url(../images/icon/icon_hamburger.svg);
}
.icon-search:before {
    -webkit-mask-image: url(../images/icon/icon_search.svg);
    mask-image: url(../images/icon/icon_search.svg);
}
.icon-tag:before {
    -webkit-mask-image: url(../images/icon/icon_tag.svg);
    mask-image: url(../images/icon/icon_tag.svg);
}
.icon-download:before {
    -webkit-mask-image: url(../images/icon/icon_download.svg);
    mask-image: url(../images/icon/icon_download.svg);
}
.icon-message:before {
    -webkit-mask-image: url(../images/icon/icon_message.svg);
    mask-image: url(../images/icon/icon_message.svg);
}
.icon-date:before {
    -webkit-mask-image: url(../images/icon/icon_date.svg);
    mask-image: url(../images/icon/icon_date.svg);
}
.icon-addcart:before {
    -webkit-mask-image: url(../images/icon/icon_addcart.svg);
    mask-image: url(../images/icon/icon_addcart.svg);
}
.icon-scan:before {
    -webkit-mask-image: url(../images/icon/icon_scan.svg);
    mask-image: url(../images/icon/icon_scan.svg);
}
.icon-bulb:before {
    -webkit-mask-image: url(../images/icon/icon_bulb.svg);
    mask-image: url(../images/icon/icon_bulb.svg);
}





/*----------------------------------------------------------------------
	#animattion
-------------------------------- */
@keyframes goto {
	0% {
		transform:translateX(0px);
	}
	5% {
		transform:translateX(3px);
	}
	10% {
		transform:translateX(0px);
	}
	15% {
		transform:translateX(-3px);
	}
	20% {
		transform:translateX(0px);
	}
	25% {
		transform:translateX(3px);
	}
	30% {
		transform:translateX(0px);
	}
	100% {
		transform:translateX(0px);
	}
}


@keyframes BigShow {
	0% {
		transform:scale(1);		
	}
	50% {
		transform:scale(1.6);		
	}
	100% {
		transform:scale(1);		
	}
}


@keyframes SmallShow {
	0% {
		transform:scale(1);		
	}
	50% {
		transform:scale(0.5);		
	}
	100% {
		transform:scale(1);		
	}
}


/* 左右搖擺 */
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
            transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
            transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
            transform: rotate3d(0, 0, 1, -5deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}

