html, body {
	overflow-x: hidden;
}
body {
	font-family: 'Arial', 'Noto Sans CJK TC', 'PingFang TC', 'Heiti TC', 'Noto Sans TC', source-han-sans-traditional, 'Microsoft JhengHei', sans-serif;
	font-weight: 400;
}
body.loaded {
}
p {
	line-height: 1.5;
	font-weight: 400;
}
p + p {
	margin-top: 1em;
}
a {
	text-decoration: none;
	color: inherit;
	-webkit-tap-highlight-color: transparent;
}
a:focus {
	outline: 1px solid;
}

a, button, input[type="submit"], input[type="button"] {
	cursor: pointer;
}
input, select, textarea, button {
	font-family: 'Arial', 'Noto Sans CJK TC', 'PingFang TC', 'Heiti TC', 'Noto Sans TC', source-han-sans-traditional, 'Microsoft JhengHei', sans-serif;
	font-weight: 400;
}
img {
	max-width: 100%;
	width: auto;
	height: auto;
}


/* layout */
.container {
	padding: 6em 2em 6em;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
.container.wide {
	max-width: 1600px;

}
.container.midwide {
	max-width: 1400px;
	padding: 6em 4em 6em;
}
.container.narrow {
	max-width: 960px;
}
header .container {
	padding: 1.5em 2em;
}
footer .container {
	padding: 4em 2em;
}

.block-right {
	max-width: calc(60% - 2em);
}

.max-w10 {max-width: 1200px;}
.max-w9 {max-width: 960px;}
.max-w8 {max-width: 840px;}
.max-w7 {max-width: 680px;}
.max-w6 {max-width: 600px;}
.max-w5 {max-width: 500px;}
.max-w4 {max-width: 400px;}
.max-w3 {max-width: 340px;}
.max-w2 {max-width: 250px;}
.max-w1 {max-width: 120px;}

.min-h-90 { min-height: 60vw; }
.min-h-100vh { min-height: 100vh; }

.w100 { width: 100%; }
.w50 { width: 50%; }
.h100 { height: 100%; }

.col-2 { width: 20%; }
.col-3 { width: 30%; }
.col-4 { width: 40%; }
.col-6 { width: 60%; }
.col-7 { width: 70%; }
.col-8 { width: 80%; }

.col {
	display: inline-block;
}
.block {
	display: block;
}
.flex {
	display: flex;
}

.mx-auto {
	margin-left: auto;
	margin-right: auto;
}
.d-table {
	display: table;
}
.d-row {
	display: table-row;
}
.d-cell {
	display: table-cell;
}
.mt-s {	margin-top: 8px; }
.mt-1 {	margin-top: 0.8em; }
.mt-2 {	margin-top: 1.4em; }
.mt-3 {	margin-top: 2em; }
.mt-4 {	margin-top: 4em; }
.mt-5 {	margin-top: 6em; }
.mb-1 {	margin-bottom: 0.8em; }
.mb-2 {	margin-bottom: 1.4em; }
.mb-3 {	margin-bottom: 2em; }
.mb-4 {	margin-bottom: 4em; }
.mb-s { margin-bottom: 10px; }
.ml-s { margin-left: 10px; }
.ml-1 { margin-left: 1em; }
.ml-2 { margin-left: 1.8em; }
.mr-1 { margin-right: 1em; }
.mr-2 { margin-right: 2em; }

.my-1 { margin-top: 0.5em; margin-bottom: 0.5em;}

.pt-s { padding-top: 4px; }
.pt-1 { padding-top: 0.8em; }
.pt-2 { padding-top: 1.4em; }
.pt-4 { padding-top: 4em; }
.pb-0 { padding-bottom: 0em; }
.pb-1 { padding-bottom: 1em; }
.pb-4 { padding-bottom: 4em; }
.px-1 { padding-left: 0.8em; padding-right: 0.8em; }
.pr-2 { padding-right: 2em; }

/* position */
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
.ab-center {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.ab-left {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	z-index: -1;
}
.ab-right {
	position: absolute;
	right: 0;
	bottom: 0;
}
.fixed-right {
	position: fixed;
	right: 10px;
	top: 0;
	bottom: 0;
	z-index: 80;
}
.flex-column {
	flex-direction: column;
}
.flex-wrap {
	flex-wrap: wrap;
}
.flex-middle {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.flex-space {
	display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex-around {
	display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}
.flex-al-center {
	-webkit-align-items: center;
    align-items: center;
}
.flex-al-end {
	-webkit-align-items: flex-end;
    align-items: flex-end;
}
.flex-right {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}
.flex-left {
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
.flex-left.flex-column {
	-webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: center;
    justify-content: center;
}
.flex-top {
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: flex-start;
    align-items:  flex-start;
}
.flex-bottom {
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: flex-end;
    align-items:  flex-end;
}

.flex-gap-1 > * + * {
	margin-left: 2em;
}
.flex-gap-2 > * + * {
	margin-left: 5em;
}
.flex-gap-3 > * + * {
	margin-left: 8em;
}
.flex-list-gap > * {
	margin-bottom: 4em;
}
.zindex-1 {
	z-index: 1;
}

.no-pe {
	pointer-events: none;
}

.nowrap {
	white-space: nowrap;
}

/* color */
.bg-no {
	background: transparent;
}
.bg-lightgray {
	background-color: #f2f2f2;
}
.bg-gray {
	background-color: #1a1a1a;
}
.bg-lineargreen {
	background: rgb(38,68,40);
	background: radial-gradient(circle, rgba(38,68,40,1) 0%, rgba(19,44,24,1) 100%);
}
.bg-green {
	background-color: #132c18;
}

.black { color: #1a1a1a; }
.white { color: #fff; }
.red { color: #ff7077; }
.gray { color: #4d4d4d; }
.gray2 { color: #ccc; }

.opacity3 { opacity: 0.3; }
.opacity6 { opacity: 0.6; }

.border { border: 2px solid; }

/* text */
.material-icons-outlined {
	font-size: inherit;
}
.t-xxl { font-size: 46px; /* 30px */ }
.t-xl { font-size: 2.2em; /* 30px */ }
.t-lg { font-size: 1.88889em; /* 26px */ }
.t-ml { font-size: 1.444445em; /* 22px */ }
.t-md { font-size: 1.25em; /* 18px */ }
.t-sm { font-size: 0.89em; /* 16px */ }
.t-xs { font-size: 0.72em; /* 14px */ }
.t-xxs { font-size: 0.5em; /* 14px */ }

.t-center { text-align: center; }
.t-left { text-align: left; }
.t-right { text-align: right; }
.t-justify { text-align: justify; }

.bold { font-weight: 700; }
.font-w4 { font-weight: 400; }
.font-w5 { font-weight: 500; }

.lh-13 { line-height: 1.3; }
.lh-15 { line-height: 1.5; }
.lh-18 { line-height: 1.8; }
.lh-20 { line-height: 2; }

.ls-1 { letter-spacing: 1px; }
.show-sm, .show-mid { display: none; }

.vt-middle { vertical-align: middle; }
.vt-bottom { vertical-align: bottom; }

hr {
	border: 0;
	border-bottom-width: 2px;
	border-bottom-style: solid;
}
.link {
	text-decoration: underline;
	text-underline-offset: 6px;
}
.link:hover {
	opacity: 0.9;
}

/* btn */
.btn {
	display: inline-block;
	padding: 7px 12px 7px;
	border: 2px solid #000;
	background: rgb(239, 239, 239);
	font-size: 15px;
}
.box-shadow {
	box-shadow: 2px 2px 0 #000;
}
.btn-trans {
	background: transparent;
	border: none;
}
.btn-small {
	padding: 2px 6px;
}
.btn-circle {
	border-radius: 50%;
	border: 2px solid #000;
	width: 40px;
	height: 40px;
	display: inline-block;
	margin-bottom: 0.75em;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}
.btn-circle {
	position: relative;
}
.btn-circle .dialog {
	position: absolute;
	white-space: nowrap;
	background-image: url('../img/mini-dialog-right.png');
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: 20px 15px 10px;
	top: 21px;
    right: 12px;
    opacity: 0.001;
    transition: 0.2s;
    z-index: 91;
    pointer-events: none;
    font-size: 14px;
}
.btn-circle:hover .dialog {
	opacity: 1;
}
.big-dialog {
	background-image: url('../img/big-dialog.png');
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: 3em 4em;
}

/* header */
.header {
	width: 100%;
    transition: transform 0.2s ease, background-color 0.2s ease, height 0.2s ease-in-out;
    background-color: transparent;
    white-space: nowrap;
}
.main-title {
	line-height: 1;
}

.navbar li {
	display: inline-block;
}
.navbar li + li {
	margin-left: 5px;
}
.navbar li a {
	display: inline-block;
	padding: 13px 15px 10px;
	position: relative;
}
.navbar li a span {
	position: absolute;
	display: inline-block;
	padding: 12px 12px 6px;
	top: 37px;
	left: 30px;
	font-size: 14px;
	background: url('../img/mini-dialog.png') no-repeat;
	background-size: 100% 100%;
	opacity: 0;
	pointer-events: none;
}
.navbar li a span.big {
	background-image: url('../img/mini-dialog-2.png');
	padding: 12px 12px 6px;
}
.navbar li a:hover span,
.navbar li a:focus span,
.navbar li a.active span {
	opacity: 1;
	pointer-events: auto;
}

/* navbar toggle */
.hbg-btn {
	border: 1px solid rgba(255, 255, 255, 0.6);
	border: 0;
	height: 50px;
	width: 50px;
	border-radius: 5px;
	vertical-align: top;
	display: none;
	transition: margin 0.2s ease;
	margin-right: -15px;
	position: absolute;
	top: 4px;
	right: 2em;
}
header.detached .hbg-btn {
	margin-top: 0;
}
.icon-hbg,
.icon-hbg::before,
.icon-hbg::after {
	content: "";
	display: block;
	margin: 0 auto;
	width: 25px;
	height: 3px;
	background-color: #000;
	border-radius: 2px;
	position: relative;
}
.icon-hbg::before {
	position: absolute;
	top: -8px;
}
.icon-hbg::after {
	position: absolute;
	bottom: -8px;
}

/* video */
video {
	width: 100%;
	height: auto;
}
/* main */
.topsec {
	min-height: calc(100vh - 99px);
}

/* items */
.info-block {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.info-block h4 {
	margin: 1em 0 0.8em;
}
.num-circle {
	background: #ccc;
	border-radius: 50%;
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
}
.icon-circle {
	background: #eeeeee;
	border-radius: 50%;
	width: 80px;
	height: 80px;
	padding: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.icon-svg img {
	width: 1em;
}

.card {
	border: 2px solid #000;
	position: relative;
}

.card-small {
	display: inline-block;
}
.card-content {
	padding: 4em 3em;
}
.card-small .card-content {
	display: inline-block;
	padding: 1em 0.8em 0.8em;
}
.card-title {
	position: absolute;
	top: -0.8em;
    left: 1em;
	background-color: #fff;
	display: inline-block;
	padding: 0 0.2em; 
}
.person-info {
	display: inline-block;
}
.name-block {
	padding: 2px;
	border: 2px solid #000;
	text-align: center;
	margin-top: 2px;
}
.person-info + .person-info {
	margin-left: 0.5em;
}
.person-info.small {
	max-width: 50px;
}
.person-info.small .name-block {
	padding: 0;
}

.list-dot {
	list-style-type: disc;
	padding-left: 1em;
}

.img-list, .qa-list p, .qa-list .question {
	padding-left: 3em;
    position: relative;
}
.img-list span, .qa-list p span, .qa-list .question span {
	position: absolute;
    left: 0;
}
.qa-list .answer span {
	left: 1em;
}
.img-list li + li, .qa-list li + li {
	margin-top: 1em;
}
.answer-close {
	position: absolute;
	right: 2.7em;
	top: 1em;
	font-size: 18px;
}

.qa-item .answer {
	background-image: url(../img/mid-dialog.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    max-height: 0;
    padding: 0;
    overflow: hidden;
    margin-top: 1em;
}
.question {
	display: block;

}
.question.active + .answer {
    padding: 3em 3em 2em 4em;
    max-height: 500px;
}
.tag {
	display: inline-block;
	background: #ccc;
    border: 2px solid #000;
    padding: 5px 15px;
    border-radius: 10px;
}
.tag + .tag {
	margin-left: 0.5em;
}
.tag.active {
	background: #fff;
}
.select {
	border: 2px solid #000;
	padding: 5px 10px;
}
.img-hover-info {
	position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 3em;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    transition: opacity 0.2s ease;
    opacity: 0.001;
}
.img-hover-info:hover {
	opacity: 1;
}
.folder {
	padding: 1.2em 1.5em;
    border: 2px solid;
    position: relative;
}
.folder-title {
	position: absolute;
    top: -29px;
    border: 2px solid;
    background: #ccc;
    padding: 3px 10px;
}
.border-block {
	border: 2px solid;
	padding: 5px 10px;
}


/* kits */
.kits-wrap {
	background-image: url('../img/banner.jpg');
	background-repeat: no-repeat;
	background-position: center 35%;
	background-size: 60%;
	width: calc(100% - 100px);
	padding-top: 48%;
	position: relative;
	margin: 0 auto;
}
.item-kit {
	position: relative;
	display: inline-block;
}
.kits-wrap .item-kit {
	position: absolute;
	width: 19%;
}
.kits-wrap .item-kit img {
	width: 100%;
	height: auto;
}
.item-kit .kit-num {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
}
.item-kit .dialog {
	position: absolute;
	white-space: nowrap;
	background-image: url('../img/dialog-down.png');
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: 20px 25px;
	right: -45px;
    top: -25px;
    opacity: 0.001;
    transition: 0.2s;
}
.item-kit:hover .dialog {
	opacity: 1;
}

#kit-01 { top: 0; right: 17%; }
#kit-02 { top: 30%; right: 0; }
#kit-03 { top: 68%; right: 7%; }
#kit-04 { bottom: 0; right: 0; left: 0; margin: 0 auto; width: 22%;}
#kit-05 { top: 68%; left: 10%; width: 16%;}
#kit-06 { top: 30%; left: 0; }

/* form */
.search-input {
	border: 0;
	background: url('../img/search-border.png') no-repeat;
	background-size: 100% 100%;
	width: 121px;
	height: 26px;
	padding: 5px 0px 5px 25px;
}
.search-btn {
	background: transparent;
	border: 0;
	position: absolute;
	left: 8px;
	top: 7px;
}

/* postlist */
.post-list {
	display: grid;
	grid-template-columns: auto auto auto;
	grid-gap: 30px;
}
.post-list article {
	border: 2px solid #000;
	padding: 15px 25px;
}

/* temp items */
.imgtag {
	display: inline-block;
	background-color: #fff;
	border: 2px solid #000;
	background: url('../img/pic.jpg');
	background-size: 101% 101%;
	background-position: center;
	position: relative;
}
.imgtag + .imgtag {
	margin-top: -6px;
}
.logo {
	height: 40px;
	width: 80px;
}
.img-lg {
	width: 100%;
	padding-top: 66%;
}
.img-squere {
	width: 100%;
	padding-top: 90%;
}
.bg-right {
	background: url('../img/pic.jpg') no-repeat;
	background-size: 100% 100%;
	background-position: center;
	width: 85%;
	padding-top: 50%;
	margin-left: 15%;
	margin-top: 5%;
	position: absolute;
	z-index: -1;
}
.hoverblack {
}
.hoverblack::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: #99999944;
	position: absolute;
	top: 5px;
	left: 0px;
}

/* footer */
.footer {
	border-top: 2px solid #000;
	background: #ddd;
}

/* popup */
.hide {
	display: none;
}
.show {
	display: block;
}
.popup-wrap {
	position: fixed;
	z-index: 99;
	top: 0;
	background: rgba(0, 0, 0, 0.45);
	width: 100%;
	height: 100vh;
	overflow-y: auto; 
}
.popup-card {
	background: #fff;
	border: 2px solid #000;
	max-width: 1180px;
	margin: 60px auto;
	padding: 80px 70px;
	position: relative;
	display: grid;
	grid-template-columns: 50% 35%;
	grid-gap: 15%;
}
.popup-card .post-date {
	position: absolute;
	top: 20px;
	left: 40px;
}
.popup-close {
	position: absolute;
	top: 20px;
	right: 20px;
}
.popup-open {
	position: absolute;
	bottom: 20px;
	right: 20px;
}
.popup-card .material-icons-outlined {
	font-size: 24px;
}
body.on-popup-opan {
	overflow: hidden;
	height: 100vh;
	padding-right: 17px;
}
body .popup-wrap.active {
	padding: 0;
}
body.on-popup-opan .popup-wrap.active {
	padding: 0 17px 0 0;
}
