@charset "utf-8";
/* CSS Document */
:root {
	--main-color: #A10D1F;
	--sub-color: #1d1d1d;
	
	--header-color: #8b7348;
	--highlight-color: #8b7348;
	--subheader-color: #1d1d1d;
	--text-color: #1d1d1d;
	--remark-color: #1d1d1d;
	
}/*
font-family: 'Noto Sans TC', sans-serif;
font-family: 'Noto Serif TC', serif;
font-family: 'Quattrocento', serif;*/


/****** Start Global Setting  ******/
body {margin:0 auto;font:13px 'Noto Sans TC', "Microsoft JhengHei","微軟正黑體",微軟正黑體,"Apple LiGothic Medium","蘋果儷中黑",蘋果儷中黑,Arial,Helvetica,sans-serif;background:#FFF;}
body.nofullwidth {margin:0 auto;font:13px 'Noto Sans TC', "Microsoft JhengHei","微軟正黑體",微軟正黑體,"Apple LiGothic Medium","蘋果儷中黑",蘋果儷中黑,Arial,Helvetica,sans-serif;background:#FFF;max-width:2560px;border-left:1px solid #ccc;border-right:1px solid #ccc;-webkit-box-shadow:0px 0px 10px 1px rgba(0,0,0,0.25);-moz-box-shadow:0px 0px 10px 1px rgba(0,0,0,0.15);box-shadow:0px 0px 10px 1px rgba(0,0,0,0.15);}
.clearfix:after {content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}
.clearfix {display:inline-block}
a {color:#fff;text-decoration:underline;transition:all .3s;}
a:hover,.formDiv a:focus {color:var(--text-color,#1d1d1d);text-decoration:underline;transition:all .3s;}
a:active,a:hover,a:focus {outline:0;}
button,button:hover,button:focus {transition:all .3s;outline: 0;}
button.btn-terms {color: #fff;text-decoration:underline;margin-top:10px;letter-spacing: 2.88px;font-size: 16px;}
button.btn-terms:hover {color:var(--text-color,#1d1d1d);text-decoration:underline;}
input{ box-shadow: none}
textarea {resize:none;}
a.disabled {pointer-events:none;cursor:default;}
img{border: 0;margin: 0; padding: 0;}
img.fullwidth {width:100%;height:auto}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{font-weight: normal}

.no-gutter { margin-right: 0; margin-left: 0;}
.no-gutter > [class*="col-"] { padding-right: 0; padding-left: 0; }
.row-flex {  display: flex; flex-wrap: wrap;}

/****** Desktop large Screen ******/
.site-main { width: 100%; position: relative;}
.main_intro {overflow: hidden}
.main_intro .container{z-index: 1}


h2 {
	color: #1d1d1d;
	text-align: center;
	font-family: 'Noto Serif TC', serif;
	font-size: 28px;
	font-style: normal;
	font-weight: 400;
	line-height: 175%; /* 49px */
	letter-spacing: 2.24px;
	margin-bottom: 28px;
}


/* kv content */
.kv_logo{ background:#fff; padding:30px 0; max-width: 2560px; width: 100% ; border-bottom: 3px solid #009FA9}
.kv_logo img {max-width: 385px;}

.kv{
	position: relative;
	width:100%;
	background-color:#fff;
	margin:0 auto;
/*	height:500px;*/
	border-bottom:1px solid #BCB6B3;
	text-align: center;
}


.kv img{
	position: relative;
	max-width:1440px;
	width:100%;
	margin:0 auto;
}


/* intro content */
.main_intro{width: 100%; margin-bottom: 60px}

.main_intro h1{
	color: #1D1D1D;
	text-align: center;
	font-family: "Noto Serif TC", sans-serif;
	font-size: 48px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 2.4px;
	margin-top: 50px;
	margin-bottom: 0px;
}

.main_intro h1 span {
	font-weight:400;
	font-family: "Noto Sans TC", sans-serif;
}

.main_intro h2{
	color: #1D1D1D;
	text-align: center;
	font-family: "Noto Serif TC", sans-serif;
	font-size: 42px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 6.9px;
	margin-top: 20px;
	margin-bottom: 30px;
}

.section_title:after {
    content: '';
    width: 100%;
    border-bottom: solid 1px #E0E0E0;
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 1;
}

.separate {
	/*border-color:#E0E0E0;
	opacity: 1;*/
	position: relative;
}

.separate img {
	max-width: 934px;
	width: 100%;
	margin:0 auto;
}

.main_intro p{ 
	color: #1D1D1D;
	text-align: center;
	font-family: "Noto Serif TC", sans-serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 175%;
	letter-spacing: 3.2px;
	margin-bottom: 50px;
 }

.main_intro h1~p span.red {
	display: inline-block;
	color: #A10D1F;
	font-weight: 700;
} 


.main_intro h1~p span.quota {
	color: #1D1D1D;
	font-size: 44px;
	font-weight: 600;
	line-height: 175%;
	letter-spacing: 0;
}


.main_intro h1~p small {
	font-size: 16px;
	color: #1D1D1D;
	font-size: 16px;
	font-weight: 700;
	line-height: 175%;
	letter-spacing: 1.6px;
}


.kv-info {margin-bottom: 70px}

.kv-info img {
	max-width:1125px;
	width: 100%;
}


.main_intro .btn_cta{
	/*background: #A10D1F;
	color: #FFF;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	line-height: 175%;
	letter-spacing: 2.4px;
	height: 60px; */
	background:transparent;
	margin: 0 auto 30px; 
/*	padding: 0 30px;*/
	outline: 0; 
	border: 0; 
	/*max-width: 300px; 
	width: 100%*/
}

.main_intro .btn_cta img {
	max-width: 370px;
	width:100%;
	margin: auto;
}

.main_intro .btn_cta:hover{
	outline: 0; 
	opacity: 0.8;
	color:#fff;
}


.main_intro .remark_cta{
	color: #1D1D1D;
	text-align: center;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 175%; /* 22.75px */
	letter-spacing: 1.3px;
	margin: 0;
}

.intro_text{ 
	margin: 35px auto 65px;
	color: #1D1D1D;
	text-align: center;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 175%; /* 35px */
	letter-spacing: 1px;
}



.gift {  padding: 0px; background: rgba(183, 142, 108, 0.20); margin-bottom:50px }
.gift .bg-gold{ padding:10px; /*background: rgba(183, 142, 108, 0.20);*/ max-width: 1440px;width:100%;  margin: 0 auto;}
.gift .intro{background: #FFF; padding:52px 40px 52px 70px; 
	height: 100%;
    display: flex;
	flex-direction: column;
	justify-content: center;
}

.gift .name{
	color: #1D1D1D;
	font-family: "Noto Serif TC", sans-serif;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 4.2px;
	margin-bottom:18px; 
	margin-top: 0

}


.gift .name div {
	color: #1D1D1D;
	font-size: 26px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 3.9px;
	margin-bottom: 8px;
}

.gift .description{
	color: #1D1D1D;
	font-size: 16px;
	font-weight: 400;
	line-height: 175%; /* 28px */
	letter-spacing: 1.6px;
	text-align: left;
	font-family: "Noto Sans TC", sans-serif;
	margin-bottom: 0;
	max-width: 456px;
	width: 100%;

}


.gift .description .red {
	color: #A10D1F;
	font-weight: 700;
}



.gift .img-wrapper {
	height: 100%;
}


.gift .img-wrapper img {
	height: 100%;
	object-fit: cover;
}


.main_intro .discount_wrapper { background-color: rgba(211, 191, 158, 0.9); border-radius:10px;font-family:'Noto Sans TC', '微軟正黑體',"Microsoft JhengHei","微軟正黑體",微軟正黑體,"Apple LiGothic Medium","蘋果儷中黑",蘋果儷中黑,Arial,Helvetica,sans-serif; padding:20px;  
color: rgb(115, 98, 71); line-height: 1.6; letter-spacing: 0.05em; font-weight: 400; font-size:16px; -webkit-box-shadow: 2.779px 2.877px 8px 0px rgba(62, 61, 59, 0.16); 
box-shadow: 2.779px 2.877px 8px 0px rgba(62, 61, 59, 0.16); margin:0 auto 36px;}
.main_intro .discount_wrapper strong {font-size: 18px;}
.main_intro .discount_wrapper p:nth-child(2) {margin-bottom: 5px}
.main_intro .discount_wrapper p:last-child {margin-bottom: 0}



/* Steps */
.steps { background: url(../_img/bg-steps.jpg) no-repeat top center/cover; padding: 50px 0 55px}
.steps h2 {
	color: #1D1D1D;
	text-align: center;
	font-family: "Noto Serif TC", sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 175%; /* 45.5px */
	letter-spacing: 3.2px;
	margin: 0 auto 42px;
}

.steps h2 span {
	color:#A24A01;
	font-size: 52px;
}

/*.steps .container {max-width:1126px; width:100%}*/


.steps .step-row .col-xs-12:not(:last-of-type):after {
	content:"";
	background:url('../_img/step-arrow.svg') no-repeat top center/100% 100%;
	width: 35px;
	height: 35px;
	position: absolute;
	top: 170px;
	transform: translate(-50%);
    right: -30px;
}


.steps .step-box {
	position: relative;
	padding: 4px;
	background: #FFF;
	width: 300px;
	margin: 0 auto 40px;
	height: 360px;
}


.steps .step-box .content {
	/*position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;*/
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 30px 15px;
	background:url('../_img/gold-border-v.png') no-repeat top center/100% 100%;
	height: 100%;
}

.steps .step-box .head{
	font-family: 'Noto Serif TC', sans-serif;
	color: #1D1D1D;
	text-align: center;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 2.2px;
	margin-bottom: 15px;
}

.steps .step-box p{
	color: #1D1D1D;
	text-align: center;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px; /* 150% */
	letter-spacing: 1.6px;
	margin-bottom: 6px;
}


.steps .step-box p span.red {
	color: #A24A01;
    font-weight: 700;
}

.steps .step-box sup{
	color: #1D1D1D;
}

.steps .step-box small {
	font-weight: 400;
	font-size: 12px;
	line-height: 24px;
	text-align: center;
	letter-spacing: 0.1em;
	color: #1D1D1D;
}

.steps .step-box p span.red,
.steps .step-box.step-1 small {
	display: inline-block;
}

.steps .step-box img{
	max-width: 75px;
	margin-bottom: 20px;
}

.steps .step-box p a{
	color: #A10D1F;
}

.steps .step-arrow, .steps .step-equal {
	position: relative;
    height: 300px;
}

.steps .step-arrow img{
	position: absolute;
    top: 50%;
    left: 46px;
    transform: translateY(-50%);
    max-width: 40px;
    width: 100%;
}



.steps .remarks {
	margin-top: 20px;
	color: #FFF;
	color:#444;
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.7px;
	display: block;
}




/* Offer */
.offers {padding: 60px 0 76px}
.offers h2 {
	color: #1D1D1D;
	text-align: center;
	font-family: "Noto Serif TC", serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 175%;
	letter-spacing: 6px;
	margin-top: 0;
	margin-bottom: 40px;
}

.offers .offer-item {
	color: #1D1D1D;
	text-align: center;
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1px;
	font-family: 'Cinzel', 'Noto Sans TC', sans-serif;
	line-height: 1.9;
}


.offers .offer-item.main-offer {
	font-size: 22px;
}


.offers .offer-item b {
	font-weight: 600;
}

.offers .offer-item.item-margin {
	margin: 45px 0;
}


.offers .offer-item span{
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: 106%;
	letter-spacing: 1.4px;
}



.offers .offer-item span.num{
	font-family: 'Cinzel', serif;
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 1.8px;
}


.offers .col-md-3:nth-child(3) .offer-item small {
	font-size: 14px;
	letter-spacing: 0.7px;
}


.offers small.remarks {
	display: block;
	color: #1d1d1d;
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.7px;
	margin-bottom: 6px;
}



.offers .col-md-3:not(:last-of-type) {
	border-right: 1px solid #1d1d1d;
}


/* Footer */
footer{background: #fff;padding:50px 0}
footer .disclaimer, footer .disclaimer a{color: #333333;line-height: 24px;font-size: 12px; margin-bottom: 20px;letter-spacing: 1.2px;}
footer .disclaimer a{color: #A10D1F; }
footer .nav {display: inline-block; font-size: 12px; text-align: center;color: #333; margin-bottom: 40px;letter-spacing: 1.2px;}
footer .nav a {color: #A10D1F; text-decoration:none;  }
footer .logo-row{margin-bottom:24px}
footer .logo-row img{width:auto}
footer .global_footer .esdlife-logo{float:left}
footer .logo-row .logo_container{display:inline-block;float:right;vertical-align:middle;text-align:right}
footer .logo-row .logo_container img:nth-child(1){float:initial;margin-right:30px}
footer .logo-row .logo_container img:nth-child(2){width:50%;}
footer .footer-copyright *{ color:#000;font-size:12px;font-weight:400;line-height:21px;letter-spacing:.5px}

.supportDiv {background:#fff; padding:25px 0 30px}
.supportDiv .container .supportholder {text-align:center;}
.supportDiv .container .supportholder img {margin-left:0px;margin-right:0px;margin-bottom: 10px;}
.supportDiv .container h4 {font-size:14px;color:#1d1d1d;padding: 20px 0; letter-spacing: 0.1em}



@media screen and (min-width: 992px) {
	.steps .step-box .red {
		display: block;
	}


	.offers .container {
		max-width: 1200px;
		width: 100%;
	}

	.offers .container .row.align-items-center {
		display: flex;
		align-items: center;
	}

	.offers .offer-item.main-offer {
		padding: 0 7px;
	}


}







@media screen and (min-width: 768px) {
	/*================== Start Common Setting ==================*/	
	.checkbox-input-field { width: 300px; display: inline-block; }
	/*================== End Common Setting ==================*/


}


@media screen and (max-width: 1920px) {
	body.nofullwidth{border:none;}
	
}


@media screen and (max-width: 1440px) {
	
}


@media screen and (max-width: 1280px) {

	.steps .step-box {
		width: 280px;
	}

}


@media screen and (max-width: 1024px) {
	textarea,input[type=text] {   
    /* Remove First */
    -webkit-appearance: none;
    -moz-appearance: none;
		appearance: none;
	}

	.kv-title { margin-right: 80px; }
	.steps .step-box {
		width: 250px;
	}

	.offers .offer-item.main-offer {
		font-size: 21px;
	}


}

@media screen and (max-width: 991px) {
	.steps .step-box { width: 100%; margin: 0 auto 24px}

	footer {
        padding: 30px 0 25px;
    }


	.steps .step-box .head{font-size: 20px; text-align: left;}
	.steps .step-box p {text-align: left;}
	.steps .step-box {height: unset; margin-bottom: 80px;}
	.steps .step-box .content {padding:20px 15px; gap:20px;flex-direction: row; justify-content: center; flex-direction: row; text-align: left;}

	.steps .step-box p span.red {
	    display: inline-block;
	}


	.steps .step-row .col-xs-12:not(:last-of-type):after {
		transform: rotate(90deg);
        left: 48%;
        right: 0;
        top: unset;
        bottom: 20px;
        margin: 0;
	}

	.steps .remarks {margin-top: 0}
	.steps .step-box img {max-width: 55px; margin-bottom: 0}

	.steps .step-box .content {background: url(../_img/gold-border-h.png) no-repeat top center / 100% 100%;}

	.offers .col-md-3 {margin-bottom: 20px}
	.offers .col-md-3:nth-child(2n) {
		border-right: 0;
	}

}


/****** Tablet Screen ******/
@media screen and (max-width: 768px) {
	[data-aos-delay] {
    	transition-delay: 0s !important;
	}

	span.one{display:block}
	
	.kv_logo img { max-width: 360px}
	.kv-title { margin-right: 35px;}
/*	.main_intro h1 {font-size:24px}*/
	.main_intro h1 font {font-size: 38px}
/*	.main_intro h1 span {font-size: 32px}
	h2.title, .steps h2 {font-size:24px;}*/

	.offers .offer-item span.num {font-size: 30px}


	.main_intro h1~p span.quota { 
		font-size: 32px
	}

	.offers .offer-item span {
		font-size: 24px;
	}


}

@media screen and (max-width:767px){
	.checkbox-inside-align > .row { margin:0 -15px !important; width:unset !important;}
	
	.offer-item, .offers .offer-item.item-margin {margin:30px 0}


	.offers .col-md-3:not(:last-of-type){ border:0; }

	.offers .col-md-3:not(:last-of-type) .offer-item { 
		border:0; 
		border-bottom: 1px solid #1d1d1d;
		padding-bottom: 30px;
		margin-bottom: 0;
	}

	.offers .col-md-3:last-of-type .offer-item { 
		border-bottom: 1px solid #1d1d1d;
		padding-bottom: 30px;
	}
	
	.offers h2 {
		margin-bottom: 0;
	}


}

@media screen and (max-width:550px){

	.main_intro/*, .ginza-content*/ {margin-bottom: 30px}

    .logo-row .logo_container img:nth-child(1) {
        margin-right: 15px;
    }
    .logo-row img {
        height: 30px;
    }
    .logo-row .logo_container img:nth-child(2) {
        margin: 0;
        height: auto;
    }

    .main_intro h1 {
    	margin-top: 30px;
    	font-size: 36px;
    }

    .main_intro h2 {
    	padding: 0;
    	font-size: 32px;
    }


 	.main_intro h1 font { font-size: 32px; }

 	.main_intro .remark_cta {display: block; margin:5px auto 0}
	.main_intro .intro_text{font-size: 18px; margin-bottom: 35px}

	.main_intro p { font-size: 24px; }

	.gift .bg-gold {padding: 10px 0}
	.gift .name div {font-size: 22px}
	.gift .name {font-size: 32px}

	.gift .intro {padding: 30px 25px;}

	.kv-info {margin-bottom: 30px}

	.steps {background: url(../_img/bg-steps.jpg) no-repeat top left -300px / cover;}
	.steps .step-box .content {background: url(../_img/gold-border-h.png) no-repeat top center / 100% 99%;}


	.offers .offer-item, .offers .offer-item.main-offer {font-size: 22px}
}


/* Mobile Screen */
@media screen and (max-width: 414px) {
	.checkbox-input-field{width:100%}
	.main_intro .intro_text one{ display:none;}
	
	.kv_logo {padding:20px 0;}
	.kv_logo img {max-width: 280px;}
	.main_intro .intro_text{margin: 30px auto;}
	
	.main_intro .intro_text {padding:0}
	.main_intro .btn_cta{font-size: 21px;}
	.supportDiv .container .supportholder img{width: 120px;}
	
	.checkbox-inside-align > .row { margin:0 -15px !important; width:unset !important;}
 	.thanks-intro p {font-size:16px;}
}

@media screen and (max-width: 375px) {
    footer .logo-row .logo_container img:nth-child(1) {
        margin-right: 5px;
    }
    footer .logo-row .logo_container img:nth-child(2) {
        width: 40%;
    }

}

@media screen and (max-width: 320px) {
	.kv_logo { padding: 15px 0;}
	.kv_logo img {max-width: 220px}
	/*.main_intro .remark_cta span {display: none;}*/

	.supportDiv .container .supportholder img{zoom:75%;}

	.main_intro h1 {font-size: 30px}
	.main_intro h2 {font-size:24px}
}


/* Internet Explorer*/
 /*@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  
}*/
