@charset "UTF-8";
* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}
a,
a:link,
a:visited,
a:hover,
a:active {
	text-decoration: none;
}
img {
	border: 0px none;
	width: 100%;
}

body {
	padding: 0;
	margin: 0;
	color: #333333;
	font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", Verdana,
		Helvetica, Arial, "HeitiTC", "Microsoft YaHei", sans-serif;
	font-size: 16px;
	/* background-color: #ffffff; */
	background-repeat: repeat;
}
@media screen and (max-width: 768px) {
	body.open {
		width: 100%;
		height: 100vh;
		overflow: hidden;
	}
	.overlay {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 49;
		width: 100%;
		height: 100%;

		opacity: 0;
		visibility: hidden;
		-webkit-transition: all 0.3s ease-in-out;
		-moz-transition: all 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
		background-color: rgba(0, 0, 0, 0.8);
	}
	.overlay.open {
		opacity: 0.8;
		visibility: visible;
	}
}
.main-content,
footer {
	font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", Verdana,
		Helvetica, Arial, "HeitiTC", "Microsoft YaHei", sans-serif;
}
/************************
TOTAL
************************/
.page-wrapper,
.page-container {
	margin: 0 auto;
	width: 100%;
}
.page-wrapper {
	padding: 0px;
	width: min(1200px, 100% - 20px);
}
.page-container {
	padding: 0px;
	width: min(1000px, 100% - 20px);
}
@media (min-width: 1400px) {
	.container {
		max-width: 1140px !important;
	}
}
@media only screen and (max-width: 1280px) {
}
@media only screen and (max-width: 1024px) {
	.page-container {
		width: 100%;
		padding: 0px;
	}
}
@media only screen and (max-width: 992px) {
}
@media only screen and (max-width: 768px) {
}
/****************************/
.toggle-button {
	position: relative;
	display: none;
	float: left;
	top: 5px;
	left: 0;
	width: 53px;
	height: 53px;
	padding: 15px 15px;
	margin: 0px;
	transition: 0.25s;
	z-index: 999;
}
.toggle-button:hover {
	cursor: pointer;
	/*background-color: #eeeeee;*/
}
.toggle-button .menu-bar {
	position: relative;
	width: 100%;
	transition: 0.2s;
}
.toggle-button .menu-bar-top {
	border: 2px solid #909090;
	border-bottom: none;
	top: 0px;
}
.toggle-button .menu-bar-middle {
	height: 2px;
	/*background-color: #909090;*/
	margin: 2px 0px;
	top: 0px;
}
.toggle-button .menu-bar-bottom {
	border: 2px solid #909090;
	border-top: none;
	top: 0px;
}
.toggle-button.open .menu-bar-top {
	transform: rotate(45deg) translate(3px, 3px);
	transition: 0.2s;
}
.toggle-button.open .menu-bar-middle {
	transform: translate(0px);
	transition: 0.1s ease-in;
	opacity: 0;
}
.toggle-button.open .menu-bar-bottom {
	transform: rotate(-45deg) translate(3px, -3px);
	transition: 0.2s;
}

@media only screen and (max-width: 992px) {
	.toggle-button {
		display: inline-block;
	}
}
/************************
HEADER
************************/
header {
	position: fixed;
	display: inline-block;
	width: 100%;
	top: 0;
	left: 0;
	font-size: 16px;
	height: 120px;
	z-index: 50;
	background-color: rgba(255, 255, 255, 0.99);
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
	transition: all 0.2s ease-out;
}
header.open {
	height: 50px;
	border-top: 4px solid #2e2e2e;
}
header.open,
header {
	transition: all 0.2s ease-out;
}

@media screen and (max-width: 992px) {
	header {
		height: 50px;
		border-top: 4px solid #2e2e2e;
	}
}
/************************/
header .h_menu,
header .h_logo,
header .h_content {
	position: relative;
	display: inline-block;
	float: left;
}
header .h_content {
	width: 100%;
	padding-top: 40px;
}

