@charset "utf-8";

:root {
	
	--body-base-bg:#f8fafc;	
	--body-base-color:#333;
	
	--editor-base-color:#333;
	--editor-base-a-color:rgba(0,0,238,1); /*預設藍*/

	
	--color-one:#00386F;
	--color-one-rgb:0,56,111;
	--color-one-dark:#0A2540;
	--color-two:#f4c56c;
	--color-accent:#E63946;

	--transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	
  
	/* --- 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 */
	

	/* --- 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*/
}


/*----------------------------------------------------------------------
	#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: 1.4;
}




/*----------------------------------------------------------------------
	#row system
-------------------------------- */
.container,
.container-fluid{
	width: 100%;
	padding-right: var(--gutter-x, 0.75rem);
	padding-left: var(--gutter-x, 0.75rem);
	margin-right: auto;
	margin-left: 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:96%; }
}
@media (min-width:1400px){
    .container{ width:90%; }
}
@media (min-width:1920px){
    .container{ width:80%; }
}



/* ===== row 有邊距*/
.row {
	--gutter-x: 1.5rem;
	--gutter-y: 1.5rem;
	
	display: flex;
	flex-wrap: wrap;
	margin-top: calc(var(--gutter-y) * -1);
	margin-right: calc(var(--gutter-x) / -2);
	margin-left: calc(var(--gutter-x) / -2);
}
.row > * {
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	padding-right: calc(var(--gutter-x) / 2);
	padding-left: calc(var(--gutter-x) / 2);
	margin-top: var(--gutter-y);
}

.g-0, .gx-0 { --gutter-x: 0; }
.g-0, .gy-0 { --gutter-y: 0; }

.g-1, .gx-1 { --gutter-x: 0.25rem; }
.g-1, .gy-1 { --gutter-y: 0.25rem; }

.g-2, .gx-2 { --gutter-x: 0.5rem; }
.g-2, .gy-2 { --gutter-y: 0.5rem; }

.g-3, .gx-3 { --gutter-x: 1rem; }
.g-3, .gy-3 { --gutter-y: 1rem; }

.g-4, .gx-4 { --gutter-x: 1.5rem; }
.g-4, .gy-4 { --gutter-y: 1.5rem; }

.g-5, .gx-5 { --gutter-x: 3rem; }
.g-5, .gy-5 { --gutter-y: 3rem; }


.row-cols-auto > * { flex: 0 0 auto; width: auto; }
.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%; }


.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%; }


