html {
  height: 100%;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  position: relative;
  margin: 0;
  padding-bottom: 230px;
  min-height: 100%;
  font-family: "Helvetica Neue", Arial, sans-serif;
}
.footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1rem;
  background-color: #72b20d;
  text-align: center;
}
.nopadding {
   padding: 0 !important;
   margin: 0 !important;
}
.nopad-left {
   padding-left:0px;
}
.nopad-right {
   padding-right:0px;
}
.m-t-5{
	margin-top:5px;
}
.m-t-15{
	margin-top:15px;
}
.m-t-30{
	margin-top:30px;
}
.align-cen{
	text-align:center;
}
.align-right{
	text-align:right;
}
label.error {
    font-size: 14px;
    display: block;
    margin-top: 5px;
    font-weight: normal;
    color: #F44336;
}
label.success {
    font-size: 14px;
    display: block;
    margin-top: 5px;
    font-weight: normal;
    color: #00B900;
}
.footer-copyright{
	color:#fff;
	font-size:11px;
}
.footer-privacy{
	color:#fff;
	font-size:12px;
}
.footer-text{
	color:#fff;
	font-size:12px;
}
.header-bar{
	background-color:#d1d1d1;
	padding: 10px;
	color:#565656;
	font-weight:bold;
	z-index: 999;
}
.header-bar .title{
	float:left;
}
.header-bar .button-menu{
	float:right;
}
.btn-login{
	border:2px solid #619a00;
	background-color:#ffffff;
	color:#619a00;
	font-weight: bold;
	padding:5px;
}
.btn-normal{
	background-color:#d1d1d1;
	color:#565656;
	padding:5px;
	border-radius:5px;
	border:2px solid #565656;
}
.btn-normal .active{
	background-color:#565656;
	color:#ffffff;
	border:2px solid #565656;
}
.spot-menu{
	height: 100%;
	width: 0;
	position: absolute;
	z-index: 998;
	top:0;
	right: 0;
	background-color: #fff;
	overflow-x: hidden;
	transition: 0.5s;
	padding-top:120px;
}
.spot-menu-title{
	color:#565656;
	font-size:14px;
	font-weight:bold;
	display: block;
}
#btn_spot{
	z-index:999;
	text-decoration:none;
}
.spot-menu-container{
	padding-right:10px;
	padding-left:10px;
	padding-top:10px;
	padding-bottom:20px;
	width:180px;
}
.spot-menu-blue{
	color:#008cce;
	font-weight:bold;
	font-size:14px;
	border:1px solid #008cce;
	border-radius:5px;
	padding:5px;
	cursor:pointer;
}
.spot-list-blue{
	background-color:#c7f2ff;
	color:#565656;
	font-size:14px;
	padding-left:5px;
	padding-right:5px;
	padding-top:10px;
	padding-bottom:10px;
	display:none;
}
.spot-list-blue ul{
	list-style-type:none;
	padding-inline-start: 20px;
}
.spot-list-blue ul li{
	margin-bottom:10px;
}
.spot-list-blue ul li a{
	color:#565656;
	font-weight:bold;
	font-size:14px;
}
.spot-menu-yellow{
	color:#ff9d00;
	font-weight:bold;
	font-size:14px;
	border:1px solid #ff9d00;
	border-radius:5px;
	padding:5px;
	cursor:pointer;
}
.spot-list-yellow{
	background-color:#fcdeae;
	color:#565656;
	font-size:14px;
	padding-left:5px;
	padding-right:5px;
	padding-top:10px;
	padding-bottom:10px;
	display:none;
}
.spot-list-yellow ul{
	list-style-type:none;
	padding-inline-start: 20px;
}
.spot-list-yellow ul li{
	margin-bottom:10px;
}
.spot-list-yellow ul li a{
	color:#565656;
	font-weight:bold;
	font-size:14px;
}
.spot-menu-red{
	color:#e85471;
	font-weight:bold;
	font-size:14px;
	border:1px solid #e85471;
	border-radius:5px;
	padding:5px;
	cursor:pointer;
}
.spot-list-red{
	background-color:#f8b9c5;
	color:#565656;
	font-size:14px;
	padding-left:5px;
	padding-right:5px;
	padding-top:10px;
	padding-bottom:10px;
	display:none;
}
.spot-list-red ul{
	list-style-type:none;
	padding-inline-start: 20px;
}
.spot-list-red ul li{
	margin-bottom:10px;
}
.spot-list-red ul li a{
	color:#565656;
	font-weight:bold;
	font-size:14px;
}
.spot-menu-purple{
	color:#8d12dd;
	font-weight:bold;
	font-size:14px;
	border:1px solid #8d12dd;
	border-radius:5px;
	padding:5px;
	cursor:pointer;
}
.main-button{
	width: 100%;
	padding: 10px;
	outline: none;
	border: none;
}
.main-underline{
	display: block;
	margin: 20px 0px;
	border-top: 1px solid #cccccc;
}
.main-input{
	width: 100%;
	font-size: 1.5em;
	padding: 10px;
    border-radius: 10px;
	border: 1px solid #848484;
}

