* {
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-font-smoothing: antialiased;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	color: #000;
	font-size: 14px;
}
article h2, article h3, article h4 {
	margin: 0;
}
img {
	max-width: 100%;
	vertical-align: middle;
}
.center {
	text-align: center;
}
.gray{
	color: #6B8899;
	font-weight: bold;
}
.red{
	color: #CF0F31;
	font-weight: bold;
}

.sp{display: none!important;}

.mb08{
	margin-bottom: 8px!important;
}

.mb12{
	margin-bottom: 12px!important;
}
.mb16{
	margin-bottom: 16px!important;
}

.mb24{
	margin-bottom: 24px!important;
}
.mb32{
	margin-bottom: 32px!important;
}
.mb36{
	margin-bottom: 36px!important;
}
.mb48{
	margin-bottom: 48px!important;
}
.pb36{
	padding-bottom: 36px!important;
}

.ls{
	letter-spacing: -0.08em;
}
@media screen and (max-width:767px){
	.sp{display: block!important;}
}
@media screen and (orientation: landscape) and (min-width: 960px) {
	.sp{display: block;}
	.tab{display: none;}
}

header{
	width:100%;
	margin: 0 auto;
	padding: 0;
	background: #fff;
	text-align: center;
}
header img{
	width:100%;
	max-width: 414px;
}

main{
	background: #9EDDE1;
	width: 100%;
	position: relative;
	margin: 0;
	padding: 0;
}
.mainvisual {
	margin: 0 auto;
	padding: 8px 0 0!important;
}

.mainvisual .announcement{
	position: relative;
	padding:0;
	margin: 0 auto 4px;
}
.mainvisual .announcement .bg{
	padding:0;
	margin: 0 auto;
	background-color:#2B653C; 
	background-image: url("../img/bg_xmas.png");
	background-size: 360px;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
}

.mainvisual .announcement p{
	margin: 0 auto;
	padding: 6px 2px 5px;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	z-index: 2;
}
.mainvisual .announcement p span{
	color: #C45157;
}

.mainvisual .limited{
	padding: 3px 8px 2px;
	margin: 0;
	text-align: right;
	font-size: 0px;
}
.mainvisual .limited span{
	color: #000;
	font-size: 8px;
}
.mainvisual h1{
	padding: 0 8px;
	margin: 0 auto;
	text-align: center;
}
.mainvisual .kv100_1000_2_1{
	position: relative;
	width: 100%;
	max-width: 430px;
	margin: 0 auto;
}
.mainvisual .kv100_1000_2_1 img{
	width: 100%;
	z-index: 1;
}
.mainvisual .kv100_1000_2_1 span{
	position: absolute;
	right:20px;
	bottom:14px;
	font-size: 10px;
	color: #555;
	display: block;
	z-index: 2;
}
.mainvisual h1 span a{
	color: #0099EB;
	text-decoration: underline;
}
.mainvisual img.plus {
	display: block;
	width: 100%;
	/*max-width: 22px;*/
	max-width: 192px;
	margin: 4px auto;
	text-align: center;
}
.mainvisual .mission_20pt {
	padding: 0 16px;
	margin: 0 auto 12px;
	text-align: center;
}
.mainvisual .mission_20pt img{
	width: 100%;
	max-width: 414px;
}
.whats_sfd{
	width: 100%;
	margin: 0 auto;
	padding: 5px 0;;
	background: url(../img/bg_whats_sfd.png) center center repeat;
}
.whats_sfd .box{
	margin: 0 auto;
	padding:0;
	background: #F5F5F5;
	text-align: center;
}
.whats_sfd .box img{
	width: 100%;
	max-width: 414px;
}
.cp_detail_area{
	max-width:414px;
	padding: 8px;
	margin: 0 auto;
	background: #9EDDE1;
}

/*タブ*/
.tabBox .tabArea {
  width: 100%;
  max-width:414px;	
  /*height: 80px;*/
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
.tabBox .tabArea .one_tab {
  width: 50%;
}
.tabBox .tabArea .one_tab a {
  display: block;
  text-decoration: none;
  /*transition-duration: 0.3s;*/
  text-align: center;
  color: #343434;
  font-size:16px;
  font-weight:bold;	
}
.tabBox .tabArea .one_tab .tab_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  border-radius: 8px 8px 0px 0px;
  background-color: #EFEFEF;
}
.tabBox .tabArea .one_tab .tab_inner.bot {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  border-radius: 0px 0px 8px 8px;
  background-color: #EFEFEF;
}
.tabBox .tabArea .one_tab:nth-child(1) .tab_inner {
}
.tabBox .tabArea .one_tab:nth-child(2) .tab_inner {
}