header .h_menu ul.menu-bottom {
	position: fixed;
	display: inline-block;
	top: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background: #2e2e2e;
	z-index: 50;
}
header .h_menu ul.menu-bottom li {
	position: relative;
	display: inline-block;
	float: right;
	font-size: 14px;
	line-height: 1.5em;
	font-weight: 500;
}
header .h_menu ul.menu-bottom a:hover,
header .h_menu ul.menu-bottom a {
	display: inline-block;
	color: #ffffff;
	height: 40px;
	padding: 9px 18px;
}
header .h_menu ul.menu-bottom a span {
	font-size: 12px;
	color: #82827c;
}
header .h_menu ul.menu-bottom li:hover {
	background: #444444;
}

header .h_menu ul.menu-bottom ul {
	position: absolute;
	display: none;
	top: 100%;
	width: 280px;
	color: #b8b8b8;
	background: #444444;
	padding-left: 0;
}
header .h_menu ul.menu-bottom li:hover > ul {
	display: block;
	height: auto;
}
header .h_menu ul.menu-bottom ul li {
	float: left;
	width: 100%;
	padding: 5px 15px;
	min-height: 40px;
}
header .h_menu ul.menu-bottom ul li:hover {
	background: #999999;
}
header .h_menu ul.menu-bottom ul li.panel-header:hover {
	background: #444444;
}

header .h_menu ul.menu-bottom ul label,
header .h_menu ul.menu-bottom ul a {
	font-weight: 400;
}

header.open ul.menu-bottom {
	display: none;
}
header.open .h_content {
	padding-top: 0px;
}

@media screen and (max-width: 992px) {
	header .h_content {
		padding-top: 0px;
	}
	body.open .h_content {
		padding-left: 280px;
	}

	header.open ul.menu-bottom,
	header .h_menu ul.menu-bottom {
		position: relative;
		display: inline-block;
		background: #ffffff;
	}
	header .h_menu ul.menu-bottom li {
		float: left;
		width: 100%;
	}
	header .h_menu ul.menu-bottom li:hover {
		background: #ffffff;
	}
	header .h_menu ul.menu-bottom a:hover,
	header .h_menu ul.menu-bottom a {
		width: 100%;
		color: #656565;
	}
	header .h_menu ul.menu-bottom a span {
		position: absolute;
		right: 30px;
		color: #ff3333;
	}
	header .h_menu ul.menu-bottom li.pc768 {
		display: none;
	}
	header .h_menu ul.menu-bottom ul {
		position: relative;
		display: inline-block;
		padding: 10px 0px;
		color: #70706f;
		background: #ececec;
	}
	header .h_menu ul.menu-bottom ul li {
		padding: 5px 20px;
		min-height: 30px;
	}

	header .h_menu ul.menu-bottom ul.last-menu li,
	header .h_menu ul.menu-bottom ul li.panel-header:hover {
		background: #ececec;
	}
	header .h_menu ul.menu-bottom ul li:hover {
		background: #e2e2e2;
	}
	header .h_menu ul.menu-bottom ul a:hover,
	header .h_menu ul.menu-bottom ul a {
		font-weight: 500;
		color: #000000;
	}

	header .h_menu ul.menu-bottom li:hover > ul,
	header .h_menu ul.menu-bottom ul {
		display: none;
	}
	header .h_menu ul.menu-bottom li:hover > ul.open,
	header .h_menu ul.menu-bottom ul.open {
		display: inline-block;
	}
}
/************************/
header .h_logo {
	width: 190px;
	margin-top: 26px;
	margin-right: 10px;
	transition: all 0.4s ease-out;
}
header .h_logo img {
	display: inline-block;
	float: left;
	width: 50%;
}

header .h_menu ul.menu-top li,
header .h_menu ul.menu-top,
header .h_menu,
header .h_bank {
	position: relative;
	display: inline-block;
}

