@charset "utf-8";

/* -------------------------
   デフォルトスタイル
------------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
nav,
section,
summary,
main {
	display: block;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	background: #1a1a2c;
	font-size: 62.5%;/* 1.0em ≒ 10px */
}

body {
	color: #666666;
	font-family: "Hiragino KakuGothic ProN", "Meiryo", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 1.4rem;/* ≒ 14px */
	line-height: 1.6;
	margin:0;
	padding:0;
	background: #333333/*linear-gradient(-135deg, #74c3f2, #7be9e5)*/;
	height:auto !important;
	float: left;
	width: 100%;
	box-sizing: border-box;
}

a {
	color: #666666;
	text-decoration: underline;
}

a:hover {
	text-decoration: underline;
}
a img {
	border-style: none;
	outline: none;
	border:none;
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #fff;
	font-size: 100%;
	margin: 0;
	padding: 0;
	clear: both;
	font-weight: bold;
	box-sizing: border-box;
}

ul,
ol,
dl {
	margin: 0 0 20px;
	text-align: justify;
	text-justify: distribute;
}
ul,
ol {
	padding: 0;
}
dl {
	margin: 0 0 0.8em 0;
}
dl dt {
	margin: 0 0 0.2em 0;
	font-weight: bold;
}
dl dd {
	margin: 0 0 0.4em 0;
	padding: 0;
}
ul {
	list-style-type: disc;
	list-style-position: outside;
	padding-left: 1.5em;
}
ol {
	list-style-type: decimal;
	list-style-position: outside;
	padding-left: 1.6em;
	margin-left:10px;
}
table {
	margin: 0 16px;
	text-align: inherit;
	text-justify: auto;
	width: calc(100% - 32px);
	border-spacing: 0;
}

th,
td {
	font-size: 1.7rem;
	text-align: center;
	padding: 8px;
	color: #333;
	border-bottom: solid 1px #FFCE00;
}

th {
	background: #FF9900;
	width: 14.81%;
}

td {
	background: #ffdd4d;
	font-weight: bold;
	width: 14.19%;
}

table p,
table ul,
table ol,
table dl {
	text-align: inherit;
	text-justify: auto;
}

p {
	margin: 0 0 16px;
/*	text-align: left;*/
}

img {
	max-width: 100%;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-size: 0;
}

/* -------------------------
   ヘッダー
------------------------- */
header {
	width: 100%;
	height: 456px;
	background: #FFB800;
	background-size: cover/*100% auto*/;
	overflow: hidden;
	padding: 0 16px;
	box-sizing: border-box;
	position: relative;
}

.header_inner {
	box-sizing: border-box;
	width: 100%;
	height: inherit;
	max-width: 1280px;
	padding: 0 16px;
	margin: 0 auto;
	background: url(../img/header_inner_bg.png) bottom center no-repeat;
	background-size: 100% auto;
	position: relative;
}
.logo_abm {
	position: absolute;
	width: 128px;
	left: 8px;
	top: 4px;
}

.header_left {
	width: 436px;
	display: block;
	text-align: center;
	margin-left: 188px;
}

/*.sitetitle,
header .cvbtn_wrap,
.header_inner p {
	width: 436px;
	display: block;
	text-align: center;
	margin-left: 188px;
}*/

header .cvbtn_wrap {
	margin-top: -28px;
	margin-bottom: 4px;
	display: none;
}

.btn_wrap a {
	color: #333;
}

.cvbtn {
	width: 100%;
	max-width: 380px;
	display: inline-block;
	background: #13A848;
	color: #fff !important;
	text-decoration: none;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1;
	padding: 18px 12px;
	border-radius: 28px;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	box-sizing: border-box;
	position: relative;
	transition-duration: 0.4s;
}

.cvbtn:before {
	content: "";
	width: 20px;
	height: 18px;
	background: url(../img/icon_abm.png) center center no-repeat;
	background-size: contain;
	display: inline-block;
	margin: 0 4px 0 0;
	top: 2px;
	position: relative;
}

.cvbtn:hover {
	background: #36B586;
	text-decoration: none;
	transition-duration: 0.4s;
}

.cvbtn_caption {
	font-size: 1rem;
	color: #1A1A1A;
	display: none;
}

.cvbtn_caption a {
	color: #1A1A1A;
}

.sitetitle {
	margin-top: 0;
	padding-top: 20px;
	display: none;
}

