@charset "UTF-8";

/* font-size */
.txt-ll{font-size: 42px}
.txt-l {font-size: 30px}
.txt-m {font-size: 20px}
.txt-s {font-size: 14px}

/*
.wave::before{
	background-image: url(wave-top.png);
	content: "";
	display: block;
	margin-top: -54px;
	margin-bottom: 30px;
	height: 14px;
}

.wave::after{
	background-image: url(wave-bottom.png);
	content: "";
	display: block;
	margin-bottom: -74px;
	margin-top: 20px;
	height: 14px;
}
*/

/* main-content */
.main-content a,
.main-content img{
	transition: .3s;
}
.main-content{
	/*background-attachment: fixed;*/
	/*background-color: #f3eadf;*/
	background-image: url(../esa221122_blackfriday/bg.jpg);
	font-family: "Montserrat", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif;
	font-weight: 500;
	line-height: 1.7;
	/*padding-bottom: 64px;*/
	text-align: center;
}

.btn{
	background: #45423f;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	margin: 10px;
	padding: .5em 0;
}

/* title */
.title-box{
	background-repeat: repeat-x;
	background-position: bottom;
	background-color: #000;
	overflow: hidden;
}

/*
.title-box {
    background-image: url(../esa221122_blackfriday/bg.jpg);
}
*/

.title img{
	display: block;
	margin: 0 auto;
}


.intro {
	background: #000;
	padding: 20px 0;
}

/* term ribon */
.term-ribon{
	background-color: #af6112;
	color: #fff;
	margin: 20px auto;
	padding: 4px 0;
	position: relative;
	max-width: 450px;
}
.term-ribon::before,
.term-ribon::after{
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	content: "";
	display: block;
	height: 0;
	position: absolute;
	transform: translateY(-50%);
	width: 0;

	top: 50%;
}
.term-ribon::before{
	border-left: 15px solid #f3eadf;
	left: 0;
}
.term-ribon::after{
	border-right: 15px solid #f3eadf;
	right: 0;
}


/* headline */
.headline{
	align-items: center;
	color: #af6112;
	display: flex;
	font-weight: 600;
	justify-content: center;
	line-height: 1.4;
}
.headline p{
	margin: 0 8px;
}


/* content-box */
.content-box{
	padding: 40px 0 60px;
}

.mush{
	fill: #fff;
	margin: 0 -900px -70px 0;
	max-width: 100px;
}
.mush.change-illust-color{
	margin: 0 0 -70px -900px;
}

/* event */
.event-wrapper{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 20px auto 0;
	max-width: 1000px;
}

.headline-wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
}
.headline-wrapper > div{
	width: 200px;
}
section.event-box:first-of-type{
	margin-top: 0;
	width: 1000px;
}
section.event-box:first-of-type .headline{
	vertical-align: middle;
}
section.event-box:first-of-type .icon{
	max-width: 125px;
}


/* current-event */
.current-event a{
	display: block;
	margin: auto;
	max-width: 750px;
}
.current-event img{
	width: 100%;
}

.event-box{
	background-color: #fff;
	border-radius: 40px;
	margin-top: 20px;
	padding: 20px 0;
	width: calc(50% - 10px);
}
.event-box .headline{
	letter-spacing: .05em;
}
.event-box .icon{
	max-width: 70px;
}
.event-box .btn{
	width: 300px;
}
.term-belt{
	font-weight: 600;
	letter-spacing: .05em;
	margin-top: 4px;
	padding: 2px 0;
}

/*開催中icon*/
.active{
	overflow: hidden;
	position: relative;
}
.active::before{
	background: #ff0;
	color: 333;
	content: "開催中";
	display: block;
	font-size: 20px;
	font-weight: 600;
	padding: 50px 0 10px;
	position: absolute;
	transform: translate(-40% , -25%) rotate(-45deg);
	width: 250px;

	top: 0;
	left: 0;
}