header .h_bank,
header .h_menu ul.menu-top li {
	line-height: 1.5em;
	height: 80px;
	padding: 26px 0px;
	font-weight: 500;
	color: #2e2e2e;
}
/************************/
header .h_bank ul.dark-last {
	position: absolute;
	display: none;
	top: 100%;
	right: 0px;
	width: 180px;
	color: #2e2e2e;
	background: #ececec;
	text-align: center;
	padding-left: 0;
}
header .h_bank ul.dark-last li {
	display: inline-block;
	width: 100%;
}

header .h_bank ul.dark-last a,
header .h_bank ul.dark-last a:hover {
	display: inline-block;
	width: 100%;
	padding: 15px 0px;
	font-size: 14px;
	color: #2e2e2e;
	transition: all 0.5s ease 0s;
}
header .h_bank ul.dark-last a:hover {
	background: #dedede;
}
header .h_bank ul.dark-last.open {
	display: inline-block;
}
/************************/

header .h_menu ul.menu-top a,
header .h_menu ul.menu-top a:hover {
	display: inline-block;
	padding: 0px 15px;
	color: #2e2e2e;
}
/*
header .h_menu ul.menu-top li:last-child a {
	border-left: 1px solid #c0c0c0;
	}
*/
header .h_menu ul.menu-top li:hover {
	background: #eeeeee;
}
header.open ul.menu-top li {
	height: 46px;
	padding: 10px 0px;
}
/************************/
header .h_menu ul.menu-top a,
header .h_menu ul.menu-top a:hover {
	display: inline-block;
	padding: 0px 17px;
	color: #2e2e2e;
}
header .h_menu ul.menu-top li:last-child a {
	/* border-left: 1px solid #c0c0c0; */
}
header .h_menu ul.menu-top li:hover {
	background: #eeeeee;
}
header.open ul.menu-top li {
	height: 46px;
	padding: 10px 0px;
}
/************************/
header .h_bank {
	float: right;
	background: #ff3333;
	padding: 26px 17px;
}
header.open .h_bank,
header .h_bank {
	transition: all 0.2s ease-out;
}

header .h_bank a,
header .h_bank a:hover {
	display: inline-block;
	color: #ffffff;
}
header .h_bank img {
	display: inline-block;
	width: 20px;
	margin-bottom: -3px;
}
header.open .h_bank {
	height: 46px;
	padding: 10px 17px;
}

header.open .h_logo img.logo_tc {
	display: none;
}
header.open .h_logo {
	width: 80px;
	margin-top: 12px;
	margin-left: 10px;
	margin-right: 10px;
}
header.open .h_logo img {
	width: 100%;
}

@media screen and (max-width: 992px) {
	header .h_content {
		height: 50px;
	}
	header .h_logo img.logo_tc {
		display: none;
	}
	header.open .h_logo,
	header .h_logo {
		width: 80px;
		margin-top: 12px;
		margin-left: 0px;
		margin-right: 10px;
	}
	header .h_logo img {
		width: 100%;
	}
	header .h_bank {
		font-size: 14px;
		height: 46px;
		padding: 10px 17px;
	}

	header .h_menu {
		position: absolute;
		display: none;
		width: 280px;
		height: 100vh;
		top: 0;
		left: 0;
		z-index: 20;
		padding-bottom: 100px;
		background: #ffffff;
	}

	body.open header .h_menu {
		display: inline-block;
		overflow-x: hidden;
	}
	body.open .h_bank {
		display: none;
	}

	header .h_menu ul.menu-top {
		border-bottom: 1px solid #ececec;
	}
	header .h_menu ul.menu-top li {
		width: 100%;
		height: auto;
		font-size: 18px;
		padding: 12px 0px;
	}
	header .h_menu a,
	header .h_menu a:hover {
		padding: 0px 20px;
	}
}
header .h_menu ul.menu-top li:last-child a {
	border-left: 1px solid #c0c0c0;
}
@media screen and (max-width: 468px) {
}
/***********************
LAYOUT 框架
***********************/
main.main-content {
	position: relative;
	display: inline-block;
	width: 100%;
	padding-top: 120px;
	color: #303c44;
	overflow-x: clip;
}
body.open main.main-content {
	padding-top: 50px;
}
ul {
	padding-left: 0px;
}
@media screen and (max-width: 992px) {
	body.open main.main-content,
	main.main-content {
		padding-top: 50px;
	}
}
/************************
FOOTER
************************/
footer .f_link,
footer .fiscal .f_right,
footer .fiscal .f_left,
footer .fiscal,
footer .f_warning,
footer {
	position: relative;
	display: inline-block;
	float: left;
	width: 100%;
}

