@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}

.title-box {
	background-color: #fbf3b5;
}

/* main-content */
.main-content a,
.main-content img{
	transition: .3s;
}
.main-content{
	background-color: #fff7d5;
	font-weight: 500;
	padding-bottom: 64px;
	text-align: center;
}

.btn{
	background: #45423f;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	margin: 10px;
	padding: .5em 0;
	font-weight: 600;
	letter-spacing: .04em;
    font-feature-settings: "palt";
}

.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;
	aspect-ratio: 5/2;
}

.title-sub{
	color: #292929;
	padding: 30px 0 0;
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
	font-weight: 500;
	font-size: 16px;
	line-height: 1.8;
	font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.spfes-icon {
	padding: 0 0 10px;
}


/* 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{
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 30px;
}


.headline p{
	letter-spacing: .02em;
    font-feature-settings: "palt";
	line-height: 1.3;
}

.headline .headline-cap {
	font-size: 12px;
	display: block;
}

.headline-cap {
	color: #ee6f78;
	letter-spacing: 1px;
	font-weight: 500;
}


/* content-box */
.content-box{
	padding: 40px 0 60px;
}

/* 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.event-box-large{
	margin-top: 0;
	margin-bottom: 10px;
	width: 1000px;
}



section.event-box.event-box-large .headline{
	vertical-align: middle;
}

section.event-box.event-box-large .icon{
	max-width: 125px;
}

.event-title {
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .04em;
    font-feature-settings: "palt";
}

.event-title-text {
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
	margin: 8px 0;
}

.event-box-title {
	font-family: "Arial", sans-serif;
    font-weight: 600;
	color: #636363;
}

.event-box-txt {
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
	font-weight: 500;
	margin-bottom: 12px;
	letter-spacing: .04em;
    font-feature-settings: "palt";
}

/* current-event */
.current-event a{
	display: block;
	margin: auto;
	max-width: 750px;
}
.current-event img{
	width: 100%;
}

.event-box{
	background-color: #fff;
	border-radius: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 20px 0;
	width: calc(50% - 10px);
	display: flex;
	flex-direction: column;
}
.event-box .headline{
	letter-spacing: .04em;
    font-feature-settings: "palt";
}
.event-box .icon{
	max-width: 70px;
}
.event-box .btn,
.special-wrapper .btn{
	width: 300px;
}

.event-box-under {
	margin-top:auto
}

.term-belt{
	font-weight: 600;
	letter-spacing: .05em;
	margin-top: 4px;
	padding: 2px 0;
	background-color:#fcf0f1;	
	color: #ee6f78;
	font-family: "Arial",sans-serif;
}

/*開催中icon*/
.lb-active,
.lb-notice,
.lb-new {
	overflow: hidden;
	position: relative;
}
.lb-active::before{
	background: #ee6f78;
	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;
}

/*予告icon*/

.lb-notice::before{
	background: #ee6f78;
	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;
}

/*NEWicon*/

.lb-new::before{
	background: #4cdc5c;
	color: #fff;
	content: "NEW";
	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;
}

/* 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(:nth-of-type(-n+2)){
	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;
}

.lb-active2 {
    overflow: hidden;
    position: relative;
}

.lb-active2::before {
    background: #ee6f78;
    color: #fff;
    content: "";
    display: block;
    font-size: 20px;
    font-weight: 600;
    padding: 85px 0 10px;
    position: absolute;
    transform: translate(-40%, -25%) rotate(-45deg);
    width: 250px;
    top: 0;
    left: 0;
}

.lb-active2-no {
    position: absolute;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    top: 24px;
    left: 13px;
    transform: rotate(-45deg);
}



/* スケジュール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-lb-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);
	background-color: #fff;
}
.topic-item-list p {
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
	font-weight: 500;
	letter-spacing: .04em;
    font-feature-settings: "palt";
	padding: 6px;
}

.topic-item-list a {
	display: block;
}

/*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;
	width: 100%;
}

.topic-item-thumb {
	aspect-ratio: 5/2;

}

.shoptour-title {
	font-size: 24px;
	line-height: 1.5;
}


/* 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;
}

/* ノベルティ追加 */
.special-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;
	border-radius: 20px;
}

.special-wrapper h3,
.special-wrapper p {
	margin-bottom: 20px;
	line-height: 1.65;
}


