@charset "utf-8";
/* CSS Document */
@import url("reset.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;700&display=swap');

body{
	font-family:'微軟正黑體', Arial, "sans-serif";
	font-size:16px;
	color:#333333;
	image-rendering:-webkit-optimize-contrast;
}

.webout{
	max-width:2000px;
	margin:0 auto;
	overflow:hidden;
	position:relative;
}

.out{
	max-width:1200px;
	padding:0 20px;
	margin:0 auto;
	position:relative;
}

/*BANNER-----------------------------------------*/
.banner{
	background:#FADAE9 url("../images/bn_bg.png") top center no-repeat;
	position:relative;
	padding-top:85px;
}

.banner .t1{
	display:block;
	margin:0 auto;
}

.banner .t2{
	display:block;
	position:relative;
	z-index:1;
	margin:5px auto 0;
}

.banner .img{
	display:block;
	margin-top:-70px;
	position:relative;
	left:50%;
	margin-left:-535px;
}

.banner .left,
.banner .left1,
.banner .right,
.banner .right3{
	position:absolute;
	left:50%;
}

.banner .left1{
	top:60px;
	margin-left:-500px;
}

.banner .left2{
	top:293px;
	margin-left:-675px;
}

.banner .left3{
	top:615px;
	transform:rotate(-45deg);
	margin-left:-640px;
}

.banner .right1{
	top:70px;
	margin-left:430px;
}

.banner .right2{
	top:250px;
	margin-left:510px;
	transform:rotate(7deg);
}

.banner .right3{
	top:355px;
	margin-left:650px;
}

.banner .mb{
	display:none;
}

@media only screen and (max-width:1400px){
	.banner{
		padding-top:50px;
	}
	
	.banner .img{
		max-width:800px;
		transform:translateX(-50%);
		margin-left:-30px;
	}
}

/*S1-----------------------------------------*/
.s1{
	background:url("../images/s1_cloud.png") top center no-repeat;
	padding:70px 20px 0;
	height:191px;
	margin:-160px 0 -70px;
	position:relative;
	z-index:1;
	text-align:center;
}

.s1 img{
	vertical-align:middle;
}

.s1 p{
	display:inline-block;
	vertical-align:middle;
	max-width:680px;
	font-size:23px;
	line-height:1.3em;
	color:#008DD3;
	font-weight:bold;
	text-align:left;
	margin-left:0.6em;
}

.s1 p a{
	color:#EB6DA5;
	transition:color 0.2s;
}

.s1 p a:hover{
	text-decoration:underline;
	color:#E4438B;
}

.s1 .mb{
	display:none;
}

/*S2-----------------------------------------*/
.s2{
	position:relative;
	padding:90px 0 70px;
	text-align:center;
	overflow:hidden;
}

.s2:after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:3000px;
	height:3000px;
	background:url(../images/s1_bg.png);
	transform:translate(-50%,-50%) rotate(-55deg);
}

.s2 ul{
	position:relative;
	z-index:1;
}

.s2 li{
	display:inline-block;
	vertical-align:middle;
	margin-bottom:-35px;
}

.s2 li img{
	width:100%;
}

.s2 li.pc{
	margin-right:10px;
}

.s2 li.mb{
	display:none;
}

@media screen and (max-width:1150px) and (min-width:1001px){
	.s2 li:nth-child(1){
		max-width:60%;
	}

	.s2 li:nth-child(3){
		max-width:38%;
	}
	
	.s2 li:nth-child(4){
		max-width:28%;
	}

	.s2 li:nth-child(5){
		max-width:31%;
	}

	.s2 li:nth-child(6){
		max-width:37%;
	}
}

/*GIFT-----------------------------------------*/
.gift{
	background:#FDF0F5;
	padding-top:45px;
}

.gift .out{
	max-width:1100px;
	padding:0;
}

#gift{
	position:absolute;
	top:-90px;
}

/*GIFT_TOP-----------------*/
.gift .top{
	text-align:center;
	padding-top:17px;
	position:relative;
}