footer {
	padding: 10px 2%;
	background-color: #000;
}
/************************/
footer .f_warning {
	color: #fff;
	margin: 10px 0 40px 0;
	width: 100%;
	padding: 0 5% 0 0;
}
/************************/
footer .fiscal {
	margin: 20px 0px;
	color: #191919;
}
footer .fiscal .f_left {
	width: 25%;
	font-size: 30px;
	color: #ffffff;
	min-height: 48px;
	text-align: center;
}
footer .fiscal .f_left img {
	width: 80%;
}
footer .fiscal .f_right {
	width: 75%;
	font-size: 14px;
	line-height: 1.4em;
	color: #ffffff;
}
footer .fiscal .f_right a,
footer .fiscal .f_right a:hover {
	color: #ffffff;
	line-height: 1em;
}
/************************/
footer .f_link {
	margin-top: 10px;
	min-height: 40px;
	font-size: 14px;
	color: #b8b8b8;
}
footer .f_link a,
footer .f_link a:hover {
	display: inline-block;
	padding: 0px 10px;
	color: #b8b8b8;
	line-height: 1em;
}
footer .f_link a + a {
	border-left: 1px solid #b8b8b8;
}
footer .f_copy {
	display: inline-block;
	font-weight: 600;
}

@media screen and (max-width: 992px) {
	footer .fiscal {
		width: 90%;
		padding: 0px 5%;
	}
	footer .fiscal .f_left img {
		max-width: 300px;
	}
	footer .fiscal .f_left,
	footer .fiscal .f_right {
		width: 90%;
		margin: 0px 5%;
		text-align: left;
	}
	footer .fiscal .f_warning {
		margin: 10px 5% 40px 5%;
	}

	footer .f_link {
		font-size: 13px;
	}
	footer .f_link {
		width: 96%;
		margin: 1em 2%;
		text-align: center;
	}
	footer .f_copy {
		display: inline-block;
		width: 90%;
		margin: 10px 5%;
		text-align: center;
	}
}

/************************
TOTAL
************************/
.h2 {
	font-size: 32px;
	font-weight: bold;
}
:root {
	--color-primary-dark: #1ab58b;
	--color-primary: #32d9ab;
	--color-grey: #cccccc;
	--color-darkgrey: #707070;
	--color-red: #ff3e3e;
	--color-black: #303c44;
}

.d-none {
	display: none;
}
.d-block {
	display: block;
}
.mobile {
	display: none;
}
.desktop {
	display: block;
}

.fs-1 {
	font-size: 32px !important;
}
.fs-2 {
	font-size: 24px !important;
}
.fs-3 {
	font-size: 20px !important;
}
.fs-4 {
	font-size: 18px !important;
}
.fs-5 {
	font-size: 16px !important;
}
.fs-6 {
	font-size: 14px !important;
}

.text-primary {
	color: var(--color-primary-dark) !important;
}
.text-grey {
	color: var(--color-grey) !important;
}
.text-darkgrey {
	color: var(--color-darkgrey) !important;
}
.text-red {
	color: var(--color-red) !important;
}
.text-blueBlack {
	color: var(--color-black) !important;
}

.text-decor {
	color: #ff7a81;
}

.list-style-bullet {
	list-style: disc;
	margin-left: 20px;
}

