@charset "UTF-8";
/* =========================================================================

==base
==header
==banner
==intro
==investment + care
==contact
==footer
==breadcrumb + pagination
==privacy
==RWD

========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap');

/* =========================================================================
==base
========================================================================= */
:root {
	--fs-BNTitle: 48px;
	--fs-BNTxt: 20px;
	--fs-sectionTitle: 36px;
	--fs-infoTitle: 28px;
	--fs-sidebarTitle: 24px;
	--fs-itemTitle: 24px;
	--fs-footerTitle: 22px;
	--fs-headerNav: 20px;
	--fs-normal: 16px;
	--fs-small: 14px;

	--section: 80px;

	--cnvs-themecolor: #E30013;
	--cnvs-themecolor-rgb: 227, 0, 19;
	--cnvs-yellow: #FABE01;
	--cnvs-deepblue: #03658C;
	--cnvs-lightblue: #66C4D9;
}

/* ================= base ================= */
body,
.form-control {
	word-break: break-word;
	letter-spacing: 1px;
	line-height: 1.75;
	font-weight: 400;
	font-family: "Noto Sans TC", sans-serif;
	color: var(--cnvs-black);
	font-size: var(--fs-normal);
}

.form-control::placeholder {
	color: var(--cnvs-contrast-600);
}

p:last-child,
ul:last-child,
ol:last-child,
li:last-child,
form:last-child,
.form-control:last-child {
	margin-bottom: 0;
}

a {
	color: var(--cnvs-black);
	transition: .3s ease;
}

a:hover {
	color: var(--cnvs-blue);
}

button {
	transition: .3s ease;
}

/* ================= ellipsis ================= */
.one-row { 
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.two-row { 
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.three-row { 
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

/* ==================== btn ==================== */
.btn-base {
	display: inline-block;
	color: var(--cnvs-white);
	background-color: var(--cnvs-themecolor);
	font-weight: 400;
	padding: 8px 32px;
	border-radius: 6px;
	transition: .3s ease;
}

.btn-base:hover {
	color: var(--cnvs-black);
	background-color: var(--cnvs-yellow);
}

/* ==================== title ==================== */
.section-title {
	font-size: var(--fs-sectionTitle);
	color: var(--cnvs-themecolor);
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 24px;
}

.section-title::after {
	content: '';
	display: block;
	width: 42px;
	height: 2px;
	background-color: var(--cnvs-deepblue);
	margin-top: 20px;
}

.section-title.center::after {
	margin-left: auto;
	margin-right: auto;
}

.section-title.text-white::after {
	background-color: var(--cnvs-yellow);
}

.item-title,
.item-title a {
	font-size: var(--fs-itemTitle);
	color: var(--cnvs-deepblue);
	line-height: 1.5;
	font-weight: 600;
}

.item-title a:hover,
.item-title a:active {
	color: var(--cnvs-black);
}

.footer-title {
	font-size: var(--fs-footerTitle);
}

.sidebar-title {
	font-size: var(--fs-footerTitle);
	color: var(--cnvs-black);
}

.info-title {
	font-size: var(--fs-infoTitle);
	color: var(--cnvs-themecolor);
}

/* ==================== other ==================== */
.section {
	background-color: transparent;
	padding: var(--section) 0;
	margin: 0;
}

.color-yellow,
.h-color-yellow:hover,
.h-color-yellow:active {
	color: var(--cnvs-yellow) !important;
}

.color-lightblue,
.h-color-lightblue:hover,
.h-color-lightblue:active {
	color: var(--cnvs-lightblue) !important;
}

.color-deepblue,
.h-color-deepblue:hover,
.h-color-deepblue:active {
	color: var(--cnvs-deepblue) !important;
}

.bg-deepblue {
	background-color: var(--cnvs-deepblue) !important;
}

.bg-lightblue {
	background-color: var(--cnvs-lightblue) !important;
}

.h-color-deepblue:hover,
.h-color-deepblue:active {
	color: var(--cnvs-deepblue) !important;
}

/* =========================================================================
==header
========================================================================= */
#header {
	--cnvs-header-height: 96px;
	--cnvs-header-height-shrink: 80px;
}

#logo {
	padding: 16px 0;
}

.sticky-header-shrink #logo {
	padding: 8px 0;
}

.lang > a {
	color: var(--cnvs-header-misc-icons-color);
	font-size: var(--fs-headerNav);
	padding: 4px 12px;
	line-height: 1.5;
}

.lang > a:hover {
	color: var(--cnvs-yellow);
}

