@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}


/* main-content */
.main-content a,
.main-content img{
	transition: .3s;
}
.main-content{
	font-family: "Montserrat", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif;
	font-weight: 500;
	line-height: 1.7;
	padding-bottom: 60px;
	text-align: center;
}

.btn{
	background: #4a463e;
	border-radius: 2px;
	color: #fff;
	display: inline-block;
	margin: 10px;
	padding: .5em 0;
	position: relative;
}
.btn::after{
	border-top:2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	transform: translateY(-50%) rotate(45deg) ;
	width:10px;

	top: 50%;
	right: 10px;
}


/* title */
.title-box{
	background-color: #f7f14f;
}

.title img{
	display: block;
	margin: 0 auto;
}

.title-sub{
	margin-bottom: 100px;
}


/* term ribon */
.term-ribon{
	background-color: #86592b;
	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 #fff;
	left: 0;
}
.term-ribon::after{
	border-right: 15px solid #fff;
	right: 0;
}

/* navi */
.navi{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 20px auto 0;
	max-width: 1000px;
}
.navi > li{
	margin: 5px 5px 0 5px;
	width: 146px;
}
.navi > li a{
	position: relative;
}

.navi > li a img{
	width:100%;
}

/* headline */
.headline{
	color: #35afd0;
	font-weight: 600;
	line-height: 1.4;
}


/* content-box */
.content-box{
	padding: 60px 0;
}

.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;
}

.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{
	border-radius: 30px;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}
.schedule-list > li:not(:first-of-type){
	margin-top: 20px;
}
.schedule-list > li div{
	border-radius: 10px;
	color: #fff;
	font-weight: 600;
	margin: 0 auto;
	padding: 25px 0;
	max-width: 450px;
}


/* 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: #35afd0;
	box-sizing: border-box;
	color: #fff100;
	display: block;
	font-size: 20px;
	height: 120px;
	line-height: 1;
	padding-top:50px;
	position: absolute;
	transform: rotate(-45deg);
	width: 290px;

	left: -120px;
	top: -35px;
}
.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;
}

.content-bnr{
	width: 100%;
	max-width:1000px;
}


/* 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;
}


/*shop-list*/
.shop-list{
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	max-width: 1000px;
}
.shop-list > li a{
	background: #fff;
	box-sizing: border-box;
	border: 1px solid #eee;
	display: block;
	margin: 16px;
	padding: 20px;
	max-width: 168px;
}
.shop-list > li img{
	display: block;
	width: 100%;
}

/* hack */
#ranking-include-box h2.m-tit-column,
#cp-include-box div.campaign_lp_title{
	display: none;
}
.m-pop-box.is-border-bottom-gray{
	border-bottom: 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;
}

.pt-0{
	padding-top: 0!important;
}

.m-sign-form-btn-area > .m-btn-active
{
	max-width: 90%;
}

.main-cp-box{
	max-width: 1000px;
	width: 100%;
	margin: 10px auto;
}

.main-cp-box img{
	width: 100%;
}





@media screen and (max-width:640px){
/*-------*/
/* S M P */
/*-------*/


/* SMP txt */
.txt-ll{font-size: 25px}
.txt-l {font-size: 20px}
.txt-m {font-size: 15px}
.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;
}


/* SMP title */
.title-box{
	background-repeat: no-repeat;
	background-size: contain;
}
.title img{
	margin: 0 auto;
	max-width: 100%;
}
.title-sub{
	margin-bottom: 50px;
}


/* SMP term ribon */
.term-ribon{
	margin: 20px auto;
	padding: 4px 0;
	max-width: 80%;
}
.term-ribon::before,
.term-ribon::after{
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
}
.term-ribon::before{
	border-left: 15px solid #fff;
}
.term-ribon::after{
	border-right: 15px solid #fff;
}


/* SMP navi */
.navi > li{
	width: 30%;
}

.navi > li img{
	width: 100%;
}


/* SMP headline */
.headline{
	line-height: 1.4;
}


/* 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%;
}

.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 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;
}
.schedule-list > li div{
	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: 50%;
}

.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;
}

/*SMP shop-list*/
.shop-list{
	justify-content: center;
}
.shop-list > li{
	max-width: 48%;
}
.shop-list > li a{
	max-width: 100%;
}


/* hack */

#cp-include-box .campaign_lp_detail{
	padding: 0;
}


.main-cp-box img{
	width: 96%;
}


}/*end media*/






@media screen and (min-width:641px){
/*-------*/
/* HOVER */
/*-------*/
.shop-list > li img{
	display: block;
	width: 100%;
}
.main-content a:hover{
	opacity: .6;
}
}/*end media*/
