@charset "utf-8";

:root {

	/* font size */
	--text-base-size: 1.125rem; /* body font-size */
	--text-scale-ratio: 1.2;
  
  
	/* -------------------------------- 

		Typography

	-------------------------------- */
	--font-unit: var(--text-base-size);
	
	--font-xs: calc(var(--font-sm) / var(--text-scale-ratio));
	--font-sm: calc(var(--font-unit) / var(--text-scale-ratio));
	--font-md: calc(var(--font-unit) * var(--text-scale-ratio));
	--font-lg: calc(var(--font-md) * var(--text-scale-ratio));
	--font-xl: calc(var(--font-lg) * var(--text-scale-ratio));
	--font-xxl: calc(var(--font-xl) * var(--text-scale-ratio)); /* h1 */
	--font-xxxl: calc(var(--font-xxl) * var(--text-scale-ratio));
	--font-xxxxl: calc(var(--font-xxxl) * var(--text-scale-ratio));
	

	/* line-height */
	--line-height-heading: 1.2;
	--line-height-body: 1.4;
	
	
	
	/* -------------------------------- 
	
		Space
	
	-------------------------------- */
	--space-unit: 1.2rem;
	
	--space-xxxxs: calc(0.125 * var(--space-unit));
	--space-xxxs: calc(0.25 * var(--space-unit));
	--space-xxs: calc(0.375 * var(--space-unit));
	--space-xs: calc(0.5 * var(--space-unit));
	--space-sm: calc(0.75 * var(--space-unit));
	--space-md: calc(1.25 * var(--space-unit));
	--space-lg: calc(2 * var(--space-unit));
	--space-xl: calc(3.25 * var(--space-unit));
	--space-xxl: calc(5.25 * var(--space-unit));
	--space-xxxl: calc(8.5 * var(--space-unit));
	--space-xxxxl: calc(13.75 * var(--space-unit));
	
	--component-padding: var(--space-md);
	
	
	--space-unit-fixed: 1rem;
	
	--space-xxxxs-fixed:  calc(0.125 * var(--space-unit-fixed));
	--space-xxxs-fixed:  calc(0.25 * var(--space-unit-fixed));
	--space-xxs-fixed:  calc(0.375 * var(--space-unit-fixed));
	--space-xs-fixed:   calc(0.5 * var(--space-unit-fixed));
	--space-sm-fixed:   calc(0.75 * var(--space-unit-fixed));
	--space-md-fixed:   calc(1.25 * var(--space-unit-fixed));
	--space-lg-fixed:   calc(2 * var(--space-unit-fixed));
	--space-xl-fixed:   calc(3.25 * var(--space-unit-fixed));
	--space-xxl-fixed:  calc(5.25 * var(--space-unit-fixed));
	--space-xxxl-fixed:  calc(8.5 * var(--space-unit-fixed));
	--space-xxxxl-fixed:  calc(13.75 * var(--space-unit-fixed));
	
	
	/* -------------------------------- 
	
		Buttons
	
	-------------------------------- */
    --btn-font-size: 1.125rem;
    --btn-sm: calc(var(--btn-font-size) - 0.2em);
    --btn-md: calc(var(--btn-font-size) + 0.2em);
    --btn-lg: calc(var(--btn-font-size) + 0.4em);
	
	--btn-radius:0.4rem;
}


@media (min-width:1600px){
	:root {
		--text-base-size: 1rem;
		/* --text-scale-ratio: 1.2; */
		
		--space-unit: 1rem;
		
		/*--btn-font-size: 1rem;*/
	}
}





/*-------------------------------------------------------------------------------------------

	#Color

-------------------------------- */
:root {
	--color-case-result:#F6781D; /*案件-成果*/
	--color-case-goon:#178CF7; /*案件-進行中*/
	--color-case-finish:#EF4124; /*案件-已完成*/
	
	--color-case-petition:#4d8a2a; /*案件-我要陳情*/
	
	--color-reserve:#EA972B; /*預約*/
	--color-meeting:#4FAE5C; /*會議*/
	
	--color-apply:#4FAE5C; /*立即申請*/
	--color-addcart:#D54545; /*立即購買*/

	--color-popup-notify:#F59700; /*彈出視窗-通知*/
	--color-popup-warn:#b02726; /*彈出視窗-警告*/

	--color-popup-notify-gradient:linear-gradient(-45deg, var(--color-popup-notify), #f5d758); 
	/* 彈出視窗-通知：深-淺漸層色 */
	
	--color-popup-warn-gradient:linear-gradient(-45deg, var(--color-popup-warn), #f72b2b); 
	/* 彈出視窗-警告：深-淺漸層色 */
}





/*-------------------------------------------------------------------------------------------

	#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(--space-xs);
	font-weight:500;
	line-height:1.2;
}

p{
	margin-top:0;
	margin-bottom:var(--space-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(--font-md);
	line-height:inherit;
	padding:0;
	margin-bottom:var(--space-xs);
}
@media (min-width:1200px){
	legend{
		font-size:var(--font-lg);
	}
}
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-face{
    font-family:'微軟正黑體修正';
    unicode-range:U+7db0, U+78A7, U+7B75; /* ASCII (碧筵綰) */
    font-style:normal;
    font-weight:normal;
    src:local(微軟正黑體);
}

body{
	background:#fff;
	font-family:"Microsoft JhengHei","微軟正黑體修正","微軟正黑體",sans-serif;
	color:#333;
	line-height: var(--line-height-body);
}

.wrapper{
	position:relative;
	overflow: hidden;
}





/*-------------------------------------------------------------------------------------------

	#Typography

-------------------------------- */
.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;
}


.font--xxxxl {
	font-size: var(--font-xxxxl);
}

.font--xxxl {
	font-size: var(--font-xxxl);
}

h1, .font--xxl {
	font-size: var(--font-xxl);
}

h2, .font--xl {
	font-size: var(--font-xl);
}

h3, .font--lg {
	font-size: var(--font-lg);
}

h4, .font--md {
	font-size: var(--font-md);
}

small, .font--sm {
	font-size: var(--font-sm);
}

.font--xs {
	font-size: var(--font-xs);
}

h1, h2, h3, h4, form legend {
	/* color: var(--color-text-heading); */
	font-weight: 700;
	line-height: var(--line-height-heading);
	margin-bottom: var(--space-xxs);
}

/* p {
	line-height: var(--line-height-body);
} */




