@charset "utf-8";

@import url(notosanstc.css);

:root {
	
	--bg-rgb:2,6,23;
	
	--one-color: #00F2FE; /*藍*/
	--one-rgb:0,242,254;
	--one-light-rgb:6,182,212;
	--one-lighter-rgb:148,163,184;
	--one-darker-rgb:15, 23, 42;
	
	
	--two-color:#8A2BE2; /*紫*/
	--two-rgb:138,43,226;
	--two-bright-rgb:168,85,247;
	--two-light-rgb:139,92,246;

	
	--three-color:#EC4899; /*紅*/
	--three-rgb:236,72,153;
	
	
	--four-color:#4ADE80; /*綠*/
	--four-rgb:74,222,128;
	
	

	
	/* --- font size --- */
	--text-unit:16px;
	--text-xs: calc(var(--text-unit) * 0.75); /* 12px */
    --text-sm: calc(var(--text-unit) * 0.875); /* 14px */
    --text-base: calc(var(--text-unit) * 1);
    --text-lg: calc(var(--text-unit) * 1.125); /* 18px--h4 */
    --text-xl: calc(var(--text-unit) * 1.25); /* 20px--h3 */
    --text-2xl: calc(var(--text-unit) * 1.5); /* 24px--h2 */
    --text-3xl: calc(var(--text-unit) * 1.875); /* 30px--h1 */
    --text-4xl: calc(var(--text-unit) * 2.25); /* 36px */
    --text-5xl: calc(var(--text-unit) * 3); /* 48px */
    --text-6xl: calc(var(--text-unit) * 3.75); /* 60px */
    --text-7xl: calc(var(--text-unit) * 4.5); /* 72px */
    --text-8xl: calc(var(--text-unit) * 6); /* 96px */
    --text-9xl: calc(var(--text-unit) * 8); /* 128px */


	/* --- line-height --- */
	--line-height-heading: 1.2;
	--line-height-body: 1.4;
	
	
	--radius-xs: 0.125rem;
    --radius-sm: 0.25rem; /*圓潤的*/
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;
    --radius-circle: 50%;
}





/*-------------------------------------------------------------------------------------------

	#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;}

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-xl);
	line-height:inherit;
	padding:0;
	margin-bottom:0.5rem;
}
@media (min-width:1200px){
	legend{
		font-size:var(--text-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: 'Noto Sans TC', "Microsoft JhengHei","微軟正黑體修正","微軟正黑體", sans-serif;
	
	color:#333;
	font-size:var(--text-unit);
	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;
}


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);
}

h1, h2, h3, h4,h5, h6, form legend {
	font-weight: 700;
	line-height: var(--line-height-heading);
	margin-bottom: 1.5rem;
}

p{
	margin-top:0.25rem;
	margin-bottom:0.5rem;
}


/*-------------------------------------------------------------------------------------------

	#Editor：後台編輯器

-------------------------------- */
.editor{
	overflow-wrap: break-word;
	line-height:1.8;
}

.editor h1 {
	margin-bottom: 1.25rem;
}

.editor h2,
.editor h3,
.editor h4 {
	margin-top: 1.25rem;
	margin-bottom: 0.75rem;
}

.editor ul,
.editor ol,
.editor p {
	margin-bottom: 0.75rem;
}

.editor ul,
.editor ol {
	list-style-position: outside;
	padding-left: 1.5rem;
}

.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%;
}





/*-------------------------------------------------------------------------------------------

	#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:96%; }
}
@media (min-width:1400px){
    .container{ /*max-width:1000px;*/ width:90%; }
}
@media (min-width:1920px){
    .container{ /*max-width:1200px;*/ width:80%; }
}



/* ===== 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:1200px){
	.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:1200px){
	.card_row{
		margin-top:0;
		margin-right:-15px;
		margin-left:-15px;
	}
	.card_row > *{
		margin-top:0;
		padding-right:15px;
		padding-left:15px;
	}
}


.minirow{
	display:flex; flex-wrap:wrap;

	margin-top:-5px;
	margin-right:-5px;
	margin-left:-5px;
}
.minirow > *{
	flex-shrink:0;
	width:100%; max-width:100%;
	
	margin-top:5px;
	padding-right:5px;
	padding-left:5px;
}


.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%; }


.flexbar{
	display:flex; flex-wrap:wrap;
	align-items:center;
}

.flex-nowrap{ flex-wrap: nowrap; }
.flex-wrap{ flex-wrap: wrap; }
.flex-wrap-reverse{ flex-wrap: wrap-reverse; }

.display-flex{ display:flex; }
.display-hide{ display:none; }
.display-show{ 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; }


.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){

    .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%; } 


	.display-sm-hide{ display:none; }
	.display-sm-show{ 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; }

	
	.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){

    .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%; } 


	.display-md-hide{ display:none; }
	.display-md-show{ 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; }
	
	
	.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){

    .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%; } 


	.display-lg-hide{ display:none; }
	.display-lg-show{ 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; }
	
	
	.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){

    .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%; } 


	.display-xl-hide{ display:none; }
	.display-xl-show{ 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; }
	

	.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){
 
    .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%; } 


	.display-xxl-hide{ display:none; }
	.display-xxl-show{ 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; }
	
	
	.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%; }
}






/*-------------------------------------------------------------------------------------------

	#Btn

-------------------------------- */
.btnbar{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
    margin:0.5rem 0;
	text-align:center;
}