/* Mypage */
.mypage-text-title{
	color:#f45221;
	font-size: 18px;
}
.mypage-text-topic{
	color:#f45221;
	font-size: 14px;
}
.mypage-text-description{
	color:#848484;
	font-size: 12px;
}


/* Top page */
.main-banner,
.top-banner{
	position: relative;
	/*max-height: 500px;*/
	overflow: hidden;
}
.top-banner{
	margin-top: 15px;
}
.main-banner img,
.top-banner img{
	width: 100%;
}
.top-button-container{
	width: 100%;
	margin-top: 15px;
}
.main-button.login,
.main-button.search,
.main-button.register,
.main-button.forgot,
.main-button.reset{
	font-size: 1.5em;
	color: #ffffff;
	font-weight: bold;
	background-color: #008cce;
}
.main-button.about{
	font-size: 1.5em;
	color: #ffffff;
	font-weight: bold;
	background-color: #e85471;
}
.icon-login{
	background: url('../images/icon/login.png') no-repeat;
	background-size: 19px auto;
	padding-left: 25px;
}
.icon-about{
	background: url('../images/icon/about.png') no-repeat;
	background-size: 22px auto;
	padding-left: 30px;
}
.icon-search{
	background: url('../images/icon/search.png') no-repeat;
	background-size: 22px auto;
	padding-left: 30px;
}
.icon-point{
	background: url('../images/icon/point.png') no-repeat;
	background-size: 25px auto;
	padding-left: 30px;
	background-position-y: 5px;
}
.icon-entry{
	background: url('../images/icon/entry.png') no-repeat;
	background-size: 25px auto;
}

.point-container{
	position: relative;
	border: 2px solid #f45221;
	border-radius: 10px;
	margin-top: 15px;
	padding-right: 100px;
}
.point-container .point-header{
	color: #f45221;
	text-align: center;
	font-weight: bold;
	background-color: #ffeea9;
	border-top-left-radius: 9px;
	padding: 10px 0px;
}
.point-header .header-description{
	font-size: 10px;
	font-weight: bold;
}
.point-value{
	text-align: center;
	color: #f45221;
}
.point-value .point{
	font-size: 2.5em;
}
.point-value .unit{
	font-weight: bold;
	font-size: 1.7em;
}
.point-container .point-button-container{
	position: absolute;
	top: 0px;
	right: 0px;
	width: 100px;
	height: 105px;
	background-color: #f45221;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}
.point-button-container .point-button img{
	width: 100px;
	padding: 26px 10px;
}

/* Login Page */
.login-register,
.login-forgot{
	margin-top: 15px;
}
.login-register .login-message,
.login-register .register-message,
.login-forgot .forgot-message{
	color: #848484;
	font-weight: bold;
	margin-bottom: 15px;
}
.login-register .login-message{
	text-align: center;
}
.login-register .register-header{
	color: #008cce;
	font-size: 1.4em;
	font-weight: bold;
}
.login-register .main-button.register{
	font-size: 1.5em;
	color: #ffffff;
	font-weight: bold;
	background-color: #008cce;
}
#formLogin .input-email,
#formRegister .input-email,
#formForget .input-email{
	font-size: 1.5em;
	background: url('../images/icon/email.png') no-repeat;
	background-position: 10px;
	background-size: 30px auto;
	height: auto;
	padding: 10px 10px 10px 50px;
}
#formLogin .input-password,
#formRegister .input-password,
#formReset .input-password{
	font-size: 1.5em;
	background: url('../images/icon/password.png') no-repeat;
	background-position: 10px;
	background-size: 30px auto;
	height: auto;
	padding: 10px 10px 10px 50px;
}
#formRegister .select-register{
	font-size: 1.4em;
	height: 50px;
	padding: 10px;
	width: 100%;
}
#formLogin .input-checkbox{
	padding: 10px 0px;
}
.login-forgot{
	color: #008cce;
	text-align: center;
	font-weight: bold;
	padding: 10px 0px;
}
.login-forgot a{
	text-decoration: none;
}