/*-------------------------------------------------------------------------------------------

	#Editor：後台編輯器

-------------------------------- */
.editor{
	overflow-wrap: break-word;
}

.editor h1 {
	margin-bottom: var(--space-md);
}

.editor h2,
.editor h3,
.editor h4 {
	margin-top: var(--space-md);
	margin-bottom: var(--space-sm);
}

.editor ul,
.editor ol,
.editor p {
	margin-bottom: var(--space-sm);
}

.editor ul,
.editor ol {
	list-style-position: outside;
	padding-left: var(--space-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 a{
    text-decoration:underline;
}
.editor img{
	max-width:100%;
	height:auto;
}
.editor iframe{
	max-width:100%;
}





/*-------------------------------------------------------------------------------------------

	#Btn
		.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{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
    margin:var(--space-xxs) 0;
	text-align:center;
}

.card-btnbar{
	display:flex; flex-wrap:wrap;
	align-items:center;
	
	margin-top:var(--space-xxs);
}

.btnbar_mobile_hide{ display:none; }
.btnbar_mobile_show{ display:block; }

@media (min-width:992px){
	.btnbar_mobile_hide{ display:block; }
	.btnbar_mobile_show{ display:none; }
}


.btn, 
.card-btn{
	display: inline-flex;
	align-items:center; justify-content:center;
	
	position: relative;
	white-space: nowrap;
	text-decoration: none;
	
	background-color:transparent;
	border:1px solid transparent;
	border-radius:var(--btn-radius);
	
	color:#212529;
	
	font-size:var(--btn-font-size);
	font-weight:600; line-height: 1;
	padding: var(--space-sm) var(--space-md);
	margin:var(--space-xxs);

	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;
}

@media (min-width: 992px){
	.btn, 
	.card-btn{
		padding: var(--space-xs) var(--space-sm);
	}
}


.btn .iconsvg,
.btn-text,
.card-btn .iconsvg,
.card-btn-text{
	position:relative; z-index:2;
	display:inline-block; vertical-align:middle;
	line-height:1;
	margin:0 var(--space-xxxxs);
}

.btn .iconsvg,
.card-btn .iconsvg{
	width:20px; height:20px;
}

.btn .iconsvg:before,
.card-btn .iconsvg:before{
	background-color:#212529;
}


.btn:hover{
	color:#212529;
}

.btn-check:focus + .btn, .btn:focus{
	outline:0;
	box-shadow:0 0 0 0.15rem rgba(13, 110, 253, 0.15);
}










/*-------------------------------------------------------------------------------------------

	#grid system

-------------------------------- */
.container,
.container-fluid{
	width:100%;
	padding:0 10px;
	margin:0 auto;
}

@media (min-width:576px){
	.container,
	.container-fluid{
		padding:0 15px;
	}
}
@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:75%; }
}



/* ===== grid 有邊距*/
.row,
.subrow{
	display:flex; flex-wrap:wrap;

	margin-top:-20px;
	margin-right:-5px;
	margin-left:-5px;
}
.row > *,
.subrow > *{
	flex-shrink:0;
	width:100%; max-width:100%;
	
	margin-top:20px;
	padding-right:5px;
	padding-left:5px;
}
@media (min-width:576px){
	.row{
		margin-top:-40px;
		margin-right:-15px;
		margin-left:-15px;
	}
	.row > *{
		margin-top:40px;
		padding-right:15px;
		padding-left:15px;
	}
	
	
	.subrow{
		margin-top:-20px;
		margin-right:-10px;
		margin-left:-10px;
	}
	.subrow > *{
		margin-top:20px;
		padding-right:10px;
		padding-left:10px;
	}
}



.card_row,
.card_subrow{
	display:flex; flex-wrap:wrap;

	margin-right:-5px;
	margin-left:-5px;
}
.card_row > *,
.card_subrow > *{
	flex-shrink:0;
	width:100%; max-width:100%;
	
	padding-right:5px;
	padding-left:5px;
}
@media (min-width:576px){
	.card_row{
		margin-top:0;
		margin-right:-15px;
		margin-left:-15px;
	}
	.card_row > *{
		margin-top:0;
		padding-right:15px;
		padding-left:15px;
	}
}



.row-cols-1 > *{ flex:0 0 auto; width:100%; }

.row-cols-2 > *{ flex:0 0 auto; width:50%; }

.row-cols-3 > *{ flex:0 0 auto; width:33.3333333333%; }

.row-cols-4 > *{ flex:0 0 auto; width:25%; }

.row-cols-5 > *{ flex:0 0 auto; width:20%; }

.row-cols-6 > *{ flex:0 0 auto; width:16.6666666667%; }


.align-items-start {
	align-items: flex-start;
}
.align-items-end {
	align-items: flex-end;
}
.align-items-center {
	align-items: center;
}
.align-items-stretch {
	align-items:stretch;
}

.justify-content-start {
	justify-content: flex-start;
}
.justify-content-end {
	justify-content: flex-end;
}
.justify-content-center {
	justify-content: center;
}


.col {
	flex: 1 0 0%;
}
.col-full {
	flex:1 1 auto;
    width:1%; min-width:0;
}


.col-auto { flex: 0 0 auto; width: auto; }

.col-1 { flex: 0 0 auto; width: 8.33333333%; }

.col-2 {flex: 0 0 auto; width: 16.66666667%; }

.col-3 {flex: 0 0 auto; width: 25%; }

.col-4 {flex: 0 0 auto; width: 33.33333333%; }

.col-5 {flex: 0 0 auto; width: 41.66666667%; }

.col-6 {flex: 0 0 auto; width: 50%; }

.col-7 { flex: 0 0 auto; width: 58.33333333%; }

.col-8 { flex: 0 0 auto; width: 66.66666667%; }

.col-9 { flex: 0 0 auto; width: 75%; }

.col-10 { flex: 0 0 auto; width: 83.33333333%; }

.col-11 { flex: 0 0 auto; width: 91.66666667%; }

.col-12 { flex: 0 0 auto; width: 100%; }


.card-hide{
	display:none;
}