.header_image {
	width: 408px;
	position: absolute;
	bottom: 0;
	right: 260px;
	font-size: 0;
	line-height: 1;
}

.header_catch {
	width: 223px;
	position: absolute;
	top: 56px;
	right: 104px;
}

ul.sns {
	position: absolute;
	right: 0;
	top: 32px;
	list-style: none;
	width: 48px;
	z-index: 1;
}

ul.sns li {
	width: inherit;
	height: 40px;
	margin-bottom: 8px;
}

.sns li a {
	width: inherit;
	height: inherit;
	border-radius: 8px 0 0 8px;
	background: #fff;
	display: block;
	font-size: 2.6rem;
	text-align: center;
	cursor: pointer;
}

.sns li a i {
	transition-duration: 0.4s;
}

.sns_tw a i {
	color: #55A7E9;
	font-size: 2.6rem;
}

.sns_fb a i {
	color: #3B5993;
	font-size: 2.6rem;
}

.sns li a:hover i {
	opacity: 0.6;
	transition-duration: 0.4s;
}


/* -------------------------
   ナビ
------------------------- */
nav {
	width: 100%;
	background: #9E0D0D url(../img/titlebg.png);
}

ul.gnavi {
	box-sizing: border-box;
	width: 100%;
	max-width: 992px;
	padding: 0;
	margin: 0 auto;
	overflow: hidden;
	list-style: none;
}

.gnavi li {
	width: 25%;
	float: left;
}

.gnavi li a {
	box-sizing: border-box;
	width: 100%;
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	padding: 12px 12px 11px;
	text-decoration: none;
	text-align: center;
	transition-duration: 0.4s;
}

.gnavi li a:hover {
	color: rgba(255, 255, 255, 0.6);
	transition-duration: 0.4s;
}

/* -------------------------
   メイン
------------------------- */
main {
	width: 100%;
	background: #FFB800;
	overflow: hidden;
}

section {
	width: 100%;
	overflow: hidden;
}

.section_light {
	background: #FFCE00;
}

.first_catch,
.btn_wrap,
.program_wrap,
.title_black,
.p_note,
.title_baloon,
.box_white,
.detail_wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 992px;
	padding: 0 16px;
	margin: 0 auto;
}

.box_white,
.detail_wrap {
	background: #fff;
}

.box_white {
	padding: 32px 16px 40px;
}

.detail_wrap {
	padding: 32px;
	margin-bottom: 80px;
}

.figure_wrap {
	background: #FFCE00;
	box-sizing: border-box;
	width: 100%;
	max-width: 896px;
	margin: 0 auto 28px;
	padding: 0 0 16px 0;
	position: relative;
}

.figure_wrap figure,
.figure_wrap figure img {
	width: 100%;
	overflow: hidden;
	line-height: 1;
}

.figure_wrap figure {
	padding: 16px 0 8px 0;
	text-align: right;
}

.figure_wrap figure img {
	width: 98%;
}

.p_note {
	text-align: center;
	font-size: 1.2rem;
	color: #333;
}

.display_pc {
	display: table;
}

.display_sp {
	display: none;
}

.p_note a {
	color: #333;
}

.btn_wrap {
	text-align: center;
}
/*    見出し    */
.first_catch {
	text-align: center;
	background: url(../img/contitle_bg.png) center top no-repeat;
	min-height: 100px;
	margin: 48px auto 32px;
}
.first_catch img {
	width: 59%;
}

.title_fig {
	width: 368px;
	position: absolute;
	left: 30px;
	top: 26px;
}

.title_black {
	font-size: 2.5rem;
	color: #1A1A1A;
	text-align: center;
	margin-bottom: 8px;
}

.contitle {
	background: url(../img/titlebg.png);
	padding: 26px 16px;
	font-size: 2.4rem;
	margin-bottom: 56px;
	text-align: center;
}

.title_baloon {
	color: #D40019;
	font-size: 2.4rem;
	text-align: center;
	background: url(../img/title_baloonbg.png) bottom center no-repeat;
	padding: 0 0 52px 0;
	margin: 48px auto 24px;
}


/*    ボタン    */
.btn_wrap {
	margin: 56px auto;
}

.btn_wrap p {
	color: #333;
	font-size: 1.2rem;
}

.movie_wrap {
	width: 100%;
	margin-bottom: 16px;
	overflow: hidden;
}

.moviebtn {
	width: 100%;
	max-width: 380px;
	box-sizing: border-box;
	display: inline-block;
	background: #FF6A33;
	color: #fff !important;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1;
	padding: 12px 12px;
	border-radius: 20px;
	transition-duration: 0.4s;
}