.card-btnbar{
	display:flex; flex-wrap:wrap;
	align-items:center; justify-content:center;
	
	margin-top:0.5rem;
}

.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;
	
	-webkit-appearance: button;
    background-color: transparent;
	border:1px solid rgba(var(--one-lighter-rgb),0.3);
	border-radius: 0.75rem;
	
	color:rgba(var(--one-lighter-rgb),1);
	
	font-size:var(--text-base); font-weight:600; line-height: 1;
	padding: calc(var(--text-base) * 1) calc(var(--text-base) * 1);
	margin:1rem 0.5rem;

	cursor:pointer;
	
	-webkit-user-select:none;
	   -moz-user-select:none;
			user-select:none;
			
	transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
@media (prefers-reduced-motion:reduce){
	.btn, 
	.card-btn{
		transition:none;
	}
}
.btn:active, 
.card-btn:active {
	transition: none;
}


.btn_sm{
	border-radius: 0.5rem;
	font-size:var(--text-sm);
	padding: calc(var(--text-sm) * 0.75) calc(var(--text-sm) * 1);
}



.btn .iconsvg,
.btn-text,
.card-btn .iconsvg,
.card-btn-text{
	position:relative; z-index:2;
	line-height:1;
	margin:0 2px;
}

.btn .iconsvg,
.card-btn .iconsvg{
	width:20px; height:20px;
}

.btn .iconsvg:before,
.card-btn .iconsvg:before{
	background-color:rgba(var(--one-lighter-rgb),1);
}


.btn:hover{
	background-color: rgba(var(--one-lighter-rgb),0.2);
	color:#fff;
	box-shadow: 0 0 10px rgba(var(--one-lighter-rgb),0.2);
}
.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);
}





/*-------------------------------------------------------------------------------------------

	#Card

-------------------------------- */
.card{
	position:relative; z-index:2;
	
	display:flex;
	flex-direction:column;
	word-wrap:break-word;
}


/* ===== #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-tr：仿表格 */
.card-tr{
    display:flex; flex-wrap:wrap;
    align-items:center;
}
.card-td{
	padding:5px;
}


/* ===== #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:0.5rem 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:0.5rem;
}












/*-------------------------------------------------------------------------------------------

	#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;
}






/*-------------------------------------------------------------------------------------------

	#Infolist：資訊

-------------------------------- */
.infolist{}
.infolist > li{ margin:0.25rem 0; }

.infobar{
	display:flex; flex-wrap:wrap;
	align-items:center;
}

.info{
	display: inline-flex;
	align-items:center;
	
	font-weight:600;
	padding:2px 0;
}


/*資訊內容呈一列*/
.info-icon,
.info-title,
.info-text{
	position:relative;
	display:block;
}
.info-text{
	overflow-wrap: break-word;
}






/*-------------------------------------------------------------------------------------------

	#Page：頁碼

-------------------------------- */
.page{
	font-size:var(--text-sm); font-weight:600;
	text-align:center;
	color:rgba(var(--two-light-rgb),1);
	margin:2rem 0 4rem 0;
}
/*.page br:nth-of-type(1){
	display:none;
}*/
.page a ,
.page span{
	display:inline-block;
	min-width:38px;
	background:transparent;
	border: 1px solid rgba(var(--two-light-rgb),1);
	/*border-bottom-width:3px;*/
	border-radius:2px;
	color:rgba(var(--two-light-rgb),1);
	font-size:var(--text-sm);
	padding:0.75rem 1rem;
	text-align:center;
	margin:0.25rem;
}
.page span{
	background: rgba(var(--one-rgb),0.2);
	border-color: rgba(var(--one-rgb),0.3);
	color: var(--one-color);
}
.page a:hover{
	border-color: rgba(var(--two-light-rgb),1);
	color:rgba(var(--two-light-rgb),1);
	box-shadow: 0 0 15px rgba(var(--two-rgb),0.8);
}









/*-------------------------------------------------------------------------------------------

	#Form

-------------------------------- */
.form-label{
	margin-bottom:0.5rem;
}