@media (min-width:576px){

    .row-cols-sm-1 > *{ width:100%; }

    .row-cols-sm-2 > *{ width:50%; }

    .row-cols-sm-3 > *{ width:33.3333333333%; }

    .row-cols-sm-4 > *{ width:25%; }

    .row-cols-sm-5 > *{ width:20%; }

    .row-cols-sm-6 > *{ width:16.6666666667%; } 


	.align-items-sm-start {
		align-items: flex-start;
	}
	.align-items-sm-end {
		align-items: flex-end;
	}
	.align-items-sm-center {
		align-items: center;
	}
  
	.justify-content-sm-start {
		justify-content: flex-start;
	}
	.justify-content-sm-end {
		justify-content: flex-end;
	}
	.justify-content-sm-center {
		justify-content: center;
	}
	
	
	.col-sm-auto { flex: 0 0 auto; width: auto; }
	
	.col-sm-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-sm-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-sm-3 { flex: 0 0 auto; width: 25%; }
	
	.col-sm-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-sm-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-sm-6 { flex: 0 0 auto; width: 50%; }
	
	.col-sm-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-sm-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-sm-9 { flex: 0 0 auto; width: 75%; }
	
	.col-sm-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-sm-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-sm-12 { flex: 0 0 auto; width: 100%; }
	
	
	.card-sm-hide{
		display:none;
	}
}
@media (min-width:768px){

    .row-cols-md-1 > *{ width:100%; }

    .row-cols-md-2 > *{ width:50%; }

    .row-cols-md-3 > *{ width:33.3333333333%; }

    .row-cols-md-4 > *{ width:25%; }

    .row-cols-md-5 > *{ width:20%; }

    .row-cols-md-6 > *{ width:16.6666666667%; } 


	.align-items-md-start {
		align-items: flex-start;
	}
	.align-items-md-end {
		align-items: flex-end;
	}
	.align-items-md-center {
		align-items: center;
	}
  
	.justify-content-md-start {
		justify-content: flex-start;
	}
	.justify-content-md-end {
		justify-content: flex-end;
	}
	.justify-content-md-center {
		justify-content: center;
	}
	
	
	.col-md-auto { flex: 0 0 auto; width: auto; }
	
	.col-md-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-md-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-md-3 { flex: 0 0 auto; width: 25%; }
	
	.col-md-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-md-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-md-6 { flex: 0 0 auto; width: 50%; }
	
	.col-md-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-md-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-md-9 { flex: 0 0 auto; width: 75%; }
	
	.col-md-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-md-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-md-12 { flex: 0 0 auto; width: 100%; } 
	
	
	.card-md-hide{
		display:none;
	}
}
@media (min-width:992px){

    .row-cols-lg-1 > *{ width:100%; }

    .row-cols-lg-2 > *{ width:50%; }

    .row-cols-lg-3 > *{ width:33.3333333333%; }

    .row-cols-lg-4 > *{ width:25%; }

    .row-cols-lg-5 > *{ width:20%; }

    .row-cols-lg-6 > *{ width:16.6666666667%; } 


	.align-items-lg-start {
		align-items: flex-start;
	}
	.align-items-lg-end {
		align-items: flex-end;
	}
	.align-items-lg-center {
		align-items: center;
	}
  
	.justify-content-lg-start {
		justify-content: flex-start;
	}
	.justify-content-lg-end {
		justify-content: flex-end;
	}
	.justify-content-lg-center {
		justify-content: center;
	}
	
	
	.col-lg-auto { flex: 0 0 auto; width: auto; }
	
	.col-lg-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-lg-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-lg-3 { flex: 0 0 auto; width: 25%; }
	
	.col-lg-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-lg-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-lg-6 { flex: 0 0 auto; width: 50%; }
	
	.col-lg-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-lg-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-lg-9 { flex: 0 0 auto; width: 75%; }
	
	.col-lg-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-lg-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-lg-12 { flex: 0 0 auto; width: 100%; } 
	
	
	.card-lg-hide{
		display:none;
	}
}
@media (min-width:1200px){

    .row-cols-xl-1 > *{ width:100%; }

    .row-cols-xl-2 > *{ width:50%; }

    .row-cols-xl-3 > *{ width:33.3333333333%; }

    .row-cols-xl-4 > *{ width:25%; }

    .row-cols-xl-5 > *{ width:20%; }

    .row-cols-xl-6 > *{ width:16.6666666667%; } 


	.align-items-xl-start {
		align-items: flex-start;
	}
	.align-items-xl-end {
		align-items: flex-end;
	}
	.align-items-xl-center {
		align-items: center;
	}
  
	.justify-content-xl-start {
		justify-content: flex-start;
	}
	.justify-content-xl-end {
		justify-content: flex-end;
	}
	.justify-content-xl-center {
		justify-content: center;
	}
	
	
	.col-xl-auto { flex: 0 0 auto; width: auto; }
	
	.col-xl-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-xl-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-xl-3 { flex: 0 0 auto; width: 25%; }
	
	.col-xl-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-xl-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-xl-6 { flex: 0 0 auto; width: 50%; }
	
	.col-xl-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-xl-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-xl-9 { flex: 0 0 auto; width: 75%; }
	
	.col-xl-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-xl-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-xl-12 { flex: 0 0 auto; width: 100%; }
	
	
	.card-xl-hide{
		display:none;
	}
}
@media (min-width:1600px){
 
    .row-cols-xxl-1 > *{ width:100%; }

    .row-cols-xxl-2 > *{ width:50%; }

    .row-cols-xxl-3 > *{ width:33.3333333333%; }

    .row-cols-xxl-4 > *{ width:25%; }

    .row-cols-xxl-5 > *{ width:20%; }

    .row-cols-xxl-6 > *{ width:16.6666666667%; } 


	.align-items-xxl-start {
		align-items: flex-start;
	}
	.align-items-xxl-end {
		align-items: flex-end;
	}
	.align-items-xxl-center {
		align-items: center;
	}
  
	.justify-content-xxl-start {
		justify-content: flex-start;
	}
	.justify-content-xxl-end {
		justify-content: flex-end;
	}
	.justify-content-xxl-center {
		justify-content: center;
	}
	
	
	.col-xxl-auto { flex: 0 0 auto; width: auto; }
	
	.col-xxl-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-xxl-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-xxl-3 { flex: 0 0 auto; width: 25%; }
	
	.col-xxl-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-xxl-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-xxl-6 { flex: 0 0 auto; width: 50%; }
	
	.col-xxl-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-xxl-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-xxl-9 { flex: 0 0 auto; width: 75%; }
	
	.col-xxl-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-xxl-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-xxl-12 { flex: 0 0 auto; width: 100%; }
	
	
	.card-xxl-hide{
		display:none;
	}
}