/**shop**/
.shop-title{
	color:#ff9d00;
	font-size:20px;
	font-weight:bold;
}
.shop-title2{
	color:#565656;
	font-size:14px;
}
.shop-detail{
	color:#565656;
	font-size:14px;
}
.hr-shop{
	margin-top:15px;
	margin-bottom:10px;
	border-top: 1px solid #cccccc;
}
.shop-image{
	/* border:10px solid #ffffff;
	-webkit-box-shadow: 0px -1px 10px 5px rgba(184,184,184,1);
	-moz-box-shadow: 0px -1px 10px 5px rgba(184,184,184,1);
	box-shadow: 0px -1px 10px 5px rgba(184,184,184,1); */
}
.main-button.checkin
{
	font-size: 1.5em;
	color: #ffffff;
	font-weight: bold;
	background-color: #ff9b24;
}
.main-button.disable
{
	font-size: 1.5em;
	color: #ffffff;
	font-weight: bold;
}

/* redeem */
.redeem-header {
	margin-top: 15px;
}

.redeem-header .header{
	color: #f45221;
	font-size: 1.4em;
	font-weight: bold;
}
.redeem-header .description{
	color: #848484;
	font-weight: bold;
}
.redeem-header .highlight-pink{
	color: #f45221;
}
.redeem-message{
	border: 2px solid #f45221;
	color: #f45221;
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	padding: 10px;
}
.main-button.apply{
	background-color: #f45221;
	color: #ffef27;
	font-weight: bold;
	font-size: 1.5em;
}
.main-button.complete{
	background-color: #f45221;
	color: #ffffff;
	font-weight: bold;
	font-size: 1.5em;
}
.redeem-message-description{
	color: #848484;
	font-weight: bold;
	font-size: 0.8em;
	margin: 15px 0px;
}.alert-title-success{
	color:#25d11c;
}

/*point rally detail*/
.point-detail-header{
	font-size: 1.5em;
	color: #71b20a;
	font-weight: bold;
	margin-top: 15px;
}
.point-detail-subheader{
	font-size: 1.1em;
	color: #71b20a;
	font-weight: bold;
	margin-top: 15px;
}
.point-detail-banner,
.point-detail-button{
	margin-top: 15px;
}
.point-detail-banner img{
	width: 100%;
}
.point-detail-message{
	border: 2px solid #71b20a;
	color: #71b20a;
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	padding: 15px;
	margin-top: 15px;
}
.point-detail-message.round{
	border-radius: 10px;
}
.point-detail-message-description{
	margin-top: 15px;
	font-size: 1.1em;
	font-weight: bold;
	color: #5F6368;
}
.pink{
	color: #e85471;
}

/* how to */
.point-detail-container{

}
.howto-container{
	margin-top: 20px;
}
.howto-container img{
	width: 100%;
	height: 100%;
}
.howto-content{
	font-weight: bold;
}
.point-detail-description{
	margin-top: 15px;
	font-size: .8em;
	font-weight: bold;
	color: #5F6368;
}
.howto-container .email{
	font-size: 0.8em;
}
input:focus::placeholder {
  color: transparent;
}
.line-login, .line-login:hover {
    background-color: #00a651;
	border-color: #ccc;
    color: #ffffff;
	font-weight: bold;
	font-size: 1.5em;
	margin-top:10px;
}