/* ==================== nav ==================== */
.menu-link,
.sub-menu-container .menu-item > .menu-link {
	font-size: var(--fs-headerNav);
	font-weight: 500;
	line-height: 1.5;
}

.menu-item:hover > .menu-link {
	color: var(--cnvs-yellow);
}

.is-expanded-menu .menu-link {
	padding: 24px 20px;
}

.is-expanded-menu .sub-menu-container .menu-item > .menu-link {
	padding: 12px 15px;
	font-weight: 500;
}

.menu-item.current > .menu-link {
	color: var(--cnvs-yellow);
}

.header-wrap-clone {
	height: 129px;
}


/* =========================================================================
==banner
========================================================================= */
#slider {
	aspect-ratio: 2000 / 960;
}

.swiper-slide-bg::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
}

.banner-title {
	font-size: var(--fs-BNTitle);
	font-weight: 600;
	line-height: 1.35;
	color: var(--cnvs-white);
	margin-bottom: 0;
}

.banner-txt,
.slider-caption p {
	font-size: var(--fs-BNTxt);
	font-weight: 400;
	line-height: 1.75;
	color: var(--cnvs-white);
	margin-bottom: 0;
}

.slider-caption.slider-caption-center {
	max-width: 860px;
}

.slider-arrow-left i,
.slider-arrow-right i {
	font-size: 30px;
	-webkit-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.slider-arrow-left,
.slider-arrow-right {
	border: 0;
	border-radius: 0 3px 3px 0;
}

.slider-arrow-left:hover,
.slider-arrow-right:hover {
	background-color: transparent !important;
}

.slider-arrow-left i:hover,
.slider-arrow-right i:hover {
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}


/* =========================================================================
==intro
========================================================================= */
/* ==================== .intro-sec .sec-1 ==================== */
.intro-sec .sec-1 .bg-img::before {
content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(88deg, rgba(255, 255, 255, 0.65) 0.55%, rgba(255, 255, 255, 0.00) 98.25%);
	pointer-events: none;
}

.intro-sec .sec-1 .bg-img img {
	object-position: bottom;
}

.intro-sec .absolute-img {
	width: 50%;
	position: absolute;
	z-index: 1;
	right: -72px;
	bottom: -24px;
}

/* ==================== .intro-sec .sec-2 ==================== */
.intro-sec .sec-2 .short-txt {
	color: #6A6A6A;
}

.intro-sec .sec-2 .img-wrap {
	padding: 0 36px;
}

.intro-sec .sec-2 .feature-box.text-lg-end:nth-child(2) {
	transform: translateX(-48px);
}

.intro-sec .sec-2 .feature-box:nth-child(2) {
	transform: translateX(48px);
}

.intro-sec .sec-2 .feature-box {
	gap: 12px;
}

.intro-sec .sec-2 .fbox-icon {
	width: 64px;
	height: 64px;
	background-color: var(--cnvs-yellow);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s ease;
	position: relative;
}

.intro-sec .sec-2 .fbox-icon a {
	width: 40px;
	height: auto;
}

.intro-sec .sec-2 .fbox-icon i, .fbox-icon img {
	background: transparent;
}

.intro-sec .sec-2 .fbox-effect.fbox-dark:hover .fbox-icon {
	background-color: var(--cnvs-lightblue);
}

.intro-sec .sec-2 .fbox-icon::after {
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	content: "";
	box-sizing: content-box;
	top: -3px;
	left: -3px;
	padding: 3px;
	box-shadow: 0 0 0 2px var(--cnvs-lightblue);
	transition: opacity 0.3s;
	transform: scale(0.8);
	opacity: 0;
}

.intro-sec .sec-2 .fbox-effect.fbox-dark:hover .fbox-icon::after {
	transform: scale(1);
	opacity: 1;
}

/* ==================== .intro-sec .sec-3 ==================== */
.intro-sec .sec-3 .text_box {
	position: relative;
	padding: 50px 60px;
	border: 1px solid #3d3d3d;
}

.intro-sec .sec-3 .text_box:after {
	content: '';
	display: block;
	position: absolute;
	left: -1px;
	top: 30px;
	width: calc(100% + 2px);
	height: calc(100% - 60px);
	border: 1px solid #fff;
	pointer-events: none;
}

.intro-sec .sec-3 strong {
	text-decoration: underline;
	text-decoration-skip-ink: none;
	text-decoration-thickness: 10px;
	text-decoration-color: rgb(102 196 217 / 30%);
	text-underline-offset: -1px;
}

/* ==================== certificate ==================== */
.cer-item {
  display: block;
	background-color: rgb(102 196 217 / 40%);
  border-bottom: 4px solid var(--cnvs-deepblue);
}


/* =========================================================================
==investment + care
========================================================================= */
/* ==================== investment ==================== */
.invest-sec {
	background-color: #E4E4E4;
}

.invest-sec > img {
	bottom: 0;
	transform: translateY(50%);
}

.invest-sec > .section {
	padding-bottom: 182px
}

.negetive-margin {
	margin-top: -230px;
	max-width: 100%;
	overflow: hidden;
}

.card {
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.10);
	background-color: #B1E1F4;
	height: 100%;
	border: 0;
	border-bottom: 4px solid var(--cnvs-deepblue);
	transition: .3s ease;
}