@media (min-width:576px){
	.g-sm-0, .gx-sm-0 { --gutter-x: 0; }
	.g-sm-0, .gy-sm-0 { --gutter-y: 0; }
	
	.g-sm-1, .gx-sm-1 { --gutter-x: 0.25rem; }
	.g-sm-1, .gy-sm-1 { --gutter-y: 0.25rem; }
	
	.g-sm-2, .gx-sm-2 { --gutter-x: 0.5rem; }
	.g-sm-2, .gy-sm-2 { --gutter-y: 0.5rem; }
	
	.g-sm-3, .gx-sm-3 { --gutter-x: 1rem; }
	.g-sm-3, .gy-sm-3 { --gutter-y: 1rem; }
	
	.g-sm-4, .gx-sm-4 { --gutter-x: 1.5rem; }
	.g-sm-4, .gy-sm-4 { --gutter-y: 1.5rem; }
	
	.g-sm-5, .gx-sm-5 { --gutter-x: 3rem; }
	.g-sm-5, .gy-sm-5 { --gutter-y: 3rem; }

	.col-sm { flex: 1 0 0%; }
	.col-sm-full { flex:1 1 auto; width:1%; min-width:0; }
	
	.row-cols-sm-auto > * { flex: 0 0 auto; width: auto; }
    .row-cols-sm-1 > *{ flex: 0 0 auto; width:100%; }
    .row-cols-sm-2 > *{ flex: 0 0 auto; width:50%; }
    .row-cols-sm-3 > *{ flex: 0 0 auto; width:33.3333333333%; }
    .row-cols-sm-4 > *{ flex: 0 0 auto; width:25%; }
    .row-cols-sm-5 > *{ flex: 0 0 auto; width:20%; }
    .row-cols-sm-6 > *{ flex: 0 0 auto; width:16.6666666667%; } 
	
	.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%; }
}
@media (min-width:768px){
	.g-md-0, .gx-md-0 { --gutter-x: 0; }
	.g-md-0, .gy-md-0 { --gutter-y: 0; }
	
	.g-md-1, .gx-md-1 { --gutter-x: 0.25rem; }
	.g-md-1, .gy-md-1 { --gutter-y: 0.25rem; }
	
	.g-md-2, .gx-md-2 { --gutter-x: 0.5rem; }
	.g-md-2, .gy-md-2 { --gutter-y: 0.5rem; }
	
	.g-md-3, .gx-md-3 { --gutter-x: 1rem; }
	.g-md-3, .gy-md-3 { --gutter-y: 1rem; }
	
	.g-md-4, .gx-md-4 { --gutter-x: 1.5rem; }
	.g-md-4, .gy-md-4 { --gutter-y: 1.5rem; }
	
	.g-md-5, .gx-md-5 { --gutter-x: 3rem; }
	.g-md-5, .gy-md-5 { --gutter-y: 3rem; }
	
	.col-md { flex: 1 0 0%; }
	.col-md-full { flex:1 1 auto; width:1%; min-width:0; }
	
	.row-cols-md-auto > * { flex: 0 0 auto; width: auto; }
    .row-cols-md-1 > *{ flex: 0 0 auto; width:100%; }
    .row-cols-md-2 > *{ flex: 0 0 auto; width:50%; }
    .row-cols-md-3 > *{ flex: 0 0 auto; width:33.3333333333%; }
    .row-cols-md-4 > *{ flex: 0 0 auto; width:25%; }
    .row-cols-md-5 > *{ flex: 0 0 auto; width:20%; }
    .row-cols-md-6 > *{ flex: 0 0 auto; width:16.6666666667%; } 
	
	
	.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%; } 
}
@media (min-width:992px){
	.g-lg-0, .gx-lg-0 { --gutter-x: 0; }
	.g-lg-0, .gy-lg-0 { --gutter-y: 0; }
	
	.g-lg-1, .gx-lg-1 { --gutter-x: 0.25rem; }
	.g-lg-1, .gy-lg-1 { --gutter-y: 0.25rem; }
	
	.g-lg-2, .gx-lg-2 { --gutter-x: 0.5rem; }
	.g-lg-2, .gy-lg-2 { --gutter-y: 0.5rem; }
	
	.g-lg-3, .gx-lg-3 { --gutter-x: 1rem; }
	.g-lg-3, .gy-lg-3 { --gutter-y: 1rem; }
	
	.g-lg-4, .gx-lg-4 { --gutter-x: 1.5rem; }
	.g-lg-4, .gy-lg-4 { --gutter-y: 1.5rem; }
	
	.g-lg-5, .gx-lg-5 { --gutter-x: 3rem; }
	.g-lg-5, .gy-lg-5 { --gutter-y: 3rem; }
	
	.col-lg { flex: 1 0 0%; }
	.col-lg-full { flex:1 1 auto; width:1%; min-width:0; }
	
	.row-cols-lg-auto > * { flex: 0 0 auto; width: auto; }    
	.row-cols-lg-1 > *{ flex: 0 0 auto; width:100%; }
    .row-cols-lg-2 > *{ flex: 0 0 auto; width:50%; }
    .row-cols-lg-3 > *{ flex: 0 0 auto; width:33.3333333333%; }
    .row-cols-lg-4 > *{ flex: 0 0 auto; width:25%; }
    .row-cols-lg-5 > *{ flex: 0 0 auto; width:20%; }
    .row-cols-lg-6 > *{ flex: 0 0 auto; width:16.6666666667%; } 
	
	
	.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%; } 
}
@media (min-width:1200px){
	.g-xl-0, .gx-xl-0 { --gutter-x: 0; }
	.g-xl-0, .gy-xl-0 { --gutter-y: 0; }
	
	.g-xl-1, .gx-xl-1 { --gutter-x: 0.25rem; }
	.g-xl-1, .gy-xl-1 { --gutter-y: 0.25rem; }
	
	.g-xl-2, .gx-xl-2 { --gutter-x: 0.5rem; }
	.g-xl-2, .gy-xl-2 { --gutter-y: 0.5rem; }
	

	.g-xl-3, .gx-xl-3 { --gutter-x: 1rem; }
	.g-xl-3, .gy-xl-3 { --gutter-y: 1rem; }
	
	.g-xl-4, .gx-xl-4 { --gutter-x: 1.5rem; }
	.g-xl-4, .gy-xl-4 { --gutter-y: 1.5rem; }
	
	.g-xl-5, .gx-xl-5 { --gutter-x: 3rem; }
	.g-xl-5, .gy-xl-5 { --gutter-y: 3rem; }
	
	.col-xl { flex: 1 0 0%; }
	.col-xl-full { flex:1 1 auto; width:1%; min-width:0; }
	
	.row-cols-xl-auto > * { flex: 0 0 auto; width: auto; }    
    .row-cols-xl-1 > *{ flex: 0 0 auto; width:100%; }
    .row-cols-xl-2 > *{ flex: 0 0 auto; width:50%; }
    .row-cols-xl-3 > *{ flex: 0 0 auto; width:33.3333333333%; }
    .row-cols-xl-4 > *{ flex: 0 0 auto; width:25%; }
    .row-cols-xl-5 > *{ flex: 0 0 auto; width:20%; }
    .row-cols-xl-6 > *{ flex: 0 0 auto; width:16.6666666667%; } 


	.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%; }
}
@media (min-width:1600px){
	.g-xxl-0, .gx-xxl-0 { --gutter-x: 0; }
	.g-xxl-0, .gy-xxl-0 { --gutter-y: 0; }
	
	.g-xxl-1, .gx-xxl-1 { --gutter-x: 0.25rem; }
	.g-xxl-1, .gy-xxl-1 { --gutter-y: 0.25rem; }
	
	.g-xxl-2, .gx-xxl-2 { --gutter-x: 0.5rem; }
	.g-xxl-2, .gy-xxl-2 { --gutter-y: 0.5rem; }
	
	.g-xxl-3, .gx-xxl-3 { --gutter-x: 1rem; }
	.g-xxl-3, .gy-xxl-3 { --gutter-y: 1rem; }
	
	.g-xxl-4, .gx-xxl-4 { --gutter-x: 1.5rem; }
	.g-xxl-4, .gy-xxl-4 { --gutter-y: 1.5rem; }
	
	.g-xxl-5, .gx-xxl-5 { --gutter-x: 3rem; }
	.g-xxl-5, .gy-xxl-5 { --gutter-y: 3rem; }
	
	.col-xxl { flex: 1 0 0%; }
	.col-xxl-full { flex:1 1 auto; width:1%; min-width:0; }
	
	.row-cols-xxl-auto > * { flex: 0 0 auto; width: auto; }    
    .row-cols-xxl-1 > *{ flex: 0 0 auto; width:100%; }
    .row-cols-xxl-2 > *{ flex: 0 0 auto; width:50%; }
    .row-cols-xxl-3 > *{ flex: 0 0 auto; width:33.3333333333%; }
    .row-cols-xxl-4 > *{ flex: 0 0 auto; width:25%; }
    .row-cols-xxl-5 > *{ flex: 0 0 auto; width:20%; }
    .row-cols-xxl-6 > *{ flex: 0 0 auto; width:16.6666666667%; } 

	
	.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%; }
}



