@charset "UTF-8";
body {
}
.campaign{
	text-align:left;
}
.campaign a:link{
	text-decoration:none;
	color:#333;
}
.campaign .only-pc{
	display:none;
}
@media screen and (min-width: 768px) {
	.campaign .only-sp{
		display:none;
	}
	.campaign .only-pc{
		display:block;
	}
	.campaign br.only-pc{
		display:inline;
	}
}
.campaignKv{
	position:relative;
}
.campaignKv img{
	width:100%;
	height:auto;
}
.campaignKv::after{
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 21.6vw 0 0 100vw;
	border-color: transparent  transparent  transparent #fff;
}
.campaignNav{
	padding:0 5.3vw 0;
	margin-top:-24vw;
}
.campaignNav__item{
	margin-bottom:4vw;
}
.campaignNav__item:last-of-type{
	margin-bottom:0;
}
.campaignNav__link{
	display:flex;
	position:relative;
	background:#F0F3F5;
	border-radius:5px;
	overflow:hidden;
	align-items:center;
	font-size:3.733333333vw;
}
.campaignNav__link strong{
	font-size:4.266666666vw;
	font-weight:bold;
}
.campaignNav__link picture{
	width:26.6666666vw;
	margin-right:4vw;
}
.campaignNav__num{
	display:block;
	position:absolute;
	left:0;
	top:0;
	z-index: 2;
	font-size:0.6875rem;
	line-height:1.375rem;
	height:1.375rem;
	background:#F27900;
	color:#fff;
	padding:0 10px;
	border-radius:0 0 5px 0;
}
.campaignBlock{
	background:#fce4cc;
	position:relative;
	padding:12.8vw 0 43.2vw;
}
.campaignBlock:first-of-type{
	padding-top:21.6vw;
}
.campaignBlock:last-of-type{
	padding-bottom:21.6vw;
}
.campaignBlock::after{
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 21.6vw 0 0 100vw;
}
.campaignBlock:nth-of-type(odd){
	background:#fff;
}
.campaignBlock:nth-of-type(odd)::after{
	border-color: transparent  transparent  transparent #f0f3f5;
}
.campaignBlock:nth-of-type(even){
	background:#f0f3f5;
}
.campaignBlock:nth-of-type(even)::after{
	border-color: transparent  transparent  transparent #fff;
}
.campaignBlock:last-of-type::after{
	display:none;
}
.campaignBlock__inner{
	padding:0 5.3vw ;
}
.campaignBlock__flag{
	background:#F27900;
	color:#fff;
	height:16vw;
	width:17.333333333vw;
	margin:0 auto 4vw;
	font-weight:bold;
	text-align:center;
	padding:1.6vw 0 0;
	position:relative;
}
.campaignBlock__flag::after{
	content:"";
	display:block;
	width:0;
	height:0;
	position:absolute;
	left:0;
	bottom:0;
	border-width: 0 8.666666vw 3.2vw;
	border-color: transparent transparent #fff;
	border-style: solid;
}
.campaignBlock:nth-of-type(even) .campaignBlock__flag::after{
	border-color: transparent transparent #f0f3f5;
}
.campaignBlock__flagText{
	font-size:0.6875rem;
	line-height:1.4;
}
.campaignBlock__flagNum{
	font-size:5.333333333vw;
	line-height:1;
}
.campaignBlock__title{
	font-size:6.933333333vw;
	line-height:1.4;
	text-align:center;
	font-weight:bold;
	margin-bottom:6.4vw;
}
.campaignBlock__img{
	width:calc(100% + 10.6vw);
	margin-left:-5.3vw;
	margin-bottom:6.4vw;
}
.campaignBlock__img img{
	width:100%;
	height:auto;
}
.campaignBlock__infoTitle{
	font-size:5.333333333vw;
	line-height:1.5;
	font-weight:bold;
	margin-bottom:4vw;
}
.campaignBlock__infoText{
	font-size:4vw;
	line-height:1.87;
	margin-bottom:6.4vw;
}
.campaignBlock__caution{
	padding:5.3vw;
	border:1px solid #ddd;
	border-radius:5px;
}
.campaignBlock__cautionText{
	margin-bottom:2.66666666vw;
	font-size:3.466666667vw;
}
.campaignBlock__cautionText:last-of-type{
	margin-bottom:0;
}
.campaignBlock__cautionText .code{
	font-size:4vw;
	font-weight:bold;
	color:#004198;
}
.campaignBlock__cautionText .copy_btn{
	border:1px solid #004198;
	color:#004198;
	text-decoration:none;
	display:inline-block;
	line-height:1;
	padding:3px 10px;
	border-radius:3px;
}
.campaignBlock__cautionText .copy_btn.copied{
	background:#eee;
	border:1px solid #aaa;
	color:#bbb;
}
.itemList__title{
	margin:10.4vw 0 4vw;
	font-size:5.333333333vw;
	font-weight:bold;
}
.itemList li:nth-last-of-type(-n+2){
	margin-bottom:0 !important;
}
/*背景に色が入ってるリストの時には画像の背景を白に*/
.campaignBlock:nth-of-type(even) .itemList li .img{
	background:#fff;
}