/*-------------------------------------------------------------------------------------------

	#Margin

-------------------------------- */
.margin-top--xxxxs {
    margin-top: var(--space-xxxxs);
}

.margin-top--xxxs {
    margin-top: var(--space-xxxs);
}

.margin-top--xxs {
    margin-top: var(--space-xxs);
}

.margin-top--xs {
    margin-top: var(--space-xs);
}

.margin-top--sm {
    margin-top: var(--space-sm);
}

.margin-top--md {
    margin-top: var(--space-md);
}

.margin-top--lg {
    margin-top: var(--space-lg);
}

.margin-top--xl {
    margin-top: var(--space-xl);
}

.margin-top--xxl {
    margin-top: var(--space-xxl);
}

.margin-top--xxxl {
    margin-top: var(--space-xxxl);
}

.margin-top--xxxxl {
    margin-top: var(--space-xxxxl);
}



.margin-btm--xxxxs {
    margin-bottom: var(--space-xxxxs);
}

.margin-btm--xxxs {
    margin-bottom: var(--space-xxxs);
}

.margin-btm--xxs {
    margin-bottom: var(--space-xxs);
}

.margin-btm--xs {
    margin-bottom: var(--space-xs);
}

.margin-btm--sm {
    margin-bottom: var(--space-sm);
}

.margin-btm--md {
    margin-bottom: var(--space-md);
}

.margin-btm--lg {
    margin-bottom: var(--space-lg);
}

.margin-btm--xl {
    margin-bottom: var(--space-xl);
}

.margin-btm--xxl {
    margin-bottom: var(--space-xxl);
}

.margin-btm--xxxl {
    margin-bottom: var(--space-xxxl);
}

.margin-btm--xxxxl {
    margin-bottom: var(--space-xxxxl);
}





/*-------------------------------------------------------------------------------------------

	#Padding

-------------------------------- */
.padding--xxxxs {
    padding: var(--space-xxxxs);
}

.padding--xxxs {
    padding: var(--space-xxxs);
}

.padding--xxs {
    padding: var(--space-xxs);
}

.padding--xs {
    padding: var(--space-xs);
}

.padding--sm {
    padding: var(--space-sm);
}

.padding--md {
    padding: var(--space-md);
}

.padding--lg {
    padding: var(--space-lg);
}

.padding--xl {
    padding: var(--space-xl);
}

.padding--xxl {
    padding: var(--space-xxl);
}

.padding--xxxl {
    padding: var(--space-xxxl);
}

.padding--xxxxl {
    padding: var(--space-xxxxl);
}










/*-------------------------------------------------------------------------------------------

	#Card

-------------------------------- */
.card{
	position:relative; z-index:2;
	
	display:flex;
	flex-direction:column;
	word-wrap:break-word;
	
	background:#fff;
}


/* ===== #card-photo */
.card-photo, 
.card-iframe{
	position:relative;
	background:#fff;
	border:1px solid #eee;
}
.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;
	margin:var(--space-xs) 0;
}
.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(--space-xs);
}

.card_agent_pd .card-text img,
.card_albums .card-text img,
.card_activity .card-text img,
.card_article .card-text img,
.card_designer .card-text img,
.card_equipment .card-text img,
.card_god .card-text img,
.card_life .card-text img,
.card_news .card-text img,
.card_people .card-text img,
.card_product .card-text img,
.card_store .card-text img,
.card_timeline .card-text img,
.card_uninews .card-text img,
.card_works .card-text img{
	display:none; /*在列表裡的說明文字，若有圖片則隱藏*/
}


/* ===== #card-info */
.card-infolist{
	margin-top:var(--space-xxs);
}

.card-info{
    position:relative;
    display:flex; flex-wrap:wrap;
	align-items:center;
	
	line-height:1;
    margin:var(--space-xxxs) 0;
}

.card-info .iconsvg,
.card-info .card-info-icon,
.card-info .card-info-title,
.card-info .card-info-text{
    display:block;
    line-height:1;
	margin:0 var(--space-xxxs) 0;
}

.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;
	margin-top:1rem;
}
.card-iconlist > li{
	margin-right:var(--space-xxxs);
}
.card-iconlist > li:last-child{ margin-right:0; }

