* {
	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;*/
	background: #AADCFF;
	width: 100%;
	position: relative;
	margin: 0;
	padding: 0;
}

.mainvisual {
	margin: 0 auto;
	padding: 0 0 8px!important;
}
.mainvisual .announcement{
	padding:0;
	margin: 0 auto 4px;
}
.mainvisual .announcement .bg{
	padding:0;
	margin: 0 auto;
	background-color: #DC2150;
	width: 100%;
}
.mainvisual .announcement p{
	margin: 0 auto;
	padding: 6px 2px 5px;
	color: #fff;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
}
.mainvisual .announcement p span{
	color: #C45157;
}
.mainvisual h1{
	padding: 0 16px;
	margin: 0 auto;
	text-align: center;
}
.mainvisual .kv100_1000_2_1{
	position: relative;
	width: 100%;
	max-width: 414px;
	margin: 0 auto 4px;
}
.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 .kv100_1000_2_2{
	position: relative;
	width: 100%;
	max-width: 414px;
	margin: 0 auto;
}
.mainvisual .kv100_1000_2_2 img{
	width: 100%;
	z-index: 1;
}

.mainvisual h1 span a{
	color: #0099EB;
	text-decoration: underline;
}
.mainvisual img.plus {
	display: block;
	width: 100%;
	max-width: 22px;
	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;
}

.mainvisual .kv_sn_mission{
	position: relative;
	width: 100%;
	max-width: 414px;
	margin: 0 auto 8px;
}
.mainvisual .kv_sn_mission img{
	width: 100%;
	z-index: 1;
}
.mainvisual .kv_sn_mission span{
	position: absolute;
	right:20px;
	bottom:10px;
	font-size: 10px;
	font-weight: bold;
	color: #555;
	display: block;
	z-index: 2;
}
.mainvisual .kv_sn_mission span a{
	color: #0099EB;
	text-decoration: underline;
}

.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 16px;
	margin: 0 auto;
	background: #AADCFF;
}

/*タブ*/
.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 .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: 16px;
}
.cp_detail_title span{
	color: #C45157;
	font-weight: bold;
}
.cp_detail_period{
	margin:0 auto 16px;
	color: #000;
	font-size: 12px;
}

.cp_detail_more{
	margin:12px auto 30px;
	color: #212121;
	font-size: 18px;
}
.cp_detail_more 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 8px;
	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;
}


/*
.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;
}

.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;
}
/*---------------------------------*/
/* クイズ                           */
/*---------------------------------*/
.flex{display:flex;}
.mr8{margin-right:8px!important;}
.mb16{margin-bottom: 16px!important;}
.pt32{padding-top:32px!important;}
.center{text-align: center;}
.fz18{font-size: 18px!important;}
.w120{width:120px!important;}

.mainvisual .kv_pic{
	position: relative;
	width: 100%;
	max-width: 414px;
	margin: 0 auto;
}
.mainvisual .kv_pic img{
	width: 100%;
	z-index: 1;
}

.mainvisual .part_area{
	position: relative;
	padding:0;
	margin: 16px auto 0;
	padding: 0 16px;
	max-width: 414px;
}
.mainvisual .part_area2{
	position: relative;
	padding:0;
	margin: -16px auto 24px;
	padding: 0 16px;
	max-width: 414px;
}
.mainvisual .part_box{
	position: relative;
	margin: 0 auto 8px;
	padding: 24px 16px 12px;
	z-index: 1;
	border-radius: 8px;
	background-color: #fff;
}
.mainvisual .part_box .index,
.mainvisual .q_box .index{
	position: absolute;
	right: 0;
	left: 0;
	top:-12px;
	margin: 0 auto;
	width:168px;
	box-sizing: border-box;
    text-align: center;
	background-color: #E9F6FF;
	border: 1px solid #59A1FF;
	border-radius: 50px;	
}
.mainvisual .part_box .index p,
.mainvisual .q_box .index p{
	margin: 0 auto;
	padding: 2px 0;
	font-size: 14px;
	font-weight: bold;
	color:#00548F;
}