.moviebtn:hover {
	background: #FF8345;
	text-decoration: none;
	transition-duration: 0.4s;
}

.cvbtn_wrap {
	margin-bottom: 8px;
}

/*    プログラム情報    */
.program_wrap {
	width: 100%;
}

.program {
	width: 24%;
	box-sizing: border-box;
	float: left;
	background: #fff;
	margin: 0 1.3% 28px 0;
	padding: 20px 12px 12px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	position: relative;
}

.heightline_05 {
	min-height: 325px;
}

.heightline_06 {
	min-height: 306px;
}

.program_wrap .program:nth-child(4n) {
	margin: 0 0 28px 0;
}

.program figure {
	width: 100%;
	max-height: 67px;
	text-align: center;
}

.program figure img {
	width: 100%;
	max-width: 120px;
	transition-duration: 0.4s;
}

.program figure a {
	display: inline-block;
	line-height: 1;
	font-size: 0;
	overflow: hidden;
}

.program figure a:hover img{
	opacity: 0.7;
	transition-duration: 0.4s;
}

.title_reward {
	width: calc(100% + 24px);
	margin: 0 -12px 8px -12px;
	color: #fff;
	background: url(../img/titlebg.png);
	padding: 8px;
	box-sizing: border-box;
	display: block;
	font-weight: bold;
}

.program_info {
	margin-bottom: 0;
	float: left;
}

.program_info dt {
	font-size: 1.6rem;
	font-weight: bold;
	display: block;
	overflow: hidden;
	color: #1A1A1A;
}
.program_info dd {
	color: #4D4D4D;
	font-size: 1.3rem;
	display: block;
	margin-bottom: 12px;
}

.program_info dd:last-child {
	margin-bottom: 0;
}

.program_info dd span {
	display: block;
}

.program_info .program_info_condition {
	display: block;
}

.program_info .program_info_money {
	color: #FF474F;
	font-size: 2.7rem;
	font-weight: bold;
	display: block;
}

.program_info .fontsize_s {
	display: block;
	height: 20px;
}

.program_info .program_info_tax {
	font-size: 1.3rem;
	display: inline-block;
}

.list_future {
	list-style: none;
	width: 100%;
	max-width: 632px;
	margin: 0 auto 56px;
	padding: 0;
	overflow: hidden;
}

.list_future li {
	width: 31.6%;
	max-width: 200px;
	float: left;
	margin: 0 16px 0 0;
	padding: 0;
	line-height: 1;
	overflow: hidden;
	background: #fff;
}

.list_future li:last-child {
	margin: 0;
}

.list_future li a {
	display: block;
	overflow: hidden;
	line-height: 1;
	font-size: 0;
}

.list_future li a img  {
	transition-duration: 0.4s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.list_future li a:hover img {
	transition-duration: 0.4s;
	opacity: 0.7;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.icon_hoshu:before,
.icon_abm:before,
.icon_100:before {
	content: "";
	background: #FF474F;
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	width: 143px;
	height: 24px;
	display: block;
	position: absolute;
	top: -12px;
	left: 0;
	right: 0;
	margin:  0 auto;
	padding: 2px 8px;
	border-radius: 12px;
	text-align: center;
}

.icon_hoshu:before {
	content: "高額報酬";
}

.icon_abm:before {
	content: "ABM限定";
}

.icon_100:before {
	content: "報酬100%";
}

/*    アフィバックモールとは    */
.abm_explain_lead {
	text-align: center;
	color: #1A1A1A;
	font-size: 1.6rem;
	margin-bottom: 24px;
}

.abm_explainlist {
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
	display: -webkit-flex;
	width: 100%;
	max-width: 832px;
	margin: 0 auto;
	list-style: none;
	padding: 0;
	overflow: hidden;
}

.abm_explainlist li {
	float: left;
	width: 33.3%;
	text-align: center;
	box-sizing: border-box;
	border-right: solid 2px #fff;
	background: #F4F4F4;
}

.abm_explainlist li:last-child {
	width: 33.4%;
	border: none;
}

.abm_explainlist li h3 {
	background: #FFCE00;
	box-sizing: border-box;
	height: 80px;
	padding: 13px 12px 0;
}

.abm_explainlist_fig {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	margin: 16px 0 8px;
	padding: 0 16px;
	overflow: hidden;
}

.abm_explainlist li p {
	margin-bottom: 12px;
	color: #4D4D4D;
}

/*    キャンペーン詳細    */
.detail {
	margin-bottom: 0;
}

.detail dt {
	color: #1A1A1A;
	font-size: 1.6rem;
}

.detail dt:before {
	content: "";
	background: url(../img/title_detail.png) top center no-repeat;
	background-size: cover;
	width: 18px;
	height: 18px;
	display: block;
	float: left;
	margin: 1px 8px 0 0;
}

.detail dd {
	margin-bottom: 16px;
}

.detail dd:last-child {
	margin-bottom: 0;
}


/* -------------------------
   PAGETOP
------------------------- */
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 14px;
	margin: 0;
}

#pagetop a {
	text-decoration: none;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	line-height: 1;
	width: 139px;
	height: 161px;
	transition-duration: 0.4s;
}