/* .card:hover {
	border-color: var(--cnvs-lightblue);
}

.card img {
	transition: .3s ease;
}

.card:hover img {
	transform: scale(1.05);
}

.card .card-body {
	transition: .3s ease;
}

.card:hover .card-body {
	color: var(--cnvs-white);
	background-color: var(--cnvs-deepblue);
}

.card .item-title {
	transition: .3s ease;
}

.card:hover .item-title {
	color: var(--cnvs-lightblue);
} */

.section-overlay::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(3, 101, 140, 0.80) 0%, rgba(3, 101, 140, 0.80) 100%);
	pointer-events: none;
}

/* ==================== care ==================== */
.care-sec .card {
	background-color: #FAE8B1;
	border-bottom: 4px solid var(--cnvs-yellow);
}

/* .care-sec .card:hover {
	border-color: var(--cnvs-deepblue);
}

.care-sec .card:hover .card-body {
	color: var(--cnvs-black);
	background-color: var(--cnvs-yellow);
}

.care-sec .card:hover .item-title {
	color: var(--cnvs-deepblue);
} */

/* ==================== info ==================== */
.invest-info .img-wrap {
	--space: 24px;
	padding-right: var(--space);
	padding-bottom: var(--space);
}

.invest-info .img-wrap2 {
	padding-right: 0;
	padding-left: var(--space);
}

.invest-info .img-wrap:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: calc(100% - var(--space));
	height: calc(100% - var(--space));
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.3);
	z-index: -1;
}

.invest-info .img-wrap2:after {
	right: auto;
	left: 0;
	background-color: rgba(102, 196, 217, 0.5);
}

.invest-info .sec-2 {
	background-image: url(../images/deco-1.png);
	background-color: #eceef1;
}

.invest-info .feature-box-outter {
  border-right: 2px solid var(--cnvs-themecolor);
  margin: 40px 0;
  padding: 0 40px;
}

.invest-info .feature-box-outter:nth-last-child(1) {
  border-right: none;
}

/* ==================== care ==================== */
.care-info {
	position: relative;
	width: 100%;
}

.care-info .section-product-image {
	width: 80%;
}

.care-info .section-product-content {
	max-width: 460px;
	position: absolute;
	bottom: 50%;
	right: 0;
	padding: 30px;
	transform: translateY(50%);
	background-color: var(--cnvs-white);
	border-bottom: 4px solid var(--cnvs-themecolor);
}

.about-wrap-1 .deco-img {
	width: 430px;
}

.about-wrap-1 .aboutIcon-item {
	padding: 30px 42px;
}

.about-wrap-1 .num-txt {
	font-size: 60px;
	font-weight: 900;
	top: -45px;
	right: 30px;
	color: #cbe8f5;
	font-style: italic;
}

.about-wrap-1.reverse .num-txt {
	right: auto;
	left: 30px;
}

.about-wrap-2 .bgimg-img {
	width: 40%;
	top: 50%;
	transform: translateY(-50%);
}

.about-wrap-2 .bgimg-img::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(3, 101, 140, .9);
}

.about-wrap-2.reverse .bgimg-img::before {
	left: auto;
	right: 0;
}

.about-wrap-2 .bgimg-img {
	height: 100%;
}

.recruit-sec3 {
	background-image: url(../images/deco-1.png);
}

.recruit-sec3 .item::after {
	content: '';
	position: absolute;
	top: 16px;
	left: 16px;
	width: 100%;
	height: 100%;
	background-color: rgba(250, 190, 1, 0.2);
	z-index: -1;
}

.recruit-sec3 .border-color {
	border-color: var(--cnvs-deepblue) !important;
}

/* =========================================================================
==contact
========================================================================= */
.index-contact-sec .intro {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	margin: 32px 0;
}

/* ================= info ================= */
.contact-wrap h2 {
	margin-bottom: 32px;
}

