@charset "utf-8";

/*---------------------------
	christmas index
---------------------------*/
/* reset
------------------ */
* {
	box-sizing: border-box;
}
.sp {
	display: none;
}

#wrapper {
	font-size: 16px;
	line-height: 1.8;
	word-break: break-all;
}

/* contentsArea
------------------ */
#contentsArea.christmas {
	margin: 0 auto;
	max-width: 1920px;
	background-image: url(/mm/store_event/2021/christmas/img/footer_img.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	position: relative;
}
.christmas .note {
	font-size: 16px;
	text-indent: -1em;
	padding-left: 1em;
}

.christmas .kvBlock {
	background-image: url(/mm/store_event/2021/christmas/img/decoration.png);
	background-repeat: no-repeat;
	background-position: top 56px center;
}
.christmas h1 {
	margin: 0 auto;
	width: 100%;
	background-color: #001448;
}
.christmas #contents {
	margin: 0 auto;
	padding: 70px 60px 60px;
	background: #fff;
	border-radius: 5px;
	position: relative;
	box-shadow: 0px 0px 16px 5px rgba(255,255,255,0.35);
}
.christmas #contents > .about {
	position: absolute;
	top: -41px;
	left: -28px;
	width: 24.3%;
}
@media only screen and (max-width: 1040px) {
	.christmas h1 {
		width: 100%;
	}
}
/* ttlBlock */
.christmas .ttlBlock {
	position: relative;
}
.christmas .ttlBlock::after {
	display: block;
	content: "";
	background: url(/mm/store_event/2021/christmas/img/bg_ttl_line.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
	max-width: 827px;
	height: 45px;
	margin-left: 26px;
}
.christmas .ttlBlock h2 {
	font-size: 50px;
	font-family: Reimin Y40 Bold;
	line-height: 1.2;
	font-weight: bold;
	color: #036eb8;
	text-align: center;
}
.christmas .ttlBlock h2 + p {
	font-size: 30px;
	font-family: Reimin Y40 Bold;
	line-height: 1.5;
	font-weight: bold;
	color: #036eb8;
	text-align: center;
}
.christmas .ttlBlock + .lead {
	margin-top: 58px;
	text-align: center;
}

/* periodBlock */
.christmas .periodBlock {
	margin-top: 40px;
	padding: 25px 35px 20px;
	background: #fff34c;
	color: #e95e67;
	font-weight: bold;
}
.christmas .periodBlock dt {
	font-size: 24px;
	text-align: center;
}
.christmas .periodBlock dd {
	display: flex;
	justify-content: center;
}
.christmas .periodBlock dd > div {
	width: 400px;
	display: flex;
	flex-wrap: wrap;
}
.christmas .periodBlock dd > div.boxA {
	padding-right: 35px;
}
.christmas .periodBlock dd > div.boxB {
	padding-left: 35px;
	border-left: dashed 1px #e95e67;
}
.christmas .periodBlock dd .icn {
	width: 107px;
	height: 42px;
	background: #e95e67;
	display: flex;
	justify-content: center;
	align-items: center;
}
.christmas .periodBlock dd .icn img {
	width:46px;
	height: 27px;
}
.christmas .periodBlock dd .txt {
	align-self: center;
	padding-left: 16px;
	width: 250px;
	font-size: 16px;
	line-height: 1.3;
}
.christmas .periodBlock dd .date {
	width: 100%;
	font-size: 20px;
}
.christmas .periodBlock dd .date span {
	font-size: 30px;
}

/* stepBlock */
.christmas .stepBlock {
	margin-top: 75px;
	display: flex;
	justify-content: space-between;
	color: #565656;
}
.christmas .stepBlock .stepBox {
	width: 29.4%;
	padding: 50px 25px 30px;
	border: solid 4px #0d6fb8;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.christmas .stepBlock .stepBox:nth-child(-n+2)::before {
	content: "";
	border: 22px solid transparent;
	border-left: 24px solid #0d6fb8;
	position: absolute;
	right: -46px;
	top: 50%;
	margin-top: -22px;
}
.christmas .stepBlock .stepBox:nth-child(-n+2)::after {
	content: "";
	border: 20px solid transparent;
	border-left: 22px solid #fff;
	position: absolute;
	right: -38px;
	top: 50%;
	margin-top: -20px;
}
.christmas .stepBlock .stepBox .ttl {
	position: absolute;
	top: -15px;
	left: -12px;
	width: 109px;
	height: 40px;
}
.christmas .stepBlock .stepBox .txt {
	margin-bottom: 15px;
	font-weight: bold;
}
.christmas .stepBlock .stepBox .pic {
	margin-top: auto;
	margin-right: auto;
	margin-left: auto;
}
.christmas .stepBlock .stepBox:nth-child(1) .pic {
	width: 145px;
}
.christmas .stepBlock .stepBox:nth-child(2) .pic {
	width: 152px;
}
.christmas .stepBlock + .note {
	margin-top: 30px;
}

/* presentBlock */
.christmas .presentBlock {
	margin-top: 80px;
	border-radius: 6px;
	background: #fee5f0;
	position: relative;
}
.christmas .presentBlock .award {
	position: absolute;
	top: -15px;
	left: -20px;
	width: 15.2%;
}
.christmas .presentBlock h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5
}
.christmas .presentBlock .period {
	margin-top: 10px;
	font-size: 20px;
	font-weight: bold;
	color: #ea5e67;
}
.christmas .presentBlock .note {
	margin-top: 25px;
}
.christmas .presentBlock .entryBtn {
	margin-top: 50px;
	text-align: center;
}
.christmas .presentBlock .entryBtn a {
	display: block;
	width: 479px;
	margin-left: auto;
	margin-right: auto;
	padding: 15px;
	border-radius: 8px;
	background-color: #e6333f;
	font-size: 36px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	box-shadow: 0 7px 0 #b5111c;
	position: relative;
}
.christmas .presentBlock .entryBtn a::after {
	display: block;
	content: "";
	background-image: url(/mm/store_event/2021/christmas/img/icn_arrow.png);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 18px;
	height: 27px;
	margin-top: -13px;
}
.christmas .presentBlock .entryBtn a span {
	display: block;
	font-size: 18px;
}
/* presentA */
.christmas .presentA {
	padding: 60px 35px 70px 35px;
}
.christmas .presentA h3,
.christmas .presentA h3 + p,
.christmas .presentA .number {
	margin-left: 130px;
}
.christmas .presentA .number {
	font-family: UD Shin Maru Go DemiBold;
	font-size: 30px;
	color: #ea5e67;
	position: relative;
	text-align: right;
}
.christmas .presentA .number > span {
	background: #fee5f0;
	position: relative;
	padding-left: 5px;
}
.christmas .presentA .number span > span {
	font-size: 45px;
}
.christmas .presentA .number::before {
	display: block;
	content: "";
	background-image: url(/mm/store_event/2021/christmas/img/bg_line.png);
	background-repeat: repeat-x;
	background-position: left center;
	background-size: contain;
	width: 79%;
	height: 4px;
	position: absolute;
	top: 50%;
	left: 0;
}
.christmas .presentA .onlineEvent {
	margin-top: 15px;
	padding: 55px 40px 60px;
	background: #def5fd;
	text-align: center;
}
.christmas .presentA .onlineEvent h4 {
	margin: 0 auto;
	max-width: 633px;
}
.christmas .presentA .onlineEvent .date {
	margin-top: 35px;
	font-size: 20px;
	font-weight: bold;
	color: #003263;
	background: #fff;
	border-radius: 5px;
	display: inline-flex;
	align-items: center;
}
.christmas .presentA .onlineEvent .date span:first-child {
	margin-right: 10px;
	padding: 3px 10px;
	color: #fff;
	background: #003263;
	border-radius: 5px 0 0 5px;
}
.christmas .presentA .onlineEvent .pic {
	margin: 25px auto 0;
	max-width: 727px;
}
.christmas .presentA .onlineEvent .pic span {
	display: block;
	text-align: right;
	margin-right: 8%;
	font-size: 20px;
}
.christmas .presentA .onlineEvent .ttlPlayer {
	margin-top: 10px;
	padding: 10px;
	background: #09356c;
	font-size: 26px;
	font-weight: bold;
	color: #fff;
	position: relative;
}
.christmas .presentA .onlineEvent .ttlPlayer::after {
	display: block;
	content: '';
	position: absolute;
	border-top: 25px solid #09356c;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	bottom: -20px;
	left: 50%;
	margin-left: -20px;
}
.christmas .presentA .onlineEvent .player {
	margin: 25px 0;
	display: flex;
	justify-content: space-between;
}
.christmas .presentA .onlineEvent .player > div {
	width: 47.2%;
	background: #fff;
	padding: 30px;
}
.christmas .presentA .onlineEvent .player > div .pic {
	margin: 0;
	width: 100%;
}
.christmas .presentA .onlineEvent .player > div .pic span {
	font-size: 13px;
	margin-right: 0;
}
.christmas .presentA .onlineEvent .player > div .name {
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}
.christmas .presentA .onlineEvent .player > div .name span.fs {
	font-size: 20px;
}
.christmas .presentA .onlineEvent .player + p {
	text-align: left;
}
.christmas .presentA .txt {
	margin-top: 30px;
	font-size: 20px;
	font-weight: bold;
	color: #e95e67;
}
.christmas .presentA .note + .note {
	margin-top: 10px;
	font-size: 75%;
}
/* presentB */
.christmas .presentB {
	margin-top: 85px;
	padding: 55px 35px 70px 35px;
}
.christmas .presentB h3,
.christmas .presentB h3 + p {
	margin-left: 130px;
}
.christmas .presentB .couponList {
	margin-top: 40px;
	border: solid 2px #eb5f65;
	background: #fff;
}
.christmas .presentB .couponBox + .couponBox {
	border-top: solid 2px #eb5f65;
}
.christmas .presentB .couponBox {
	padding: 20px 30px;
	display: flex;
	align-items: center;
}
.christmas .presentB .couponBox > div {
	max-width: 70%;
}
.christmas .presentB .couponBox .coupon {
	font-size: 20px;
	font-weight: bold;
}
.christmas .presentB .couponBox .detail {
	line-height: 1.5;
}
.christmas .presentB .couponBox .number {
	font-family: UD Shin Maru Go DemiBold;
	font-size: 30px;
	color: #ea5e67;
	position: relative;
	text-align: right;
	flex-grow: 1;
	margin-left: 20px;
}
.christmas .presentB .couponBox .number > span {
	background: #fff;
	position: relative;
	padding-left: 9px;
}
.christmas .presentB .couponBox .number span > span {
	font-size: 36px;
}
.christmas .presentB .couponBox .number::before {
	display: block;
	content: "";
	background-image: url(/mm/store_event/2021/christmas/img/bg_line.png);
	background-repeat: repeat-x;
	background-position: left center;
	background-size: contain;
	width: 100%;
	height: 4px;
	position: absolute;
	top: 50%;
	left: 0;
}
.christmas .presentB .itemList {
	margin-top: 100px;
	padding: 90px 30px 65px;
	border: solid 3px #e9589a;
	border-radius: 12px;
	position: relative;
}
.christmas .presentB .itemList h4 {
	font-size: 35px;
	font-weight: bold;
	color: #e9589a;
	line-height: 1.2;
	text-align: center;
	position: absolute;
	top: -35px;
	left: 0;
	right: 0;
}
.christmas .presentB .itemList h4 span {
	display: inline-block;
	padding: 0 20px;
	background: #fee5f0;
}
.christmas .presentB .itemList h4 + div {
	display: flex;
	flex-wrap: wrap;
}
.christmas .presentB .itembox {
	margin: 0 1.3% 30px;
	width: 30.5%;
}
.christmas .presentB .itembox .txt {
	margin-top: 15px;
	font-size: 16px;
	line-height: 1.63;
}
.christmas .presentB .itembox .number {
	font-family: UD Shin Maru Go DemiBold;
	color: #ea5e67;
	position: relative;
}
.christmas .presentB .itembox .number > span {
	background: #fee5f0;
	position: relative;
	padding-right: 5px;
}
.christmas .presentB .itembox .number span > span {
	font-size: 28px;
}
.christmas .presentB .itembox .number::before {
	display: block;
	content: "";
	background-image: url(/mm/store_event/2021/christmas/img/bg_line.png);
	background-repeat: repeat-x;
	background-position: left center;
	background-size: contain;
	width: 68%;
	height: 3px;
	position: absolute;
	top: 50%;
	right: 0;
}
.christmas .presentB .itembox:nth-last-child(-n+2) {
	margin-bottom: 0;
}
.christmas .presentB .itembox:nth-last-child(-n+2) .number::before {
	width: 60%;
}
.christmas .presentB + .note {
	margin-top: 20px;
}