#pagetop a img {
	width: 100%;
	height: auto;
}

#pagetop a:hover {
	text-decoration: none;
	opacity: 0.8;
	transition-duration: 0.4s;
}

/* -------------------------
   フッター
------------------------- */
footer {
	width: 100%;
	background: #333;
	text-align: center;
	padding: 64px 16px;
}

footer p {
	color: #fff;
	font-size: 1.2rem;
	margin-bottom: 8px;
}

footer p a {
	color: #fff;
}

/* -------------------------
   【headerの中身調整用】
------------------------- */
@media screen and (max-width:1280px) {
	.header_left {
		margin-left: 100px;
	}
	.header_image {
		right: 180px;
	}
	.header_catch {
		right: 20px;
	}
}
@media screen and (max-width:1110px) {
	.header_left {
		width: 436px;
		margin-left: 90px;
	}
	.header_image {
		width: 384px;
		right: 145px;
	}
	.header_catch {
		width: 206px;
		top: 104px;
		right: 10px;
	}
}
@media screen and (max-width:1050px) {
	.header_left {
		width: 436px;
		margin-left: 50px;
	}
}
@media screen and (max-width:992px) {
	header {
		padding: 0;
	}
	
	.header_left {
		width: 50%;
		margin-left: 0;
		text-align: center;
	}
	
	.sitetitle,
	header .cvbtn_wrap,
	header .cvbtn_caption {
		max-width: 436px;
	}
	.sitetitle {
		padding-top: 5%;
	}
	.header_image {
		width: 50%;
		text-align: center;
		right: 16px;
	}
	.header_image img {
		max-width: 408px;
	}
	.header_catch {
		display: none;
	}
}
@media screen and (max-width:879px) {
	.sitetitle {
		padding-top: 7%;
	}
}
/* -------------------------
   【992px以下】
------------------------- */
@media screen and (max-width:992px) {
	.first_catch,
	.btn_wrap,
	.program_wrap,
	.title_black,
	.p_note,
	.title_baloon,
	.box_white,
	.detail_wrap {
		width: calc(100% - 32px);
		margin: 0 16px 28px;
	}
	.first_catch {
		margin: 48px auto 32px;
	}

}
/* -------------------------
   【928px以下】
------------------------- */
@media screen and (max-width:928px) {
	
	.figure_wrap {
		width: calc(100% - 32px);
		margin: 0 16px 24px;
	}
	.title_fig {
		width: 41%;
	}
}