@media screen and (max-width: 768px) {
	.mobile {
		display: block;
	}
	.desktop {
		display: none;
	}
	.fs-1 {
		font-size: 24px !important;
	}
	.fs-2 {
		font-size: 18px !important;
	}
	.fs-3 {
		font-size: 18px !important;
	}
	.fs-4 {
		font-size: 16px !important;
	}
	.fs-5 {
		font-size: 16px !important;
	}
	.fs-6 {
		font-size: 14px !important;
	}
}
@media screen and (min-width: 576px) {
}

/************************
LAYOUT
************************/
.section {
	position: relative;
	padding-block: 80px;
	z-index: 2;
}
@media screen and (max-width: 576px) {
	.section {
		padding-block: 40px;
	}
}

/************************
NAVIGATION
************************/
.nav-item-container {
	list-style: none;
	background-color: #c2f2e5;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: clip;
}
.nav-item {
	width: 100%;
	list-style: none;
	font-weight: bold;
	font-size: 20px;
	padding-block: 16px;
	color: var(--color-black);
	cursor: pointer;
	text-align: center;
	z-index: 2;
	position: relative;
}
.nav-item-container:first-of-type {
	border-right: 1px solid #fff;
}
.nav-item-container:last-of-type {
	border-left: 1px solid #fff;
}
.nav-item-container .icon {
	display: block;
	padding-bottom: 4px;
	width: 16px;
	right: 30%;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	z-index: 1;
}
.nav-item-container .icon::after {
	content: "";
	position: absolute;
	right: -14px;
	top: calc(50% + 6px);
	transform: translate(-50%, -50%) scale(1);
	width: 16px;
	height: 16px;
	aspect-ratio: 1 / 1;
	background: var(--color-primary);
	border-radius: 50%;
	z-index: -1;
	transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	pointer-events: none;
}
.nav-item-container:hover .icon::after {
	transform: translate(-50%, -50%) scale(80);
	opacity: 1;
	background: #32d9ab;
}
@media screen and (min-width: 1800px) {
	.nav-item-container .icon::after {
		transition: all 1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	}
	.nav-item-container:hover .icon::after {
		/* transform: translate(-50%, -50%) scale(30); */
		width: 50vw;
		height: 50vh;
	}
}
@media screen and (max-width: 992px) {
	.nav-item-container .icon {
		right: 20%;
	}
}
@media screen and (max-width: 768px) {
	.nav-item-container .icon {
		right: 8%;
		width: 14px;
	}
	.nav-item {
		font-size: 16px;
	}
}

/************************
Key Visual
************************/
.key-visual {
	position: relative;
	width: 100%;
	height: 400px;
	overflow: hidden;
	display: flex;
	justify-content: flex-start;
}
.key-visual .kvAnimation-container {
	width: 700px;
	right: -10px;
	position: absolute;
	bottom: 0;
}
.guideline {
	height: 100%;
	padding: 3% 0;
	width: 12%;
	flex-direction: column;
	justify-content: space-between;
	align-items: start;
	left: 2%;
	z-index: 2;
}
.guideline .slogan{
	max-width: 140px;
}
.guideline .icon{
	max-width: 72px;
}
.key-visual .title {
	font-size: 56px;
}
.key-visual .subtitle {
	font-size: 24px;
}
@media only screen and (min-width: 1300px) {
	.guideline {
		left: 0%;
		top: 1%;
	}

}
@media only screen and (max-width: 1200px) {
	.key-visual .kvAnimation-container {
		/* width: 450px; */
	}
}
@media only screen and (max-width: 992px) {
	.key-visual .title-container {
		margin-left: 20px;
	}
	.key-visual .title {
		font-size: 40px;
	}
	.key-visual .subtitle {
		font-size: 18px;
	}
	.key-visual {
		height: 300px;
	}
	.key-visual .kvAnimation-container {
		width: 600px;
	}
}