.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:#2BAC37; }
.card-icon_line{ background:#FBBC04; }
.card-icon_mail{ background:#3785C4; }











/*-------------------------------------------------------------------------------------------

	#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;
    }
}
.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(--space-xxxs);
}


/* ===== [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 [base] */
.sidelink{ 
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
	font-size:var(--font-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:#04CF66;
}
.sidefixed_right .sidelink_fb:hover .sidelink-icon:before{
	background-color:#395693;
}
.sidefixed_right .sidelink_ig:hover .sidelink-icon:before{
	background-color:#E302DD;
}
.sidefixed_right .sidelink_reserve:hover .sidelink-icon:before{
	background-color:#F38733;
}

.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(--space-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(--font-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 #ccc;
	border-radius:3px;
	color:#333;

	padding: var(--space-sm) var(--space-md);
	text-align:center;
}
.dropdown_trigger-text{
	position:relative;
	display:inline-block;
	font-size: var(--font-md); font-weight:600; line-height:1;
	padding-right:var(--space-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:#333;
	
	transform:translate(0, -50%);
}

.dropdown_trigger:hover{
	border-color:red;
}
@media (min-width:992px){
	.dropdown_trigger{
		padding: var(--space-xs) var(--space-sm);
	}
	.dropdown_trigger-text{
		font-size: var(--font-sm);
		padding-right:12px;
	}
	.dropdown_trigger-text:before{
		border-width:4px 4px 0 4px;
	}
}


/* ===== 觸發鈕-啟動*/
.dropdown_trigger.is-open{
	border-color:red;
	color:red;
}
.dropdown_trigger.is-open .dropdown_trigger-text:before{
	border-width:0 4px 4px 4px;
	border-top-color:transprent;
	
	border-bottom-color:red;
}


/* ===== 觸發區塊*/
.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(--font-md); font-weight:600; line-height:1;
	color:#333;
	padding:var(--space-md) var(--space-xxxxs);
	text-align:center;
}
.dropdown_menu > li:last-child a{
	border-bottom-width:0;
}
.dropdown_menu li a:hover{
	color:red;
}
.dropdown_menu li a.active{
	color:blue;
}
@media (min-width:992px){
	.dropdown_menu li a{
		font-size: var(--font-sm);
		padding:var(--space-unit) var(--space-xxxxs);
	}
}





/*-------------------------------------------------------------------------------------------

	#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;
	padding:var(--space-sm) 0;
}

.language_list > li{
	margin-right:var(--space-xxxs);
}
.language_list > li:last-child{
	margin-left:0;
}

.language{ 
	background:rgba(255,255,255,0.1);
	border-radius:3px;
    font-size:var(--font-sm); font-weight:600; font-weight:600;
	color:#333;
    padding:var(--space-xxxs) var(--space-xs);
}
.language:hover{
	background:#fff;
    color:red;
}
.language.active{
	background:red;
	color:#fff;
	cursor:default;
}





/*-------------------------------------------------------------------------------------------

	#Language_member：會員管理(語系條列式與下拉式裡的css命名皆同)

-------------------------------- */
.language_member{
	display:inline-block; vertical-align:middle;
	position:relative;
	width:50px; height:50px; min-width:auto;
	background:#fff;
	border:1px solid #fff;
	border-radius:50%;
	font-size:0;
	margin-left:var(--space-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:#333;
	
	-webkit-mask-position:center;
			mask-position:center;
	
	-webkit-mask-repeat:no-repeat;
			mask-repeat:no-repeat;
	
	-webkit-mask-size:60% 60%;
			mask-size:60% 60%;
	
	-webkit-mask-image:url(../images/icon/icon_person.svg);
			mask-image:url(../images/icon/icon_person.svg);
}

.language_member:hover{
	background:#fff;
}
.language_member:hover:before{
	background-color:red;
}





/*-------------------------------------------------------------------------------------------

	#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

-------------------------------- */
.header,
.main,
.footer,
.header_inner,
.main_inner,
.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

-------------------------------- */
.logo a{
	display:block;
}

/*logo-photo 圖片式*/
.logo-photo img{
	display:block; max-width:100%; height:auto;
}

/*logo-text 文字式*/
.logo-text{
	display:inline-block;
	font-size:var(--font-md); 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:#fff;
	border-left:1px solid rgba(255,255,255,0.05);
	
	margin-left:auto;
	padding-bottom:var(--space-xxxl);
	
	overflow-y:auto;
	overflow-x:hidden;
	
	box-shadow:-5px 0 5px rgba(0,0,0,0.3);
}





/*-------------------------------------------------------------------------------------------

	#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:#333;
	
	font-size:var(--font-md); font-weight:600; letter-spacing:0;
	padding:var(--space-md-fixed) var(--space-xl-fixed) var(--space-md-fixed) var(--space-lg-fixed);
	text-decoration:none;
}

.menu_offside .menu-subtext{
	display:none;
}


/* ===== menu_offside [文字 at 第一層] */
.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;
}


/* ===== menu_offside [文字前端 is 打開下層選單之提醒] */
.menu_offside li a:before{
	position:absolute; top:50%; left:10px; content:"";
	width:8px; height:8px;
	margin-top:-4px;
	
	background:red;
	
	border-radius:2px;
	transform:rotate(45deg);
	opacity:0;
}
.menu_offside li a.is-current{
	background:#fff;
	color:red;
}
.menu_offside li a.is-current:before{
	opacity:1;
}


/* ===== #menu-subbtn[右側 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); }



/* ===== menu_offside [is 有下層之提示圖樣- 第一層] */
.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:red;
}
.menu-subbtn.is-open:before{ transform:rotate(45deg); }
.menu-subbtn.is-open:after{ transform:rotate(-45deg); }	



/* ===== menu_offside [is 第二層之後的層級收縮] */
.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(--space-unit);
	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(--space-xxxs) auto;
}
.offside_close .sign_close:before ,
.offside_close .sign_close:after{
	background:#fff;
}
.offside_close-text{
	width:100%;
	color:#fff;
	font-size:var(--font-sm); font-weight:600; letter-spacing:3px;
	margin-left:var(--space-xxxxs);
	text-align:center;
}










/*-------------------------------------------------------------------------------------------

	#Slickbase 輪播基礎

-------------------------------- */

/* ===== slickbase [base]：為解決因圖片過多，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;
}



/* ===== slickbase [is slick 項目] */
.slickbase{ overflow:hidden; }
.slickbase .slick-slide{
	position:relative;
	overflow:hidden;
}


/* ===== slickarrow [base]：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);
}


/* ===== slickdots [base]：slick 基礎設定-底下圓圈 */
.slickdots .slick-dots{
	position:relative; z-index:12;
	display:flex; flex-wrap:wrap; justify-content:center;
	width:100%;
	background:transparent;
	padding:0 var(--space-xxxs);
}
.slickdots .slick-dots li{
	font-size:0;
	margin:var(--space-xs) var(--space-xxxs);
}
.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;
	}
}





/*-------------------------------------------------------------------------------------------

	#Marquee：跑馬燈

-------------------------------- */
.marqueebar{
	position:relative; z-index:3;
}
.marquee_inner{
	position:relative;
	padding:0 var(--space-xxxs-fixed) var(--space-sm-fixed) var(--space-xxxs-fixed);
}

.marquee_main{
	margin-left:50px;
}

.marquee-tag{
	position:absolute; top:2px; left:10px;
}
.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(--font-sm); font-weight:600;
	color:#fff;
	text-align:center;
	
	padding:var(--space-xxxxs) var(--space-xs);
	margin-top:var(--space-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%;
	margin-top:3px;
}
.marquee-tag_mobile .iconsvg:before{
	background-color:#fff;
	
	-webkit-mask-size: 80% 80%;
    mask-size: 80% 80%;
}


/* ===== #marquee-slide：跑馬燈-文字 */
.marquee-slide{
	height: 34px;
	overflow: hidden;
}

.marquee-slide li{ margin:var(--space-xxxs) 0; }

.marquee{}