/* -------------------------
   【SP対応】
------------------------- */
@media screen and (max-width:767px) {
	
	header {
		height: 463px;
	}
	
	.header_inner {
		height: inherit;
		background: url(../img/header_inner_bg_sp.png) bottom center no-repeat;
		background-size: cover;
		padding-bottom: 8px;
	}
	
	.header_left {
		width: 100%;
	}
	
	header .cvbtn_wrap,
	header .cvbtn_caption {
		max-width: 767px;
		width: 100%;
	}
	
	.sitetitle {
		/*display: inline-block;*/
		display: none;
		padding-top: 36px;
		margin: 0 auto;
		max-width: 386px;
	}
	
	.header_image {
		display: none;
		width: 136px;
	}
	
	.header_image img {
		width: 100%;
	}
	
	.cvbtn {
		font-size: 1.7rem;
		padding: 18px 8px;
	}
	
	.btn_wrap {
		width: 100%;
		margin: 0 0 28px;
		display: block;
	}
	
	header .cvbtn_wrap {
		margin-top: -8px;
	}
	
	ul.sns {
		top: 8px;
		width: 40px;
		z-index: 1;
	}
	
	ul.sns li {
		margin-bottom: 4px;
	}
	
	ul.gnavi {
		padding: 0;
	}
	
	.gnavi li {
		width: 50%;
		box-sizing: border-box;
		border-bottom: solid 1px #C94343;
		border-right: solid 1px #C94343;
	}
	
	.gnavi li:nth-child(even) {
		border-right: none;
	}
	
	.gnavi li a {
		font-size: 1.4rem;
		padding: 12px 8px 11px
	}
	.first_catch {
		background: none;
		width: 100%;
		margin: 32px auto 32px;
		min-height: auto;
	}
	.first_catch img {
		width: 100%;
	}
	
	.title_black {
		width: 100%;
		margin: 0 0 8px;
		font-size: 1.7rem;
	}
	
	.title_fig {
		width: 50%;
		left: 14px;
		top: -16px;
	}
	.display_pc {
		display: none;
	}
	.display_sp {
		display: block;
	}
	
	.contitle {
		margin-bottom: 32px;
		padding: 16px 16px;
		font-size: 2rem;
	}

	
	.icon_hoshu:before,
	.icon_abm:before {
		padding: 1px 8px 0;
	}
	
	.program {
		width: 100%;
		max-width: 232px;
		margin: 0 auto 28px;
		float: none;
	}
	
	.heightline_05 {
		min-height: 286px;
	}

	.heightline_06 {
		min-height: 286px;
	}
	
	.program_wrap .program:nth-child(even) {
		margin: 0 auto 28px;
	}
	
	.title_baloon {
		font-size: 1.8rem;
		padding: 0 0 44px 0;
		margin: 0 16px 16px;
	}
	
	.p_note {
		padding: 0 0 0 1em;
		text-align: left;
		text-indent: -1em;
		
	}
	.list_future {
		width: calc(100% - 32px);
		margin: 0 16px 32px;
	}
	
	.list_future li {
		margin: 0 2.6% 0 0;
	}
	
	.box_white {
		padding: 24px 16px;
	}
	.abm_explain_lead {
		font-size: 1.4rem;
		margin-bottom: 16px;
	}
	
	.abm_explainlist {
		width: 100%;
		max-width: 232px;
		display: block;
	}
	.abm_explainlist li,
	.abm_explainlist li:last-child {
		width: 100%;
		float: none;
		padding-bottom: 1px;
		margin-bottom: 8px;
	}
	
	.abm_explainlist li h3 {
		height: auto;
		padding: 13px 12px 9px;
	}
	
	.abm_explainlist li p {
		margin: 0 8px 12px;
	}
	
	.abm_explainlist li p br {
		display: none;
	}
	
	.detail_wrap {
		padding: 24px 16px;
	}
	
	.program_info {
		float: none;
	}
	
	#pagetop {
		right: 12px;
		bottom: 12px;
	}
	
	#pagetop a {
		background: #D40019;
		width: 60px;
		height: 60px;
		border-radius: 30px;
	}
	
	#pagetop a:before {
		content: "\f106";
		color: #fff;
		font-family: FontAwesome;
		font-size: 3.5rem;
		display: inline-block;
		margin-top: -4px;
	}
	
	#pagetop a img {
		display: none;
	}
}

@media screen and (max-width:375px) {
	.sitetitle {
		padding-top: 56px;
	}
}

@media screen and (max-width:320px) {
	header {
		height: 438px;
	}
	.gnavi li {
		width: 100%;
		border-right: none;
	}
	.gnavi li:nth-child(even) {
		border-right: none;
	}
}


/* -------------------------
   汎用クラス
------------------------- */
/*マージン*/
.mb0 {
	margin-bottom: 0 !important;
}

.mb8 {
	margin-bottom: 8px !important;
}

.mb16 {
	margin-bottom: 16px !important;
}

.mb48 {
	margin-bottom: 48px !important;
}

.mb64 {
	margin-bottom: 64px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mt56 {
	margin-top: 56px !important;
}

/*パディング*/
.pb0 {
	padding-bottom: 0 !important;
}

/*フォント*/
.fontsize_s {
	font-size: 1.2rem;
}

.align_center {
	text-align: center !important;
}

.big_red {
	font-size: 2rem;
	color: #D40019;
}

.indent {
	text-indent: -1em;
	padding-left: 1em;
	display: inline-block;
}

.solid_border {
	border: solid 1px #e2e2e2;
}