@media screen and (max-width: 768px) {
	.guideline {
		width: auto;
		flex-direction: row;
		align-items: flex-start;
		justify-content: flex-start;
		height: auto;
		padding: 5% 0 0 10px;
	}
	.guideline .icon {
		max-width: 50px;
	}
	.guideline .slogan{
		max-width: 100px;
		margin-right: 10px;
	}
	.key-visual {
		height: 500px;
	}
	.key-visual .kvAnimation-container {
		/* width: 500px; */
	}
	.key-visual .title-container {
		margin-top: 40px;
	}
}
@media screen and (max-width: 576px) {
	.key-visual .kvAnimation-container {
		width: 500px;
	}

}
/************************
LIVEBETTER
************************/

/* 主要容器：左右兩欄 */
.livebetter-container {
	display: flex;
	position: relative;
	overflow: hidden;
	justify-content: center;
}

/* 左側選單 */
.sidebar {
	width: 20%;
	flex-shrink: 0;
	padding: 64px 30px;
	border-radius: 20px 0 0 20px;
	background: #f5f5f5;
	background: linear-gradient(
		0deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.95) 40%
	);
	margin-right: 10px;
}
.sidebar h2 {
	font-size: 18px;
	margin-bottom: 1.5rem;
}
.sidebar .livebetter-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}
.sidebar .livebetter-menu li {
	width: fit-content;
	margin-bottom: 16px;
	padding-top: 0.75rem;
	cursor: pointer;
	color: #97acba;
}
/* 左側選單：當前項目 */
.sidebar .livebetter-menu li.active {
	color: var(--color-primary-dark);
	font-weight: 700;
	border-bottom: 2px solid var(--color-primary-dark);
}

/* 右側內容區 */
.livebetter-container .content {
	width: calc(100% - 240px);
	position: relative; /* 疊在背景層上 */
	display: flex;
	justify-content: space-between;
	z-index: 2; /* 高於背景層 */
	background: #f5f5f5;
	background: linear-gradient(
		0deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.95) 40%
	);
	padding: 60px 40px;
	padding-bottom: 100px;
	border-radius: 0px 20px 20px 0;
}
.livebetter-container .content .mockup {
	max-width: 240px;
}
.livebetter-container .content-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 16px;
}

/* === 背景 cross‑dissolve（兩層交替淡入） === */
/* 放在 .livebetter-container 內，使用 #bgA / #bgB 兩層切換 */
.bg-layer {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 0.6s ease; /* 淡入淡出 */
	pointer-events: none;
	z-index: 0; /* 內容在上、背景在下 */
}
.bg-layer.show {
	opacity: 1;
}

.swiper-pagination-bullet {
	background: #fff;
}
@media screen and (max-width: 992px) {
	.livebetter-container .content .mockup {
		max-width: 200px;
	}
	.livebetter-container .content {
		width: calc(100% - 240px);
	}
	.livebetter-container .content-title {
		font-size: 24px;
	}
	.sidebar {
		padding: 64px 20px;
	}
}
@media screen and (max-width: 768px) {
	.livebetter-container {
		flex-direction: column;
		align-items: center;
	}
	.livebetter-container .content {
		width: 90%;
		border-radius: 20px;
		padding: 32px 20px;
	}
	/* 右側內容區 */
	.livebetter-container .content .mockup {
		max-width: 220px;
		margin-top: 20px;
	}
	.livebetter-container .swiper-slide {
		flex-direction: column;
	}
	.livebetter-container .content-title {
		font-size: 20px;
	}
	.sidebar {
		width: 90%;
		padding: 32px 16px;
		padding-bottom: 8px;
		background: transparent;
	}
	.sidebar h2 {
		text-align: center;
	}
	.sidebar .livebetter-menu {
		display: flex;
		justify-content: center;
		gap: 8px;
		font-size: 15px;
	}
}
/************************
體驗LiveBetter抽迪卡儂NT$3,000購物金
************************/
.section.greenlife {
	background-image: url(../images/bg_1.jpg);
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
}
.section.greenlife .box-title .box-number {
	width: 14%;
}
.section.greenlife .box {
	border-radius: 20px;
	padding: 24px;
	padding-top: 32px;
}
.section.greenlife .box-img {
	width: 70%;
}
/************************
FAQ
************************/
.faq .subtitle {
	width: fit-content;
}
.faq .subtitle::after {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background-color: var(--color-primary);
	border-radius: 50%;
	position: absolute;
	right: -0.5em;
	bottom: -0.8em;
	z-index: -1;
}
/* ===== Accordion 樣式清空（保留功能與動畫） ===== */

