body *{
	position: relative;
	box-sizing: border-box;
}
#body{
	margin:0;
	padding:0;
	font-size: 14px;
	font-family: "Helvetica Neue","Helvetica","Arial",微軟正黑體, sans-serif;
	font-weight:normal;
	color:#333;
	line-height:1.4;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
#body.bg{
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
html, body {
	height: 100%;
}
.fix-img-wrp{
	display: inline-block;
	height: 100%;
}
.fix-img-wrp .footer{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.fix-img{
	width: 100%;
	height: 100%;
	background-color: #000;
	text-align: center;
}
.img-contain{
	max-width: 100%;
	height: 100%;
	object-fit: contain;
}
.img-scale{
	width: 100%;
	height: auto;
}
.vert-scale{
	width: auto;
	height: 100%;
}
.clearfix:after{
	content: '';
	display: block;
	position: relative;
	clear: both;
}
.float-l{
	float: left;
}
.float-r{
	float: right;
}
a{
	cursor: pointer;
}
.header{
	padding-top: 50px;
	padding-bottom: 50px;
}
.pd{
	padding-left: 50px;
	padding-right: 50px;
}
.flex-wrp{
	display: flex;
}
.header.flex-wrp{
	justify-content: space-between;
	align-items: center;
}
.header .flex-child{
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: auto;
}
.header .logo{
	width: 300px;
}
.header .company{
	font-size: 1.5em;
}
.img-wrp{
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
}
.reward-txt{
	text-align: center;
	font-size: 1.5em;
	padding-bottom: 20px;
}
.year{
	font-weight: bold;
}
.orange-txt{
	color: #faa634;
}
.footer .flex-wrp {
	justify-content: space-between;
	align-items: center;
}
.footer .flex-wrp .flex-child{
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: auto;
}
.footer .mpf20{
	width: 300px;
}
.footer{
	padding-bottom: 10px;
}
.footer .share-items > *:not(:last-child){
	margin-right: 30px;
}
.footer .share,
.footer .download{
	width: 30px;
}
@media only screen and (max-width: 1024px) {
.header{
	padding-top: 30px;
	padding-bottom: 30px;
}
.header .logo{
	width: 240px;
}
.pd{
	padding-left: 30px;
	padding-right: 30px;
}
}
@media only screen and (max-width: 768px) {
.header{
	padding-top: 20px;
	padding-bottom: 0px;
}
.pd{
	padding-left: 20px;
	padding-right: 20px;
}
.header .logo{
	width: 180px;
}
.header .company{
	font-size: 1.2em;
}
.footer .mpf20 {
    width: 200px;
}
.footer .share-items > *:not(:last-child) {
    margin-right: 20px;
}
.footer .share, .footer .download {
    width: 20px;
}
}
@media only screen and (max-width: 480px) {
.header.flex-wrp{
	display: block;
}
.header .company{
	margin-top: 20px;
}	
}