/* recommend-item-list */
.recommend-item-list{
	display: flex;
	justify-content: space-between;
	line-height: 1.4;
	margin: 10px auto 0;
	text-align: left;
	max-width: 1000px;
}
.recommend-item-list > li{
	width: 16%;
}
.recommend-item-list a{
	display: block;
}
.recommend-item-list img{
	margin-bottom: 8px;
	width: 100%;
}
.recommend-item-list p{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


/* schedule-list */
.schedule-list{
	line-height: 1.4;
	margin: 10px auto 0;
	max-width: 1000px;
}
.schedule-list > li{
	background: #fff;
	border-radius: 30px;
	box-sizing: border-box;
	overflow: hidden;
	padding: 20px;
	position: relative;
}
.schedule-list > li:not(:first-of-type){
	margin-top: 20px;
}

.schedule-list-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.cp-item{
	align-items: center;
	border-radius: 10px;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	font-weight: 600;
	justify-content: center;
	margin: 5px;
	padding: 25px 0;
	width: 400px;
}
.cp-item > *{
	display: block;
	width: 100%;
}



.btn-list{
	justify-content: center;
}
.btn-list li{
	margin: 0 auto;
	max-width: 320px;
}


/* cp-list */
.cp-list{
	display: flex;
	flex-wrap: wrap;
	margin: 40px auto 0;
	max-width: 1000px;
}
.cp-list > li{
	margin-bottom: 30px;
	margin-right: 40px;
	width: 480px;
}
.cp-list > li:nth-of-type(2n){
	margin-right: 0;
}

.cp-list a{
	display: block;
}
.cp-list > li img{
	width: 100%;
}




/* schedule-coupon */
.schedule-coupon-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto 10px;
	max-width: 800px;
}
.schedule-coupon-list > li{
	align-items: flex-end;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	margin-left: 10px;
	margin-top: 15px;
	padding-top: 12px;
	width: calc(30% - 10px)
}
.schedule-coupon-list > li > p{
	width: 100%;
}
/*3列の最初*/
.schedule-coupon-list > li:nth-of-type(3n-2){
	margin-left: 0;
}
.schedule-coupon-list > li .txt-m{
	font-weight: 600;
	margin-top: 4px;
}
.schedule-coupon-list p{
	line-height: 1;
}
.schedule-coupon-list .term-belt{
	background: #eee;
	color: #666;
	margin-top: 12px;
	padding: 8px 0;
}

/* スケジュールicon */
.date-label{
	background: #af6112;
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 20px;
	height: 110px;
	line-height: .9;
	padding-top:50px;
	position: absolute;
	transform: rotate(-45deg);
	width: 290px;

	left: -120px;
	top: -30px;
}
.date-label-inner{
	display: block;
	margin: 0 auto;
	position: absolute;
	width: 290px;

	top: 50%;
}

.date-label-close{
	background: #ddd;
	z-index: 1;
}
.date-label-active .date-label-inner,
.date-label-close .date-label-inner{
	top: 60%;
}
.date-label-close + div{
	opacity: .4;
}


/* topic-item-list */
.topic-item-list{
	display: flex;
	flex-wrap: wrap;
	line-height: 1.4;
	margin: 10px auto 0;
	text-align: left;
	max-width: 1000px;
}
.topic-item-list li{
	width: calc(50% - 10px);
}
/*3つ目から*/
.topic-item-list li:nth-of-type(n+3){
	margin-top: 20px;
}
/*2列目*/
.topic-item-list li:nth-of-type(2n){
	margin-left: 20px;
}
.topic-item-list img{
	margin-bottom: 8px;
	width: 100%;
}


/* rankings */
.ranking-box .btn{
	width: 300px;
}


/* hack */
#ranking-include-box h2.m-tit-column,
#cp-include-box div.campaign_lp_title{
	display: none;
}
#cp-include-box{
	text-align: left;
}
.ranking-box{
	background:#f8f5f1;
}
.ranking-box .headline{
	margin-bottom: -60px;
}

.search-content-box{
	background: #fff;
}

.main-content .search-content-box .m-aside{
	border: none;
	text-align: left;
}
.main-content .search-content-box .m-aside-menu{
	background: #fff;
}

/* バナー追加 */

.banner-area { 
	width: 100%;
	margin: 0;
	padding:40px 0;	

}

.banner-area img { 
	max-width: 100%;
}

@media print, screen and (min-width: 641px){
/*-------*/
/* P   C */
/*-------*/

.title-box .title {
	padding: 20px 0;
}

/* 新規会員登録 */

.m-sign-form-btn-area {
    width: 255px;
    margin: 32px auto 64px;
}

.banner-area { 
	width: 1000px;
	margin: 0 auto;
	padding:40px 0;
	}
	
}




@media screen and (max-width:640px){
/*-------*/
/* S M P */
/*-------*/


/* SMP txt */
.txt-ll{font-size: 26px}
.txt-l {font-size: 20px}
.txt-m {font-size: 14px}
.txt-s {font-size: 11px}

/* SMP main-content */
.btn{
	margin: 10px auto;
	padding: .7em 0;
}
.btn::after{
	border-top:2px solid #fff;
	border-right: 2px solid #fff;
	height: 8px;
	width:8px;

	right: 8px;
}


.main-content {
	padding-top: 0;
}


/* SMP title */
.title-box{
	background-repeat: no-repeat;
	background-size: contain;
}
.title img{
	margin: 0 auto;
	max-width: 100%;
}
.title-sub{
	box-sizing: border-box;
	/*margin-bottom: 50px;*/
	padding: 0 12px;
	text-align: left;
}


/* SMP term ribon */
.term-ribon{
	margin: 10px auto 0;
	padding: 4px 0;
	max-width: 80%;
}
.term-ribon::before,
.term-ribon::after{
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
}


/* SMP headline */
.headline{
	line-height: 1.4;
}
.headline > div{
	width: 60px;
}
.headline > div img{
	width: 100%;
}
.headline p{
	margin: 0 4px;
}


.wave::before{
	margin-top: -44px;
	margin-bottom: 30px;
}
.wave::after{
	margin-bottom: -54px;
	margin-top: 20px;
}


/* SMP content-box */
.content-box{
	padding: 30px 0 40px;
}
.mush{
	fill: #fff;
	margin: 0 -70vw -48px 0;
	max-width: 70px;
}
.mush.change-illust-color{
	margin: 0 0 -48px -70vw;
}


/* SMP event */
.event-wrapper{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 20px auto 0;
	max-width: 98%;
}

.headline-wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
}
.headline-wrapper > div{
	width: 15%;
}
section.event-box:first-of-type{
	margin-top: 0;
	width: 100%;
}
section.event-box:first-of-type .icon{
	width: 100%;
}