/* footer
------------------ */
#footer {
	padding: 27px 60px 30px;
	background: #fff;
	text-align: center;
	border-top: solid 1px #b1d7e6;
}
#footer .copy {
	font-size: 13px;
	color: #62afcd;
}



@media only screen and (max-width: 1040px) {
	.christmas #contents {
		margin-left: 10px;
		margin-right: 10px;
	}
	.christmas h1 {
		width: 100%;
	}

	.christmas .presentB .couponBox {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}
	.christmas .presentB .couponBox > div {
		max-width: 100%;
	}
	.christmas .presentB .couponBox .number {
		width: 50%;
		margin-left: auto;
	}
	.christmas .presentB .couponBox .number span {
		padding-left: 5px;
	}
}

/*----------------------------
	SP
------------------------------*/
@media only screen and (max-width: 767px) {
	/* reset
	------------------ */
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	#wrapper {
		font-size: 3.2vw;
		overflow: hidden;
	}

	/* contentsArea
	------------------ */
	#contentsArea.christmas {
		/* padding-top: 7.867vw; */
		/* margin-bottom: 6.51vw; */
		background-size: 200vw;
	}
	.christmas .note {
		font-size: 2.933vw;
	}

	.christmas .kvBlock {
		background-position: top 13.733vw center;
		background-size: contain;
	}
	.christmas h1 {
		padding-top: 4.333vw;
		/* padding-bottom: 9.333vw; */
		width: 100%;
	}
	.christmas #contents {
		width: 93.86%;
		margin-left: auto;
		margin-right: auto;
		padding: 9.333vw 3.733vw 8vw;
	}
	.christmas #contents > .about {
		top: -5.467vw;
		left: -1.733vw;
		width: 27.6%;
	}

	/* ttlBlock */
	.christmas .ttlBlock h2 {
		font-size: 5.859vw;
	}
	.christmas .ttlBlock::after {
		height: 6vw;
		margin-left: 0;
	}
	.christmas .ttlBlock h2 + p {
		font-size: 3.067vw;
	}
	.christmas .ttlBlock + .lead {
		margin-top: 7.733vw;
		text-align: left;
	}

	/* periodBlock */
	.christmas .periodBlock {
		margin-top: 6.667vw;
		padding: 3.333vw 4vw 2.667vw;
	}
	.christmas .periodBlock dt {
		font-size: 3.733vw;
	}
	.christmas .periodBlock dd {
		flex-direction: column;
	}
	.christmas .periodBlock dd > div {
		width: 100%;
		display: block;
	}
	.christmas .periodBlock dd > div.boxA {
		padding-right: 0;
	}
	.christmas .periodBlock dd > div.boxB {
		padding-left: 0;
		margin-top: 2.667vw;
		padding-top: 4vw;
		border-top: dashed 1px #e95e67;
		border-left: none;
	}
	.christmas .periodBlock dd .icn {
		width: 10.933vw;
		height: 10.933vw;
		float: left;
	}
	.christmas .periodBlock dd .icn img {
		width: 7.467vw;
		height: 4.267vw;
	}
	.christmas .periodBlock dd .txt {
		align-self: center;
		padding-left: 13.333vw;
		width: 100%;
		font-size: 2.933vw;
	}
	.christmas .periodBlock dd .date {
		padding-left: 13.333vw;
		width: 100%;
		font-size: 3.2vw;
	}
	.christmas .periodBlock dd .date span {
		font-size: 4.267vw;
	}

	/* stepBlock */
	.christmas .stepBlock {
		margin-top: 12vw;
		flex-direction: column;
	}
	.christmas .stepBlock .stepBox {
		width: 100%;
		padding: 6.667vw 3.333vw 4vw;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
	.christmas .stepBlock .stepBox:nth-child(-n+2) {
		margin-bottom: 6vw;
	}
	.christmas .stepBlock .stepBox:nth-child(-n+2)::before {
		content: "";
		border: 2.933vw solid transparent;
		border-left: 2.933vw solid transparent;
		border-top: 3.2vw solid #0d6fb8;
		position: absolute;
		right: auto;
		top: auto;
		left: 50%;
		bottom: -6.133vw;
		margin-top: 0;
		margin-left: -2.933vw;
	}
	.christmas .stepBlock .stepBox:nth-child(-n+2)::after {
		content: "";
		border: 2.667vw solid transparent;
		border-left: 2.667vw solid transparent;
		border-top: 2.933vw solid #fff;
		position: absolute;
		right: auto;
		top: auto;
		left: 50%;
		bottom: -5.067vw;
		margin-top: 0;
		margin-left: -2.667vw;
	}
	.christmas .stepBlock .stepBox .ttl {
		position: absolute;
		top: -2vw;
		left: -1.6vw;
		width: 16.933vw;
		height: 7.2vw;
	}
	.christmas .stepBlock .stepBox .txt {
		margin-bottom: 0;
		width: 52.667vw;
		line-height: 1.5;
	}
	.christmas .stepBlock .stepBox .pic {
		margin: 0;
	}
	.christmas .stepBlock .stepBox:nth-child(1) .pic {
		width: 19.333vw;
	}
	.christmas .stepBlock .stepBox:nth-child(2) .pic {
		width: 20.267vw;
	}
	.christmas .stepBlock .stepBox:nth-child(3) {
		flex-direction: column;
	}
	.christmas .stepBlock .stepBox:nth-child(3) .txt {
		width: 100%;
	}
	.christmas .stepBlock + .note {
		margin-top: 4vw;
	}

	/* presentBlock */
	.christmas .presentBlock {
		margin-top: 10.667vw;
	}
	.christmas .presentBlock .award {
		position: absolute;
		top: -2.667vw;
		left: -2.667vw;
		width: 23.1%;
	}
	.christmas .presentBlock h3 {
		font-size: 4vw;
	}
	.christmas .presentBlock .period {
		margin-top: 4vw;
		font-size: 3.467vw;
	}
	.christmas .presentBlock .note {
		margin-top: 4.667vw;
	}
	.christmas .presentBlock .entryBtn {
	margin-top: 6.667vw;
	}
	.christmas .presentBlock .entryBtn a {
		width: 100%;
		font-size: 5.867vw;
	}
	.christmas .presentBlock .entryBtn a::after {
		width: 3.385vw;
		height: 5.339vw;
		margin-top: -2.604vw;
	}
	.christmas .presentBlock .entryBtn a span {
		font-size: 3.344vw;
	}
	/* presentA */
	.christmas .presentA {
		padding: 8vw 3.733vw 10.667vw;
	}
	.christmas .presentA h3 {
		margin-left: 14.667vw;
	}
	.christmas .presentA h3 + p,
	.christmas .presentA .number {
		margin-left: 0;
	}
	.christmas .presentA .number {
		font-size: 4.267vw;
	}
	.christmas .presentA .number span > span {
		font-size: 6.4vw;
	}
	.christmas .presentA .onlineEvent {
		margin-top: 2.604vw;
		padding: 7.161vw 3.906vw 7.813vw;
	}
	.christmas .presentA .onlineEvent h4 {
		width: 100%;
	}
	.christmas .presentA .onlineEvent .date {
		margin-top: 4.557vw;
		font-size: 3.125vw;
	}
	.christmas .presentA .onlineEvent .date span:first-child {
		margin-right: 1.302vw;
		padding: 0.911vw 1.302vw;
	}
	.christmas .presentA .onlineEvent .pic {
		margin: 30px -5% 0 -5%;
		width: 110%;
	}
	.christmas .presentA .onlineEvent .pic span {
		font-size: 2.083vw;
	}
	.christmas .presentA .onlineEvent .ttlPlayer {
		margin-top: 2.604vw;
		padding: 1.302vw;
		font-size: 3.906vw;
	}
	.christmas .presentA .onlineEvent .ttlPlayer::after {
		border-top: 3.255vw solid #09356c;
		border-right: 2.604vw solid transparent;
		border-left: 2.604vw solid transparent;
		bottom: -2.604vw;
		margin-left: -2.604vw;
	}
	.christmas .presentA .onlineEvent .player {
		margin: 4.557vw 0;
		flex-direction: column;
	}
	.christmas .presentA .onlineEvent .player > div {
		width: 100%;
		padding: 5.208vw;
	}
	.christmas .presentA .onlineEvent .player > div + div {
		margin-top: 3.906vw;
	}
	.christmas .presentA .onlineEvent .player > div .pic span {
		font-size: 2.604vw;
	}
	.christmas .presentA .onlineEvent .player > div .name {
		font-size: 3.125vw;
	}
	.christmas .presentA .onlineEvent .player > div .name span.fs {
		font-size: 3.646vw;
	}
	.christmas .presentA .txt {
		font-size: 3.467vw;
		text-align: center;
	}
	/* presentB */
	.christmas .presentB {
		margin-top: 11.333vw;
		padding: 8vw 3.733vw 10.667vw;
	}
	.christmas .presentB h3 {
		margin-left: 14.667vw;
	}
	.christmas .presentB h3 + p {
		margin-left: 0;
	}
	.christmas .presentB .couponList {
		margin-top: 5.333vw;
		border: solid 2px #eb5f65;
		background: #fff;
	}
	.christmas .presentB .couponBox + .couponBox {
		border-top: solid 2px #eb5f65;
	}
	.christmas .presentB .couponBox {
		padding: 2.667vw 4vw;
		display: flex;
		align-items: center;
		flex-direction: column;
	}
	.christmas .presentB .couponBox > div {
		max-width: 100%;
	}
	.christmas .presentB .couponBox .coupon {
		font-size: 3.2vw;
	}
	.christmas .presentB .couponBox .detail {
		font-size: 2.933vw;
		line-height: 1.5;
	}
	.christmas .presentB .couponBox .number {
		font-size: 3.2vw;
		margin-left: auto;
	}
	.christmas .presentB .couponBox .number span > span {
		font-size: 5.067vw;
	}
	.christmas .presentB .itemList {
		margin-top: 13.333vw;
		padding: 12vw 4vw 8.667vw;
	}
	.christmas .presentB .itemList h4 {
		font-size: 5.067vw;
		top: -4.667vw;
	}
	.christmas .presentB .itembox {
		margin: 0 1.6% 4vw;
		width: 46.6%;
	}
	.christmas .presentB .itembox .txt {
		margin-top: 2vw;
		font-size: 2.667vw;
	}
	.christmas .presentB .itembox .number {
		font-size: 2.933vw;
	}
	.christmas .presentB .itembox .number span > span {
		font-size: 4.667vw;
	}
	.christmas .presentB + .note {
		margin-top: 4vw;
	}

	/* footer
	------------------ */
	#footer {
		padding: 3.6vw 8vw 4vw;
	}
	#footer .copy {
		font-size: 2.133vw;
	}
}

