@font-face {
  font-family: 'Microsoft JhengHei';
  unicode-range: U+7db0, U+78A7, U+7B75;
  font-style: normal;
  font-weight: bold;
  src: local(MS Gothic), local(Yu Gothic), local(PMingLiU);
}

.editor {
	line-height: 2;
}

.editor * {
    font-family: Lato, 'Noto Sans HK', 'Noto Sans SC', Arial, 微軟正黑體, 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Heiti TC', STHeitiTC, 新細明體, 'PMingLiU';
}

.editor p, .editor div, .editor a, .editor li, .editor td, .editor th, .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6 { margin:0px; padding:0px; color:#4B4B4B; font-size: clamp(12px, 22px, 4cqw); word-wrap: break-word; white-space: normal; }

.editor ul,
.editor ol {
	list-style-type: none;
	padding-left: 0;
}

.editor * + ul,
.editor * + ol {
	margin-top: 3px;
}

.editor ul li {
	position: relative;
	padding-left: 43px;
}

.editor ul li:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 8px;
	height: 1lh;
	background: url(img/icon_bullet_1.svg) no-repeat center left;
}

.editor li + li {
	margin-top: 3px;
}

.editor ol {
	counter-reset: ol;
}

.editor ol li {
	position: relative;
	padding-left: 57px;
}

.editor ol li:before {
	counter-increment: ol;
	content: counter(ol);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: calc((1lh - 37px) / 2);
	left: 0;
	width: 37px;
	height: 37px;
	line-height: 1lh;
	text-align: center;
	font-size: 15px;
	color: #FFFFFF;
	border-radius: 50%;
	background: #EE3524;
}

.editor .editor_ol_bullet {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 37px;
	height: 37px;
	line-height: 1lh;
	text-align: center;
	font-size: 15px;
	color: #FFFFFF;
	border-radius: 50%;
	background: #EE3524;
	margin-top: calc((1lh - 37px) / 2);
	margin-right: 20px;
	vertical-align: top;
}

.editor p:has(.editor_ol_bullet) {
	margin-bottom: 4px;
}

.editor img { border:none; }

