@charset "UTF-8";

.contsTtl .redH {
	background: #e10012;
}

.blueBtn {
	background: #0073C3;
	background: radial-gradient(circle,rgba(0, 115, 195, 1) 0%, rgba(1, 33, 71, 1) 100%);
	-webkit-box-shadow: 0px -5px 0px 0px #012147 inset;
	box-shadow: 0px -5px 0px 0px #012147 inset;
}
a.txtLink {
	text-decoration: underline;
	color: #0000ff;
	display: inline;
}
.contsTxt.step1 {
  padding: 0 3.125% 5.2083% 28%;
  font-size: 21px;
}
@media only screen and (max-width:640px) {
  .contsTxt.step1 {
    padding: 0 3.125% 5.2083% 25%;
    font-size: 18px;
  }
}
@media only screen and (min-width:641px) {
	.fsXL {
		font-size: 24px;
	}
}
@media only screen and (max-width:640px) {
	.fsXL {
		font-size: 20px;
	}
}

/*KV下ボタン*/
.button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 4.1664%;
}
.anc_button {
	display: flex;
	flex-wrap: wrap;
	width: 47.5%;
	align-items: center;
	justify-content: center;
  padding: 2.0832% 5.2%;
  background-color: #e10012;
  border-radius: 4px;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  cursor: pointer;
	box-sizing: border-box;
	text-align: center;
}
.anc_button:nth-of-type(n+2) {
  margin-left: 5%;
}
.anc_button:after {  
  position: absolute;
  top: 45%;
  right: 30px;
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #FFF;
  border-left: solid 2px #FFF;
  border-radius: 0;
  box-sizing: content-box;
  -webkit-transform: translateY(-50%) rotate(-135deg);
  -ms-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
  content: '';
}
@media only screen and (min-width: 768px) {
  .anc_button {
    padding: 2.0832% 5%;
    font-size: 16px;
  }
  .anc_button:nth-of-type(n+2){
    margin-left: 5%;
  }
}
@media only screen and (max-width: 640px) {
  .button-container {
    margin: 0 auto;
    padding: 0;
  }
  .anc_button {
    width: 83.33%;
    height: 3.125%;
    padding: 1.5% 5%;
    margin-bottom: 3.125%;
    font-size: 16px;
  }
  .anc_button:nth-of-type(n+2){
    margin-left: 0;
  }
	.anc_button:after {  
		right: 4%;
		-webkit-transform: translateY(-55%) rotate(-135deg);
		-ms-transform: translateY(-55%) rotate(-135deg);
		transform: translateY(-55%) rotate(-135deg);
	}
}
@media only screen and (max-width: 460px) {
	.anc_button {
    font-size: 14px;
  }
}

/*店舗アコーディオン*/
.accordion {
	width: 83.4%;
	max-width: 800px;
	padding-bottom: 4.1664%;
}
.switch {
	text-align: left;
}
.accordionBtn{
	background-color: #808080;
	-webkit-box-shadow: 0px -5px 0px 0px #4d4d4d inset;
	box-shadow: 0px -5px 0px 0px #4d4d4d inset;
}
.accordion.acco_shoplist{
	font-size: 16px;
}
.accordion.acco_shoplist ul {
	display: flex;
	flex-wrap: wrap;
	border-right: 2px solid #808080;
	border-bottom: 2px solid #808080;
	border-left: 2px solid #808080;
}
.accordion.acco_shoplist li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	border-top: 2px solid #808080;
	border-right: 2px solid #808080;
	box-sizing: border-box;
	padding: 10px;
}
.accordion.acco_shoplist li:nth-child(1),
.accordion.acco_shoplist li:nth-child(2){
	border-top: none;
}
.accordion.acco_shoplist li:nth-child(2n){
	border-right: none;
}
.accordion.acco_shoplist li a{
	text-decoration: underline;
}
.toggle_btn {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	background: #ffffff;
	display: block;
	width: 30px;
	height: 30px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
}
.switch .toggle_btn:before, .toggle_btn:after {
	display: block;
	content: '';
	background-color: #808080;
	position: absolute;
	width: 14px;
	height: 4px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.switch .toggle_btn:before {
	width: 4px;
	height: 14px;
}
.switch.open .toggle_btn:before {
	content: normal;
}
.accordion.acco_shoplist .switch:after{
	display: none;
}
@media only screen and (max-width: 640px){
	#btnLink02 .switch {
		font-size: 14px;
	}
	.accordion.acco_shoplist li{
		font-size: 12px;
	}
	.toggle_btn {
    /*right: 18px;*/
		width: 20px;
		height: 20px;
	}
	.switch .toggle_btn:before, .toggle_btn:after {
		width: 10px;
		height: 2px;
	}
	.switch .toggle_btn:before {
		width: 2px;
		height: 10px;
	}
}

/*フローティングボタン*/
.floatSpBnr {
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	display: none;
	z-index: 2;
	box-sizing: border-box;
}
.floatSpLink {
	display: block;
}
.floatSpBnr img {
	width: 100%;
}
.floatPcBnr {
	height: 300px;
	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;
	}
	.flbnpb {
		padding-bottom: 20% !important;
	}
}

/*対象店舗*/
.logoWrap {
	max-width: 800px;
  width: 83.5%;
  margin: 0 auto 5.2083%;
}
.shoplist {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.shoplist li {
	width: 28.75%;
	margin: 4.1664% 6.75% 0 0;
}
.shoplist li:nth-of-type(3n) {
	margin-right: 0;
}

/*「キャンペーン詳細とご注意事項ボタン」へのアンカーリンク*/
a.anc_cpNote {
  color: #333;
  font-weight: bold;
  font-size: 30px;
}
a.anc_cpNote span.anc_cpNoteTxt {
	display: inline-block;
	text-decoration: underline;
}
@media only screen and (max-width: 959px){
	a.anc_cpNote {
		font-size: 27px;
	}
}
@media only screen and (max-width: 640px){
	a.anc_cpNote {
		font-size: 24px;
	}
}
@media only screen and (max-width: 460px){
	a.anc_cpNote {
		font-size: 18px;
	}
}
.cardInfo {
	padding: 0 4.16667% !important;
}
.cpNotes {
	padding: 5.2083% 8.33333% 3.125%;
}