/*----------------------------------------------------------------------
	#flex & text-align
-------------------------------- */
.flexbar{
	display:flex; flex-wrap:wrap;
	align-items:center;
}

.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }
.gap-4 { gap: 1.5rem; }
.gap-5 { gap: 3rem; }

.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; }

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

@media (min-width:576px){
	.gap-sm-0 { gap: 0; }
	.gap-sm-1 { gap: 0.25rem; }
	.gap-sm-2 { gap: 0.5rem; }
	.gap-sm-3 { gap: 1rem; }
	.gap-sm-4 { gap: 1.5rem; }
	.gap-sm-5 { gap: 3rem; }

	.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; }

	.text-sm-left { text-align: left; }
	.text-sm-center { text-align: center; }
	.text-sm-right { text-align: right; }
}
@media (min-width:768px){
	.gap-md-0 { gap: 0; }
	.gap-md-1 { gap: 0.25rem; }
	.gap-md-2 { gap: 0.5rem; }
	.gap-md-3 { gap: 1rem; }
	.gap-md-4 { gap: 1.5rem; }
	.gap-md-5 { gap: 3rem; }

	.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; }
	
	.text-md-left { text-align: left; }
	.text-md-center { text-align: center; }
	.text-md-right { text-align: right; }
}
@media (min-width:992px){
	.gap-lg-0 { gap: 0; }
	.gap-lg-1 { gap: 0.25rem; }
	.gap-lg-2 { gap: 0.5rem; }
	.gap-lg-3 { gap: 1rem; }
	.gap-lg-4 { gap: 1.5rem; }
	.gap-lg-5 { gap: 3rem; }
	
	.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; }
	
	.text-lg-left { text-align: left; }
	.text-lg-center { text-align: center; }
	.text-lg-right { text-align: right; }
}
@media (min-width:1200px){
	.gap-xl-0 { gap: 0; }
	.gap-xl-1 { gap: 0.25rem; }
	.gap-xl-2 { gap: 0.5rem; }
	.gap-xl-3 { gap: 1rem; }
	.gap-xl-4 { gap: 1.5rem; }
	.gap-xl-5 { gap: 3rem; }
	
	.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; }
	
	.text-xl-left { text-align: left; }
	.text-xl-center { text-align: center; }
	.text-xl-right { text-align: right; }
}
@media (min-width:1600px){
	.gap-xxl-0 { gap: 0; }
	.gap-xxl-1 { gap: 0.25rem; }
	.gap-xxl-2 { gap: 0.5rem; }
	.gap-xxl-3 { gap: 1rem; }
	.gap-xxl-4 { gap: 1.5rem; }
	.gap-xxl-5 { gap: 3rem; }
	
	.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; }
	
	.text-xxl-left { text-align: left; }
	.text-xxl-center { text-align: center; }
	.text-xxl-right { text-align: right; }
}



