@charset "UTF-8";
a.txtLink {
	text-decoration: underline;
	color: #0000ff;
	display: inline;
}
.bgBlack {
	background-color: #010000;
}
.bgBlack > .contsTxt{
	color: #FFF;
}
.entry_btn a, .setting_btn a {
	width: 83.4%;
	max-width: 800px;
	margin: 0 auto;
}
.entry_btn .contsTxt {
	color: #FFF;
}
.entry_btn .contsTxt a.txtLink {
	color: #FFF;
}
.setting_btn .contsTxt a.txtLink {
	position: relative;
	color: #FFF;
	font-size: 28px;
}
.setting_btn .contsTxt a.txtLink::after {
	position: absolute;
	display: block;
	content: '';
	background: url("../img/ic_03.png") no-repeat center top / 100%;
	top: 50%;
	right: 0;
	width: 21px;
	height: 21px;
	transform: translate(150%,-50%);
}
a.anc_cpNote {
  color: #FFF;
  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, .setting_btn {
		font-size: 18px;
	}
	.entry_btn .contsTxt {
		font-size: 1.6rem;
	}
	.setting_btn .contsTxt a.txtLink::after {
		width: 18px;
		height: 18px;
	}
}
/*-------------contents_0X-box 共通-------------*/
.contents_01-box * , .contents_02-box * , .contents_03-box *  {
	box-sizing: border-box;
}
.contents_01-box, .contents_02-box, .contents_03-box {
	width: 83.4%;
	max-width: 800px;
	background-color: #FFF;
	border-radius: 20px;
	margin: 0 auto;
	padding: 0 5.2% 7.2916%;
  box-sizing: border-box;
}
.contents_01-box, .contents_03-box {
	position: relative;
}
.contents_01-box h2, .contents_03-box h2 {
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 80%;
	max-width: 640px;
}
.contents_01-box .contsImg, .contents_02-box .contsImg, .contents_03-box .contsImg {
	max-width: 700px;
	padding: 0 0 3.125%;
}
.cpNotes {
	padding: 5.2083% 8.33333% 3.125%;
}
/*---------------------------------------------*/
/*-----キャンペーンの詳細と注意事項アコーディオン-----*/
.accordion02 * {
	color: #333;
}
.accordion02 {
	max-width: 700px;
	margin: 0 auto;
}
.accordion02_title {
	position: relative;
	background-color: #e9e9e9;
  font-size: 30px;
  font-weight: bold;
	padding: 4%;
  box-shadow: 0px 4px 0px #ababab;
	border-radius: 16px;
}
.accordion02_title:after {
	position: absolute;
	content: "";
	display: inline-block;
	max-width: 30px;
	background: url("../img/ic_01.png") no-repeat center center / 100%;
	top: 50%;
	right: 20px;
	width: 30px;
	height: 30px;
	transition: 0.7s;
	transform: translateY(-50%);
}
.accordion02_title.open:after {
	background: url(../img/ic_02.png) no-repeat center center / 100%;
	transform: translateY(-50%) rotate(180deg);
}
.accordion02_txt {
	max-width: 78%;
	margin: 0 auto;
}
.accordion02_in {
	padding: 20px 0;
}