/* 清掉外觀但保留排版與互動 */
.accordion-button {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	color: inherit !important;
	font-weight: inherit;
	font-size: inherit;
	/* margin-bottom: 16px; */
}

/* 展開狀態同樣清空外觀 */
.accordion-button:not(.collapsed) {
	background: none !important;
	color: inherit !important;
	box-shadow: none !important;
}

/* 移除預設箭頭 icon */
.accordion-button::after {
	background-image: url(../images/plus.svg);
	background-size: contain;
	width: 1em;
	height: 1em;
}
.accordion-button:not(.collapsed)::after {
	background-image: url(../images/minus.svg);
	width: 1em;
	height: 1em;
}
/* Accordion item 外框移除 */
.faq-accordion-item {
	border: none !important;

	padding: 20px;
	margin-bottom:12px;
	background-color: rgba(48, 60, 68, 0.05);
}

/* Accordion body 清掉 padding */
.faq-accordion-body {
	padding: 10px 0;
}

/************************
BUTTON
************************/
.btn {
	font-weight: 600;
	display: flex;
	width: fit-content;
	align-items: center;
	justify-content: center;
	position: relative;
	border-radius: 8px;
	width: 180px;
	z-index: 2;
	padding-block: 8px;
	padding-right: 32px;
	overflow: clip;
}
.btn-outline-outer {
	border: 1.4px solid var(--color-black);
}
.btn-primary-outer {
	background-color: var(--color-primary);
}
.btn-outer {
	width: fit-content;
	overflow: clip;
	border-radius: 8px;
}
.btn-outer .icon {
	display: block;
	padding-bottom: 4px;
	width: 16px;
	right: 48px;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	z-index: 1;
}
.btn-outer .btn-outline-custom + .icon::after {
	background: var(--color-primary);
}
.btn-outer .btn-primary-custom + .icon::after {
	background: #c2f2e5;
}
.btn-outer .btn + .icon::after {
	content: "";
	position: absolute;
	right: -14px;
	top: calc(50% + 6px);
	transform: translate(-50%, -50%) scale(1);
	width: 16px;
	height: 16px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	z-index: -1;
	transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
	pointer-events: none;
}

.btn-outer:hover .btn + .icon::after {
	transform: translate(-50%, -50%) scale(20);
	opacity: 1;
}
.btn-text .icon {
	width: 1em;
	margin-left: 4px;
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 576px) {
}

/************************
DRAWER-ITEM 
************************/
section.notice-all .page-wrapper {
	/* border-top: 0.8px solid #fff; */
	margin-top: 80px;
	position: relative;
	z-index: 2;
}
.drawer-item {
	width: 100%;
	padding-block: 40px;
	/* padding-inline: 20px; */
}
.drawer-header {
	margin: 0px;
	display: block;
	/* color: #212121; */
	padding: 6px;
	cursor: pointer;
	min-height: 30px;
	transition: 0.25s;
	overflow: hidden;
}
.drawer-header h1 {
	float: left;
	color: var(--color-grey);
	font-size: 14px;
	line-height: 1.4em;
	font-weight: 600;
	margin: 0;
}
.drawer-item-active .drawer-header {
	transition: 0.25s;
	min-height: 30px;
	color: var(--color-grey);
}
.drawer-header-icon {
	display: inline-block;
	content: "";
	float: left;
	width: 16px;
	height: 20px;
	background: url("../images/btn_to_open.png") no-repeat scroll center center
		transparent;
	background-size: contain;
	text-align: right;
	vertical-align: middle;
	margin-left: 4px;
}
.drawer-header-icon.drawer-header-icon-active {
	transform: rotate(180deg);
}
.drawer-item-active .drawer-header-icon {
	/*color: #ffffff;*/
}
.drawer-content {
	width: 96%;
	padding: 0;
	display: block;
	color: var(--color-grey);
	font-size: 14px;
	line-height: 1.8em;
	padding-top: 10px;
	padding-bottom: 30px;
	text-align: left;
}
.drawer-content ol {
	padding-left: 25px;
}