/*----------------------------------------------------------------------
	#heading
-------------------------------- */
.heading{}

/*呈一列*/
.heading_group{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	gap:0.5rem;
}
.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: 600;
	line-height: 1.2;
	margin-bottom: var(--spacing-xs);
}
p{
	margin-top:var(--spacing-xs);
	margin-bottom:var(--spacing-xs);
}



/*----------------------------------------------------------------------
	#editor：後台編輯器
-------------------------------- */
.editor{
	line-height:1.8;
	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;
}
.limit-line-1{ -webkit-line-clamp:1; }
.limit-line-2{ -webkit-line-clamp:2; }
.limit-line-3{ -webkit-line-clamp:3; }
.limit-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
-------------------------------- */
.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:#fff;
	border:1px solid var(--color-one);
	border-radius:var(--btn-radius);
	color:var(--color-one);
	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:20px; height:20px;
}

.btn .iconsvg:before,
.card-btn .iconsvg:before{
	background-color:var(--color-one);
}

.btn:hover,
.card-btn:hover{
	border-color:var(--color-accent);
	background:var(--color-accent);
	color:#fff;
}
.btn:hover .iconsvg:before,
.card-btn:hover .iconsvg:before{
	background-color:#fff;
}

.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);
	border-radius:30px;
	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;
}

.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{
	display:flex; flex-wrap:wrap;
	gap:0.25rem;
	margin-top:var(--spacing-xs);
}
.card-infolist > li{ width:100%; }

.card-info{
    position:relative;
    display:flex; flex-wrap:wrap;
	align-items:center;
	gap:var(--spacing-2xs);
}

.card-info .iconsvg,
.card-info .card-info-icon,
.card-info .card-info-title,
.card-info .card-info-text{
    display:block;
}

.card-info .iconsvg{
	width:16px; height:16px;
}
.card-info .iconsvg:before{
	background-color:#666;
}

.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;
}





/*----------------------------------------------------------------------
	#infolist：資訊
		.info_view_date：日期 [in view]
		.infolist_footer_company [in footer]
		
-------------------------------- */
.infolist{
	display:flex; flex-wrap:wrap;
	align-items:center;
	gap:1rem;
}
.infolist > li{ width:100%; }

.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;
}





/*----------------------------------------------------------------------
	#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);
}


/* ===== 下拉選單 */
.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;
}