.exTxt {
	color: #e95e67;
	text-align: left;
}
#pagetop {
    display: none;
    position: fixed;
    bottom: 48px;
    right: 14%;
    width: 90px;
    z-index: 99;
}
@media only screen and (max-width: 767px) {
	#pagetop {
		width: 60px;
		right: 8%;
	}
}
/* 21/12/3 */
.christmas {
	background-color: #001448;
}
.contents img {
	width: auto;
}
.contents {
	width: 1000px;
	max-width: 1000px;
	margin: -330px auto 0;
	border: 8px solid #004593;
	transform:skewY(-3deg);
	background-color: #fff;
	border-radius: 3px;
	padding: 30px 60px 60px;
	position: relative;
	z-index: 2;
	background: url(/mm/store_event/2021/christmas/img/bg_line.gif);
}
.contentsInner {
	transform:skewY(3deg);
}
.contentsInner h2 {
	width: 62%;
	text-align: center;
	margin: 50px auto 0;
}
.contentsInner h2 img {
	width: 100%;
}
.pink {
	color: #e8437e;
}
.tryangle {
	text-align: center;
}
.flex {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.btn {
	text-align: center;
}
.btn span {
	display: inline-block;
	background-color: #8ad5ea;
	border-radius: 5px;
	padding: 20px 60px 20px 40px;
	font-size: 20px;
	line-height: 1;
	position: relative;
	box-shadow: 0 5px 0 #59c3e1;
	cursor: pointer;
}
.btn span::after {
	content: "";
	background: url(/mm/store_event/2021/christmas/img/link_icon.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 29%;
	right: 11%;
	display: block;
	width: 21px;
	height: 25px;
}
.btn02 {
	width: 70%;
	margin: 0 auto;
}
.btn02 a {
	color: #fff;
	background-color: #004593;
	font-size: 30px;
	box-shadow: 0 5px 0 #003775;
	padding: 20px 90px 20px 70px;
	width: 100%;
	position: relative;
	display: inline-block;
	border-radius: 10px;
	font-weight: bold;
}
.btn02 a::after {
	content: "";
	background: url(/mm/store_event/2021/christmas/img/icon.png) no-repeat;
	width: 35px;
	height: 34px;
	position: absolute;
	top: 27%;
	right: 17%;
}
.lead {
	font-size: 20px;
	color: #004593;
	margin-top: 10px;
	font-weight: bold;
}
.notes h4 {
	margin-top: 50px;
}
.notes h4:first-child {
	margin-top: 80px;
}
@media only screen and (max-width: 1040px) {
	.contents {
		width: 100%;
		margin: -30vw auto 0;
	}
}
@media only screen and (max-width: 767px) {
	.contents {
		padding: 3.911vw 4.823vw 7.823vw;
	}
	.contents img {
		width: 100%;
	}
	.contentsInner h2 {
		margin: 6.519vw 0;
		width: 100%;
	}
	.flex {
		flex-flow: column;
	}
	.lead {
		font-size: 4.308vw;
		margin-top: 2.5vw;
	}
	.tryangle img {
		width: auto;
	}
	.btn span {
		font-size: 4.408vw;
	}
	.btn02 {
		width: 100%;
	}
	.btn02 a {
		color: #fff;
		background-color: #004593;
		font-size: 4.911vw;
		box-shadow: 0 5px 0 #003775;
		padding: 3.608vw 12.734vw 3.608vw 10.126vw;
		width: 100%;
	}
	.btn02 a::after {
		content: "";
		width: 5.563vw;
		height: 5.433vw;
		background-size: contain;
		position: absolute;
		top: 23%;
		right: 7%;
	}
	.notes {
		font-size: 4vw;
	}
	.notes h4 {
		margin-top: 6vw;
	}
	.notes h4:first-child {
		margin-top: 12vw;
	}
}
/* item01 */
.item01 .box {
	border: 1px solid #004593;
	background-color: #fff;
	border-radius: 10px;
	padding: 40px 60px;
	margin: 30px 0;
}
.item01 .box .up {
	width: 60%;
	font-size: 20px;
}
.item01 .box .up h3 {
	width: 100%;
	max-width: 182px;
}
.item01 .box .up h3 img {
	width: 100%;
}
.item01 .box .up p {
	color: #004593;
}
.item01 .box .low {
	width: 30%;
	text-align: center;
	font-size: 16px;
}
.item01 .note {
	font-size: 16px;
}
.item01 .step02 h3 {
	width: 100%;
	max-width: 182px;
}
.item01 .step02 h3 img {
	width: 100%;
}
.item01 .step02 .ttl {
	text-align: center;
	margin: 30px 0;
}
.item01 .step02 .flex .up {
	width: 48%;
}
.item01 .step02 .flex .up img {
	width: 100%;
}
.item01 .step02 .flex .low {
	width: 48%;
}
.item01 .step02 dl {
	display: flex;
	flex-flow: row wrap;
	justify-content: start;
	text-align: left;
	border-bottom: 3px dotted #004593;
	padding-bottom: 20px;
	margin-bottom: 20px;
	width: 100%;
}
.item01 .step02 dl:last-child {
	border: none;
}
.item01 .step02 dl dt {
	width: 15%;
}
.item01 .step02 dl dd {
	width: 85%;
}
.item01 .step02 dl dt span {
	display: inline-block;
	color: #fff;
	font-size: 26px;
	line-height: 1;
	background-color: #e8437e;
	padding: 5px 10px;
	border-radius: 100%;
}
@media only screen and (max-width: 767px) {
	.item01 .box {
		padding: 5.215vw 5.823vw;
		margin: 3.911vw 0;
	}
	.item01 .box .up {
		width: 100%;
	}
	.item01 .box .up h3 {
		width: 45%;
	}
	.item01 .box h3 {
		width: 45%;
	}
	.item01 .box .low {
		width: 100%;
	}
	.item01 .box .low img {
		width: auto;
	}
	.item01 .step01.box .low img {
		width: 33%;
		margin-top: 2vw;
	}
	.item01 .box .low a {
		color: #001448;
		text-decoration: underline;
	}
	.item01 .step02 .ttl {
		margin: 3.911vw 0;
	}
	.item01 .step02 .flex .up,
	.item01 .step02 .flex .low {
		width: 100%;
	}
	.item01 .step02 .flex .low {
		margin-top: 5vw;
	}
	.item01 .step02 dl dt {
		width: 15%;
		margin-right: 2vw;
	}
	.item01 .step02 dl dd {
		width: 80%;
	}
}

/* item02 */
.item02 {
	margin-bottom: 20px;
}
.item02 h3 {
	text-align: center;
}
.item02 h3 p {
	margin-top: 10px;
}
.item02 .prize01,
.item02 .prize02 {
	align-items: stretch;
}
.item02 .prize01 {
	margin-top: 30px;
}
.item02 .box {
	font-size: 20px;
}
.item02 .box:first-child {
	border-right: 3px dotted #004593;
}
.item02 .image {
	margin-bottom: 20px;
	min-height: 290px;
}
.item02 .shop {
	font-size: 16px;
	text-align: center;
}
.item02 .name {
	color: #004593;
	margin: 0 0 20px;
	text-align: center;
	font-weight: bold;
}
.item02 .prize01 .note {
	margin-top: 10px;
}
.item02 .lead {
	font-size: 18px;
	color: #000;
}
.item02 .lead span {
	display: inline-block;
	background-color: #8ad5ea;
	line-height: 1.5;
}
.item02 .prize02 {
	padding-bottom: 30px;
	border-bottom: 3px dotted #004593;
	margin-top: 30px;
}
.item02 .prize02 .box {
	width: 48%;
	text-align: center;
}
.item02 .prize02 .box:first-child {
	padding: 0 10px 0 10px;
}
.item02 .prize03 {
	margin-top: 50px;
	align-items: flex-end;
}
.item02 .prize03 .box {
	border: none;
}
.item02 .prize03 .gift {
	margin-bottom: 50px;
}
.item02 .prize03 .title p {
	color: #004593;
	font-weight: bold;
	line-height: 1.5;
}
.item02 .prize03 .title p span {
	color: #000;
	font-size: 16px;
	font-weight: normal;
}
.item02 .prize03 .name {
	color: #000;
}
.item02 .prize03 .name span {
	font-size: 16px;
}
@media only screen and (max-width: 767px) {
	.item02 h3 {
		margin-top: 4vw;
	}
	.item02 .prize01 {
		margin-top: 4vw;
	}
	.item02 .image {
		width: 80%;
		margin: 0 auto 2vw;
		min-height: auto;
	}
	.item02 .image.nojima {
		margin-bottom: 15vw;
	}
	.item02 .box {
		border-bottom: 3px dotted #004593;
		margin-bottom: 4vw;
		padding-bottom: 4vw;
	}
	.item02 .box:first-child {
		border-right: none;
	}
	.item02 .prize02 {
		padding-bottom: 0;
		margin-top: 3.911vw;
		border-bottom: none;
	}
	.item02 .prize02 .box {
		width: 100%;
		margin-bottom: 4vw;
		padding-bottom: 6vw;
	}
	.item02 .prize02 .box:first-child {
		padding: 0 0 6vw 0;
	}
	.item02 .prize03 {
		margin-top: 2vw;
	}
	.item02 .prize03 .title {
		flex-flow: row wrap;
	}
}

/* brnArea */
.bnrArea {
	width: 700px;
	margin: 50px auto 0;
	padding-bottom: 1000px;
	position: relative;
	z-index: 2;
}
.bnrArea h2 {
	margin-bottom: 30px;
}
.bnrArea .bnr {
	margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
	.bnrArea {
		width: 95%;
		margin: 8vw auto 0;
		padding-bottom: 120vw;
	}
}



/* rules */
.rules {
	line-height: 1.7;
	margin-top: 60px;
}
.rules h4 {
	padding: 18px 25px;
	border-radius: 4px;
	background: #8ad5ea;
	font-size: 20px;
	line-height: 1.3;
	color: #000;
	position: relative;
}
.rules h4 + div {
	padding: 35px 30px;
	font-size: 14px;
}
.rules h4 + div dt {
	font-size: 16px;
}
.rules .rulesList > dt {
	margin-top: 20px;
	font-weight: bold;
}
.rules .rulesList > dd {
	margin-top: 7px;
}
.rules .rulesList > dd > p + ul {
	margin-top: 7px;
}
.rules .rulesList > dd > ul + p {
	margin-top: 20px;
}
.rules .numbering {
	counter-reset: li-counter;
}
.rules .numbering > li {
	padding-left: 27px;
}
.rules .numbering > li:before {
	content: "（" counter(li-counter) "）";
	counter-increment: li-counter;
	display: block;
	float: left;
	width: 27px;
	margin-left: -27px;
}
.rules .list > li {
	padding-left: 1em;
	position: relative;
}
.rules .list > li:before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
@media (max-width: 767px) {
	.rules {
		margin-top: 6vw;
	}
	.rules h4 {
		font-size: 4vw;
	}
	.rules h4 + div {
		font-size: 4vw;
		padding: 4.563vw 1.911vw;
	}
	.rules h4 + div dt {
		font-size: 4vw;
	}
}

/* contact */
.contact {
	line-height: 1.7;
	margin-top: 40px;
}
.contact h4 {
	padding: 18px 25px;
	border-radius: 4px;
	background: #8ad5ea;
	font-size: 20px;
	line-height: 1.3;
	color: #000;
	position: relative;
}
.contact h4 + div {
	padding: 35px 30px;
	font-size: 16px;
}
.btnContact {
	margin: 20px auto 0;
	width: 60%;
}
.btnContact a {
	display: block;
	padding: 12px 32px 12px 22px;
	font-size: 18px;
	color: #000;
	text-align: center;
	background: #8ad5ea;
	border-radius: 5px;
	position: relative;
	box-shadow: 0 5px 0 #59c3e1;
}
.btnContact a::after {
	display: block;
	content: "";
	position: absolute;
	top: 46%;
	right: 5%;
	width: 10px;
	height: 10px;
	margin-top: -4px;
    border-left: 2px solid #000;
    border-top: 2px solid #000;
    border-radius: 2px;
    transform: rotate(135deg);
}
@media (max-width: 767px) {
	.contact {
		margin-top: 6vw;
	}
	.contact h4 {
		font-size: 4vw;
	}
	.contact h4 + div {
		font-size: 4vw;
		padding: 4.563vw 1.911vw;
	}
	.btnContact {
		width: 100%;
	}
	.btnContact a {
		font-size: 4vw;
	}
}

/* slide-toggle */
.slide-toggle .icn {
	background:#fff;
	border-radius:3px;
	display:block;
	width:1.8em;
	height:1.8em;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	margin:auto 0.75em;
}
.slide-toggle .icn:before,
.slide-toggle .icn:after {
	display:block;
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:1em;
	height:4px;
	background:#8ad5ea;
	transition:all .4s;
}
.slide-toggle .icn:before {
	transform:rotate(0deg);
}
.slide-toggle .icn:after {
	transform:rotate(90deg);
}
.slide-toggle .icn.active:before {
	display:none;
}
.slide-toggle .icn.active:after {
	transform:rotate(180deg);
}
.slide-toggle h4 + div {
	display: none;
}

.snow {
	position: relative;
}
/* drop
-----------*/
.drops {
	position: absolute;
	top: -3.5rem;
	left: 0%;
	display: block;
	background: url(/mm/store_event/2021/christmas/img/snow01.png) no-repeat;
	background-size: contain;
	width: 122px;
	height: 126px;
	transform: rotate(15deg);
	z-index: 1;
}
.drops:nth-of-type(2) {
	left: 5%;
	background: url(/mm/store_event/2021/christmas/img/snow01.png) no-repeat;
	background-size: contain;
	width: 122px;
	height: 126px;
}
.drops:nth-of-type(3) {
	left: 8%;
	width: 16px;
	height: 17px;
	background: url(/mm/store_event/2021/christmas/img/snow02.png) no-repeat;
	background-size: contain;
}
.drops:nth-of-type(4) {
	left: 10%;
	background: url(/mm/store_event/2021/christmas/img/snow03.png) no-repeat;
	background-size: contain;
	width: 96px;
	height: 95px;
}
.drops:nth-of-type(5) {
	left: 15%;
	background: url(/mm/store_event/2021/christmas/img/snow01.png) no-repeat;
	background-size: contain;
	width: 122px;
	height: 126px;
}
.drops:nth-of-type(6) {
	left: 20%;
	width: 16px;
	height: 17px;
	background: url(/mm/store_event/2021/christmas/img/snow02.png) no-repeat;
	background-size: contain;
}
.drops:nth-of-type(7) {
	left: 25%;
	background: url(/mm/store_event/2021/christmas/img/snow03.png) no-repeat;
	background-size: contain;
	width: 96px;
	height: 95px;
}
.drops:nth-of-type(8) {
	left: 30%;
	background: url(/mm/store_event/2021/christmas/img/snow01.png) no-repeat;
	background-size: contain;
	width: 122px;
	height: 126px;
}
.drops:nth-of-type(9) {
	left: 35%;
	width: 16px;
	height: 17px;
	background: url(/mm/store_event/2021/christmas/img/snow02.png) no-repeat;
	background-size: contain;
}
.drops:nth-of-type(10) {
	left: 40%;
	background: url(/mm/store_event/2021/christmas/img/snow03.png) no-repeat;
	background-size: contain;
	width: 96px;
	height: 95px;
}
.drops:nth-of-type(11) {
	left: 45%;
	background: url(/mm/store_event/2021/christmas/img/snow01.png) no-repeat;
	background-size: contain;
	width: 122px;
	height: 126px;
}
.drops:nth-of-type(12) {
	left: 50%;
	width: 16px;
	height: 17px;
	background: url(/mm/store_event/2021/christmas/img/snow02.png) no-repeat;
	background-size: contain;
}
.drops:nth-of-type(13) {
	left: 55%;
	background: url(/mm/store_event/2021/christmas/img/snow03.png) no-repeat;
	background-size: contain;
	width: 96px;
	height: 95px;
}
.drops:nth-of-type(14) {
	left: 60%;
	background: url(/mm/store_event/2021/christmas/img/snow01.png) no-repeat;
	background-size: contain;
	width: 122px;
	height: 126px;
}
.drops:nth-of-type(15) {
	left: 65%;
	width: 16px;
	height: 17px;
	background: url(/mm/store_event/2021/christmas/img/snow02.png) no-repeat;
	background-size: contain;
}
.drops:nth-of-type(16) {
	left: 70%;
	background: url(/mm/store_event/2021/christmas/img/snow03.png) no-repeat;
	background-size: contain;
	width: 96px;
	height: 95px;
}
.drops:nth-of-type(17) {
	left: 75%;
	background: url(/mm/store_event/2021/christmas/img/snow01.png) no-repeat;
	background-size: contain;
	width: 122px;
	height: 126px;
}
.drops:nth-of-type(18) {
	left: 80%;
	width: 16px;
	height: 17px;
	background: url(/mm/store_event/2021/christmas/img/snow02.png) no-repeat;
	background-size: contain;
}
.drops:nth-of-type(19) {
	left: 85%;
	background: url(/mm/store_event/2021/christmas/img/snow03.png) no-repeat;
	background-size: contain;
	width: 96px;
	height: 95px;
}
.drops:nth-of-type(20) {
	left: 90%;
	background: url(/mm/store_event/2021/christmas/img/snow01.png) no-repeat;
	background-size: contain;
	width: 122px;
	height: 126px;
}
.drops:nth-of-type(21) {
	left: 95%;
	width: 16px;
	height: 17px;
	background: url(/mm/store_event/2021/christmas/img/snow02.png) no-repeat;
	background-size: contain;
}
@keyframes drop {
	0% {
		top:-2.5rem;
	}
	100% {
		top:500rem;
	}
}
@keyframes drop2 {
	0% {
		margin-left: -5rem;
	}
	100% {
		margin-left: 5rem;
	}
}
@media (max-width: 767px) {
	.drops {
		width: 100%;
		height: 100%;
		max-width: 100px;
	}
}

#PRIZE {
	padding-top: 100px;
	margin-top: -130px;
}
@media (max-width: 767px) {
	#PRIZE {
		padding-top: 13.038vw;
		margin-top: -16.949vw;
	}
}

/* 21/12/16/ add */
.headsUp {
	color: #ff0000 !important;
}
.item01 .box .up p.headsUp {
	color: #ff0000;
	font-size: 15px;
	line-height: 1.25;
	margin-top: 10px;
}
.headsUpArea {
	margin-top: 20px;
}
.headsUpArea .txt {
	margin-bottom: 20px;
}
@media (max-width: 767px) {
	.item01 .box .up p.headsUp {
		font-size: 3.556vw;
		margin-top: 1.5vw;
	}
	.headsUpArea .txt {
		margin-bottom: 2.5vw;
	}
}

.headsUpBnr {
	text-align: center;
	margin: 0 auto;
	background-color: #fff;
	padding: 20px 0;
}
.headsUpBnr img {
	width: auto;
}
@media only screen and (max-width: 1040px) {
	.headsUpBnr {
		width: 100%;
	}
	.headsUpBnr img {
		width: 100%;
	}
}
@media (max-width: 767px) {
	.headsUpBnr {
		width: 100%;
	}
	.headsUpBnr img {
		width: 100%;
	}
}