@charset "UTF-8";

/* font-size */
.txt-ll{font-size: 42px}
.txt-l {font-size: 30px}
.txt-m {font-size: 18px}
.txt-s {font-size: 14px}
.txt-ss {font-size: 12px}


.change-txt-color{color:#5e8942}

/* アクセントカラー #dd6ba6 */

.title-box {
	background: linear-gradient(90deg, #b7e286 0%, #b7e286 50%, #85de82 50%, #85de82 100%);
	background-image: url(top_bg.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;	

}

/* main-content */
.main-content a,
.main-content img{
	transition: .3s;
}
.main-content{
	/*background-attachment: fixed;*/
	background-repeat: repeat-y;
	background-color: #c4e19c;
	background-image: url(bg.jpg);
	background-attachment:fixed;
	background-size: cover;	
	font-weight: 500;
	line-height: 1.7;
	padding-bottom: 64px;
	text-align: center;
}
.change-txt-font {
	font-family: "Poppins", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif;

}

.btn{
	background: #45423f;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	margin: 10px;
	padding: .5em 0;
}

.btn-link {
    /* ボタンのCSS */

    position: relative; /* position: relative;で矢印の位置を基点とさせます */
}
.btn-link::after { /* 棒の表示設定 */
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    display: inline-block;
    width: 10px;
    height: 10px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg); /* rotate(45deg)で矢印を回転（向きを変更）させる */
}

/* title */
.title-box{
	overflow: hidden;
}

.title img{
	display: block;
	margin: 0 auto;
}

.title-sub{
	color: #292929;
	padding: 30px 0;
	background-color: #f3f3b6;
	font-size: 16px;
	line-height: 1.8;
	background-color: rgba(255,255,255,0.5);
}


/* term ribon */
.term-ribon{
	background-color: #51a9b4;
	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 #edfcfe;
	left: 0;
}
.term-ribon::after{
	border-right: 15px solid #edfcfe;
	right: 0;
}


/* headline */
.headline{
	/*
	align-items: center;
	display: flex;
	justify-content: center;
	*/
	font-family: "Poppins", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif;
	line-height: 1.4;
	margin-bottom: 10px;
	/*text-transform: uppercase;*/
	font-weight: bold;
}

.headline p{
	margin: 0 8px;
}

.headline .headline-cap {
	font-size: .4em;
	display: block;
}

.txt-change-color {
	color: #7ac46c;
	letter-spacing: 1px;
}

.headline.txt-ll p {
	margin-bottom: 10px;
}

/* 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,
section.event-box.l-1column{
	margin-top: 0;
	width: 1000px;
}
section.event-box:first-of-type {
	margin-bottom: 20px;
}

section.event-box:first-of-type .headline,
section.event-box.l-1column .headline{
	vertical-align: middle;
}
section.event-box:first-of-type .icon,
section.event-box.l-1column .icon{
	max-width: 125px;
}

.event-box-txt {
	margin-bottom: 20px;
}

/* 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: .01em;
}
.event-box .icon{
	max-width: 70px;
}
.event-box .btn,
.novelty-wrapper .btn{
	width: 300px;
}
.term-belt{
	font-weight: 600;
	letter-spacing: .05em;
	margin-top: 4px;
	padding: 2px 0;
	background-color:#fae9f2;	
	color: #dd6ba6;
}

/*開催中icon*/
.active{
	overflow: hidden;
	position: relative;
}
.active::before{
	background: #7ac46c;
	color: #fff;
	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: #47ca52;
	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: 20px auto 0;
	text-align: left;
	max-width: 1000px;
}
.topic-item-list li{
	width: calc(50% - 10px);
}
.topic-item-list p {
	/*background-color: rgba(255,255,255,0.5);*/
	padding: 6px;
}
/*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{
	vertical-align:top;
	/*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;
}

/* ノベルティ追加 */
.novelty-wrapper {
	background: #fff;
	display: flex;
    justify-content: space-around;
	align-items: center;
    margin: 20px auto 0;
	padding: 10px;
    width: calc(100% - 20px);
	box-sizing: border-box;
}

.novelty-wrapper h3,
.novelty-wrapper p {
	margin-bottom: 1em;
	line-height: 1.5;
}



.novelty-wrapper img {
	width: 100%;
	max-width: 400px;
	margin-bottom: 20px;
}

.line-marker {
	background:linear-gradient(transparent 70%, #f5cfe2 0%);
	display: inline;
	font-size: 1em;
}







@media screen and (max-width:640px){
/*-------*/
/* S M P */
/*-------*/


/* SMP txt */
.txt-ll{font-size: 24px}
.txt-l {font-size: 20px}
.txt-m {font-size: 14px}
.txt-s {font-size: 12px}

/* SMP main-content */
.btn{
	margin: 10px auto;
	padding: .7em 0;
}


.main-content {
	padding-top: 0;
}


/* SMP title */

.title img{
	margin: 0 auto;
	max-width: 100%;
}
.title-sub{
	box-sizing: border-box;
	padding: 24px 12px
}


/* 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;
}


/* 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;
}
/*
.wave2::after{
	background-image: url(wave-bottom.png);
	content: "";
	display: block;
	margin-bottom: -54px;
	margin-top: 20px;
	height: 14px;
}
*/

/* 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: 14%;
}
section.event-box:first-of-type,
section.event-box.l-1column {
	margin-top: 0;
	width: 100%;
}
section.event-box:first-of-type .icon,
section.event-box.l-1column  .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,
.novelty-wrapper .btn{
	width: 90%;
}
.term-belt{
	letter-spacing: .05em;
	margin-top: 4px;
	padding: 2px 0;
}

.active{
	overflow: hidden;
	position: relative;
}
.active::before{
	font-size: 14px;
	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;
}

/* novelty */
.novelty-wrapper {
	display: block;
	margin-right: 10px;
	margin-left: 10px;
}

.m-sign-form-btn-area {
	width: 90%;
	margin-right: auto;
	margin-left: auto;

}

}/*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;
}

.novelty-detail {
	padding: 20px;
}

.novelty-wrapper {
	padding: 40px;
}

.novelty-wrapper img {
	margin-bottom: 0px;
}

.novelty-wrapper {
    width: 1000px;
}

}/*end media*/