.q_area{
	position: relative;
	padding:0;
	margin: 0 auto 16px;
	padding: 0 16px;
	max-width: 414px;
}

.q_box{
	position: relative;
	margin: 0 auto 8px;
	padding: 8px 16px 8px;
	z-index: 1;
	border-radius: 8px;
	background-color: #fff;
}
.q_box .q{
	font-size: 14px;
}

.q_btn_3d{
	width: 100%;
	display:inline-block;
	background-color: #FFF170; /* 背景色 */
	box-shadow: 0 3px 0 #D78E00; /* 影の太さ・色 */
	border-radius: 60px;
	color: #fff;
	cursor: pointer;
	text-decoration: none; /* 文字の下線を消す */
	border: 2px solid #D78E00;
	margin-bottom: 12px;
}
.q_btn_3d:active {
	box-shadow: none;
	transform: translateY(3px);
}
.q_btn_3d p{
	padding: 6px 8px; 
	margin: 0;
	color: #000;
	font-weight: bold;
}
.q_btn_3d_2{
	position: relative;
	width: 100%;
	height: 100px;
	display:inline-block;
	background-color: #FFF170; /* 背景色 */
	box-shadow: 0 3px 0 #D78E00; /* 影の太さ・色 */
	border-radius: 16px;
	color: #fff;
	cursor: pointer;
	text-decoration: none; /* 文字の下線を消す */
	border: 2px solid #D78E00;
	margin: 0 auto 12px;
	
}
.q_btn_3d_2:active {
	box-shadow: none;
	transform: translateY(3px);
}
.q_btn_3d_2 p{
	padding: 6px 8px; 
	margin: 0;
	color: #000;
	font-weight: bold;
	vertical-align: top;
	z-index: 99;
}

img.pic{
	position: absolute;
	width: 80px;
	text-align: center;
	display:inline-block;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: 1;
}

.result_box_txt{
	font-size: 18px;
	text-align: center;
}

.result_box{
	position: relative;
	margin: 0 auto 24px;
}
.result_box img{
	margin: 0 auto;
	display: block;
	width:120px;
}
.result_box p{
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #111;
	margin: 0 auto 16px;
}
.try_again_msg{
	width: 100%;
	text-align: center;
	margin: 0 auto 8px;
}
.try_again_msg img{
	width: 246px;
}
.r_btn_3d{
	width: 100%;
	display:inline-block;
	background-color: #0099EB; /* 背景色 */
	box-shadow: 0 3px 0 #005491; /* 影の太さ・色 */
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	text-decoration: none; /* 文字の下線を消す */
	margin-bottom: 12px;
}
.r_btn_3d:active {
	box-shadow: none;
	transform: translateY(3px);
}
.r_btn_3d p{
	padding: 6px 8px; 
	margin: 0;
	color: #fff;
	font-weight: bold;
}
.r_btn_3d img{
	padding: 10px 8px 10px; 
	margin: 0;
	color: #fff;
	font-weight: bold;
}

/*
.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_sfd2{
	margin: 0 auto 8px;
	padding: 0 16px;
	text-align: center;
}


.whats_sfd2 img{
	width: 100%;
	max-width: 414px;
}

.mainvisual .part_area{
	position: relative;
	padding:0;
	margin: 16px auto 32px;
	padding: 0 16px;
	max-width: 414px;
}
.mainvisual .part_box{
	position: relative;
	margin: 0 auto 8px;
	padding: 24px 16px 12px;
	z-index: 1;
	border-radius: 8px;
	background-color: #fff;
}

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

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

.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;
}




@-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);
	}
}

.entry_appeal{
	display: inline-block;
	margin: 0 auto 8px;
	padding: 0;
	font-size: 16px;
	font-weight: bold;
	/*text-shadow: 0px 3px 5px  rgb(0, 0, 0, 0.3);*/
}
.txt-move01 {
	animation-name: txt-moving;
	animation-duration: 1.6s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}