.reviewPromotionBnr{
	padding:0 5.3vw 21.2vw;
	margin:0 auto;
}

.reviewPromotionBnr img{
	width:100%;
	height:auto;
}
.reviewPromotionBnr__caution{
	font-size:0.75rem;
	line-height:1.5;
	padding:10px 0 0;
}
.reviewPromotionBnr__caution dd{
	position:relative;
	padding:0 0 0 1em;
	text-indent:-1em;
	margin-top:5px;
}
.campaignBlock__listBtn {
	margin-top:8vw;
}
.campaignBlock__listBtn a:link,
.campaignBlock__listBtn a:visited{
	background:#004198;
	color:#fff;
	text-align:center;
	font-size:1rem;
	line-height:1;
	display:block;
	border-radius:30px;
	padding:19px 0;
	font-weight:bold;
}
.campaignFixed{
	background:rgba(0,0,0,0.5);
	position: -webkit-sticky;
	position:sticky;
	bottom:0;
}
@media screen and (min-width: 768px) {
	.campaignKv::after{
		border-width:12.5vw 0 0 100vw;
	}
	.campaignNav{
		padding:0;
		margin:-11.875vw auto 0;
		max-width:990px;
	}
	.campaignNav__items{
		display:flex;
	}
	.campaignNav__item{
		width:30.3030303030303%;
		margin:0 1.515151515%;
		background:#F0F3F5;
		border-radius:0 0 5px 5px;
	}
	.campaignNav__link{
		flex-direction:column;
		font-size:15px;
		align-items: flex-start;
	}
	.campaignNav__link strong{
		font-size:20px;
	}

	.campaignNav__link picture{
		width:100%;
		margin-right:0;
	}
	.campaignNav__link picture img{
		width:100%;
	}
	.campaignNav__num{
		font-size:12px;
	}
	.campaignNav__title{
		padding:20px 0 24px 18px;
	}
	.campaignBlock{
		padding:8.3vw 0 20.83vw;
	}
	.campaignBlock:first-of-type{
		padding-top:8.3vw;
	}
	.campaignBlock:last-of-type{
		padding-bottom:8.3vw;
	}
	.campaignBlock::after{
		border-width:12.5vw 0 0 100vw;
	}
	.campaignBlock__flag{
		width:80px;
		height:75px;
		padding:10px 0 0;
		margin:0 auto 30px;
	}
	.campaignBlock__flag::after{
		border-width: 0 40px 15px;
	}
	.campaignBlock__flagText{
		font-size:14px;
	}
	.campaignBlock__flagNum{
		font-size:26px;
	}
	.campaignBlock__title{
		font-size:42px;
		margin-bottom:40px;
	}

	.campaignBlock__img{
		margin-bottom:40px;
	}
	.campaignBlock__infoTitle{
		font-size:26px;
		margin-bottom:25px;
	}
	.campaignBlock__infoText{
		font-size:18px;
		margin-bottom:25px;
	}
	.campaignBlock__caution{
		padding:20px;
	}
	.campaignBlock__cautionText{
		font-size:13px;
		margin-bottom:10px;
	}
	.campaignBlock__cautionText .code{
		font-size:18px;
	}
	.itemList__title{
		font-size:26px;
		margin:50px 0 20px;
	}
	.campaignBlock__listBtn{
		margin-top:45px;
	}
	.campaignBlock__listBtn a{
		font-size:1.125rem;
		border-radius:30px;
		max-width:400px;
		margin:0 auto;
		padding:21px 0;
	}
	.reviewPromotionBnr{
		max-width:calc(960px + 10.6vw);
		padding-bottom:80px;
	}
}
@media screen and (min-width: 1201px) {
	.campaignBlock__inner{
		padding:0 40px;
	}
	.campaignBlock__img{
		width: calc(100% + 80px);
		margin-left:-40px;
	}
}
@media screen and (min-width: 1281px) {
	.campaignBlock{
		padding:120px 0 300px;
	}
	.campaignBlock:first-of-type{
		padding-top:120px;
	}
	.campaignBlock:last-of-type{
		padding-bottom:120px;
	}
	.campaignBlock__inner{
		max-width:1280px;
		margin:0 auto;
		padding:0;
	}
	.campaignBlock__img{
		width:100%;
		margin-left:0;
	}
}