@charset "UTF-8";

/* LP内共通スタイル
======================================================================== */
a.txtLink {
	text-decoration: underline;
	color: #0000ff;
	display: inline;
}

/* KV下・キャンペーン概要
======================================================================== */
.contsBlock01{
	position: relative;
	padding: 6.8% 0 7.8%;
	background: transparent url("../img/bg_01.png") repeat 0 0;
}
.conts01Img01{
	max-width: 840px;
	width: 87.5%;
	margin: 0 auto;
}
.conts01Txt01{
	max-width: 800px;
	width: 83.4%;
	margin: 4.7% auto 0;
	font-size: 18px;
	line-height: 1.5;
}
/* SP Only Style */
@media only screen and (max-width: 640px) {
	.conts01Txt01{
		font-size: 14px;
	}
}

/* 参加条件
======================================================================== */
.contsBlock02{
	max-width: 872px;
	width: 90.84%;
	margin: 8.4% auto 10.5%;
	border-radius:10px;
	border: 4px solid #ff5a00;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
}
.contsBlock02.simpleWrap {
  border: none;
  margin: 8.4% auto 0;
}
.conts02Ttl01{
	background: #ff5a00;
}
.conts02Ttl01 img{
	border-radius:8px 8px 0 0;
}
.conts02Inner{
	padding: 6.84% 0 6.4%;
}
.conts02Step01Txt01,
.conts02Step01Txt02,
.conts02Step01Txt03,
.conts02Step02Txt01,
.conts02Step02Txt02,
.conts02Step02Txt03,
.conts02Step02Txt04,
.conts02Step01Btn01,
.conts02Step02Btn01 {
	max-width: 744px;
	width: 86.2%;
	margin: 0 auto;
}
.conts02Step01Txt02{
	margin-top: 5.2%;
}
.conts02Step01Btn01,
.conts02Step02Btn01 {
	margin: 2.2% auto 0;
}
.conts02Step01Txt03{
	margin-top: 1.4%;
}
.conts02Step02Txt01::before{
	content: "";
	display: block;
	max-width: 800px;
	width: 100%;
	margin: 6.8% auto 2.9%;
	padding-top: 5.15%;
	background: transparent url("../img/conts02_line01.png") no-repeat 0 0;
	background-size: 100% auto;
}
.conts02Step02Txt02{
	margin-top: 4.4%;
}
.conts02Step02Txt03{
	margin-top: 4.6%;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.3;
}

.conts02Step02Txt04{
	margin-top: 3%;
	font-size: 16px;
	line-height: 1.5;
}
/* PC Only Style */
@media only screen and (min-width: 641px) {
	.conts02Step02Txt03{
		max-width: 744px;
		width: 86.2%;
	}
}
/* SP Only Style */
@media only screen and (max-width: 640px) {
	.conts02Step02Txt03,
	.conts02Step02Txt04{
		font-size: 14px;
	}
}



/* キャンペーン対象企業
======================================================================== */
.contsBlock03{
	position: relative;
	padding-bottom: 7.6%;
	background: transparent url("../img/bg_02.png") repeat 0 0;
}
.conts03Inner{
	max-width: 880px;
	width: 91.7%;
	margin: 5.4% auto 0;
}

