﻿:root {
		--dbs-red: #e60012;
		--dbs-red-dark: #b3000e;
		--ink: #1f2225;
		--ink-soft: #75797d;
		--line: #e4e6e9;
		--bg: #ffffff;
		--bg-soft: #ecf0f5;
		--bg-tint: #fdf2f3;
		--radius: 1.25rem;
		--shadow: 0 0 .5rem .125rem rgba(0, 0, 0, .15);
		--maxw: 700px;
		--font: 'Open Sans', 'Noto Sans', 'Noto Sans TC', '微軟正黑體', 'Microsoft JhengHei', Verdana, Helvetica, Arial, 'HeitiTC', 'Microsoft YaHei', sans-serif;
}
a, a:link, a:visited, a:hover, a:active {
		text-decoration: none;
		color: #000000;
		border: 0 !important;
		outline: none !important;
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
}
.drawer-content a:hover {
		color: #cc0000 !important;
}
dl, ol, ul {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
}
ol, ul {
		padding-left: 0 !important;
}
button:focus {
		outline: none !important;
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
}
img {
		border: 0px none;
}
.is-time .topic {
		opacity: 1 !important;
		-webkit-transition: all 1s ease;
		transition: all 1s ease;
}
.c_red {
		color: var(--dbs-red) !important;
}
hr.large {
		border-top-width: 3px;
}
.description_block {
		background-color: #ececec;
}
html {
		scroll-behavior: smooth;
}
body {
		padding: 0;
		margin: 0;
		font-family: var(--font);
		color: var(--ink);
		background: var(--bg);
		line-height: 1.85;
		-webkit-font-smoothing: antialiased;
		font-size: 1rem;
		font-optical-sizing: auto;
		font-style: normal;
		font-weight: 500;
}
footer, header {
		font-family: 'Open Sans', '微軟正黑體', 'Microsoft JhengHei', Verdana, Helvetica, Arial, 'HeitiTC', 'Microsoft YaHei', sans-serif;
}
.no.large {
		font-size: 150%;
		line-height: 1;
}
@media screen and (max-width: 991px) {
		.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;
				transition: all 0.3s ease-in-out;
				background-color: rgba(0, 0, 0, 0.8);
		}
		.overlay.open {
				opacity: 0.8;
				visibility: visible;
		}
}
/*------------------------------------------ 
Modal
--------------------------------------------*/
.modal-outlink .modal-content {
		border-radius: 0 !important;
}
.modal-outlink .modal-dialog {
		max-width: 750px !important;
}
.modal-outlink .modal-footer, .modal-outlink .modal-header {
		border: 0 !important;
}
.modal-outlink .modal-header {
		padding: 30px 30px 0 30px;
}
.modal-outlink .modal-header h3 {
		font-weight: lighter;
		font-size: 2rem;
}
.modal-outlink .modal-body {
		padding: 30px 30px 10px 30px;
}
.modal-outlink .modal-footer {
		padding: 0 30px 30px 30px;
		text-align: center !important;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
.modal-outlink .modal-footer .btn {
		border-radius: 0;
		height: 38px;
		min-width: 80px;
		margin: 0 10px;
}
/*------------------------------------------ 
Modal Backdrop
--------------------------------------------*/
#popupContent {
		padding: 2rem;
		height: -webkit-fit-content !important;
		height: -moz-fit-content !important;
		height: fit-content !important;
		min-height: 360px;
}
#popupHeadline {
		display: inline-block !important;
		top: 0 !important;
		left: 0 !important;
		width: auto !important;
}
#popupDescription {
		top: 0 !important;
		left: 0 !important;
		margin: 0 !important;
		width: 100% !important;
}
#popupDetails {
		left: 0 !important;
		bottom: 0 !important;
		position: relative !important;
		margin-top: 30px;
}
@media (max-width: 767.98px) and (orientation:landscape) {
		#popupContent {
				max-width: 90% !important;
				height: -webkit-fit-content !important;
				height: -moz-fit-content !important;
				height: fit-content !important;
				min-height: 360px;
		}
}
@media (max-width: 575.98px) and (orientation:portrait) {
		#popupContent {
				max-width: 90% !important;
				height: -webkit-fit-content !important;
				height: -moz-fit-content !important;
				height: fit-content !important;
				min-height: 360px;
		}
}
/************************
SPACE
************************/
@media (min-width:1200px) {
		.container-xxl {
				max-width: 1100px;
		}
		.container-xxl.sp {
				max-width: 1100px;
		}
		.container-xxl.large {
				max-width: 1440px;
		}
		.container-xxl.wide {
				max-width: 1920px;
		}
		.container-xxl.full {
				max-width: 2560px;
		}
}
@media (min-width:1600px) {
		.container-xxl.sp {
				max-width: 1100px;
		}
}
/****************************/
.toggle-button {
		position: relative;
		display: none;
		float: left;
		left: 0;
		width: 50px;
		height: 50px;
		padding: 18px 15px;
		-webkit-transition: .25s;
		transition: .25s;
		z-index: 999;
}
.toggle-button:hover {
		cursor: pointer;
		/*background-color: #eeeeee;*/
}
.toggle-button .menu-bar {
		position: relative;
		width: 100%;
		-webkit-transition: .2s;
		transition: .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 {
		-webkit-transform: rotate(45deg) translate(3px, 3px);
		-ms-transform: rotate(45deg) translate(3px, 3px);
		transform: rotate(45deg) translate(3px, 3px);
		-webkit-transition: .2s;
		transition: .2s;
}
.toggle-button.open .menu-bar-middle {
		-webkit-transform: translate(0px);
		-ms-transform: translate(0px);
		transform: translate(0px);
		-webkit-transition: .1s ease-in;
		transition: .1s ease-in;
		opacity: 0;
}
.toggle-button.open .menu-bar-bottom {
		-webkit-transform: rotate(-45deg) translate(3px, -3px);
		-ms-transform: rotate(-45deg) translate(3px, -3px);
		transform: rotate(-45deg) translate(3px, -3px);
		-webkit-transition: .2s;
		transition: .2s;
}
@media only screen and (max-width: 991px) {
		.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;
		border-top: 0;
		background-color: rgba(255, 255, 255, 0.99);
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
}
header.open {
		height: 50px;
		border-top: 4px solid #2e2e2e;
		-webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
		box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
}
header.open, header {
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
}
@media screen and (max-width: 991px) {
		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: 900;
}
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;
		margin: 0 5px;
}
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;
}
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 20px;
		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: 991px) {
		header .h_content {
				padding-top: 0px;
		}
		header .h_content > div {
				padding: 0;
		}
		body.open .h_content {
				padding-left: 280px;
		}
		header .h_content, body.open .h_content {
				-webkit-transition: all 0.36s ease-out;
				transition: all 0.36s ease-out;
		}
		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: 900;
				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_menu ul.menu-bottom ul {
				width: 100%;
		}
}
@media screen and (max-width: 480px) {
		body .h_bank, body.open .h_bank {
				position: absolute;
				-webkit-transition: all 0.36s ease-out;
				transition: all 0.36s ease-out;
		}
		body .h_bank {
				right: 0;
		}
		body.open .h_bank {
				right: -100%;
		}
		body.open .h_content {
				padding-left: 220px;
		}
}
@media screen and (max-width: 320px) {
		body.open .h_content {
				padding-left: 180px;
		}
}
@media screen and (max-width: 280px) {
		body.open .h_content {
				padding-left: 160px;
		}
}
/************************/
header .h_logo {
		width: 190px;
		margin-top: 26px;
		margin-right: 10px;
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
		-webkit-transform-origin: left center;
		-ms-transform-origin: left center;
		transform-origin: left center;
}
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 .menu-dark, header .h_menu ul.menu-top li {
		line-height: 1.75em;
		height: 80px;
		padding: 26px 0px;
		font-weight: 900;
		color: #2e2e2e;
}
header .h_menu ul.menu-top li {
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
		-webkit-transform-origin: center center;
		-ms-transform-origin: center center;
		transform-origin: center center;
}
/************************/
header .h_bank:hover ul.dark-last {
		display: block;
}
header .h_bank ul.dark-last {
		position: absolute;
		display: none;
		top: 100%;
		right: 0px;
		width: 180px;
		color: #2e2e2e;
		background: #ececec;
		text-align: center;
}
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;
		-webkit-transition: all 0.5s ease 0s;
		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 13px;
		color: #2e2e2e;
}
header .h_menu ul.menu-top li:last-child a {
		border-left: 1px solid #c0c0c0 !important;
}
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;
}
header .h_bank a.menu-dark {
		background: #ff3333;
		padding: 26px 17px;
		display: inline-block;
		color: #ffffff;
}
header .h_bank:hover .menu-dark, header .h_bank .menu-dark {
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
}
header .h_bank:hover a.menu-dark {
		display: inline-block;
		color: #ffffff;
		background: #ee1818;
}
header .h_bank .menu-dark img {
		display: inline-block;
		width: 20px;
		position: relative;
		top: -3px;
		margin-right: 5px;
}
header.open .h_bank .menu-dark {
		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: 991px) {
		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 a.menu-dark {
				font-size: 14px;
				height: 46px;
				padding: 10px 17px;
		}
		header .h_menu {
				position: absolute;
				width: 280px;
				height: 100vh;
				top: -4px;
				left: -100%;
				z-index: 20;
				padding-bottom: 100px;
				background: #ffffff;
		}
		body.open header .h_menu {
				left: 0;
		}
		body header .h_menu, body.open header .h_menu {
				-webkit-transition: all 0.36s ease-out;
				transition: all 0.36s ease-out;
				overflow-y: auto;
		}
		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;
		}
}
@media screen and (max-width: 480px) {
		header .h_menu {
				width: 220px;
		}
		header.open .h_bank a.menu-dark, header .h_bank a.menu-dark {
				font-size: 12px;
				padding: 10px 10px;
		}
		header.open .h_logo, header .h_logo {
				width: 80px;
				margin-top: 12px;
				margin-left: 0px;
				margin-right: 0px;
		}
}
@media screen and (max-width: 320px) {
		header .h_menu {
				width: 180px;
		}
		header.open .h_logo, header .h_logo {
				width: 60px;
		}
}
@media screen and (max-width: 280px) {
		header .h_menu {
				width: 160px;
		}
		header.open .h_logo, header .h_logo {
				width: 60px;
		}
}
/************************
FOOTER
************************/
footer {
		background-color: #484848;
}
/************************/
footer .fiscal {
		color: #191919;
}
footer .fiscal .f_left {
		font-size: 30px;
		color: #ffffff;
}
footer .fiscal .f_right {
		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;
		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:first-child {
		padding-left: 0;
}
footer .f_link a + a {
		border-left: 1px solid #b8b8b8 !important;
}
footer .f_copy {
		display: inline-block;
		font-weight: 600;
}
@media screen and (max-width: 991px) {
		footer .fiscal {
				padding: 0 .85rem;
		}
		footer .f_link {
				font-size: 13px;
				margin-top: 20px;
				text-align: center;
		}
}
@media screen and (max-width: 576px) {
		footer .fiscal {
				text-align: justify;
		}
}
@media screen and (max-width: 320px) {
		footer .fiscal .f_left {
				font-size: 26px;
		}
}
@media screen and (max-width:280px) {
		footer .fiscal .f_right {
				font-size: 12px;
		}
		footer .fiscal .f_left {
				font-size: 24px;
		}
}
/************************
SECTION
************************/
.section {
		padding: 54px 0;
		scroll-margin-top: 46px;
}
.section.alt {
		background: var(--bg-soft);
}
.section.sp {
		background: var(--bg-tint);
}
.kicker {
		color: var(--dbs-red);
		font-weight: 800;
		font-size: 1.25rem;
		letter-spacing: 1px;
}
.section h2 {
		font-size: clamp(1.45rem, 3.4vw, 2.05rem);
		font-weight: 700;
		margin-top: 8px;
		line-height: 1.4;
}
.section .intro {
		font-size: 1.125rem;
		color: var(--ink-soft);
		text-align: start;
		max-width: calc(100% - 4rem);
		margin: 2rem auto;
}
.section .intro + .intro {
		margin-top: 12px;
}
.section .intro b {
		color: var(--ink);
}
/************************
BUTTON
************************/
.btn {
		border-radius: 5rem;
		padding: .5rem 2rem;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
}
.btn-primary {
		background: var(--dbs-red);
		color: #fff !important;
}
.btn-primary:focus, .btn-primary:hover {
		background: var(--dbs-red-dark) !important;
		-webkit-transform: translateY(5px);
		-ms-transform: translateY(5px);
		transform: translateY(5px);
}
a.btn-ghost, .btn-ghost {
		background: #fff;
		color: var(--dbs-red);
		border: 2px solid var(--dbs-red) !important;
}
.btn-ghost:focus, .btn-ghost:hover {
		background: var(--bg-tint) !important;
		color: var(--dbs-red) !important;
		-webkit-transform: translateY(5px);
		-ms-transform: translateY(5px);
		transform: translateY(5px);
}
/************************
FAQ
************************/
.faq-list {
		display: -ms-grid;
		display: grid;
		gap: 13px;
		margin-top: 24px;
		max-width: 80%;
}
.faq-item {
		background: #fff;
		border: 1px solid var(--line);
		border-radius: 12px;
		-webkit-box-shadow: var(--shadow);
		box-shadow: var(--shadow);
		overflow: hidden;
}
.faq-item summary {
		cursor: pointer;
		list-style: none;
		padding: 18px 22px;
		font-weight: 800;
		font-size: 1.25rem;
		line-height: 1.5;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		gap: 11px;
		text-align: start;
}
.faq-item summary::-webkit-details-marker {
		display: none;
}
.faq-item summary .q {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		color: #ffffff;
		font-weight: 600;
		width: 36px;
		height: 36px;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		background-color: var(--dbs-red);
		border-radius: 5rem;
		position: relative;
		top: -2px;
}
.faq-item summary .arrow {
		margin-left: auto;
		color: var(--dbs-red);
		-webkit-transition: -webkit-transform .2s;
		transition: -webkit-transform .2s;
		transition: transform .2s;
		transition: transform .2s, -webkit-transform .2s;
		max-width: 15px;
}
.faq-item[open] summary .arrow {
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		transform: rotate(180deg);
}
.faq-item .answer {
		padding: 0 22px 20px 24px;
		text-align: start;
}
.faq-item .answer p {
		color: var(--ink-soft);
		font-size: .97rem;
}
.faq-item .answer .hl {
		color: var(--ink);
		font-weight: 800;
}
/************************
CARD
************************/
.card-grid {
		display: -ms-grid;
		display: grid;
		gap: 18px;
		margin-top: 14px;
		-ms-grid-columns: 1fr 18px 1fr;
		grid-template-columns: repeat(2, 1fr);
}
.card-grid.cols-3 {
		-ms-grid-columns: (1fr)[3];
		grid-template-columns: repeat(3, 1fr);
}
.card {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		background: #fff;
		border: 0;
		border-radius: var(--radius);
		overflow: hidden;
		-webkit-box-shadow: var(--shadow);
		box-shadow: var(--shadow);
		-webkit-transition: -webkit-transform .18s, -webkit-box-shadow .18s;
		transition: -webkit-transform .18s, -webkit-box-shadow .18s;
		transition: transform .18s, box-shadow .18s;
		transition: transform .18s, box-shadow .18s, -webkit-transform .18s, -webkit-box-shadow .18s;
}
.card:hover {
		-webkit-transform: translateY(-3px);
		-ms-transform: translateY(-3px);
		transform: translateY(-3px);
		-webkit-box-shadow: 0 12px 30px rgba(0, 0, 0, .1);
		box-shadow: 0 12px 30px rgba(0, 0, 0, .1);
}
.card .visual {
		position: relative;
		aspect-ratio: 402/309;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-o-object-fit: cover;
		object-fit: cover;
		border-radius: var(--radius) var(--radius) 0 0;
		overflow: hidden;
}
.card .visual img {
		width: 100%;
		height: 100%;
}
.card:hover .visual img {
		-webkit-transform: scale(1.15);
		-ms-transform: scale(1.15);
		transform: scale(1.15);
}
.card .visual img, .card:hover .visual img {
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
}
.card .vtext {
		font-size: 1.125rem;
		line-height: 1.5;
}
.card-body {
		padding: 18px 18px 20px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
}
/************************
OFFERS
************************/
.offers-grid {
		-ms-grid-columns: (1fr)[5];
		grid-template-columns: repeat(5, 1fr);
		margin-top: 24px;
}
.card .card-visual-link {
		display: block;
}
.offers-grid .card-body {
		padding: 1rem 1.5rem .5rem 1.5rem;
		text-align: start;
}
.offers-grid .card-footer {
		border: 0;
		padding: 0 1.5rem 1rem 1.5rem;
		background-color: #ffffff;
		color: var(--dbs-red);
		text-align: start;
}
@media (max-width:1100px) {
		.offers-grid {
				-ms-grid-columns: (1fr)[3];
				grid-template-columns: repeat(3, 1fr);
		}
}
@media (max-width:980px) {
		.offers-grid {
				-ms-grid-columns: (1fr)[2];
				grid-template-columns: repeat(2, 1fr);
		}
}
/************************
SCENARIO
************************/
.scenario {
		margin-top: 26px;
		background: #fff;
		border-radius: 12px;
		padding: 2rem;
		-webkit-box-shadow: var(--shadow);
		box-shadow: var(--shadow);
}
.scenario .info {
		display: block;
		padding: 2rem;
		border-left: 5px solid var(--dbs-red);
		text-align: start;
}
.section.alt .scenario {
		background: #fff;
}
.scenario.center-mode {
		background-color: transparent !important;
		box-shadow: none !important;
		margin-top: 0;
}
.scenario.center-mode .stack {
		padding: 0;
		text-align: center;
		width: fit-content;
		margin: auto;
}
.scenario.center-mode .info {
		border: 0;
}
.scenario h3 {
		font-size: 1.25rem;
		font-weight: 800;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 9px;
}
.scenario p {
		margin-top: 10px;
		color: var(--ink-soft);
		font-size: 1rem;
}
.scenario p b {
		color: var(--ink);
		font-weight: 800;
}
.scenario .stack {
		margin-top: 12px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 8px;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		font-size: 1rem;
		color: var(--ink-soft);
		padding-left: 1rem;
}
.scenario .chip {
		background: var(--bg-tint);
		border: 1px solid #f6d2d6;
		color: var(--ink);
		border-radius: 8px;
		padding: .75rem 2rem .5rem 2rem;
		font-weight: 500;
		font-size: .875rem;
		line-height: 1.5;
		min-height: 95px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		text-align: center;
}
.scenario .chip .no {
		font-size: 1.75rem;
		line-height: 1.25;
		color: var(--dbs-red);
}
.scenario .chip .no small {
		font-size: 80%;
}
.scenario .plus {
		color: var(--ink-soft);
		font-weight: 700;
}
.scenario .total {
		background: var(--dbs-red);
		color: #fff;
		border-color: var(--dbs-red);
		font-weight: 800;
}
/************************
KEY-VISUAL
************************/
.key-visual {
		margin-top: 120px;
		background-color: #f6f0f0;
}
.key-visual {
		overflow: hidden;
}
.key-visual .topic {
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		z-index: 2;
		max-width: 1100px;
		height: -webkit-fit-content;
		height: -moz-fit-content;
		height: fit-content;
		padding: 0 1rem;
}
.key-visual .topic {
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
}
.key-visual .info {
		max-width: 700px;
}
.key-visual .kv_block {
		max-width: 100%;
		margin: auto;
}
.key-visual .is_light {
		right: 4%;
		left: auto;
		top: auto;
		bottom: 0;
		margin: auto;
		max-width: 22vw;
		opacity: 1;
		z-index: 2;
}
.key-visual .info .tag {
		display: inline-block;
		font-size: 1.125rem;
}
.key-visual .info h1 {
		font-size: clamp(1.75rem, 4.6vw, 2.6rem);
		line-height: 1.32;
		font-weight: 700;
}
.key-visual .info .lead {
		margin-top: 18px;
		margin-left: 5px;
		font-size: 1rem;
		color: var(--ink-soft);
		max-width: 80%;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 1.5;
}
.hero-cta {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 12px;
		margin-top: 26px;
}
/* 定義由左而右滑入的動畫 */
@-webkit-keyframes slideInLeft {
		0% {
				opacity: 0;
				-webkit-transform: translateX(-50px);
				transform: translateX(-50px);
		}
		100% {
				opacity: 1;
				-webkit-transform: translateX(0);
				transform: translateX(0);
		}
}
@keyframes slideInLeft {
		0% {
				opacity: 0;
				-webkit-transform: translateX(-50px);
				transform: translateX(-50px);
		}
		100% {
				opacity: 1;
				-webkit-transform: translateX(0);
				transform: translateX(0);
		}
}
.key-visual.is-time .topic .info h1, .key-visual.is-time .info .lead, .key-visual.is-time .topic .info .hero-cta {
		opacity: 0;
		-webkit-animation: slideInLeft 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
		animation: slideInLeft 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.key-visual.is-time .topic .info h1 {
		-webkit-animation-delay: 0.3s;
		animation-delay: 0.3s;
}
.key-visual.is-time .info .lead {
		-webkit-animation-delay: 0.5s;
		animation-delay: 0.5s;
}
.key-visual.is-time .topic .info .hero-cta {
		-webkit-animation-delay: 0.7s;
		animation-delay: 0.7s;
}
@media (min-width: 1920px) {
		.key-visual .is_light {
				max-width: 300px;
		}
}
@media (min-width: 1921px) {
		.key-visual .kv_block, .key-visual .is_bg {
				width: 2560px;
		}
}
@media screen and (max-width:1199px) {
		.key-visual .topic .info h1 {
				font-size: 2rem;
		}
		.key-visual .info .lead {
				font-size: .875rem;
				max-width: 70%;
				margin-top: 5px;
		}
		.key-visual .topic {
				padding-left: 5%;
		}
}
@media screen and (max-width:991px) {
		.key-visual .topic .info h1 {
				font-size: 1.25rem;
		}
		.key-visual {
				margin-top: 50px;
		}
		.key-visual .topic .info h1 {
				font-size: 1.5rem;
		}
		.key-visual .info .lead {
				font-size: .75rem;
				max-width: 50%;
				letter-spacing: normal;
				margin-top: 5px;
				margin-bottom: 0;
		}
		.key-visual .topic {
				padding-left: 3%;
		}
		.key-visual .info .tag {
				font-size: .875rem;
		}
		.hero-cta {
				margin-top: 10px;
		}
		.hero-cta .btn {
				min-width: 120px;
				padding: .25rem .75rem;
				font-size: .85rem;
		}
}
@media (max-width: 767px) {
		.faq-list {
				max-width: 100%;
		}
		.faq-item .answer {
				padding: 0 22px 10px 24px;
		}
}
@media (max-width: 576px) {
		.key-visual .is_light {
				max-width: 35vw;
				right: 0;
				top: auto;
				bottom: 0;
		}
		.key-visual .topic .info h1 {
				font-size: 1.5rem;
		}
		.key-visual .info .lead {
				font-size: .75rem;
				max-width: 100%;
				margin-left: 0;
				margin-top: 15px;
		}
		.key-visual .topic {
				max-width: 100%;
				top: 8%;
				bottom: auto;
		}
		.hero-cta {
				margin-top: 25px;
		}
		.hero-cta .btn {
				min-width: 130px;
				padding: .5rem 1rem;
				font-size: .85rem;
		}
}
@media (max-width:568px) and (orientation: landscape) {
		.is_light.d-sm-none, .key-visual .d-sm-none {
				display: none !important
		}
		.is_light.d-sm-block, .key-visual .d-sm-block {
				display: block !important
		}
		.key-visual .topic {
				max-width: 50vw;
		}
		.key-visual .is_light {
				max-width: 20vw;
				right: 0;
				top: auto;
				bottom: 0;
		}
}
@media (max-width: 375px) {
		.key-visual .topic .info h1 {
				font-size: 1.375rem;
		}
		.key-visual .info .lead {
				font-size: .735rem;
		}
}
@media (max-width: 320px) {
		.key-visual .topic .info h1 {
				font-size: 1.125rem;
		}
		.key-visual .topic {
				top: 2%;
		}
		.keypoints_card {
				font-size: .875rem;
		}
}
/************************
LINK
************************/
a.act {
		color: var(--dbs-red);
		font-weight: 700;
		text-decoration: none;
		border-bottom: 1.5px solid #f3b8bd !important;
		padding-bottom: 1px;
		-webkit-transition: border-color .15s, background .15s;
		transition: border-color .15s, background .15s;
		white-space: nowrap;
}
a.act:hover {
		border-bottom-color: var(--dbs-red);
		background: var(--bg-tint);
}
/************************
SUMARY
************************/
.summary {
		background: var(--bg-tint);
		border-top: 1px solid #f6d2d6;
		border-bottom: 1px solid #f6d2d6;
		padding: 3rem 0;
}
.summary h2 {
		font-size: 1.5rem;
}
.summary h2 .tag {
		background: var(--dbs-red);
		color: #fff;
		font-size: 1.5rem;
		padding: 5px 25px;
		border-radius: 5rem;
		display: inline-block;
		letter-spacing: 3px;
}
.summary .info {
		max-width: calc(100% - 4rem);
		margin: auto;
		padding-bottom: 2rem;
}
/************************
KEY POINT CARD
************************/
.keypoints_card {
		border-left: 4px solid var(--dbs-red);
		padding-left: 1rem;
		font-size: 1.125rem;
		text-align: start;
		line-height: 1.5;
		max-width: calc(100% - 4px);
		margin: auto;
}
.keypoints_info .swiper-button-prev {
		left: -4rem;
}
.keypoints_info .swiper-button-next {
		right: -4rem;
}
.keypoints_info .swiper-button-next:after, .keypoints_info .swiper-button-prev:after {
		color: var(--dbs-red);
		font-size: 1.5rem;
		font-weight: bold;
}
.keypoints_info .swiper-pagination {
		bottom: -3rem;
}
.keypoints_info .swiper-pagination-bullet {
		width: 10px;
		height: 10px;
		margin: 0 5px !important;
}
.keypoints_info .swiper-pagination-bullet-active {
		background-color: var(--dbs-red);
}
/************************
INFO BLOCK
************************/
.highline_tag {
		padding: .5rem 1rem;
		border-radius: 5rem;
		background-color: #fde7e7;
		display: block;
		font-size: 1.125rem;
}
/************************
RWD
************************/
@media (max-width:1199px) {
		.keypoints_info .swiper-button-prev {
				left: -3rem;
		}
		.keypoints_info .swiper-button-next {
				right: -3rem;
		}
		.offers-grid .card-footer, .card .vtext, .highline_tag, .section .intro, .kicker, .keypoints_card {
				font-size: 1rem;
		}
		.section h2, .summary h2 .tag, .summary h2 {
				font-size: 1.35rem;
		}
		.faq-item summary, .scenario h3 {
				font-size: 1.125rem;
		}
		.faq-item summary .q, .faq-item .answer p, .scenario p {
				font-size: .875rem;
		}
		.faq-item summary .q {
				width: 30px;
				height: 30px;
		}
		.faq-item summary .arrow {
				max-width: 12px;
		}
}
@media (max-width:991px) {
		.keypoints_info .swiper-button-prev {
				left: -2rem;
		}
		.keypoints_info .swiper-button-next {
				right: -2rem;
		}
		.section .intro, .scenario .chip {
				font-size: .875rem;
		}
		.scenario .chip {
				padding: .75rem 1rem .5rem 1rem;
		}
		.section {
				padding: 42px 0;
		}
		.section h2 {
				font-size: 1.25rem;
		}
		.section .intro {
				font-size: 1rem;
				max-width: 100%;
		}
		.kicker {
				font-size: 1.125rem;
		}
		.scenario {
				margin-top: 1rem;
				padding: 1rem;
		}
		.scenario .info {
				padding: 1rem 0 1rem 1rem;
		}
		.offers-grid .card-footer, .card .vtext, .highline_tag, .section .intro, .kicker, .keypoints_card {
				font-size: .875rem;
		}
		.offers-grid .card-body {
				padding: 1rem 1rem .5rem 1rem;
		}
		.offers-grid .card-footer {
				padding: 0 1rem 1rem 1rem;
		}
}
@media (max-width:767px) {
		.scenario .stack {
				padding-left: 0;
		}
		.scenario .chip {
				padding: .75rem .5rem .5rem .5rem;
		}
		.scenario {
				padding: .75rem;
		}
		.scenario .chip .no {
				font-size: 1.5rem;
		}
}
@media (max-width:576px) {
		.card-grid, .card-grid.cols-3, .offers-grid {
				-ms-grid-columns: 1fr;
				grid-template-columns: 1fr;
		}
		.offers-grid .card-footer, .card .vtext {
				font-size: 1rem;
		}
		.scenario {
				padding: .75rem;
		}
		.scenario .stack {
				padding-left: 0;
		}
		.scenario .chip {
				width: calc(100% - 2rem);
				-webkit-box-orient: horizontal;
				-webkit-box-direction: normal;
				-ms-flex-direction: row;
				flex-direction: row;
				min-height: 70px;
				padding: .5rem .5rem;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;
		}
		.highline_tag {
				font-size: .825rem;
				border-radius: 2rem;
		}
		.section .intro {
				font-size: .85rem;
		}
		.scenario .info {
				padding: 1rem 0 1rem 1rem;
				border-left-width: 3px;
		}
		.scenario .chip .no {
				font-size: 2rem;
				margin-left: 5px;
		}
		.scenario p {
				font-size: .875rem;
		}
		.scenario h3 {
				font-size: 1rem;
				line-height: 1.75;
		}
		.faq-list {
				margin-top: 1rem;
				max-width: 100%;
		}
		.faq-item summary {
				font-size: 1rem;
				padding: .5rem 1rem;
		}
		.faq-item summary .q {
				font-size: .875rem;
				width: 24px;
				height: 24px;
				top: 0;
		}
		.summary h2 .tag, .summary h2 {
				font-size: 1.25rem;
		}
		.summary .info {
				max-width: calc(100% - 2rem);
		}
		.faq-item .answer p {
				font-size: .85rem;
		}
		.keypoints_info .swiper-button-prev {
				left: -2rem;
		}
		.keypoints_info .swiper-button-next {
				right: -2rem;
		}
		.keypoints_card {
				font-size: 1rem;
				padding-left: .75rem;
		}
}
@media (max-width:568px) and (orientation: landscape) {
		.card-grid.cols-3 {
				-ms-grid-columns: (1fr)[2];
				grid-template-columns: repeat(2, 1fr);
		}
		.scenario .stack {
				max-width: 60%;
				margin: auto;
		}
}
@media (max-width:320px) {
		.keypoints_card {
				font-size: .875rem;
				padding-left: .5rem;
		}
		.section h2 {
				font-size: 1.125rem;
		}
		.section .intro {
				font-size: .825rem;
		}
		.highline_tag {
				border-radius: 2rem;
		}
		.scenario .chip {
				font-size: .75rem;
		}
		.d-xs-block {
				display: block !important;
		}
		.scenario .chip .no {
				font-size: 1.5rem;
				margin-left: 5px;
		}
}
/************************
DRAWER-ITEM 
************************/
.drawer-item {
		width: 100%;
}
.drawer-header-in {
		display: block;
}
.drawer-header-in .title {
		color: #000000;
		font-size: 18px;
		line-height: 2em;
		font-weight: 600;
		margin: 0;
}
.drawer-content {
		width: 100%;
		padding: .5rem 0 1rem 0;
		display: block;
		font-size: 16px;
		line-height: 1.8em;
		word-wrap: break-word;
		text-align: justify;
}
@media screen and (max-width:1199px) {
		.drawer-content {
				font-size: .8125rem;
				padding-left: 0;
				padding-right: 0;
		}
		.drawer-item {
				padding: 0 1rem;
		}
}
@media screen and (max-width:767px) {
		.drawer-content {
				font-size: 14px;
		}
}
@media screen and (max-width:576px) {
		.drawer-content {
				font-size: 14px;
		}
		.drawer-item {
				padding: 0;
		}
		.drawer-content {
				word-wrap: break-word;
				word-break: break-all;
				text-align: start;
				padding: 0;
		}
}
@media screen and (max-width:320px) {
		.drawer-content {
				font-size: 12px;
		}
		.drawer-item {
				padding: 0;
		}
		.drawer-content {
				word-wrap: break-word;
				word-break: break-all;
		}
}
/************************
Sticky Bar
************************/
.fix-ad {
		bottom: 6.5rem;
		right: 0;
		left: auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
}
.fix-ad .full-item {
		text-align: center;
		display: block;
		margin-bottom: .5rem;
		width: 145px;
		position: relative;
		height: -webkit-fit-content;
		height: -moz-fit-content;
		height: fit-content;
}
.fix-ad .full-item > img {
		right: 0;
		top: 0;
}
@media only screen and (min-width:1920px) {
		.fix-ad .full-item {
				width: 160px;
		}
}
@media only screen and (max-width:1199px) {
		.fix-ad {
				-webkit-transform: translateZ(0);
				transform: translateZ(0);
				-webkit-backface-visibility: hidden;
				backface-visibility: hidden;
				-webkit-filter: blur(0);
				-webkit-transform-origin: 0% 0;
				-ms-transform-origin: 0% 0;
				transform-origin: 0% 0;
		}
		.fix-ad {
				-webkit-transform: scale(.85);
				-ms-transform: scale(.85);
				transform: scale(.85);
				-webkit-transform-origin: center right;
				-ms-transform-origin: center right;
				transform-origin: center right;
				bottom: 5rem;
		}
}
@media only screen and (max-width:991px) {
		.fix-ad {
				-webkit-transform: scale(.75);
				-ms-transform: scale(.75);
				transform: scale(.75);
				bottom: 1.5rem;
		}
}
@media only screen and (max-width:991px) and (orientation:landscape) {
		.fix-ad {
				-webkit-transform: scale(.7);
				-ms-transform: scale(.7);
				transform: scale(.7);
				bottom: 1rem;
		}
}
@media only screen and (max-width:767px) {
		.fix-ad {
				-webkit-transform: scale(.6);
				-ms-transform: scale(.6);
				transform: scale(.6);
				bottom: -1rem;
		}
}
@media only screen and (max-width:576px) {
		.fix-ad {
				-webkit-transform: scale(.5);
				-ms-transform: scale(.5);
				transform: scale(.5);
				bottom: -2rem;
		}
}
@media only screen and (max-width:568px) and (orientation:landscape) {
		.fix-ad {
				-webkit-transform: scale(.5);
				-ms-transform: scale(.5);
				transform: scale(.5);
				bottom: -2rem;
		}
}
@media only screen and (max-width:320px) {
		.fix-ad {
				bottom: -2rem;
				;
		}
}
/************************
GOTOP
************************/
.go_top {
		position: fixed;
		display: inline-block;
		z-index: 99;
		width: 50px;
		height: 50px;
		right: 10px;
		bottom: 50px;
}
.go_top img {
		position: relative;
		display: inline-block;
		width: 100%;
}
@media screen and (max-width: 991px) {
		.go_top {
				width: 40px;
				height: 40px;
				right: 15px;
				bottom: 10px;
		}
}
@media screen and (max-width: 767px) {
		.go_top {
				right: 5px;
		}
}
@media screen and (max-width: 480px) {
		.go_top {
				right: 5px;
		}
}