@charset "UTF-8";

/* override
*******************************/
#container #contents {
	width: 100%;
	color: #3c3c3c;
}


/* common
*******************************/

/* 注意書き */
.note {
	font-size: 14px;
    color: #e61e0a;
}

/* 余白 */
.mt8 { margin-top:	8px !important;}
.mt16 { margin-top:	16px !important;}
.mt24 { margin-top:	24px !important;}
.mt32 { margin-top:	32px !important;}
.mt40 { margin-top:	40px !important;}

/* align */
.align-c { text-align: center !important;}

/* CTAボタン */
.lp_btn img {
    display: block;
    margin: 0 auto;
}
a.btn-cta {
    display: block;
	position: relative;
    margin: 0 auto;
	width: 400px;
    padding: 19px 0;
    line-height: 1.3;
    background: #FF5054;
    box-shadow: 0px 5px 0px #F42C3B;
    border-radius: 99px;
    color: #ffffff;
	text-decoration: none;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
	transition: .2s;
}
a.btn-cta::before {
	content: "";
	position: absolute;
	top: 34px;
	right: 26px;
	display: block;
	width: 12px;
	height: 3px;
	border-radius: 5px;
	background-color: #ffffff;
	transform: rotate(-45deg);
}
a.btn-cta::after {
	content: "";
	position: absolute;
	bottom: 34px;
	right: 26px;
	display: block;
	width: 12px;
	height: 3px;
	border-radius: 5px;
	background-color: #ffffff;
	transform: rotate(45deg);
}
a.btn-cta:hover {
	color: #ffffff;
	text-decoration: none;
	background: #F42C3B;
	box-shadow: 0px 0px 0px #F42C3B;
	transform: translate3d(0, 5px, 0);
}


/* mainvisual
*******************************/
.lp_mainvisual {
	position: relative;
}
.lp_mainvisual h1 {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 300px;
	margin: 0 auto;
}
.lp_mainvisual h1 img {
	position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.lp_mainvisual p {
    width: 100%;
    position: absolute;
    bottom: 60px;
    left: 0;
	text-align: center;
    font-size: 14px;
    font-weight: 500;
	color: #fff;
	text-shadow: 0 2px 0 #F42C3B;
}
@media screen and (min-width:1920px) {
	.lp_mainvisual h1 {
		width: 100%;
		height: auto;
	}
	.lp_mainvisual h1 img {
		position: relative;
		width: 100%;
		height: auto;
	}
}


/* 賞品画像（シェア画像）
*******************************/
.lp_prize {
	position: relative;
	width: 900px;
	margin: 48px auto 24px;
}
.lp_prize .btn_share {
    position: absolute;
    top: 32px;
    right: 20px;
    z-index: 2;
}
.share_img {
	position: relative;
	z-index: 1;
}
.share_img img {
	z-index: 1;
}
.share_img .btn-cta {
	position: absolute;
    bottom: 64px;
    right: 20px;
    z-index: 2;
    color: #ffffff;
    background: #43BEA1;
    box-shadow: 0px 3px 0px #2CAC8F;
    width: 244px;
    padding: 12px 0;
}
.share_img .btn-cta:hover {
	color: #ffffff;
	text-decoration: none;
	background: #2CAC8F;
    box-shadow: 0px 0px 0px #2CAC8F;
	transform: translate3d(0, 5px, 0);
}
.share_img .btn-cta::before {
	content: "";
    position: absolute;
    top: 27px;
    right: 20px;
    width: 10px;
    height: 2px;
}
.share_img .btn-cta::after {
	content: "";
    position: absolute;
    bottom: 27px;
    right: 20px;
    width: 10px;
    height: 2px;
}


/* タイアップバナー
*******************************/
/*.lp_banner {
    display: block;
    text-align: center;
    margin: 48px 0 24px;
}*/


/* キャンペーンバナー
*******************************/
/*.bnr_cp {
	margin-top: 30px;
	background: url(../img/lp/present_cp_bg.png);
    background-size: cover;
    padding: 0 20px 20px;
}
.bnr_cp a:hover {
	opacity: 0.8;
}*/



/* シュフーポイントの貯め方
*******************************/
.lp_point {
	position: relative;
    width: 900px;
    margin: 48px auto;
    border: 1px solid #999;
    padding: 24px 32px 32px;
    box-sizing: border-box;
}
.lp_point p:nth-child(1) {
	font-size: 18px;
    text-align: center;
}
.lp_point p:nth-child(1) em {
	font-weight: 500;
}
.lp_point p:nth-child(1) a {
	text-decoration: underline;
}
.lp_point p:nth-child(2) {
	font-size: 14px;
	line-height: 1.6;
	margin-top: 16px;
}


/* AppStore・GooglePlay
*******************************/
.lp_app_dl {
	background-color: #FBFAF6;
}
.lp_app_dl .inner {
	width: 900px;
	margin: 0 auto;
	padding: 48px 0 16px;
	display: flex;
}
.lp_app_dl .inner > img {
	padding: 0 48px 0 48px;
}
.lp_app_dl .inner .text {
	padding-right: 48px;
}
.lp_app_dl .inner .text h3 {
	font-size: 34px;
	line-height: 1.5;
	font-weight: bold;
	margin-top: 16px;
}
.lp_app_dl .inner .text p {
	font-size: 16px;
	line-height: 1.8;
	margin-top: 24px;
}
.lp_app_dl .inner .btn_store {
	margin-top: 24px;
}
.lp_app_dl .inner .btn_store a {
	display: inline-block;
	transition: .2s;
}
.lp_app_dl .inner .btn_store a:hover {
	opacity: 0.8;
}
.lp_app_dl .inner .btn_store a:nth-child(1) {
	margin-right: 16px;
}