/*----------------------------------------------------------------------
	#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;
    }
}






/*----------------------------------------------------------------------
	#header
-------------------------------- */
.header-bg{
	position: relative;
	background: linear-gradient(180deg, #1446d2 0.000%, 
								#0155b8 20.000%, #0066ad 40.000%, 
								#007abb 60.000%, #0c90d5 80.000%, #26a7e3 100.000%);
	padding-bottom:6px;
}
.header-bg:before{
	position: absolute; z-index: 1; bottom:0; left: 0; content: "";
	width: 100%; height: 6px;
	background: conic-gradient(from 135deg, #f4c56c 0.000deg, #f5d079 40.000deg, 
											#f8cc22 80.000deg, #fbbc06 120.000deg, 
											#fea757 160.000deg, #ff9682 200.000deg, 
											#ff9138 240.000deg, #fe9a00 280.000deg, 
											#fbae40 320.000deg, #f7c384 360.000deg);
}
.header-top{
	padding:8px 0;
}

.header-top .header-row{
	display:flex; flex-wrap:wrap;
	align-items:center;
}
.header-top .col-1{
	display:none;
}
.header-top .col-2{
	width:150px;
	/*flex:1 1 auto;
	width:1%; min-width:0;
	padding-left:70px;*/
}
.header-top .col-3{
	flex:1 1 auto;
	width:1%; min-width:0;
}
@media (min-width:992px){
	.header-top{
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	.header-top .col-1,
	.header-top .col-3{
		display:block;
	}
	.header-top .col-1,
	.header-top .col-2,
	.header-top .col-3{
		width:calc( 100% / 3);
	}
	/*.header-top .col-4{
		display:none;
	}*/
}





/*----------------------------------------------------------------------
	#nav_social:社群
-------------------------------- */
.nav_social{
	display:flex; flex-wrap:wrap;
	align-items:center;
	gap:0.5rem;
}

.nav_social .navlink{
	display:block;
	padding:0.25rem;
	transition:transform 0.3s ease;
}
.nav_social .navlink .iconsvg:before{
	background-color: #fff;
	-webkit-mask-size: 80% 80%;
    		mask-size: 80% 80%;
}
.nav_social .navlink:hover .iconsvg:before{
	background-color:var(--color-two);
}




/*----------------------------------------------------------------------
	#logo
-------------------------------- */
.logo{
	max-width:200px;
}

.logo a{
	display:block;
}

.logo img{
	display:block; max-width:100%; height:auto;
}
@media (min-width:992px){
	.logo{
		max-width:250px;
		margin:1rem auto;
	}
}




/*----------------------------------------------------------------------
	#searchbar
-------------------------------- */
.searchbar{
	display:flex; flex-wrap:wrap;
	align-items:center;
	
	width: 100%; max-width: 300px;
	background: rgba(255,255,255,0.3);
	border: 1px solid transparent;
	border-radius:28px;
	padding: 6px;
	margin-left: auto;
}
.search-input{
	flex:1 1 auto;
	width:1%; min-width:0;
	background: transparent;
	border-width: 0;
	color:#fff;
	font-weight: 600; line-height:1;
	padding:8px 12px;
}
.search-input::placeholder{
	color:#fff;
}
.search-btn{
	display: block;
	width:40px; height: 40px;
	background: rgba(255,255,255,1);
	border:1px solid rgba(255,255,255,1);
	border-radius: 50%;
	margin:0;
	padding:0;
	transition: var(--transition);
}
.search-btn .iconsvg{
	width:100%; height: 100%;
}
.search-btn .iconsvg:before{
	background-color: var(--color-one);
	-webkit-mask-size: 50% 50%;
    		mask-size: 50% 50%;
}

.search-btn:hover{
	background: var(--color-accent);
	bordercolor: var(--color-accent);
}
.search-btn:hover .iconsvg:before{
	background-color:#fff;
}


/*mini*/
.searchbar_sm .search-input{
	font-size: var(--text-sm);
	padding:0.25rem 0.5rem;
}
.searchbar_sm .search-btn{
	width:32px; height: 32px;
}


/*有色-搜尋*/
.searchbar_colorful{
	background:#fff;
	border-color:var(--color-one);
	margin:0 auto;
}
.searchbar_colorful .search-input{
	color:var(--color-one);
}
.searchbar_colorful .search-input::placeholder{
	color:rgba(var(--color-one-rgb),0.5);
}
.searchbar_colorful .search-btn{
	background: var(--color-one);
	border-color:var(--color-one);
}
.searchbar_colorful .search-btn .iconsvg:before{
	background-color:#fff;
}

.searchbar_colorful .search-btn:hover{
	background: var(--color-accent);
	border-color:var(--color-accent);
}
.searchbar_colorful .search-btn:hover .iconsvg:before{
	background-color:#fff;
}




.toolarea{
	margin:var(--spacing-xl) 0;
}
.toolarea .row{
	--gutter-x: 1rem;
	--gutter-y: 1rem;
	  
	align-items:center; justify-content:center;
}

.toolarea .form-select{
	border:1px solid var(--color-one);
	border-radius: 28px;
	color:var(--color-one);
	font-weight: 600; line-height:1;
	padding:14px 2rem 14px 1rem;
	/*padding:18px 2rem 18px 1rem;*/
}

.toolarea  .searchbar{
	max-width:100%;
}

.tool-link{
	width:100%;
	background:var(--color-one);
	border-radius:28px;
	color:#fff;
	padding:14px 1rem;
	box-shadow: rgb(0 0 0 / 15%) 1px 1px 2px;
}

.findbox .toolarea{
	margin:0;
}




.header .searchbar{
	padding:0 0 0 6px;
}
@media (min-width:992px){
	.header .searchbar{
		padding:6px;
	}
}










/*----------------------------------------------------------------------
	#navbar_toggler：側邊隱藏區塊-觸發鈕
-------------------------------- */
.navbar_toggler{
	display:block;
	background:rgba(255,255,255,0.2);
	border-radius:15px;
	width: 50px; height:50px;
	margin: 0.75rem 0 0.75rem auto;
	
	/*取消連結的醒目點選標示*/
	-webkit-tap-highlight-color: transparent;
}
.navbar_toggler .iconsvg{
	width:100%; height:100%;
}
.navbar_toggler .iconsvg:before{
	background-color:#fff;
	-webkit-mask-size: 60% 60%;
    		mask-size: 60% 60%;
}



/*----------------------------------------------------------------------
	#menu
-------------------------------- */
.nav-menu{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	gap:1rem;
	padding: 1rem 0 1rem 0;
}

.nav-menu a{
	position: relative;
	color:#fff;
	font-size:var(--text-xl);
	font-weight: 600;
	padding: 0.25rem;
}
.nav-menu a:after {
    position: absolute; bottom: 0; left: 0; content: "";
    width: 0;height: 2px;
    background-color: var(--color-two);
	transition: var(--transition);
}
.nav-menu a:hover{
	color: var(--color-two);
}
.nav-menu a:hover:after {
    width: 100%;
}






/*----------------------------------------------------------------------
	#hznav：mobile 水平選單
-------------------------------- */

/*水平 menu*/
.hznav{
	position:relative;
	overflow: hidden;
	padding: 5px 70px 0 10px;
}

/*.hznav-tag{
	position:absolute; top:50%; right:10px;
	width:20px; height:20px;
	transform:translate(0, -50%);
}
.hznav-tag .iconsvg{
	width:100%; height:100%;
}
.hznav-tag .iconsvg:before{
	background-color:rgba(255,255,255,0.6);
}*/


.hznav-wrap{
	display: flex;
	overflow-x: hidden;
}
.hznav-inner{
	flex: 1 0 auto;
}

.hznav_ul {
	display:flex; flex-wrap:wrap;
	align-items:center;
}
.hznav_ul li a{
	position:relative;
	display:block;
	color: #fff; font-weight:600;
	padding:12px 12px;
}
.hznav_ul li a:before{
	position:absolute; bottom:0; left:0; content:"";
	width:100%; height:2px;
	background:red;
	opacity:0;
}
.hznav_ul li.active a{
	color: red;
}
.hznav_ul li.active a:before{
	opacity:1;
}



.hznav-toggle{
	position:relative;
}

.toggle-btn{
	position:absolute; z-index:105; top:50%; right:10px;
	width:40px; height:40px;
	border-radius:3px;
	transform:translate(0, -50%);
	padding:8px;
}
.toggle-btn .iconsvg{
	width:100%; height:100%;
}
.toggle-btn .iconsvg:before{
	background-color:#fff;
}

.toggle-btn.is-active{
	border:1px solid var(--color-one);
}
.toggle-btn.is-active .iconsvg{
	transform: scaleY(-1);
}
.toggle-btn.is-active .iconsvg:before{
	background-color:var(--color-one);
}

.toggle-content{
	position:absolute; z-index:100; top:0; left:0; 
	width:100%;
	background:#fff;
	padding:0 1rem;
	box-shadow: 0 4px 6px rgb(0 0 0 / 50%);
}

.hading-toggle{
	color:var(--color-one);
	font-weight: 600;
	padding:1rem 1rem;
	border-bottom:1px solid #eee;
}

.toggle-menu a{
	position: relative;
	display:block;
	color:#333;
	font-size:var(--text-base);
	font-weight: 600;
	padding: 0.75rem 0.25rem;
	text-align:center;
	border-bottom:1px solid #eee;
}
.toggle-menu a:hover{
	color: var(--color-two);
}







/*----------------------------------------------------------------------
	#header_fixed [is-sticky]：卷軸下捲時固定列
-------------------------------- */
.header-fixed{
	position:fixed; z-index:900; top:-300px; left:0;
	width:100%; height:auto;
	box-shadow:0 2px 6px rgba(0,0,0,0.1);
	
	transition:transform 0.6s ease-in-out;
}
.header-fixed.is-scroll{
	transform:translateY(300px);
}
.header-fixed.header-bg:before{
	height:3px;
}



/*固定列-desktop*/
.fixed_nav .col-1{
	flex:1 1 auto;
	width:1%; min-width:0;
}
.fixed_nav .col-2{
	width:200px;
}
.fixed_nav .nav-menu{
	padding:1.2rem 0;
	justify-content:flex-start;
}
.fixed_nav .nav-menu a{
	font-size:var(--text-lg);
}





/*----------------------------------------------------------------------
	#offside
-------------------------------- */
.offside{
	position:fixed; z-index:1000; top:0; left:0;
	width:100%; height:100vh;
	backdrop-filter: blur(5px);
	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: linear-gradient(180deg, #1446d2 0.000%, 
								#0155b8 20.000%, #0066ad 40.000%, 
								#007abb 60.000%, #0c90d5 80.000%, #26a7e3 100.000%);
								
	border-left:2px solid #26a7e3;
	
	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{
	display:flex; flex-wrap:wrap;
	align-items:center;
	padding: 2rem 1rem 0 1rem;
}
.offside_header .col-1{
	flex:1 1 auto;
	width:1%; min-width:0;
}
.offside_header .col-2{
	width:80px;
}

.offside_header .searchbar{
	width:100%; max-width:100%; 
	margin:0;
}

.offside_body{
	padding:1rem;
}



/*----------------------------------------------------------------------
	#offside_menu：側邊區塊選單
-------------------------------- */
.offside_menu{}

.offside_menu li{
	border-width:0 0 1px 0;
	border-style:solid;
	border-color:rgba(255,255,255,0.2);
}
.offside_menu li a{
	position:relative;
	display:block;
	color:#fff;
	font-size:var(--text-lg); font-weight:600;
	padding:1rem;
	text-decoration:none;
}
.offside_menu .menu-subtext{
	display:none;
}




/*----------------------------------------------------------------------
	#offside_close：側邊隱藏區塊-關閉鈕
-------------------------------- */
.offside_close{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
	width:60px; height:60px;
	background:rgba(255,255,255,0.2);
	border-radius:15px;
	margin-left:auto;
}
.offside_close .iconsvg{
	width:20px; height:20px;
	margin:2px auto;
}
.offside_close .iconsvg:before{
	background-color:rgba(255,255,255,0.6);
}
.offside_close-text{
	display:block;
	width:100%;
	color:#fff;
	font-size:12px; font-weight:600;
	text-align:center;
}






/*----------------------------------------------------------------------
	#footer
-------------------------------- */
.footer{
	border-top:1px solid rgba(var(--color-one-rgb),0.1);
	padding:2rem 0;
}


.web-foot,
.web-foot a{
	color:#666;
	font-size:var(--text-sm);
}
.web-foot a:hover{
	color:var(--color-accent);
}
@media (min-width:992px){
	.web-foot br{ display:none; }
}








/*-------------------------------------------------------------------------------------------

	#scrolltop：回頂端

-------------------------------- */
.scrolltop{
	position: fixed; z-index:9998; right:20px; bottom:20px;
    
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
	width:50px; height:50px;
    
	background: #fff;
    border: 2px solid rgba(var(--color-one-rgb),0.6);
	border-radius:50%;
	box-shadow: 0 0 15px rgba(var(--color-one-rgb),0.6);

	cursor:pointer;
	opacity:0;
}
@media (min-width:992px){
	.scrolltop{
		bottom:20px;
	}
}
.scrolltop-text{
	position:relative;
	display:block;
	color:var(--color-one);
	font-size:var(--text-xs); font-weight: 600;
	padding-top:6px;
	text-align:center;
}
.scrolltop-text:before{
	position:absolute; top:0; left:50%; content:"";
	width:0; height:0;
	margin-left:-6px;
	border-left:6px solid transparent;
	border-right:6px solid transparent;
	border-bottom:6px solid rgba(var(--color-one-rgb),0.6);
}

.scrolltop:hover{
	background:var(--color-accent);
	border: 2px solid var(--color-accent);
	box-shadow: 0 0 15px var(--color-accent);
}
.scrolltop:hover .scrolltop-text{
	color:#fff;
}
.scrolltop:hover .scrolltop-text:before{
	border-bottom-color:#fff;
}
.scrolltop.show{ opacity:1; }







/*----------------------------------------------------------------------
	#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:50%;
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;

	width:80px; height:80px;
	background:rgba(255,255,255,0.05);
	border:none;
	color:transparent;
	font-size:0;
	cursor:pointer;
	transform:translate(0, -50%);
	opacity:0.5;
	/*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: 0; left: 0; content: "";
	width:100%; height:100%;
    background-color: #fff;

    -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%;
	
}
.slickarrow .slick-prev:before{
    -webkit-mask-image: url(../images/icon/icon_arrow_left.svg);
    		mask-image: url(../images/icon/icon_arrow_left.svg);
}
.slickarrow .slick-next:before{
    -webkit-mask-image: url(../images/icon/icon_arrow_right.svg);
    		mask-image: url(../images/icon/icon_arrow_right.svg);
}

.slickarrow:hover .slick-prev, 
.slickarrow:hover .slick-next{
	opacity:1;
}


/* ===== 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;
}

















/*----------------------------------------------------------------------
	#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: 50% 50%;
			mask-size: 50% 50%;*/
}

.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-phone:before {
    -webkit-mask-image: url(../images/icon/icon_phone.svg);
    mask-image: url(../images/icon/icon_phone.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-officetime:before {
    -webkit-mask-image: url(../images/icon/icon_officetime.svg);
    		mask-image: url(../images/icon/icon_officetime.svg);
}

.icon-menu-search:before {
    -webkit-mask-image: url(../images/icon/icon_menu_search.svg);
    		mask-image: url(../images/icon/icon_menu_search.svg);
}
.icon_menu_scroll:before {
    -webkit-mask-image: url(../images/icon/icon_menu_scroll.svg);
    		mask-image: url(../images/icon/icon_menu_scroll.svg);
}
.icon-search:before {
    -webkit-mask-image: url(../images/icon/icon_search.svg);
    		mask-image: url(../images/icon/icon_search.svg);
}
.icon-cross:before {
    -webkit-mask-image: url(../images/icon/icon_cross.svg);
    		mask-image: url(../images/icon/icon_cross.svg);
}

.icon-home:before {
    -webkit-mask-image: url(../images/icon/icon_home.svg);
    		mask-image: url(../images/icon/icon_home.svg);
}
.icon-readmore:before {
    -webkit-mask-image: url(../images/icon/icon_readmore.svg);
    		mask-image: url(../images/icon/icon_readmore.svg);
}

.icon-arrow-up:before {
    -webkit-mask-image: url(../images/icon/icon_arrow_up.svg);
    		mask-image: url(../images/icon/icon_arrow_up.svg);
}
.icon-arrow-down:before {
    -webkit-mask-image: url(../images/icon/icon_arrow_down.svg);
    		mask-image: url(../images/icon/icon_arrow_down.svg);
}
.icon-arrow-down-line:before {
    -webkit-mask-image: url(../images/icon/icon_arrow_down_line.svg);
    		mask-image: url(../images/icon/icon_arrow_down_line.svg);
}

.icon-company:before {
    -webkit-mask-image: url(../images/icon/icon_company.svg);
    		mask-image: url(../images/icon/icon_company.svg);
}

.icon-clock:before {
    -webkit-mask-image: url(../images/icon/icon_clock.svg);
    		mask-image: url(../images/icon/icon_clock.svg);
}

.icon-cate:before {
    -webkit-mask-image: url(../images/icon/icon_cate.svg);
    		mask-image: url(../images/icon/icon_cate.svg);
}

.icon-download:before {
    -webkit-mask-image: url(../images/icon/icon_download.svg);
    		mask-image: url(../images/icon/icon_download.svg);
}