.contact-wrap h2:after {
  content: "";
  background: var(--cnvs-themecolor);
  position: absolute;
  left: 0;
  bottom: -1.5px;
  height: 1px;
  width: 150px;
}

.contact-wrap .contact-info {
	padding-right: 50px;
}

.contact-info a {
	color: var(--cnvs-text);
}

.contact-info a:hover,
.contact-info a:active {
	color: var(--cnvs-themecolor);
}

.contact-form .form-control {
	padding: 12px 16px;
}

.contact-form .form-control::placeholder {
	color: var(--cnvs-contrast-600);
}

.contact-form input[type="checkbox"] {
	width: 16px;
	height: 16px;
	transform: translateY(7px);
}

.contact-form input[type="checkbox"]:checked {
	background-color: var(--cnvs-themecolor);
	border-color: var(--cnvs-themecolor);
}

.contact-ok-title {
	font-size: var(--fs-sectionTitle);
}

.sending-img {
	display: flex;
}


/* =========================================================================
==footer
========================================================================= */
#footer .footer-widgets-wrap {
	padding: 60px 0;
}

.footer-logo {
	width: 120px;
}

#footer .section-title {
	color: var(--cnvs-white);
	font-size: var(--fs-footerTitle);
}

#footer .section-title::after {
	background-color: var(--cnvs-yellow);
}

.widget-link {
	width: 125px;
}

.dark#footer .footer-widgets-wrap a {
	color: var(--cnvs-white);
}

.dark#footer .footer-widgets-wrap a:hover,
.dark#footer .footer-widgets-wrap a:active {
	color: var(--cnvs-yellow);
}

/* ==================== go to top ==================== */
#gotoTop {
	width: 42px;
	height: 42px;
	border-radius: 4px;
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.6);
}

#gotoTop:hover {
	background-color: var(--cnvs-themecolor);
}

/* =========================================================================
==breadcrumb + pagination
========================================================================= */
.breadcrumb-wrap {
	padding-top: 175px;
}

.breadcrumb-title {
	font-size: var(--fs-sectionTitle);
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: 1px;
	margin-right: 48px;
}

.php_breadcrumb li:not(:last-child)::after {
	content: '/';
	display: inline-block;
	margin: 0 12px;
	color: rgba(255, 255, 255, 0.5);
}

/* ==================== pagination ==================== */
.page-link.arrow {
	border: 1px solid transparent;
}

.page-link.arrow:hover {
	border-color: var(--cnvs-themecolor);
}

/* =========================================================================
==privacy
========================================================================= */
.privacy-wrap .fbox-icon i {
	line-height: 3.8rem;
}

/* =========================================================================
==RWD
========================================================================= */
@media (max-width: 1399px) {
	/* ==================== intro ==================== */
	.intro-sec .absolute-img {
		width: 60%;
	}

	.intro-sec .sec-2 .img-wrap {
		padding: 0;
	}

	.intro-sec .sec-2 .feature-box:nth-child(2),
	.intro-sec .sec-2 .feature-box.text-lg-end:nth-child(2) {
		transform: none;
	}
}

@media (max-width: 1199px) {
	:root {
		--fs-BNTitle: 36px;
	}

	/* ==================== header ==================== */
	#header {
    --cnvs-header-height: 85px;
	}

	.header-wrap-clone {
    height: 118px;
	}

	/* ==================== footer ==================== */
	.footer-logo {
		width: 100px;
	}

	/* ==================== breadcrumb + pagination ==================== */
	.breadcrumb-wrap {
		padding-top: 150px;
	}

	/* ==================== intro ==================== */
	.intro-sec .sec-3 .text_box {
    padding: 24px 40px;
	}

	/* ==================== investment + care ==================== */
	.index-intro-wrap .deco-img {
		width: 450px;
	}
}

