@charset "utf-8";
#contents {
	background: #ffffff;
    padding: 0;
    font-family: "Hiragino Kaku Gothic ProN",Meiryo,"MS PGothic",Sans-serif;
    color: #333;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
}
#contents * {
	box-sizing: border-box;
}
#contents .inner {
	width: 100%;
}
#contents a {
    color: #0099cc;
    /* font-weight: 700; */
    text-decoration: underline;
}
#contents a:hover {
	opacity: 0.7;
	transition: 0.3s;
}
.content_area {
	width: 100%;
	max-width: 840px;
	margin: auto;
}
.display-sp {
	display: none;
}
.display-pc {
	display: block;
}
.content_area h3 {
	margin: 0 auto 30px;
	text-align: center;
	display: flex;
	justify-content: center;
}

/* ============== MV =================== */
.mv {
	background: #fffbee;
	position: relative;
}
.mv:after {
	content: "";
	display: block;
	width: 100%;
	height: 60px;
	background: #af1654;
	position: absolute;
	top: 0;
	z-index: 0;
}
.mv_pic {
	display: block;
	position: relative;
	z-index: 1;
}
.mv_text {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #dfd9c6;
	padding: 16px;
}
.mv_text img {
	width: auto;
	max-width: 540px;
}
.mv img {
	margin: 0 auto;
}
/* ================= ボタン周り ====================== */
.entry-block {
	width: 100%;
	margin: 35px auto 30px;
}
.btn-entry {
	margin: auto;
}
.btn-entry img {
	text-align: center;
}
#contents .btn-entry a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70%;
	background: #df0615;
	color: #ffffff;
	text-decoration: none;
	margin: auto;
	padding: 1.7rem 2rem 1.2rem;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	border-radius: 50px;
	box-shadow: 0 6px 0px 0px #a30011;
	position: relative;
	transition: .2s;
}
#contents .btn-entry a:after {
	content: "";
	border: 11px solid transparent;
	border-left: 14px solid #ffffff;
	position: absolute;
	border-radius: 2px;
	right: 1.5rem;
}
#contents .btn-entry a:hover {
	box-shadow: 0 1px 0px 0px #a30011;
	transform: translateY(6px);
}
#contents .btn-entry.end a {
	pointer-events: none;
	background: #aaaaaa;
	box-shadow: none;
}
.btn-entry.end{
	margin-top: -10px;
}
.btn-entry.end p {
	color: #df0615;
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 0.5rem;
}
.entry-att {
	text-align: center;
	margin-top: 1.5rem;
	line-height: 1.8;
}
.btn-entry .entry-txt {
	width: 48%;
}
.end {
    font-size: 2.5rem;
    font-weight: bold;
    color: #ff665b;
    margin: 15px auto -15px;
}

/* ============== campaign =================== */
.campaign {
    background: #ffffff;
    border-radius: 20px;
	width: 94%;
    max-width: 850px;
    margin: 30px auto;
    /* padding: 3% 3% 4%; */
    line-height: 1.7;
    box-sizing: border-box;
    text-align: center;
	border: 2px solid #dfd9c6;
}
.campaign_item_ttl {
	background: #dfd9c6;
    font-size: 24px;
    font-weight: bold;
    position: relative;
    line-height: 1.3;
    padding: 0.5em;
    text-align: center;
	border-radius: 18px 18px 0 0;
}
.campaign_item_inner dd {
	padding: 3% 3% 4%;
}
.campaign p {
    font-size: 20px;
}
.campaign p span {
    font-weight: bold;
}
.campaign img {
    margin: 3% auto 0;
}