.marquee a{
	display:block;
	color:#333;
}
.marquee-text{
	display:block;
	font-size:var(--font-md); font-weight:600;
	line-height:34px;
	
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.marquee a:hover{
	color:#E94847;
}
@media (min-width:992px){
	.marquee-text{
		font-size:var(--font-lg);
	}
}





/*-------------------------------------------------------------------------------------------

	#Breadcrumb-nav：導覽路徑

-------------------------------- */
.breadcrumb-nav{
	position:relative;
}

.breadcrumb li{ display:inline-block; }
.breadcrumb li:after{
	content:"/";
	color:#333;
	font-size:var(--font-xs);
	margin-left:var(--space-xxxxs);
}
.breadcrumb li:last-child:after{ display:none; }

.breadcrumb-item{
	display:inline-block; vertical-align:middle;
	font-size:var(--font-sm); line-height:1.5; letter-spacing:0;
}

.breadcrumb-item,
.breadcrumb-item a{
	color:#666;
}
.breadcrumb-item a:hover{
	color:#E94847;
}









/*-------------------------------------------------------------------------------------------

	#Sidebar 側邊攔

-------------------------------- */
.sidebar{}
.sidebar_row{
	display:flex; flex-wrap:wrap;
}
.sidebar-left{
	width:100%;
}
.sidebar-right{
	position:relative;
	width:100%;
	margin-top:2rem;
}
@media (min-width:992px){
	.sidebar-right{
		margin-top:0;
	}
}





/*-------------------------------------------------------------------------------------------

	#Mtree：頁面多層menu

-------------------------------- */
.mtree{}

.mtree li{ position:relative; }

.mtree li a{
	position:relative;
	display:block;
	
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: rgba(0,0,0,0.2);
	
	font-size:1rem;
	color:#333;
	padding:var(--space-sm) 25px var(--space-sm) var(--space-sm);
}
.mtree > li:last-child > a{ border-bottom-width:1px ; }

.mtree li ul{
	padding-left:var(--space-sm);
}

/*===== 多層分類-有下一層選項的項目設定(>號) */
/*.mtree li.mtree-node > a:before{
	position:absolute; z-index:4; top:50%; right:10px; content:"";
	width:6px; height:6px;
	
	border-width:2px 2px 0 0;
	border-style:solid;
	border-color:#333;
	
	transform:rotate(45deg);
	transition:transform 0.5s ease , margin-top 0.5s ease;
}
.mtree li.mtree-closed > a:before{
	margin-top:-2px;
	transform:rotate(45deg);
}
.mtree li.mtree-open > a:before{
	margin-top:-4px;
	transform:rotate(135deg);
}*/

/*===== 因active 項目開關是相反的*/
/*.mtree li.active.mtree-closed > a:before{
	margin-top:-4px;
	transform:rotate(135deg);
}
.mtree li.active.mtree-open > a:before{
	margin-top:-2px;
	transform:rotate(45deg);
}*/


/*===== 多層分類-有下一層選項的項目設定(+號)[ before-直線，after-橫線 ] */
.mtree li.mtree-node > a:before, 
.mtree li.mtree-node > a:after{
	position:absolute; z-index:4; top:50%; right:12px; content:"";
	width:2px; height:12px;
	background:#333;
	margin-top:-6px;
	transition:transform 0.3s ease-in-out;
}
.mtree  li.mtree-node > a:after{transform:rotate(90deg);  }


/*===== 打開有次選單項目時之文字設定*/
.mtree li.mtree-open > a:before, 
.mtree li.mtree-open > a:after{
	background:red;
}
.mtree li.mtree-open > a:before{ transform:rotate(45deg); }
.mtree li.mtree-open > a:after{ transform:rotate(125deg); }

/*因active 項目開關是相反的*/
.mtree li.active.mtree-closed > a:before{ transform:rotate(45deg); }
.mtree li.active.mtree-closed > a:after{ transform:rotate(125deg); }
.mtree li.active.mtree-open > a:before{ transform:rotate(0); }
.mtree li.active.mtree-open > a:after{ transform:rotate(90deg); }



/*====== 多層分類-選中的項目有標記(圓圈)之設定 */
.mtree li:after{
	position:absolute; top:16px; left:-9px; content:"";
	width:16px; height:16px;
	background-color:red;
	opacity:0;
}
.mtree li.active:after{
	opacity:1;
}





/*-------------------------------------------------------------------------------------------

	#Nav

-------------------------------- */
.navbar{
	display:flex; flex-wrap:wrap;
}





/*-------------------------------------------------------------------------------------------

	#Itembox：分隔區塊
		.tembox_maintop：主內容上列 [in page]
		.itembox_pagenote：頁面提示說明 [in page]
		.itembox_redmark：紅字-提示 [in page]
		
		.tembox_intro：編輯區 [in view]
		.tembox_about_figure：關於我們-相片集 [in view]
		.tembox_map：地圖 [in view]
		.itembox_video：影片 [in view]
		.itembox_view_figure：相片集 [in view]
		.itembox_view_albums：相簿 [in view]
		.itembox_article_sub：知識庫(側邊) [in view]
		.itembox_article_extended：知識庫-延伸閱讀 [in view]
		.itembox_article_interest：知識庫-您可能有興趣 [in view]
		
		.itembox_view_addcart：代理商品-頁尾購買區 [in agent_pd_view]
		
		.itembox_mainbtm：主內容區-頁尾 [in view]
		
-------------------------------- */
.itembox{
	position:relative;
	margin:var(--space-sm) 0;
}
.itembox_row{
	display:flex; flex-wrap:wrap;
}
.itembox-left,
.itembox-center,
.itembox-right{
	width:100%;
}





/*-------------------------------------------------------------------------------------------

	#Heading：標題
		.heading_module：模組大標 [in page]
		.heading_main：表列頁大標 [in page]
		
		.heading_case_goon：案件-進行中
		.heading_case_finish：案件-已完成
		.heading_case_result：案件-成果
		.heading_petition：我要陳情
		
		.heading_pageview：詳細頁大標 [in view]
		.heading_articleview：詳細頁-文章大標 [in view]
		.heading_figure：相片集大標 [in view]
		
		.heading_article_sub：知識庫(側邊) [in view]
		.heading_view_extended：知識庫-延伸閱讀 [in view]
		.heading_view_interest：知識庫-您可能有興趣 [in view]

-------------------------------- */





/*-------------------------------------------------------------------------------------------

	#Infolist：資訊
		.info_view_date：日期 [in view]
		
		.infolist_footer_company [in footer]

-------------------------------- */
.infolist{}
.infolist > li{ margin:var(--space-xxxs) 0; }

.info{
	display:inline-block; vertical-align:middle;
	padding:var(--space-xxxxs) 0;
}


/*資訊內容呈一列*/
.info_group .info-icon,
.info_group .info-title,
.info_group .info-text{
	position:relative;
	display:inline-block; vertical-align:middle;
}
.info_group .info-text{
	overflow-wrap: break-word;
}





/*-------------------------------------------------------------------------------------------

	#Iconcate：圖標分類

-------------------------------- */
.iconcate_box{
	display:none;
}
@media (min-width:992px){
	.iconcate_box{
		display:block;
	}
}

.iconcate_list{}
.iconcate_list li{ margin-bottom:var(--space-md); }
.iconcate_list li:last-child{ margin-bottom:0; }

.iconcate{}
.iconcate_row{
	display:flex; flex-wrap:wrap;
	align-items:center;
}
.iconcate_row .iconsvg,
.iconcate_row .iconcate-text{
	position:relative; z-index:2;
	display:block;
	margin:0 1px;
}
.iconcate .iconsvg{
	width:22px; height:22px;
}
.iconcate .iconsvg:before{
	background-color:#333;
}
.iconcate_row .iconcate-text{
	font-size:1rem; font-weight:600;
	color:#333;
}






/*-------------------------------------------------------------------------------------------

	#Searchbar：搜尋

-------------------------------- */
.searchbar{
	margin-top:var(--space-xs);
	margin-bottom:var(--space-lg);
}
.search{
	border:1px solid #fff;
}

.search-input{
	display:block;
	width:100%;
	
	background-color:#fff;
	background-clip:padding-box;

	border-width:0px;
	border-radius:0;
	
	font-size:var(--font-sm); font-weight:400; line-height:1.5;
	color:#212529;
	
	padding:var(--space-xxs) 5px var(--space-xxs) var(--space-sm);

	-webkit-appearance:none;
		-moz-appearance:none;
					appearance:none;

	transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.search-btn{
	position:relative; z-index:2;
	
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
	width:35px;
	background:#fff;
	border-width:0px;
	border-radius:0;
}
.search-btn img{
	display:block;
	width:22px;
}
.search-btn:hover{
	background:red;
}
.search-btn:hover img{
	filter:brightness(0) invert(1);
}

.search form{
	position:relative;
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    width:100%;
}
.search .search-input{
    position:relative;
    flex:1 1 auto;
    width:1%;
    min-width:0;
}





/*-------------------------------------------------------------------------------------------

	#Result-box：搜尋結果

-------------------------------- */
.search_result_bar{ margin:0 0 4rem 0; }

.search_result{
	position:relative;
	
	display:flex; flex-wrap:wrap;
	align-items:center;
	
	background:rgba(0,0,0,0.05);
	border-radius:18px;
	padding:0.1rem 1rem;
}
.search_result .iconsvg{
	width:25px; height:25px;
	margin-right:var(--space-sm);
}
.search_result .iconsvg:before{
	background-color:#999;
}
.search_result-text{
	flex:1 1 auto;
    width:1%;
    min-width:0;
	
	font-size:var(--font-lg); font-weight:600;
}





/*-------------------------------------------------------------------------------------------

	#Pricebar：價錢組

-------------------------------- */
.pricebar{}

.price{
	display:inline-block;
	margin:var(--space-xxs) var(--space-xxxxs);
	font-weight:600; line-height:1;
	font-family:'Notosans2', 'Open-Sans', Roboto, 'Noto Sans TC', sans-serif;
	color:#666;
	text-align:center;
}

.price_unit,
.price_period{
	font-size:var(--font-sm);
}
.price_sale{
	font-size:var(--font-md); font-weight:600;
	color:#cc3333;
}
.price_original{
	font-size:var(--font-sm);
	text-decoration:line-through;
}

@media (min-width:992px){
	.price_sale{
		font-size:var(--font-xl);
	}
	.price_original{
		font-size:var(--font-sm);
	}
}





/*-------------------------------------------------------------------------------------------

	#Page：頁碼

-------------------------------- */
.page{
	font-size:var(--font-sm); font-weight:600;
	text-align:center;
	color:#666;
	margin-top:var(--space-xxl);
}
.page br:nth-of-type(1){
	display:none;
}
.page a ,
.page span{
	display:inline-block;
	min-width:38px;
	border:1px solid #ccc;
	border-radius:2px;
	color:#333;
	font-size:var(--font-unit);
	padding:var(--space-xs) var(--space-unit);
	text-align:center;
	margin:var(--space-sm) var(--space-xxxs);
}
.page span{
	background:red;
	border-color:red;
	color:#fff;
}
.page a:hover{
	border-color:red;
	color:red;
}
@media (min-width:992px){
	.page a ,
	.page span{
		font-size:var(--font-sm);
		padding:var(--space-xxs) var(--space-xs);
	}
}


/* ===== #page [in itembox] */
.itembox .page,
.consult .page{
	margin:var(--space-lg) 0 var(--space-unit) 0;
}
@media (min-width:992px){
	.itembox .page a,
	.itembox .page span,
	.consult .page a,
	.consult .page span{
		padding:var(--space-xxxs) var(--space-xs);
	}
}





/*-------------------------------------------------------------------------------------------

	#Accordion：手風琴效果-常見問題、會員管理套用

-------------------------------- */
.accordion{
}

.accordion-trigger{
    cursor:pointer;
}

.accordion-collapse{
	display:none;
	margin-bottom:var(--space-lg);
}
.accordion-collapse.is-visible{ display:block; }

.accordionPart > li{
	position:relative; z-index:1;
	border-top: 1px solid #e5e5e5;
}
.accordionPart > li:last-child {
    border-bottom: 1px solid #e5e5e5;
}





/*-------------------------------------------------------------------------------------------

	#Social link：社群分享 Widget

-------------------------------- */
.sharelink_bar{
	text-align:center;
}
.sharelink{
	display:inline-block; margin-top:5px;
}





/*-------------------------------------------------------------------------------------------

	#Popup：用於設計師視訊列表、首頁app下載

-------------------------------- */
.popupbox{
	position:fixed; z-index:-2; top:0; left:0;
	width:100%; height:100vh;
	background:rgba(0,0,0,0.85);
	overflow:hidden;
	padding:0 10px;
	
	opacity:0;
	pointer-events:none;
	visibility:hidden;
	
	transform:scale(0.95);
	transition:opacity 0.5s, 
			   visibility 0.5s,
			   transform 0.5s;
}
.popupbox.is-open{
	z-index:1100;
	opacity:1;
	pointer-events:auto;
	visibility:visible;
	
	transform:scale(1);
}

body.popup-hidden{ overflow:hidden; }


/* ===== #popup_close：關閉 */
.popup_close{
	position:absolute; top:20px; right:20px;
	width:50px; height:50px;
	border-radius:5px;
	padding:15px;
	background:rgba(255,255,255,0.2);
}
.popup_close .sign_close{
	width:100%; height:100%;
}

.popup_row{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	width:100%; height:100vh;
}
.popup_limit{
	width:100%; height:calc( 100% - 80px );
	overflow:hidden;
	margin-top:80px;
}
.popup_main{
	width:100%; height:100%;
	overflow-y:scroll;
}

.heading_popup{
	text-align:center;
	margin-bottom:var(--space-lg);
}
.heading-icon,
.heading-text{
	display:inline-block; vertical-align:middle;
}

.heading-icon + .heading-text{
	margin:0 5px;
}





/*-------------------------------------------------------------------------------------------

	#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(--font-md); 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(--space-xxxs);
}

.card_webclose .card-info ,
.card_webclose .card-info a{
    font-size: var(--font-unit); font-weight: 600;
	color: #333;
}
.card_webclose .card-info a:hover{
	color: #9F0605;
}










/*-------------------------------------------------------------------------------------------

	#Form

-------------------------------- */
.form-label{
	margin-bottom:var(--space-xs);
}

.col-form-label{
	padding-top:calc(0.375rem + 1px);
	padding-bottom:calc(0.375rem + 1px);
	margin-bottom:0;
	font-size:inherit;
	line-height:1.5;
}

.form-text{
	margin-top:var(--space-xxxs);
	font-size:var(--font-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(--font-unit); font-weight:400; line-height:1.5;
	color:#212529;
	
	padding:var(--space-xxs) var(--space-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(--font-sm);
	opacity:1;
}
.form-control::placeholder{
	color:#6c757d;
	font-size:var(--font-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;
	
	-webkit-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;
			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(--space-xxs) 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(--space-xxs) var(--space-lg) var(--space-xxs) var(--space-sm);
	-moz-padding-start:calc(0.75rem - 3px);
	
	font-size:var(--font-unit);
	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;
	
	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(--space-md);
	margin:var(--space-xxxxs) 0;
}
.form-check .form-check-input{
	float:left;
	margin-left:-1.5em;
}

.form-check-input{
	width:1em; height:1em;
	
	margin-top:var(--space-xxxs);
	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：控制列 */
.formset{
	padding-right:10px;
	padding-left:10px;
}
@media (min-width:992px){
	.formset{
		padding-right:15px;
		padding-left:15px;
	}
}

.formlist{
	display:flex; flex-wrap:wrap;
	margin-right:-10px;
	margin-left:-10px;
}
.formlist > li{
	position:relative;
	width:100%;
	padding-right:5px;
	padding-left:5px;
	margin-bottom:1.4rem;
}
.formlist > li:last-child{
	margin-bottom:0;
}
@media (min-width:992px){
	.formlist{
		margin-right:-15px;
		margin-left:-15px;
	}
	.formlist > li{
		padding-right:15px;
		padding-left:15px;
	}
}



.form-describe{
	color:#333;
	font-size:var(--font-md); font-weight:600;
	text-align:center;
	margin-bottom:var(--space-lg);
}

.data_required{
	vertical-align:text-top;
	font-size:var(--font-sm);
	color:red;
	
	/*text-shadow: black 0.1em 0.1em 0.2em;*/
}



/*===== #input_group */
.input_group-left{
	margin-bottom:var(--space-sm);
}
@media (min-width:992px){
	.input_group{
		display:flex; flex-wrap:wrap;
	}
	.input_group-left{
		padding-top:var(--space-xxxs);
		margin-bottom:0;
	}
	.input_group-right{
		position:relative;
		flex:1 1 auto;
		width:1%;
		min-width:0;
	}
}


/*===== #form-title：標題 */
.form-icon,
.form-require,
.form-title{
	display:inline-block; vertical-align:middle;
}
.form-require{
	width:7px;
	margin-right:var(--space-xxxs);
}

.form-title{
	position:relative;
	font-size:var(--font-md); font-weight:600;
	color:#333;
	padding-right:var(--space-md);
	
	/*text-shadow: black 0.1em 0.1em 0.2em;*/
}
@media (min-width:992px){
	.form-title{
		width:120px;
		margin-right:var(--space-sm);
		
		/*文字左右對齊*/
		text-align:justify;
		text-align-last:justify;
		text-justify:inter-word;
	}
}
.form-title:after{
	position:absolute; top:-2px; right:0; content:"：";
	color:#333;
}


/*===== #input_group-text：內容-純文字 */
.input_group-text{
	padding:var(--space-xxs) var(--space-xxxs);
	font-size:var(--font-unit); font-weight:600; line-height:1.5;
	color:#333;
}
@media (min-width:992px){
	.input_group-text{
		padding-top:var(--space-xxs);
	}
}


/*===== #form-remind：欄位說明文字*/
.form-remind{
	width:100%;
	color:#666;
	font-size:var(--font-sm);
	margin-top:var(--space-xxs);
}


/*===== #form-control：欄位*/
.form-control,
.form-select{
    background-color:#fff;
    border:1px solid #ccc;
	border-radius:3px;
}


/*===== #form-checklist：單選按鈕*/
.form-checklist{
	display:flex; flex-wrap:wrap;
	padding-top:var(--space-xxs);
}
.form-checklist li{
	margin-right:var(--space-unit);
}
.form-checklist li:last-child{
	margin-right:0;
}

.form-check{
	font-weight:600;
}


/*===== #form-verifybox：驗證碼列*/
.form-verifybox{
	display:inline-block;
	background:rgba(255,255,255,0.5);
	padding:var(--space-xs) var(--space-sm) var(--space-xxxxs) var(--space-sm);
}
.form-verifybox a{
	font-size:var(--font-sm); font-weight:600;
}
.form-verifybox input{
	background-color: #F9F9F9;
    border: 1px solid #999;
	padding:var(--space-xxxs);
}


/*===== #formbtn：按鈕列*/
.form-btnbar{
	text-align:center;
	margin-top:var(--space-lg);
}
.formbtn{
	background: var(--color-one);
	border-width:0;
	color:#333;
	font-size:var(--font-md); font-weight:600; line-height:1;
	padding:var(--space-sm) var(--space-xl);
}
.formbtn:hover{
	background: red;
	color:#fff;
}






/*-------------------------------------------------------------------------------------------

	#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);
}





/*-------------------------------------------------------------------------------------------

	#Animattion：goto

-------------------------------- */
@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);
	}
}