@media (max-width: 991px) {
	.wow {
		animation-name: none !important;
		visibility: visible !important;
		opacity: 1;
	}

	:root {
		--fs-BNTxt: 18px;
		--fs-sectionTitle: 32px;
		--fs-infoTitle: 26px;
		--fs-sidebarTitle: 22px;
		--fs-itemTitle: 22px;
		--fs-footerTitle: 20px;
		--fs-headerNav: 18px;

		--section: 60px;
	}

	/* ==================== header ==================== */
	#header {
    --cnvs-header-height: 70px;
	}

	#logo {
    padding: 8px 0;
	}    
	
	.header-wrap-clone {
		height: 87px;
	}

	/* ==================== banner ==================== */
	.slider-caption.slider-caption-center {
    max-width: 560px;
	}

	/* ==================== breadcrumb + pagination ==================== */
	.breadcrumb-wrap {
		padding-top: 48px;
	}

	/* ==================== intro ==================== */
	.intro-sec .absolute-img {
		width: 50%;
		bottom: -54px;
	}

	.intro-sec .sec-2 .feature-box {
		padding-left: 12px;
	}

	.intro-sec.info .sec-1 {
		padding-bottom: 90px;
	}

	.intro-sec.info .absolute-img {
		width: 52%;
		bottom: -106px;
	}

	/* ==================== investment + care ==================== */
	.invest-info .feature-box-outter {
    border-right: none;
		margin: 0;
  }

	.invest-info .feature-box-outter:not(:last-child) {
		margin-bottom: 48px;
	}

	.invest-info .feature-box-outter::after {
		content: '';
		display: block;
		margin-top: 48px;
		width: 100%;
		height: 2px;
		background-color: var(--cnvs-themecolor);
	}

  .invest-info .feature-box-outter:nth-last-child(1) {
    border-bottom: none;
  }

	.care-info .section-product-image {
		width: 100%;
	}

	.care-info .section-product-content {
		max-width: 100%;
		position: static;
		transform: none;
	}

	.about-wrap-2 .bgimg-img {
		height: 430px;
		top: auto;
		transform: none;
		bottom: 0;
		width: 60%;
	}

	.index-intro-wrap .deco-img {
		width: 335px;
	}

	/* ==================== contact ==================== */
	.contact-wrap .contact-info {
		padding-right: 0;
	}
}

@media (max-width: 767px) {
	:root {
		--fs-BNTitle: 30px;
		--fs-BNTxt: 16px;
	}

	/* ==================== banner ==================== */
	.slider-caption.slider-caption-center {
    max-width: 400px;
	}

	/* ==================== intro ==================== */
	.intro-sec .sec-2 .fbox-icon {
		width: 60px;
		height: 60px;
	}

	.intro-sec.info .sec-1 {
		padding-bottom: 80px;
	}

	.intro-sec.info .absolute-img {
		width: 63%;
		bottom: -96px;
	}

	.intro-sec .sec-3 .text_box {
		padding: 24px 30px;
	}

	/* ==================== contact ==================== */
	.index-contact-sec .intro {
		margin: 24px 0;
	}

	/* ==================== investment + care ==================== */
	.about-wrap-2 .bgimg-img {
		height: 300px;
	}

	.index-intro-wrap .deco-img {
		width: 250px;
	}
}

@media (max-width: 575px) {
	:root {
		--fs-BNTitle: 24px;
		--fs-sectionTitle: 28px;
		--fs-infoTitle: 24px;
		--fs-sidebarTitle: 20px;
		--fs-itemTitle: 20px;
		--fs-headerNav: 17px;

		--section: 40px;
	}

	/* ==================== header ==================== */
	#header {
		--cnvs-header-height: 65px;
	}
	
	#logo {
		padding: 6px 0;
	}

	.header-wrap-clone {
		height: 78px;
	}
	
	/* ==================== banner ==================== */
	#slider {
		--cnvs-swiper-dots-position-bottom: 10px;
		--cnvs-canvas-slider-dots-size: 8px;
	}

	.banner-txt, .slider-caption p {
		display: none;
	}

	.slider-caption.slider-caption-center {
		max-width: 80%;
	}

	#slider .btn-base {
		padding: 6px 24px;
	}

	/* ==================== intro ==================== */
	.intro-sec .absolute-img {
		width: 70%;
		bottom: -20px;
	}

	.intro-sec.info .sec-1 {
		padding-bottom: 60px;
	}

	.intro-sec.info .absolute-img {
		width: 300px;
		bottom: -70px;
	}

	.intro-sec .sec-3 .text_box {
		padding: 24px;
	}

	/* ==================== investment + care ==================== */
	.invest-sec > .section {
		padding-bottom: 206px
	}

	.invest-info .img-wrap {
		--space: 16px;
	}

	.about-wrap-2 .bgimg-img {
		height: 190px;
	}

	/* ==================== footer ==================== */
	#footer .footer-widgets-wrap {
		padding: 40px 0;
	}
	
	.footer-logo {
		width: 90px;
	}

	/* ==================== privacy ==================== */
	.privacy-wrap .feature-box {
		--cnvs-featured-box-icon: 3.5rem;
	}

	.privacy-wrap .fbox-icon i {
		font-size: 26px;
    line-height: 50px;
	}

	.privacy-wrap .fbox-content {
		padding-left: 6px;
	}
}