/* ============== att =================== */
.att {
    background: #ffffff;
    border-radius: 20px;
	width: 94%;
    max-width: 850px;
    margin: 30px auto;
    padding: 3% 3% 4%;
    text-align: left;
    line-height: 1.7;
    box-sizing: border-box;
	border: 2px solid #dfd9c6;
}
.att_item + .att_item {
    margin-top: 30px;
}
.att_item_ttl {
    margin-bottom: 0.3em;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    line-height: 1.3;
    padding-left: 1.4em;
}
/*「●」タイプのリスト用 */
.att_item_ttl::before {
    content: "";
    display: block;
    position: absolute;
    background: #af1654;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.att_item_inner p {
    margin-top: 10px;
}
.att_item_inner p + p {
    margin-top: 0;
}
.att_item_img {
    margin: 20px auto;
    text-align: center;

}
.att_list-style {
    margin-top: 10px;
    padding-left: 1em;
    text-indent: -1em
}
.att_list-style li > ul, .att_list-style li > ol {
    margin-left: 1em;
    margin-bottom: 5px;
}
.att_small-unit {
    margin: 5px auto 10px;
}
.att_small-unit dt {
    font-weight: bold;
    text-indent: 0;
    margin-left: -1em;
}
.att_item_note {
    font-size: 12px;
    color: #909090;
}
.att_item_em {
    color: #ff0505;
}
.att_square-box {
    border: 1px solid #ff0505;
    box-sizing: border-box;
    padding: 10px 15px;
    margin: 5px auto;
    color: #ff0505;
}
.att_square-box dd ol {
    padding-left: 2.1em;
    text-indent: -2.5em;
}
.att_small-unit_inner li {
	text-indent: 0;
	padding-left: 0;
	margin-left: -1em;
}
.att_list-style li.noindent {
	padding-left: 0;
	text-indent: 0;
	margin-left: -1em;
}
.att_list-shopname span {
	width: 15rem;
	display: inline-block;
	padding-left: 1em;
}

/* ================= SP ====================== */
@media screen and (max-width: 767px) {
	.display-pc {
		display: none;
	}
	.display-sp {
		display: block;
	}
	#contents {
		font-size: 14px;
		line-height: 1.7;
	}
	.entry-block {
		width: auto;
		margin: 30px auto;
	}
	.mv_pic {
		padding-bottom: 0;	
	}
	.mv_text {
		padding: 3% 4%;
	}
	.mv_text img {
		width: 100%;
	}
	.content_area {
		padding: 10% 6%;
	}
	.content_area h3 {
		margin: 0 auto 6%;
	}
	.entry-block .content_area {
		padding: 0;
		width: calc(100% - 30px);
	}
	#contents .btn-entry a {
		width: 94%;
		font-size: 6vw;
		padding: 1.6rem 2rem 1.4rem;
	}
	#contents .btn-entry a:after {
		border: 8px solid transparent;
		border-left: 11px solid #ffffff;
		right: 3%;
	}
	.entry-att {
		margin-top: 1.5rem;
		text-align: left;
	}
	.entry-att p,.appDownload .app_txt p {
		padding-left: 1rem;
		text-indent: -1rem;
	}
	.btn-entry.end p {
		font-size: 5.5vw;
	}
	.end {
		font-size: 5.5vw;
		margin: 4% auto -5%;
	}
	/* =========== campaign ============= */
	.campaign {
		/* padding: 4% 5% 5%; */
		width: calc(100% - 30px);
	}
	.campaign_item_ttl {
		font-size: 1.8rem;
	}
	.campaign_item_inner dd {
		padding: 5% 5% 7%;
	}
	.campaign p {
		font-size: 1.7rem;
		text-align: left;
	}
	.campaign img {
		margin-top: 5%;
	}
	/* =========== att ============= */
	.att {
		padding: 4% 5% 5%;
		/*↓差し引く余白は任意 横幅いっぱいにする場合は記述不要*/
		width: calc(100% - 30px);
	}
	.att_item + .att_item {
		margin-top: 8%;
	}
	.att_item_ttl {
		font-size: 1.8rem;
		margin-bottom: -0.3em;
		padding-block: 0.5em;
	}
	/*「●」タイプのリスト用*/
	.att_item_ttl::before {
		width: 18px;
		height: 18px;
	}
	.att_item_inner p, .att_list-style {
		margin-top: 5px;
	}
	/* ================= ページトップ ====================== */
	.container-wrap #pagetop {
		padding-top: 6%;
	}
}