.tabBox .tabArea .one_tab a.select .tab_inner {
  height: 48px;
  background-color: #fff;
}
.tabBox .tabArea.bottom {
  align-items: flex-start;
}





.contents {
	
}
.contents .tab_main {
	position: relative;
  display: none;
  padding: 20px 16px 16px;
  text-align: center;
  transition-duration: 0.3s;
  background-color: #fff;	
}
.tab_main.is_show {
  display: block;
}
.tab_main:nth-child(1).is_show {
}
.tab_main:nth-child(2).is_show {
}
/*タブ*/

/*B01*/
.reco_area_b01{
	white-space: nowrap;
	position: absolute;
	top:0px;
	padding:0;
	margin: 0 auto;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	z-index: 8;
}
.reco_area_b01:before {
	position: absolute;
	content: '';
	top: 0;
	left: -5px;
	width: 0;
	height: 0;
	border-style: solid;
	/*border-width: 0 5px 21px 2px;*/
	border-width: 0;
	border-color: transparent transparent #cc0033 transparent;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}	
.reco_area_b01:after {
	position: absolute;
	content: '';
	top: 0;
	right: -5px;
	width: 0;
	height: 0;
	border-style: solid;
	/*border-width: 0 2px 21px 5px;*/
	border-width: 0;
	border-color: transparent transparent #cc0033 transparent;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}	
.reco_area_b01 .ribbon {
	display: inline-block;
	padding: 5px 3px 1px;
	margin: 0;
	position: relative;
	text-align: center;
	box-sizing: border-box;
	background-color: #E2F5F6;	
}
.reco_area_b01 .ribbon h3 {
	padding: 1px 5px 3px;
	margin: -1px 0 0 ;
	font-size: 12px;
	line-height: 1;
	font-weight: bold;
	color: #000;
}	
.reco_area_b01 .ribbon h3.fz11 {
	padding: 1px 5px 3px;
	margin: -1px 0 0 ;
	font-size: 11px;
	line-height: 1;
	font-weight: bold;
	color: #000;
}	
.reco_area_b01 .ribbon:before {/*左側のリボン端*/
	content: '';
	position: absolute;
	width: 6px;
	bottom: -3px;
	left: -16px;
	z-index: -2;
	border: 8px solid #C4E8E9;
	border-left-color: transparent;/*山形に切り抜き*/
}
.reco_area_b01 .ribbon:after {/*右側のリボン端*/
	content: '';
	position: absolute;
	width: 6px;
	bottom: -3px;
	right: -16px;
	z-index: -2;
	border: 8px solid #C4E8E9;
	border-right-color: transparent;/*山形に切り抜き*/
}
/*B02*/
.cp_detail_title{
	margin:36px 0 16px;
	color: #212121;
	font-size: 17px;
}
.cp_detail_title span{
	color: #C45157;
	font-weight: bold;
}
.innerArea{
	position: relative;
	border: 1px solid #fff;
}
.innerArea .line{
	display: block;
	width: 100%;
	max-width:414px;
	margin: 0 auto 12px;
}
.cp_title{
	position: relative;
	padding: 0 16px;
 	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin: 0 auto 26px;
}
.cp_title::after{
	background-color: #9EDDE1;
	bottom: -8px;
	content: "";
	height: 4px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 72px;
}

.push_notification .cp_title::after{
	background-color: #FFED8E;
}
.cp_terms cp_title::after{
	background-color: #777;
}
.step_participation{
	border-radius: 43px;
    display: block;
    padding: 2px 0;
    box-sizing: border-box;
    text-align: center;
    margin: 0 auto 16px;
	font-size:14px;
	font-weight: bold;
	width: 90px;
    color: #212121;
	border: 1px solid #CCC;
}
.innerArea .step_box{
	margin: 0 auto 36px;
	text-align: center;
}
.innerArea .step_box_last{
	margin: 0 auto 20px;
	text-align: center;
}
.innerArea .step_box img,
.innerArea .step_box_last img{
	margin: 0 auto 12px;
	display: block;
}
.innerArea .step_box p,
.innerArea .step_box_last p{
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.4;
	color: #212121;
}
.innerArea .step_box p span,
.innerArea .step_box_last p span{
	color: #cc0033;
	font-weight: bold;
}
.innerArea .step_precautions{
	margin: 48px auto 24px;
	text-align: left;
	padding: 12px;
	border: 1px solid #efefef;
}
.innerArea .step_precautions p{
	margin: 0;
	padding: 0;
	color: #555;
	font-size: 10px;
	line-height: 1.6;
	padding-left: 1em;
  text-indent: -1em;
}
.innerArea .step_precautions span{
	display: block;
	margin: 0 auto 8px;
	padding: 0;
	color: #212121;
	font-size: 12px;
	font-weight:bold;
	line-height: 1;
	text-align: center;
}

.innerArea .separator{
	margin: 0 auto 24px;
	padding: 0;
	border-bottom: 1px solid #efefef;
}

.innerArea img.plus_gray{
	display: block;
	margin: 0 auto 24px;
	padding: 0;
	width: 100%;
	max-width: 34px;
}
.innerArea .step_mission{
	margin: 0 auto;
	text-align: center;
}
.innerArea .step_mission img{
	margin: 0 auto 12px;
	display: block;
}

.innerArea .point_box{
	margin: 0 auto 36px;
	text-align: center;
}
.innerArea .point_box img{
	margin: 0 auto 12px;
	display: block;
}
.innerArea .point_box p.catch{
	margin: 0 auto 16px;
	padding: 0;
	font-size: 20px;
	line-height: 1.25;
	color: #343434;
	font-weight: bold;
	text-align: center;
}
.innerArea .point_box p{
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.4;
	color: #212121;
	text-align: left;
}
.innerArea .point_box p span{
	color: #cc0033;
	font-weight: bold;
}








section.link {
	padding: 12px 0;
	text-align: center;
	background: #fff;
	

}

section.link a {
	display: block;
	margin: 0 auto;
}




/*
.mainvisual::after {
	display: block;
	content: "";
	position: absolute;
	height: 38px;
	width: 100%;
	clip-path: polygon(0 0,50% 100%,100% 0);
	background-color: #A8E2E6;
	left: 0;
	margin-top:-0.05%;
}
*/
.msg_d_account{
	width: 100%;
	max-width: 328px;
	margin: 0 auto 8px;
	display: block;
}
.how_to_get{
	margin: 0 auto;
	padding: 16px 16px 6px;
	text-align: center;
}
.completed{
	margin: 0 auto;
	padding: 16px 16px 6px;
	text-align: center;
}
.completed .box::before{
	content: url(../img/checkmark.png);
	transform: scale(0.5);
	position: absolute;
	right: 0;
	left: 0;
	top:-42px;
	margin: 0 auto;
}
.how_to_get img.title{
	margin: 0 auto 12px;
	width: 100%;
	max-width: 420px;
}
.plate{
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 480px;
	background-color: #fff;
	border-radius: 8px;
}
.box{
	margin: 0 auto;
	padding: 16px;
}
.how_to_get img.box_title{
	margin: 0 auto 16px;
	width: 100%;
	max-width: 480px;
}
.completed .plate{
	margin: 0 auto;
	padding: 42px 0 0;
	width: 100%;
	max-width: 480px;
	background-color: #fff;
	border-radius: 8px;
}
p.fz16{
	font-size: 16px!important;
}
p.comp_red{
	color:#FD4749;
}
.completed .plate p a{
	text-decoration: underline;
	color: #0099EB;
}

/*
.step_box{
	display: flex;
	max-width: 420px;
	margin-bottom: 18px;
	align-items: center;
}
.step{
	width: 100%;
	max-width: 50px;
	max-height: 50px;
	margin: 0 24px 0 0;
}
.step_box div p{
	font-size: 14px;
	color: #000;
	margin: 0 0 4px 0;
	padding: 0;
	text-align: left;
}
.step_box div img{
	width: 100%;
	max-width: 180px;
}
.step_box a{
	text-decoration: underline;
	color: #0099EB;
}
.step_box div.conditions_label{
	background-color: #E7E7E7;
	border-radius: 4px;
	margin-right: 16px;
}
.step_box div.conditions_label span{
	display: block;
	font-size: 12px;
	margin: 0 auto;
	padding: 5px 4px 0;
	line-height: 1;
	color: #000;
}
*/
.box span{
	display: block;
	font-size: 10px;
	color:#555;
	line-height: 1.6;
	text-align: center;
}





section{
	position: relative;
	padding: 0;
	margin: 0;
}
section p{
	padding: 0;
	margin-bottom: 12px;
	color: #000;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: -0.04em;
	text-align: center;
}	

section.push_notification{
	padding: 32px 16px 16px;
	background-color: #fff;
}







section.cp_terms{
	padding: 32px 16px;
	background-color: #F5F5F5;
}
section.cp_thanks{
	padding: 16px;
}
.title2{
	position: relative;
	padding: 0 16px;
 	text-align: center;
	font-size: 23px;
	font-weight: bold;
	letter-spacing: -0.05em;
	margin: 0 auto 40px;
}
.title2::after{
	background-color: #00A711;
	bottom: -10px;
	content: "";
	height: 4px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 96px;
}

.push_notification .title2::after{
	background-color: #FFED8E;
}


.cp_terms .title2::after{
	background-color: #777;
}

.push_notification .image{
	margin: 0 auto 36px;
	text-align: center;
}
.push_notification .image img{
	width: 100%;
	max-width: 328px;
}


.step_channel{
	border-radius: 43px;
    display: block;
    padding: 2px 0;
    box-sizing: border-box;
    text-align: center;
    margin: 0 auto 16px;
	font-size:14px;
	font-weight: bold;
}
.push_notification .step_channel{
	width: 160px;
    color: #000;
	border: 1px solid #BCBCBC;
}


.fz20_bold{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}
.fz24_bold{
	font-size: 24px;
	font-weight: bold;
}
.red_fz24_bold{
	color: #BE2C38;
	font-size: 24px;
	font-weight: bold;
}
.red_fz18_bold{
	color: #BE2C38;
	font-size: 18px;
	font-weight: bold;
}
.red_bold{
	color: #BE2C38;
	font-weight: bold;
}
.fz12{
	font-size: 12px;
}
.fz14{
	font-size: 14px;
}

.center{
	margin: 0 auto;
}

.sp_left{
		text-align: center!important;
	}

@media screen and (max-width:767px){
	.sp_left{
		text-align: left!important;
	}
}


section .term_box {
  background-color: #fff;
  height: 320px;
  overflow-y: scroll;
  padding: 15px;
  white-space: pre-wrap;
  word-break: break-all;
}

footer{
	text-align: left;
	padding: 10px 0 120px;
}
footer p{
	padding: 0 16px;
	font-size: 14px;
	color: #808080;
}
footer span{
	display: block;
	text-align: center;
}



.btn {
  display: inline-block;
  text-decoration: none;
  border-radius: 50px;
  line-height: 1.3;
  color: #333;
  font-weight: 600;
  text-align: center;
  min-width: 200px;
	max-width: 328px;
  font-size: 13px;
}

.btn-cta {
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
}

.btn-move01 {
  animation-name: btn-moving;
  animation-duration: 1.6s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}
.end{
	width: 100%;
	max-width: 480px;
	background-color: #000;
	margin: 0 auto;
}
.end p{
	padding: 10px 16px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
}

.mission_bnr{
	margin: 16px auto;
	text-align: center;
}
.mission_bnr p{
	margin: 0;
	padding-bottom: 8px;
	text-align: center;
	font-size: 16px;
	color: #000;
	font-weight: bold;
}


@-webkit-keyframes btn-moving {
	  0% {
		-webkit-transform: translateY(0);
		box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
	  }
	  10% {
		-webkit-transform: translateY(4px);
		box-shadow: none;
	  }
	  20% {
		-webkit-transform: translateY(0);
		box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
	  }
	  30% {
		-webkit-transform: translateY(4px);
		box-shadow: none;
	  }
	  50% {
		-webkit-transform: translateY(0);
		box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
	  }
	  100% {
		-webkit-transform: translateY(0);
		box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
	  }
	}

.float_btn {
	position: fixed;
	left: 0;
	bottom: 0;
	background-color: rgba(255,255,255,0.95);
	text-align: center;
	width: 100%;
	padding: 12px 0;
	padding-bottom: calc(env(safe-area-inset-bottom) + 12px);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
	transition-property: all;
	transition-duration: 300ms;
	z-index: 99999;
}
.float_btn.hide {
	bottom: -180px;
	bottom: calc(-1 * env(safe-area-inset-bottom) - 180px);
	display: block;
}
.fixed_bot {
	position: fixed;
	left: 0;
	bottom: 0;
	text-align: center;
	width: 100%;
	padding: 0;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
	z-index: 99999;
	background-color: rgba(255,255,255,0.95);
	/*
	background: linear-gradient(180deg, #CC0033 0%, #CC0033 71.5%, #3D3D3D 28.5%, #3D3D3D 100%);
	*/
}
.fixed_bot img{
	width: 100%!important;
	max-width: 480px;
}