@media screen and (max-width: 959px) {
	.accordion02_title, .accordion02_title.open {
		font-size: 20px;
	}
	.accordion02_title:after, .accordion02_title.open:after {
		width: 3.125vw;
		height: 3.125vw;
	}
	.accordion02_title, .accordion02_title.open {
		font-size: 16px;
	}
	.accordion02_in{
		padding: 5vw 0vw;
	}
}
@media screen and (max-width: 460px) {
	.accordion02_title {
    border-radius: 10px;
	}
	.accordion02_title:after {
		right: 12px;
	}
	.accordion02_title, .accordion02_title.open {
		font-size: 14px;
	}
	.accordion-in.accordion02_in {
		font-size: 12px;
	}
}
/*---------------------------------------------*/
.contents_02-box h2 {
	width: 100%;
	max-width: 629px;
	margin: 0 auto;
}
.contents_02-box .stepBox {
	position: relative;
	width: 100%;
	max-width: 700px;
	background-color: #fff9d9;
	border-radius: 24px;
	margin: 0 auto;
	padding: 7.2916% 0 6.25%;
}
.contents_02-box .stepBox * {
	color: #FFF;
}
.contents_02-box .stepBox + .stepBox {
	margin-top: 10%;
}
.contents_02-box .stepBox::before {
	position: absolute;
	display: block;
	content: '';
	background: url("../img/ic_step01.png") no-repeat center top / 100%;
	top: -20px;
	left: -20px;
	width: 114px;
	height: 114px;
}
.contents_02-box .stepBox:nth-of-type(2)::before {
	background: url("../img/ic_step02.png") no-repeat center top / 100%;
}
.contents_02-box .stepBox:nth-of-type(3)::before {
	background: url("../img/ic_step03.png") no-repeat center top / 100%;
}
.contents_02-box .stepBox .contsImg {
	width: 85.8%;
	max-width: 600px;
	padding: 0;
}
.contents_02-box .stepBox:nth-of-type(3) .contsImg {
	width: 100%;
	max-width: 700px;
	margin: 0;
}
.contents_02-box .stepBox .entry_btn a {
	width: 85.8%;
	max-width: 600px;
	margin: 0 auto;
}
.contents_02-box .stepBox .entry_btn ul li {
	color: #333!important;
}
.bgDeepYellow {
	background-color: #d39a00;
	border-radius: 0 0 24px 24px;
	font-size: 2.4rem;
}
@media screen and (max-width: 959px) {
	.contents_02-box .stepBox::before {
		top: -2vw;
		left: -2vw;
		width: 11.875vw;
		height: 11.875vw;
	}
}
@media screen and (max-width: 640px) {
	.bgDeepYellow {
		font-size: 1.4rem;
	}
}
/*---------------------------------------------*/
.contents_03-box {
	margin-top: 15%;
	padding: 11% 0 0; 
}
.contsImg.linkBnr {
	max-width: 640px;
}
.contens_04 h2 {
	width: min(413px,43.1%);
	margin: auto;
}

/*-----------よくあるご質問アコーディオン----------*/
.accordion01 {
	width: min(800px,83.4%);
	margin: 0 auto;
	margin-top: 6%;
}
.accordion01_ttl01, .accordion01_ttl02, .accordion01_ttl03 {
	text-align: center;
  font-size: 1.9em;
  font-weight: bold;
}
.accordion01_title {
	position: relative;
	background-color: #fff9d9;
	border-radius: 1vw;
	color: #333;
  padding: 30px calc(28px + 3.125vw);
	font-weight: bold;
	text-align: center;
}
.accordion01_title:after {
	position: absolute;
	content: "";
	display: inline-block;
	max-width: 30px;
	width: 4vw;
	height: 4vw;
	background: url("../img/ic_01.png") no-repeat center center / 100%;
	top: 50%;
	right: 3vw;
	transition: 0.5s;
	transform: translateY(-50%);
}
.accordion01_title.open:after {
  background: url(../img/ic_02.png) no-repeat center center / 100%;
  transform: translateY(-50%) rotate(180deg) ;
}
.accordion01_in{
	margin-top: 3vw;
	padding: 0 8.3333% 3.125%;
	border-radius: 1vw;
	text-align: left;    
	background-color: #fff;
}
.accordion01_in .contsTxt,.accordion01_in .contsImg {
	padding: 0 0 3.125%;
}
.accordion01_in .contsImg.mw539 {
	max-width: 539px;
}
.accordion_dotted {
	margin: 3vw 0;
	border-top: 2px dotted #000;
}
.mydocomo_btn a {
	display: block;
}
@media screen and (max-width: 959px) {
	.accordion01_title {
    padding: 3vw calc(14px + 3.125vw);
	}
	.accordion01_ttl01, .accordion01_ttl02, .accordion01_ttl03 {
		font-size: 1.2em;
	}
	.accordion01_title:after, .accordion01_title.open:after {
		width: 3.125vw;
		height: 3.125vw;
		right: 14px;
	} 
}
@media screen and (max-width: 460px) {
	.accordion01_ttl01 {
		font-size: 0.8em;
	}
	.accordion01_ttl02, .accordion01_ttl03 {
		font-size: 0.9em;
	}
	.accordion01_in .contsTxt {
	font-size: 14px;	
	}
}
.js_entry.is-disabled {
	pointer-events: none;
	filter: grayscale(1);
}
/*---------------------------------------------*/
.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;}
}