@-webkit-keyframes txt-moving {
	0% {
		-webkit-transform: translateY(0);
		text-shadow: 0px 3px 5px rgba(0, 0, 0, 0);
	}
	10% {
		-webkit-transform: translateY(4px);
		text-shadow: none;
	}
	20% {
		-webkit-transform: translateY(0);
		text-shadow: 0px 3px 5px rgba(0, 0, 0, 0);
	}
	30% {
		-webkit-transform: translateY(4px);
		text-shadow: none;
	}
	50% {
		-webkit-transform: translateY(0);
		text-shadow: 0px 3px 5px rgba(0, 0, 0, 0);
	}
	100% {
		-webkit-transform: translateY(0);
		text-shadow: 0px 3px 5px rgba(0, 0, 0, 0);
	}
}





/*
.btn {
	display: inline-block;
	text-decoration: none;
	background-color: #0099EB;
	box-shadow: 0 5px 0 #005491;
	border-radius: 50px;
	text-align: center;
	min-width: 200px;
	max-width: 328px;
}

.btn-move01 {
	animation-name: btn-moving;
	animation-duration: 1.6s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}
@-webkit-keyframes btn-moving {
0% {
	-webkit-transform: translateY(0);
	box-shadow: 0 5px 0 #005491;
}
10% {
	-webkit-transform: translateY(4px);
	box-shadow: 0 5px 0 #005491;
}
20% {
	-webkit-transform: translateY(0);
	box-shadow: 0 5px 0 #005491;
}
30% {
	-webkit-transform: translateY(4px);
	box-shadow: 0 5px 0 #005491;
}
50% {
	-webkit-transform: translateY(0);
	box-shadow: 0 5px 0 #005491;
}
100% {
	-webkit-transform: translateY(0);
	box-shadow: 0 5px 0 #005491;
	}
}
*/
.mainvisual .theme_area{
	position: relative;
	padding:0;
	margin: 16px auto 32px;
	padding: 0 16px;
	max-width: 414px;
}
.mainvisual .theme_box{
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding:0;
	z-index: 1;
	background-image:url(../img/bg_theme.png);
    background-repeat:  no-repeat;
    background-position:0 0;
	background-size: 100%;
	
	border-radius: 8px;	
	border: 2px solid #7EC6FA;
	box-sizing: border-box;
}

.mainvisual .theme_box p.title{
	text-align: center;
	color: #fff;
	line-height: 1;
	font-size: 30px;
	font-weight: bold;
	padding: 7% 16px 4%;
	z-index: 2;
	margin: 0;
}

.mainvisual .theme_area .index{
	position: absolute;
	right: 0;
	left: 0;
	top:-12px;
	margin: 0 auto;
	width:168px;
	box-sizing: border-box;
    text-align: center;
	background-color: #E9F6FF;
	border: 1px solid #59A1FF;
	border-radius: 50px;	
	z-index: 2;
}
.mainvisual .theme_area .index p{
	margin: 0 auto;
	padding: 2px 0;
	font-size: 14px;
	font-weight: bold;
	color:#00548F;
}

.mainvisual .theme_box_b{
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding:0;
	z-index: 1;
	border-radius: 8px;	
	background-image:url(../img/bg_theme_b.png);
    background-repeat:  no-repeat;
    background-position:0  0;
	background-size: 100%;
}
.mainvisual .theme_box_b p.title{
	text-align: center;
	color: #fff;
	line-height: 1;
	font-size: 30px;
	font-weight: bold;
	padding: 7% 16px 4%;
	z-index: 2;
}
.mainvisual .theme_area .index{
	position: absolute;
	right: 0;
	left: 0;
	top:-12px;
	margin: 0 auto;
	width:168px;
	box-sizing: border-box;
    text-align: center;
	background-color: #E9F6FF;
	border: 1px solid #59A1FF;
	border-radius: 50px;	
	z-index: 2;
}
.mainvisual .theme_area .index p{
	margin: 0 auto;
	padding: 2px 0;
	font-size: 14px;
	font-weight: bold;
	color:#00548F;
}