/* アコーディオン */
.accoStasus{
	margin-top: 4.9%;
}
.accoStasus:first-of-type{
	margin-top: 0;
}
.accoMenu{
	position: relative;
	cursor: pointer;
  margin-bottom: 3.4%;
}
.accoMenu .icon {
	content: "";
	position: absolute;
	top: 14%;
	right: 1.5%;
	display: block;
	max-width: 50px;
	width: 5.2%;
	padding-top: 5.2%;
	background-image: url("../img/date_plus.png");
	background-repeat: no-repeat;
	background-size: contain;
	transition: all 0.3s;
}
.accoMenu.active .icon{
	background-image: url("../img/date_minus.png");
}
.accoSubMenuWrap{
	/* display: none; */
	width: 100%;
}
.accoSubMenuWrap.accoDBlock{
	display: block ;
}
.accoSubMenu{
	display: flex;
	width: 100%;
	overflow: hidden;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.shopListItem{
	display: flex;
	flex-direction: column;
	max-width: 280px;
	width: 31.9%;
	margin-right: 2.1%;
	margin-top: 2.3%;
	padding: 2.3% 0 0;
	background: #e2e2e2;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	-webkit-border-radius: 14px;
	border-radius: 14px;
	overflow: hidden;
}
.shopListItem.spaceBlock{
	background: transparent;
}
.shopListImg,
.shopListTxt,
.shopListNotes,
.shopListBtn,
.shopListDate{
	position: relative;
	z-index: 1;
}
.shopListInfo {
	margin-top: auto;
}
.shopListNotes + .shopListInfo {
	margin-top: 0;
}
.shopListImg{
	max-width: 240px;
	width: 85.8%;
	margin: 0 auto;
	background: #fff;
}
.shopListTxt{
	max-width: 270px;
	width: 96.5%;
	margin: 2.3% auto 4%;
	text-align: center;
}
.shopListNotes{
	max-width: 260px;
	width: 92.9%;
	margin: auto auto 2%;
	font-size: 0.8em;
	text-align: center;
}
.shopListBtn{
	display: block;
	max-width: 248px;
	width: 88.6%;
	margin: 0 auto;
	padding: 7% 1% 7.5%;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	background: #939393;
	font-size: 24px;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	text-align: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
/* キャンペーン終了ボタン */
.shopListBtn.is_shopAf{
	background: #b0b0b0;
}
.shopListDate{
	display: block;
	width: 100%;
	margin-top: 5.3%;
	padding: 3.4% 0 6%;
	background: #cfcfcf;
	font-size: 19px;
	font-weight: bold;
	text-align: center;
	color: #6b6b6b;
}

/* キャンペーン開催中（ロゴエリア背景・ボタン・キャンペーン期間） */
.shopListItem.is_cpActive{
	background-color: #fff;
}
.shopListItem.is_cpActive .shopListBtn{
	color: #fff;
	background-color: #ff5a00;
}
.shopListItem.is_cpActive .shopListDate{
	color: #333;
	background-color: #ffc61a;
}


/* 企業ロゴ・注釈アイコン */
.shopListCaution{
	position: absolute;
	right: 4%;
	bottom: 3%;
	font-size: 0.5em;
	color: #6b6b6b;
}
/* アコーディオン下・注釈エリア */
.shopListCautionTxt{
	max-width: 880px;
	width: 100%;
	margin: 6.5% auto 0;
	font-size: 18px;
	position: relative;
}
.txtIndent02 {
	padding-left: 3.65em;
	text-indent: -3.65em;
}

/* PC Only Style */
@media only screen and (min-width:768px) {
	.shopListTxt{
		min-height: 45px;
	}
  .fs13 {
  font-size: 13px;
  }
}
@media only screen and (min-width:480px) {
	.accoSubMenu > li:nth-child(3n) {
    margin-right: 0;
	}
  .accoSubMenu > li:last-child {
    margin-right: 0;
	}
	.accoSubMenu > li:nth-of-type(-n+3){
		margin-top: 0;
	}
}
/* SP Style （960～768pxサイズ時） */
@media only screen and (min-width:768px) and (max-width: 960px) {
	.shopListTxt{
		font-size: 17px;
	}
	.shopListBtn{
		font-size: 21px;
	}
	.shopListDate{
		font-size: 15px;
	}
}
/* SP Style （767～480pxサイズ時） */
@media only screen and (min-width:480px) and (max-width: 767px) {
	.shopListItem{
		-webkit-border-radius: 12px;
		border-radius: 12px;
	}
	.shopListTxt{
		font-size: 13px;
	}
	.shopListBtn{
		font-size: 13px;
	}
	.shopListDate{
		padding-bottom: 8%;
		font-size: 9px;
	}
	.shopListCaution{
		position: absolute;
		right: 2%;
		bottom: 4%;
		font-size: 0.8em;
	}
	.shopListCautionTxt{
		font-size: 14px;
	}
}
/* SP Style （479px以下サイズ時） */
@media only screen and (max-width: 479px) {
	.accoSubMenu {
		justify-content: space-between;
	}
	.accoSubMenu > li:nth-of-type(-n+2){
		margin-top: 0;
	}
	.shopListItem{
		width: 48%;
		margin-right: 0;
		-webkit-border-radius: 7px;
		border-radius: 7px;
	}
	.shopListItem.spaceBlock{
		display: none;
	}
	.shopListTxt{
		font-size: 11px;
	}
	.shopListNotes{
		font-size: 10px;
	}
	.shopListBtn{
		font-size: 11px;
	}
	.shopListDate{
		font-size: 9px;
	}
	.shopListCaution{
		position: absolute;
		right: 2%;
		bottom: 1%;
		font-size: 0.8em;
	}
	.shopListCautionTxt{
		font-size: 12px;
	}
}

/* ページ下部・背景設定
======================================================================== */
.bgArea01{
	padding: 6.7% 0 0;
	background: #ffa8ac;
}


/* キャンペーンの詳細とご注意事項
======================================================================== */
/* ご注意事項 */
.cpNotes2 {
	max-width: 880px;
	width: 91.7%;
	margin: 0 auto;
}
.cpNotesBtnWrap2 {
	width: 100%;
	text-align: center;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}
.cpNotesBtn2 {
	position: relative;
	z-index: 1;
	display: table;
	width: 100%;
}
.cpNotesBtn2 a {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
}
.cpNotesFlame2 {
	position: relative;
	/* display: none; */
	width: 100%;
	margin: -5% auto 0;
	padding: 9.5% 0 0;
	border:4px solid #ffb534;
	border-radius: 12px;
	background: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cpNotesList {
	position: relative;
	z-index: 1;
	padding-top: 0;
}
.cpNotesList > li:first-of-type {
	margin-top: 0;
}
.cpNotesSubttl {
	font-weight: bold;
	line-height: 1;
	margin-bottom: 0.8em;
	padding: 0.3em;
	text-align: center;
	color: #ffffff;
	background-color: #ffb534;
}
.cpNotesItem01{
	text-indent: -3em;
	padding-left: 4em;
}
.cpNotesItem3em{
	text-indent: -3em;
	padding-left: 3em;
}
@media only screen and (min-width: 641px) {
	.cpNotesList {
		font-size: 19px;
	}
	.cpNotesTtl {
		font-size: 26px;
	}
	.cpNotesSubttl {
		border-radius: 20px;
		margin-top: 1.8em;
		font-size: 24px;
	}
}
@media only screen and (max-width: 640px) {
	.cpNotesSubttl {
		border-radius: 10px;
	}
	.cpNotesFlame2 {
		border-radius: 9px;
		border-width: 3px;
	}
}
@media only screen and (max-width: 480px) {
	.cpNotesFlame2 {
		border-radius: 6px;
		border-width: 2px;
	}
}

/* フローティングボタン
======================================================================== */
.floatSpBnr {
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	display: none;
	z-index: 2;
}
.floatSpLink {
	display: block;
}
.floatSpBnr img {
	width: 100%;
}
.floatPcBnr {
	height: 239px;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	display: block;
	z-index: 2;
}
a.floatPcLink {
	display: block;
}
@media only screen and (max-width: 640px) {
	.floatSpBnr,a.floatSpLink {
		display: block;
	}
	.floatPcBnr,a.floatPcLink {
		display: none;
	}
	#inner_footer, .floatSpPb {
		padding-bottom: 20% !important;
	}
}

/* フローティングバナーを光らせる */
@keyframes shiny {
	0% {
		transform: scale(0) rotate(25deg);
		opacity: 0;
	}

	50% {
		transform: scale(1) rotate(25deg);
		opacity: 1;
	}

	100% {
		transform: scale(50) rotate(25deg);
		opacity: 0;
	}
}
@-webkit-keyframes shiny {
	0% {
		transform: scale(0) rotate(25deg);
		opacity: 0;
	}

	50% {
		transform: scale(1) rotate(25deg);
		opacity: 1;
	}

	100% {
		transform: scale(50) rotate(25deg);
		opacity: 0;
	}
}
.cpCode {
  max-width: 880px;
  width: 91.7%;
  margin: 0 auto;
  padding: 0;
}