.current-event{
	box-sizing: border-box;
	padding: 5%;
}

.event-box{
	border-radius: 20px;
	margin-top: 4px;
	padding: 20px 0;
	width: calc(50% - 2px);
}
.event-box .headline{
	letter-spacing: 0;
}
.event-box .icon{
	max-width: 50px;
}
.event-box .btn{
	width: 90%;
}
.term-belt{
	letter-spacing: .05em;
	margin-top: 4px;
	padding: 2px 0;
}

.active{
	overflow: hidden;
	position: relative;
}
.active::before{
	font-size: 16px;
	padding: 40px 0 0;
	transform: translate(-43% , -27%) rotate(-45deg);
	width: 250px;
}


/* SMP recommend-item-list */
.recommend-item-list{
	flex-wrap: wrap;
	margin: 10px auto 0;
	max-width: 98%;
}
.recommend-item-list > li{
	margin-top: 15px;
	width: 32.5%;
}
/*3つ目まで*/
.recommend-item-list > li:nth-of-type(-n+3){
	margin-top: 0;
}
.recommend-item-list > li:not(:first-of-type){
	margin-left: 0;
}
.recommend-item-list img{
	margin-bottom: 8px;
}


/* SMP cp-list */
.cp-list{
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	max-width: 1000px;
}
.cp-list > li{
	margin-bottom: 16px;
	margin-left: auto;
	margin-right: auto;
	width:92%;
}
.cp-list > li:nth-of-type(2n){
	margin-right: auto;
}


.cp-item:not(:first-of-type){
	margin-top: 8px;
}


/* SMP schedule-list */
.schedule-list{
	line-height: 1.4;
	margin: 10px auto 0;
	max-width: 98%;
}
.schedule-list > li{
	border-radius: 30px;
	padding: 20px;
}
.schedule-list > li:not(:first-of-type){
	margin-top: 10px;
}
.cp-item{
	margin: 0 auto;
	padding: 15px 0;
	max-width: 80%;
}


/* SMP schedule-coupon */
.schedule-coupon-list{
	justify-content: space-between;
	margin: 0 auto 8px;
	max-width: 100%;
}
.schedule-coupon-list > li{
	margin-left: 0;
	margin-top: 6px;
	padding-top: 10px;
	width: calc(50% - 3px);
}

/*3列の最初*/
.schedule-coupon-list > li:nth-of-type(3n-2){
	margin-left: 0;
}
.schedule-coupon-list > li .txt-m{
	margin-top: 4px;
}
.schedule-coupon-list p{
	line-height: 1;
}
.schedule-coupon-list .term-belt{
	line-height: 1.5;
	margin-top: 12px;
	padding: 8px 0;
}


.date-label{
	font-size: 20px;
	height: 90px;
	line-height: 1;
	padding-top:50px;
	width: 290px;

	left: -128px;
	top: -30px;
}
.date-label-inner{
	margin: 0 auto;
	width: 290px;

	top: 54%;
}

.date-label-active .date-label-inner,
.date-label-close .date-label-inner{
	top: 60%;
}


/* SMP topic-item-list */
.topic-item-list{
	justify-content: space-between;
	line-height: 1.4;
	margin: 10px auto 0;
	max-width: 98%;
}
.topic-item-list li{
	margin: 20px auto 0;
	width: 98%;
}

/*3つ目から*/
.topic-item-list li:nth-of-type(n+3){
	margin-top: 20px;
}

/*2列目*/
.topic-item-list li:nth-of-type(2n){
	margin-left: auto;
}
.topic-item-list img{
	margin-bottom: 5px;
}


/* SMP rankings */
.ranking-box .btn{
	margin-bottom: 0;
	width: 90%;
}
.ranking-box .headline{
	margin-bottom: -40px;
}


/* hack */
#cp-include-box .campaign_lp_detail{
	padding: 0;
}
.pt-0{
	padding-top: 0;
}

/* 新規会員登録 */

.m-sign-form-btn-area .m-btn-active {
	margin: 64px auto 0;
	width: 90%;
}

}/*end media*/






@media screen and (min-width:641px){
/*-------*/
/* HOVER */
/*-------*/

.cp-list .m-btn-active:hover,
.current-event .m-btn-active:hover{
	background: #45423f
}

.main-content a:hover{
	opacity: .6;
}
}/*end media*/