.schedule .special-box {
	width: 100%;
	height: auto;
	background-color: #fff;
    border-radius: 20px;
	overflow: hidden;
	margin: 12px auto 0;
}

.schedule .txt-date {
	font-size: 18px;
	margin-bottom: .5em;
	font-weight: normal;
}

.schedule-inner {
	margin: 40px auto;
}


.special-detail {
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
	font-weight: 500;
	letter-spacing: .05em;
    font-feature-settings: "palt";
}

.special-wrapper img {
	width: 100%;
	height: auto;
	/* max-width: 400px; */
	margin-bottom: 20px;
}

.special-thumb {
	aspect-ratio: 16/15;

}

.line-marker {
	background:linear-gradient(transparent 70%, #f5cfe2 0%);
	display: inline;
	font-size: 1em;
}

.btn-cs {
    background: #edece6;
    border-radius: 4px;
    color: #45423f;
    display: inline-block;
    margin: 10px;
    padding: .5em 0;
}

.schedule .btn,
.btn-cs {
	width: 90%;
}

.txt-smaller {
	display: inline-block;
	font-size: .7em;
	margin-bottom: .5em;
}

h3.shoptour {
	letter-spacing: 0;
	line-height: 1.4;
}

@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: 12px auto;
	padding: .7em 0;
}


.main-content {
	padding-top: 0;
}


/* SMP title */

.title img{
	margin: 0 auto;
	max-width: 100%;
	aspect-ratio: 32/19;
}
.title-sub{
	box-sizing: border-box;
	padding: 24px 12px 0;
}


/* 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;
}

.spfes-icon {
	width: 20%;
	max-width: 70px;
}

/* SMP headline */

.headline > div{
	width: 60px;
}
.headline > div img{
	width: 100%;
}
.headline p{
	margin: 0 4px;
}


/* SMP content-box */
.content-box{
	padding: 30px 0 40px;
}



/* 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%;
	min-width: 50px;
}

section.event-box.event-box-large {
	margin-top: 0;
	width: 100%;
}

section.event-box.event-box-large .icon{
	width: 100%;
}

.current-event{
	box-sizing: border-box;
	padding: 5%;
}

.event-box{
	border-radius: 20px;
	margin-top: 0;
	margin-bottom: 10px;
	padding: 20px 0;
	width: calc(50% - 2px);
}
.event-box .headline{
	letter-spacing: 0;
}
.event-box .icon{
	max-width: 50px;
}
.event-box .btn,
.special-wrapper .btn {
	width: 90%;
}



.term-belt{
	letter-spacing: .05em;
	margin-top: 8px;
	padding: 2px 0;
}


.lb-active::before,
.lb-notice::before,
.lb-new::before {
	font-size: 14px;
	padding: 40px 0 0;
	transform: translate(-44% , -27%) rotate(-45deg);
	width: 250px;
}

.lb-active2::before {
	padding: 74px 0 10px;
	font-size: 12px;
}



/* 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(:nth-of-type(-n+2)){
	margin-left: 0;
}
.recommend-item-list img{
	margin-bottom: 8px;
}


/* SMP cp-list */


.cp-item:not(:nth-of-type(-n+2)){
	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(:nth-of-type(-n+2)){
	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-lb-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 */
.special-wrapper {
	display: block;
	margin-right: 10px;
	margin-left: 10px;
}

.m-sign-form-btn-area {
	width: 90%;
	margin-right: auto;
	margin-left: auto;

}

h3.shoptour {
	font-size: 24px;
}

.shoptour-title {
	font-size: 18px;
}

}/*end media*/






@media screen and (min-width:641px){
/*-------*/
/* HOVER */
/*-------*/

.main-content a:hover{
	opacity: .6;
}

section.event-box.event-box-large {
	margin-bottom: 20px;
}

.special-wrapper {
	padding: 40px;
}

.special-wrapper img {
	margin-bottom: 0px;
}

.special-wrapper {
    width: 1000px;
}


.special-thumb {
	width: 400px;
}

.special-detail {
	width: calc(100% - 400px);
}

.schedule .btn,
.btn-cs {
	width: 300px;
}


.schedule {
	display: flex;
    justify-content: space-between;
	align-items: center;
}

.schedule .special-box {
	width: 100%;
	margin: 20px 0 0;
}


}/*end media*/