/************************
GOTOP
************************/
.fixed-btn {
	position: fixed;
	z-index: 99;
	width: 100px;
	right: 0px;
	bottom: 6%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}
.fixed-btn a,
.fixed-btn img {
	display: block;
	width: 100%;
	z-index: 1;
}
.fixed-btn .back {
	margin-top: -60%;
	z-index: 0;
	position: relative;
}
.fixed-btn .go_top {
	margin-top: 40px;
	width: 45px;
}
.fixed-btn a {
	cursor: pointer;
}

@media screen and (max-width: 576px) {
	.fixed-btn {
		width: 72px;
	}
	.go_top {
		width: 40px;
	}
}

/************************
MODAL
************************/
.modal {
	--bs-modal-width: 80vw;
}
.modal-open {
	padding-right: 0 !important;
}
.modal-body {
	padding: 8%;
	padding-top: 0;
	line-height: 1.8;
}
.modal-body .list-style-none {
	list-style: none;
	padding-left: 0px;
}
.modal .btn-close {
	width: 42px;
	height: 42px;
	background-size: 80%;
	background-image: url(../images/btn_close.svg);
	opacity: 1;
	margin-right: 10px;
	margin-top: 10px;
}
.modal .btn-close:focus,
.modal .btn-close:active {
	outline: none;
	border: none;
	box-shadow: none;
}
.modal .modal-logo {
	width: 22%;
}
.modal .modal-content {
	border-radius: 12px;
	border: 1.5px solid #000;
	outline: 10px solid #fff;
}
.modal-dialog {
	margin: 40px auto;
}

.modal .tabs-tags{
	margin:16px 0;
	display: flex;
	flex-wrap: wrap;
}
.modal .tabs-tags__tag{
	border: 1px solid var(--color-darkgrey);
	/* background: #d9d9d920; */
	border-radius: 50px;
	padding: 5px 20px;
	margin-right: 8px;
	margin-bottom: 8px;
	cursor: pointer;
	color: var(--color-darkgrey);
}

.modal .tabs-tags__tag.active{
	border: 1px solid var(--color-primary);
	color: var(--color-black);
	background: var(--color-primary);
	font-weight: 600;
}

.modal .tabs-content__text{
	text-align: center;
	/* background: #d9d9d920; */
	border: 1px solid var(--color-darkgrey);
	border-radius: 25px;
	padding: 40px;
}
.modal .tabs-content__text .title {
	margin-bottom: 8px;
	font-size: 20px;
	font-weight: 500;
}
.modal .tabs-content__text p {
	margin-bottom: 16px;
}
.modal .tabs-content__text img{
	width: 35%;
	margin: 0 2%;
	margin-bottom: 16px;
	/* box-shadow: 5px 5px 5px rgba(202,238, 240,0.25); */
}
.modal .tabs-content__text .ps {
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	.modal .modal-logo {
		width: 50%;
	}
	.modal .btn-close {
		background-size: 50%;
		margin-right: 0px;
		margin-top: 0px;
	}
	.modal-body {
		padding: 5%;
		padding-top: 2%;
	}
	.modal {
		--bs-modal-width: 100%;
	}
	.modal-dialog {
		margin: 40px 20px;
	}
	.modal .tabs-content__text{
		padding: 40px 16px;
	}
	.modal .tabs-content__text img{
		width: 90%;
	}
	.modal .tabs-tags__tag{
		padding: 5px 10px;
		margin-right: 6px;
	}
}


.anchor-offset {
	position: relative;
	transform: translateY(-150px);
	height: 0;
	display: block;
}
.mask {
	bottom: -1px;
}