@charset "utf-8";
#contents {
	background: #fff8da;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #333333;
	padding: 0;
}
#contents .inner {
	width: 100%;
}
.container-wrap {
	width: 100%;
}
.container-wrap .content-wrap {
	margin: auto;
	background: #fdf9eb;
}
.main {
	max-width: 850px;
	margin: 0 auto;
	padding: 0 15px;
}
.display-sp {
	display: none;
}
.display-pc {
	display: block;
}
a {
	color: #1d73dd;
	text-decoration: underline;
}
.red {
	color: #FF0004;
}

/* ============== MV =================== */
.mv {
	background: #b0d4dc;
}
.mv img {
	margin: 0 auto;
	width: 100%;
	max-width: 980px;
}

/* ========== term ============= */
.term {
	background: #36a49c;
	padding: 10px 0;
	text-align: center;
}
.term img {
	margin: 0 auto;
}

/* ========== btn ============= */
.btn_wrap {
	margin: 4% auto;
	text-align: center;
	font-size: 0;
}
.btn {
	display: inline-block;
}
.btn img:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	transform: translateY(4px);
}
.btn_att {
	margin-top: 15px;
	line-height: 1.5;
	font-size: 13px;
}
/* ▼▼▼---終了対応---▼▼▼ */
.btn_close {
	position: relative;
	pointer-events: none;
}
.btn_close::after {
	content:"※本キャンペーンは終了しました";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 110%;
	height: 120%;
	background: rgba(0,0,0,0.7);
	margin: 0 auto;
	z-index: 10;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
}
/* ▲▲▲---終了対応---▲▲▲ */

/* ========== step ============= */
.step_ttl {
	margin: 0 auto 4%;
}
.step_ttl img {
	margin: 0 auto;
}
.step_list {
	margin: 2% auto;
	display: flex;
	justify-content: space-between;
}
.step_item {
	width: calc((100% - 20px) / 3);
}
.step_att {
	line-height: 1.5;
	font-size: 13px;
}

/* ========== att ============= */
.att {
	background: #fff;
	border-radius: 10px;
	padding: 10px 40px;
	margin-top: 5%;
}
.att_inner .att_unit:last-child {
	margin-bottom: 30px;
}
.att_unit_ttl {
	margin-top: 30px;
	margin-bottom: 10px;
	padding-left: 15px;
	font-size: 23px;
	display: block;
	line-height: 1.3;
	color: #363636;
	border-left: solid 7px #e6302f;
}
.att_unit_subttl {
	font-weight: bold;
	margin: 10px 0 5px;
}
.att_unit_subttl + .att_unit_list {
	margin-top: 5px;
}
.att_unit_subttl{
	font-weight: bold;
}
.att_unit_list {
	margin-top: 10px;
	list-style: none;
}
.att_unit_list > li {
	padding-left: 1em;
	text-indent: -1em;
}
.att_unit_list li span{
	font-weight: bold;
}
.att_unit_sublist {
	padding-left: 1em;
	margin: 12px 0;
	list-style: none;
}
.att_unit_sublist span{
	padding-left: 1em;
	text-indent: -1em;
	font-weight: bold;
}

.att_unit dd .att_unit_dl {
	display: flex;
}
.att_unit dd .att_unit_dl dt {
	flex: 0 1 auto;
	margin-right: 0.5em;
	font-weight: bold;
}
.att_unit dd .att_unit_dl dt::after {
	content: "→";
	margin-left: 0.5em;
}
.att_unit dd .att_unit_dl dd {
	flex: 1;
	margin-bottom: 10px;
}

/******************** SP *********************/
@media screen and (max-width: 767px) {
	.display-pc {
		display: none;
	}
	.display-sp {
		display: block;
	}
	.container-wrap .content-wrap {
		font-size: 1.3rem;
		width: 100%;
	}
	.container-wrap.fixed #pagetop .inner p a {
		margin: 0 auto !important;
	}
	.main {
		padding: 0 3%;
	}
	
	/* ========== term ============= */
	.mv {
		background: url(https://pntc.sslcs.cdngc.net/cdn/campaign/joshin_2212/img/mv_sp.png) top center no-repeat;
		background-size: contain;
		padding-top: 89.84%;
	}
	
	/* ========== term ============= */
	.term {
		padding: 2% 3%;
	}
	.term img {
		margin: 0 auto;
	}
	
	/* ========== btn ============= */
	.btn_wrap {
		margin: 6% auto;
	}
	.btn {
		width: 90%;
	}
	.btn img:hover {
		opacity: 1;
		transform: none;
	}
	.btn_att {
		margin-top: 3%;
		line-height: 1.6;
		text-align: left;
		padding-left: 1em;
		text-indent: -1em;
	}
	/* ▼▼▼---終了対応---▼▼▼ */
	.btn_close::after {
		font-size: 1.8rem;
	}
	/* ▲▲▲---終了対応---▲▲▲ */
	
	/* ========== step ============= */
	.step {
		margin-top: 10%;
	}
	.step_list {
		margin-top: 3%;
		display: block;
	}
	.step_item {
		width: 100%;
	}
	.step_item + .step_item {
		margin-top: 2%;
	}
	.step_att {
		line-height: 1.6;
		text-align: left;
		padding-left: 1em;
		text-indent: -1em;
	}
	
	/* ========== att ============= */
	.att {
		padding: 10px 4%;
		margin: 10% auto 3%;
	}
	.att_inner .att_unit:last-child {
		margin-bottom: 15px;
	}
	.att_unit_ttl {
		margin-top: 20px;
		padding-left: 10px;
		font-size: 20px;
		line-height: 1.2;
		border-left: solid 5px #e6302f;
	}
	.att_unit dd .att_unit_dl {
		display: block;
	}
	.att_unit dd .att_unit_dl dd {
		margin-bottom: 2%;
	}
}