.gift .top:after{
	content:"";
	position:absolute;
	left:0;
	bottom:-14px;
	height:14px;
	width:100%;
	background:url("../images/gift_top_bm.png") top center;
	background-size:auto 14px;
}

.gift .top h6{
	height:83px;
	background:#E49F2C;
}

.gift .top h6 span{
	display:inline-block;
	margin-top:21px;
	position:relative;
}

.gift .top h6 span:before,
.gift .top h6 span:after{
	content:"";
	position:absolute;
	top:50%;
	width:63px;
	height:2px;
	background:#FFFFFF;
}

.gift .top h6 span:before{
	left:-80px;
}

.gift .top h6 span:after{
	right:-80px;
}

.gift .top .left{
	position:absolute;
	left:0;
	bottom:0;
	width:25%;
	max-width:133px;
}

.gift .top .right{
	position:absolute;
	right:0;
	top:0;
	width:12.5%;
	max-width:70px;
}

/*GIFT_BOTTOM-----------------*/
.gift .bottom{
	background:#FFFFFF;
	padding:70px 60px 0;
}

.gift .bottom li{
	position:relative;
}

.gift .bottom li:nth-child(odd){
	font-size:0;
	border:#EF8CB7 4px solid;
	border-radius:20px;
	position:relative;
	background:linear-gradient(to right,#FFEFBF 50%,#FFFFFF 50%);
	box-shadow:0 4px #E5E5E5;
	padding-bottom:20.7%;
}

.gift .bottom li img{
	display:inline-block;
	width:50%;
	position:absolute;
	z-index:1;
}

.gift .bottom li img{
	display:inline-block;
	width:53%;
	position:absolute;
}

.gift .bottom li .left{
	left:-3.1%
}

.gift .bottom li .right{
	right:-3.1%
}

.gift .bottom li.gift1 img{
	top:-22%;
	width:56.5%;
}

.gift .bottom li.gift2 img{
	top:-15%;
	width:54%;
}

.gift .bottom li.gift3 img{
	top:-12%;
}

.gift .bottom li.gift4 img{
	top:-10%;
}

/*GIFT_BOTTOM_TABLE*/
.gift .bottom li table{
	width:100%;
	max-width:490px;
	margin:45px auto 60px;
}

.gift .bottom li table td{
	font-size:19px;
	text-align:center;
	padding:0.7em;
	width:33.33%;
	border-bottom:#EF8CB7 1px solid;
}

.gift .bottom li table tr:first-child td{
	color:#FFFFFF;
	font-weight:bold;
	background:#EF8CB7;
}

/*S3-----------------------------------------*/
.s3{
	padding:70px 0;
	background:#FDF0F5;
}

.s3 h6{
	font-size:18px;
	color:#D85985;
	margin-bottom:1em;
}

.s3 h6 img{
	vertical-align:-10%;
	margin-right:5px;
}

.s3 .list{
	margin-left:1.2em;
	line-height:1.7em;
}

.s3 ol ol{
	margin-left:1em;
	list-style:lower-alpha;
}

/*COMMON--------------------------------------------------------------------*/
article{
	margin-top:90px;
}

/*HEADER-----------------------------------------*/
header{
	font-family:'Noto Serif TC', serif;
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
	width:100%;
	font-size:20px;
	background:#FFFFFF;
	box-shadow:0px 2px 2px rgba(0,0,0,0.1);
}

/*COMMON--------------------------------------------------------------------*/
article{
	margin-top:90px;
}

/*HEADER-----------------------------------------*/
header{
	font-family:'Noto Serif TC', serif;
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
	width:100%;
	font-size:20px;
	background:#FFFFFF;
	box-shadow:0px 2px 2px rgba(0,0,0,0.1);
}

header nav{
	height:90px;
	position:relative;
}

header .logo{
	position:absolute;
	top:50%;
	left:20px;
	width:60%;
	max-width:248px;
	transform:translateY(-50%);
}

header .pc .menu{
	float:right;
	font-weight:700;
	margin-top:27px;
}

header .pc .menu > li{
	display:inline-block;
	vertical-align:top;
	position:relative;
}

header .pc li.p{
	margin-right:40px;
}

header li.p a,
header li.m a{
	display:inline-block;
	color:#FFFFFF;
	line-height:37px;
	text-align:center;
	width:245px;
	height:40px;
	background:url("../images/header_bt.png");
	background-size:cover;
	position:relative;
	top:0;
	transition:0.2s;
}

header li.p a:hover,
header li.m a:hover{
	top:-5px;
}

header li img{
	display:block;
	width:140px;
}

header .menu .win{
	font-family:'微軟正黑體', Arial, "sans-serif";
	font-weight:bold;
	padding:5px 0 14px;
	cursor:pointer;
}

header .pc .menu .win li{
	border-bottom:#ECBC6C 1px solid;
}

header .menu .win li:last-child{
	border-bottom:none;
}

header .pc .menu ul{
	position:absolute;
	top:50px;
	right:0;
	background:#E49F2C;
	border-radius:10px;
	padding:0;
	max-height:0;
	overflow:hidden;
	transition:0.2s;
}

header .pc .menu .win:hover ul{
	padding:10px 0;
	max-height:150px;
}

header .pc .menu ul a{
	display:block;
	font-size:17px;
	color:#FFFFFF;
	padding:0.7em 1em;
	white-space:nowrap;
	transition:0.2s;
}

header .pc .menu ul a:hover{
	background:#AA7020;
}

header .mb_bt,
header .mb,
header .menu li.m{
	display:none;
}

/*LOADER-----------------------------------------*/
.loader_page{
	position:fixed;
	top:0;
	left:0;
	height:100%;
	width:100%;
	z-index:8000;
	background:#FFFFFF;
	-webkit-transition:1s cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition:1s cubic-bezier(1.000, 0.000, 0.000, 1.000);
}

.loader_page img{
	width:260px;
}

.loader_page .progress_back{
	width:200px;
	height:1px;
	background:#EEEEEE;
	margin:20px auto;
}

.loader_page .progress-bar{
	background:#004EA2;
	height:1px;
	width:0%;
}

.loader_page.active{
	top:-100%;
}

.loader_page .out{
	display:inline-block;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	text-align:center;
	-webkit-transition:0.5s;
	transition:0.5s;
}

.loader_page.active .out{
	opacity:0;
}

/*FOOTER-----------------------------------------*/
footer{
	background:#E35E9A;
	padding:40px 20px;
	text-align:center;
}

footer img{
	width:25px;
	vertical-align:middle;
	margin-right:10px;
}

footer .phone{
	font-family:'Noto Serif TC', serif;
	font-size:19px;
	color:#FFFFFF;
	line-height:1.3em;
}

footer .phone span{
	display:inline-block;
	margin-bottom:0.3em;
}

footer .copyright{
	font-size:15px;
	color:#FFFFFF;
	line-height:1.5em;
	opacity:0.6;
}

/*MOBILE----------------------------------------------------------------------------*/
@media only screen and (max-width:1000px){
	/*BANNER-----------------------------------------*/
	.banner{
		background:none;
		padding-top:0;
		z-index:1;
	}
	
	.banner .pc{
        display:none;
    }
	
    .banner .mb{
        display:block;
		width:100%;
		margin-bottom:-9%;
    }

	/*S1-----------------------------------------*/
	.s1{
		background:none;
		padding:0;
		height:auto;
		margin:-25% 0 0;
	}
	
	.s1 img{
		width:20%;
	}
	
	.s1 p{
		max-width:70%;
		font-size:3.1vw;
	}
	
	.s1 .mb{
		display:inline;
	}
	
	.s1 .pc{
		display:none;
	}
	
	/*S2-----------------------------------------*/
	.s2{
		position:relative;
		padding:12% 0 10%;
		text-align:center;
		overflow:hidden;
	}
	
	.s2 li{
		display:block;
		margin-bottom:10px;
	}
	
	.s2 li.pc{
		display:none;
	}
	
	.s2 li.mb{
		display:block;
		margin-bottom:0;
	}
	
	/*GIFT-----------------------------------------*/
	
	/*GIFT_TOP-----------------*/
    .gift .top h6 span:before,
    .gift .top h6 span:after{
		display:none;
    }
	
    .gift .bottom{
        background:#FFFFFF;
        padding:50px 20px 10px;
    }
	
    /*GIFT_BOTTOM_TABLE*/
    .gift .bottom li table{
        width:100%;
        max-width:490px;
        margin:30px auto;
    }
	
    .gift .bottom li table td{
        font-size:14px;
    }
	
    .gift .bottom li .right{
		width:60%;
		right:-8.5%
    }
	
    .gift .bottom li.gift1 .right{
        top:-21%;
		right:-3%;
    }
	
    .gift .bottom li.gift2 .right{
        top:-17%;
		right:-4%
    }
	
    .gift .bottom li.gift3 .right,
	.gift .bottom li.gift4 .right{
        top:-21%;
    }
	
	/*COMMON--------------------------------------------------------------------*/
	article{
		margin-top:60px;
	}
	
	/*HEADER-----------------------------------------*/
	header nav{
		height:60px;
	}
	
	header .pc,
	header li.p{
		display:none;
	}
	
	header .mb_bt,
	header .mb,
	header .menu li.m{
		display:block;
	}
	
	header .mb_bt{
		position:absolute;
		top:50%;
		right:20px;
		width:40px;
		height:40px;
		margin-top:-20px;
		text-align:left;
		cursor:pointer;
	}
	
	header .mb_bt span{
		height:2px;
		width:40px;
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		margin:auto;
		background:#004EA2;
		transition:0.3s;
		display:block;
	}
	
	header .mb_bt span:before,
	header .mb_bt span:after{
		content:"";
		height:2px;
		width:40px;
		position:absolute;
		right:0;
		background:#004EA2;
		transition:0.3s;
	}
	
	header .mb_bt span:before{
		top:-10px;
	}
	
	header .mb_bt span:after{
		top:10px;
	}
	
	header .mb_bt:hover span,
	header .mb_bt:hover span:before,
	header .mb_bt:hover span:after{
		width:35px;
	}
	
	header .mb_bt.active span:before{
		width:40px;
		top:0;
		transform:rotate(45deg);
	}
	
	header .mb_bt.active span:after{
		width:40px;
		top:0;
		transform:rotate(-45deg);
	}
	
	header .mb_bt.active:hover span{
		width:40px;
		transform:rotate(-90deg);
	}
	
	header .mb_bt.active span{
		background:none;
	}
	
	header .mb{
		position:fixed;
		top:60px;
		left:0;
		width:100%;
		background:#FFFFFF;
		box-shadow:0px 2px 2px rgba(0,0,0,0.1);
		max-height:0;
		overflow:hidden;
		transition:0.5s;
	}
	
	header .mb.active{
		max-height:300px;
	}
	
	header .mb .menu{
		text-align:center;
		padding:40px;
	}
	
    header .mb li img{
        display:inline-block;
		margin:10px 0 5px;
    }
	
    header .mb .menu ul a{
        display:inline-block;
        font-size:17px;
        color:#97601C;
        padding:0.7em 0;
		border-bottom:#EBC898 1px solid;
        transition:0.2s;
    }
	
	header .mb .menu ul a:hover{
        color:#004EA2;
    }
	
	header .menu .win{
		padding:5px 0 0;
	}
	
    header .menu .win li:last-child a{
		border-bottom:none;
    }
	
	/*FOOTER-----------------------------------------*/
	footer .phone span{
		display:block;
	}
	
	footer .phone .pc{
		display:none;
	}
}