.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-control{
	display:block;
	width:100%;
	
	background-color:#fff;
	background-clip:padding-box;
	
	border:1px solid #ced4da;
	border-radius:0.75rem;
	
	font-size:var(--text-base); font-weight:600; line-height:1.5;
	color:#212529;
	
	padding:calc(var(--text-base) * 1) calc(var(--text-base) * 2);

	-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;
	opacity:1;
}
.form-control::placeholder{
	color:#6c757d;
	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:0.5rem 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%;
	
	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;
	
	padding:calc(var(var(--text-base)) * 1) calc(var(var(--text-base)) * 4) calc(var(var(--text-base)) * 1) 0.5rem;
	-moz-padding-start:calc(0.75rem - 3px);
	
	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;
	margin:2px 0;
}
/*.form-check .form-check-input{
	float:left;
	margin-left:-1.5em;
}*/

.form-check-input{
	width:1em; height:1em;
	
	margin-top:0.25rem;
	vertical-align:top;
	
	background-color:#fff;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	
	border:1px solid rgba(0, 0, 0, 1);
	
	-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 表單

-------------------------------- */
/*.formlist{
	display:flex; flex-wrap:wrap;
	margin-right:-10px;
	margin-left:-10px;
}
.formlist > li{
	position:relative;
	width:100%;
	padding-right:10px;
	padding-left:10px;
	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;
	}
}*/



/*===== #input_group */
.input-group-row-auto{
	/*padding-left:1.3rem;*/
	margin-top:10px;
}

/*.input-group-row{
	padding-left:1.3rem;
	margin-top:10px;
}
.input-group-row .input-group-row-auto{
	padding-left:0;
}

.input-group-row-full{
	width:100%;
	margin-top:10px;
}*/
	
/*@media (min-width:992px){
	.input-group{
		display:flex; flex-wrap:wrap;
		align-items: center;
	}
	.input-group_align_start{
		align-items: flex-start;
	}
	
	.input-group-row-auto{
		position:relative;
		
		flex:1 1 auto;
		width:1%;
		min-width:0;
		
		margin:0 1rem 0 0;
		padding-left:0;
	}
	.input-group-row-auto:last-child,
	.input-group-last{
		margin-right:0;
	}
	
	.input-group-row{
		display:flex; flex-wrap:wrap;
		
		flex:1 1 auto;
		width:1%;
		min-width:0;
		
		margin:0;
		padding-left:0;
	}

}*/



/*===== #form-describe：表單介紹文字 */
.form-describe{
	color:#333;
	font-size:var(--text-lg); font-weight:600;
	text-align:center;
	margin-bottom:2rem;
}

.data_required{
	vertical-align:text-top;
	font-size:var(--text-sm);
	color:red;
}


/*===== #form-title：標題 */
.formlist .form-label{
	display: inline-flex;
	align-items:center; justify-content:center;
}
@media (min-width:992px){
	.formlist .form-label{
		margin:0;
	}
	
	.formlist .input-group_align_start .form-label{
		margin-top:0.25rem;
	}
}

.form-icon,
.form-require,
.form-title{
	margin:0 2px;
}
/*.form-require{
	width:7px;
	margin-right:3px;
}*/

/*.formlist .form-label{
	position:relative;
	padding-left:10px;
}
.formlist .form-label .form-require{
	position:absolute; top:0; left:0;
	font-size:14px;
	color:red;
}*/

.form-title{
	position:relative;
	font-size:var(--text-sm); font-weight:400;
	color:#000;
}

.form-icon.iconsvg{
	display:inline-block; vertical-align:middle;
	width:30px; height:30px;
}
.form-icon.iconsvg:before{
	background-color:#ccc;
}



/*===== #form-text：內容-純文字 */
.form-text{
	font-size: var(--text-lg); font-weight:600; line-height:1.5;
	color:#333;
}

/*欄位說明文字*/
.form-text_remind{
	width:100%;
	color:#666;
	font-size:var(--text-sm);
	margin-top:5px;
}



/*===== #form-checklist：單選按鈕*/
.form-checklist{
	display:flex; flex-wrap:wrap;
	align-items:center;
	margin-top:-0.5rem;
}
.form-checklist li{
	width:100%;
	margin-top:0.5rem;
	margin-right:1rem;
}

.form-checklist_inline li{
	width:auto;
}


.form-check{
	display:flex; flex-wrap:wrap;
	align-items:center;
	
	background:var(--three-color);
	border:1px solid var(--three-color-dark);
	border-radius:5px;
	color:#834e17;
	padding:0.5rem;
}
.form-check label{
}
.form-check > *{
	margin-right:5px;
}




.form-check{
	font-weight:600;
}



/*分隔線*/
.line_separate{
	width:100%; height:1px;
	border-top:1px dashed #ccc;
}









/*-------------------------------------------------------------------------------------------

	#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%;*/
}
.icon-id:before {
    -webkit-mask-image: url(../images/icon/icon_id.svg);
    mask-image: url(../images/icon/icon_id.svg);
}
.icon-account:before {
    -webkit-mask-image: url(../images/icon/icon_account.svg);
    mask-image: url(../images/icon/icon_account.svg);
}
.icon-lock:before {
    -webkit-mask-image: url(../images/icon/icon_lock.svg);
    mask-image: url(../images/icon/icon_lock.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-home:before {
    -webkit-mask-image: url(../images/icon/icon_home.svg);
    mask-image: url(../images/icon/icon_home.svg);
}
.icon-profile:before {
    -webkit-mask-image: url(../images/icon/icon_profile.svg);
    mask-image: url(../images/icon/icon_profile.svg);
}
.icon-food:before {
    -webkit-mask-image: url(../images/icon/icon_food.svg);
    mask-image: url(../images/icon/icon_food.svg);
}
.icon-chart:before {
    -webkit-mask-image: url(../images/icon/icon_chart.svg);
    mask-image: url(../images/icon/icon_chart.svg);
}

.icon-logout:before {
    -webkit-mask-image: url(../images/icon/icon_logout.svg);
    mask-image: url(../images/icon/icon_logout.svg);
}

.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-time:before {
    -webkit-mask-image: url(../images/icon/icon_time.svg);
    mask-image: url(../images/icon/icon_time.svg);
}

.icon-breakfast:before {
    -webkit-mask-image: url(../images/icon/icon_breakfast.svg);
    mask-image: url(../images/icon/icon_breakfast.svg);
}
.icon-lunch:before {
    -webkit-mask-image: url(../images/icon/icon_lunch.svg);
    mask-image: url(../images/icon/icon_lunch.svg);
}
.icon-dinner:before {
    -webkit-mask-image: url(../images/icon/icon_dinner.svg);
    mask-image: url(../images/icon/icon_dinner.svg);
}
.icon-snack:before {
    -webkit-mask-image: url(../images/icon/icon_snack.svg);
    mask-image: url(../images/icon/icon_snack.svg);
}
.icon-dessert:before {
    -webkit-mask-image: url(../images/icon/icon_dessert.svg);
    mask-image: url(../images/icon/icon_dessert.svg);
}

.icon-camera:before {
    -webkit-mask-image: url(../images/icon/icon_camera.svg);
    mask-image: url(../images/icon/icon_camera.svg);
}
.icon-pencil:before {
    -webkit-mask-image: url(../images/icon/icon_pencil.svg);
    mask-image: url(../images/icon/icon_pencil.svg);
}

.icon-circle:before {
    -webkit-mask-image: url(../images/icon/icon_circle.svg);
    mask-image: url(../images/icon/icon_circle.svg);
}

.icon-view:before {
    -webkit-mask-image: url(../images/icon/icon_view.svg);
    mask-image: url(../images/icon/icon_view.svg);
}
.icon-more:before {
    -webkit-mask-image: url(../images/icon/icon_more.svg);
    mask-image: url(../images/icon/icon_more.svg);
}
.icon-plus:before {
    -webkit-mask-image: url(../images/icon/icon_plus.svg);
    mask-image: url(../images/icon/icon_plus.svg);
}

.icon-back:before {
    -webkit-mask-image: url(../images/icon/icon_back.svg);
    mask-image: url(../images/icon/icon_back.svg);
}

.icon-ai:before {
    -webkit-mask-image: url(../images/icon/icon_ai.svg);
    mask-image: url(../images/icon/icon_ai.svg);
}

.icon-excel:before {
    -webkit-mask-image: url(../images/icon/icon_excel.svg);
    mask-image: url(../images/icon/icon_excel.svg);
}
.icon-photo:before {
    -webkit-mask-image: url(../images/icon/icon_photo.svg);
    mask-image: url(../images/icon/icon_photo.svg);
}

.icon-male:before {
    -webkit-mask-image: url(../images/icon/icon_male.svg);
    mask-image: url(../images/icon/icon_male.svg);
}
.icon-female:before {
    -webkit-mask-image: url(../images/icon/icon_female.svg);
    mask-image: url(../images/icon/icon_female.svg);
}

.icon-exclamation:before {
    -webkit-mask-image: url(../images/icon/icon_exclamation.svg);
    mask-image: url(../images/icon/icon_exclamation.svg);
}

.icon-search:before {
    -webkit-mask-image: url(../images/icon/icon_search.svg);
    mask-image: url(../images/icon/icon_search.svg);
}