.editor a, .editor a:link, .editor a:active, .editor a:visited { color:#4B4B4B; font-size: inherit; }

.editor a:hover { color:#4B4B4B; }

.editor table.table-border, .editor table.table-border td, .editor table.table-border th { 
	border-collapse: collapse; 
	border: 1px solid #000000;
}

.editor td, .editor th { padding:3px; }

hr { border:none; height:1px; background-color:#CCCCCC; color:#CCCCCC; }

.editor .underline, .editor .underline * { text-decoration:underline; }

.editor table, .editor img { max-width: 100%; height: auto; }

.editor:after {
	clear: both;
    display: block;
    content: " ";
}

.editor .table-responsive-wrapper {
	width: 100%;
}

.editor .table-responsive-wrapper .table-responsive {

}

.editor .text-right {
	float: left;
	max-width: 40%;
	margin-right: 40px;
}

.editor .text-left {
	float: right;
	max-width: 40%;
	margin-left: 40px;
}

.editor .round-border {
	border-radius: 30px;
}

.editor .two-col,
.editor .three-col,
.editor .four-col {
	display: flex;
	justify-content: space-between;
	gap: 34px;
}

.editor .two-col .col {
	width: 570px;
}

.editor .three-col .col {
	width: calc((100% - 68px) / 3);
}

.editor .four-col .col {
	width: calc((100% - 102px) / 4);
}

.editor .editor_title {
	font-size: clamp(12px, 28px, 5.09cqw);
	color: #000000;
	letter-spacing: 0.01lh;
	margin-bottom: 12px;
}

.editor .editor_title_1 {
	position: relative;
	line-height: 1.4;
	font-size: clamp(12px, 40px, 7.27cqw);
	color: #000000;
	letter-spacing: 0.8px;
	padding-left: 28px;
	margin-top: -4px;
	-webkit-box-decoration-break: clone; 
	box-decoration-break: clone;
}

.editor .editor_title_1:before {
	content: '';
	position: absolute;
	top: 4px;
	left: 0;
	width: 3px;
	height: calc(100% - 8px);
	background: #EE3524;
	margin-bottom: 28px;
}

.editor .editor_title_2 {
	display: inline-block;
	position: relative;
	line-height: 1.4;
	font-size: clamp(12px, 40px, 7.27cqw);
	color: #000000;
	letter-spacing: 0.8px;
	padding: 0 28px;
	margin-top: -4px;
	vertical-align: top;
}

.editor .editor_title_2:before,
.editor .editor_title_2:after {
	content: '';
	position: absolute;
	top: 4px;
	width: 3px;
	height: calc(100% - 8px);
	background: #EE3524;
	margin-bottom: 28px;
}

.editor .editor_title_2:before {
	left: 0;
}

.editor .editor_title_2:after {
	right: 0;
}

.editor .gray_area {
	padding: 35px 38px;
	padding-bottom: 55px;
	background: #EDEDED;
}

.editor .col .gray_area {
	min-height: 100%;
	padding: 42px 41px;
	padding-bottom: 40px;
}

.editor *:has(> a.editor_btn) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	width: 100%;
}

.editor *:has(> a.editor_btn.editor_tours) {
	gap: 40px;
}

.editor *[style*="text-align: center"]:has(> a.editor_btn) {
	justify-content: center;
}

.editor *[style*="text-align: right"]:has(> a.editor_btn) {
	justify-content: flex-end;
}

.editor *[style*="text-align: justify"]:has(> a.editor_btn) {
	justify-content: space-between;
}

.editor a.editor_btn {
	display: inline-flex;
	align-items: center;
	position: relative;
	min-height: 54px;
	color: #FFFFFF;
	padding: 5px 39px;
	padding-left: 70px;
	border-radius: max(27px, calc(0.5lh + 5px));
	background: #707070;
}

.editor a.editor_btn:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #EE3524;
	background-position: center center;
	background-repeat: no-repeat;
}

.editor a.editor_btn_email:before {
	background-image: url(img/icon_btn_email.svg);
}

.editor a.editor_btn_link:before {
	background-image: url(img/icon_btn_link.svg);
}

.editor a.editor_btn_download:before {
	background-image: url(img/icon_btn_download.svg);
}

.editor a.editor_btn_ig:before {
	background-image: url(img/icon_btn_ig.svg);
}

.editor a.edito_btnr_wts:before {
	background-image: url(img/icon_btn_wts.svg);
}

.editor a.edito_btn_shop:before {
	background-image: url(img/icon_btn_shop.svg);
}

.editor a.editor_tours {
	min-height: 64px;
	font-weight: 700;
	padding: 10px 46px;
	padding-left: 75px;
	border-radius: max(32px, calc(0.5lh + 10px));
	background: #4B4B4B;
}

.editor a.editor_tours:before {
	top: 5px;
	left: 5px;
	background-image: url(img/icon_btn_link.svg);
}

.editor .editor_li_col2,
.editor .editor_li_col4 {
	display: flex;
	flex-wrap: wrap;
}

.editor .editor_li_col2 {
	gap: 0 40px;
}

.editor .editor_li_col2 li {
	width: calc(50% - 20px);
}

.editor .editor_li_col4 {
	gap: 0 25px;
}

.editor .editor_li_col4 li {
	width: calc((100% - 75px) / 4);
}

@media (max-width: 1199px) {
	.editor .editor_li_col4 li {
		width: calc((100% - 25px) / 2);
	}
}

@media screen and (max-width: 767px) {
	.editor .text-right,
	.editor .text-left {
		float: none;
		display: block;
		max-width: 100%;
		margin: 0 auto 40px;
	}

	.editor .two-col,
	.editor .three-col,
	.editor .four-col {
		flex-direction: column;
	}

	.editor .two-col .col,
	.editor .three-col .col,
	.editor .four-col .col {
		width: 100%;
	}
	
	.editor .editor_li_col2 li,
	.editor .editor_li_col4 li {
		width: 100%;
	}
}