@charset "UTF-8";

/* font-size */
.txt-ll{font-size: 42px}
.txt-l {font-size: 30px}
.txt-m, .txt-date {font-size: 18px}
.txt-s {font-size: 14px}
.txt-sub-s {font-size: 16px;}
.txt-ss {font-size: 12px}


.change-txt-color{color:#5e8942}

/* アクセントカラー #dd6ba6 */

/* main-content */
.main-content a,
.main-content img{
	transition: .3s;
	max-width: 100%;
}
.main-content{
	/*background-attachment: fixed;*/
	background-color: #000000;
	background-attachment:fixed;
	background-size: cover;	
	font-weight: 500;
	line-height: 1.7;
	padding-bottom: 64px;
	text-align: center;
}

.main-content .m-icn-longarrow-down-head {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.main-content .m-icn-longarrow-down-shaft {
    background: #fff;
}

.mainbanner-container {
	background-image: url(./top_bg.jpg);
	background-repeat: repeat-x;
	background-position: center top;
	background-size: contain;
}

.mainbanner-container .is-pc {
	width: 1000px;
	height: 500px;
	margin: 0 auto;
}

.mainbanner-container .is-sp {
	width: 100%;
	aspect-ratio: 640/400;
}

.spcontent-ttl-main {
	font-size: 1.4em;
}

.change-txt-font-g {
	font-family: "Hiragino Kaku Gothic Pro", "メイリオ", "MS ゴシック", sans-serif;
	font-weight: 500;
}

.btn {
    background: #45423f;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    margin: 10px;
    padding: 0.5em 0;
}

.btn-bg .btn,
.main-content .m-sign-form-btn-area .m-btn-active
{
	background: #8a1f1f;
	color: #fff;
	font-weight: bold;
}

.outlet-sale_btn {
	color: #fff;
	font-weight: bold;
}

.btn-cs{
	background: #edece6;
	border-radius: 4px;
	color: #45423f;
	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: 10px;
    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;
	font-size: 16px;
	line-height: 1.8;
	font-feature-settings: "palt" 1;
    letter-spacing: 0.1em;
	font-weight: 400;
}


/* 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: 'Roboto', sans-serif;
	line-height: 1.4;
	margin-bottom: 10px;
	/* text-transform: uppercase; */
}

.headline p{
	margin: 0 8px;
	margin-bottom: 8px;
}

.headline .headline-cap {
	font-size: .6em;
	display: block;
	color: #fff;
}

.txt-change-color {
	color: #f3d27d;
	letter-spacing: 1px;
	font-weight: bold;
}

.headline.txt-ll p {
	margin-bottom: 10px;
}

.txt-subtitle {
	font-size: 30px;
}


/* 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:nth-of-type(-n+2) {
	margin-top: 0;
	width: 1000px;
} */
section.event-box-large {
	margin-top: 20px;
	width: 1000px;
}

section.event-box:nth-of-type(-n+2) .headline {
	vertical-align: middle;
}
section.event-box-large .icon {
	max-width: 100px;
}

.event-box-txt {
	margin-bottom: 20px;
	color: #fff;
}

/* special */
.special-wrapper-inner {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}

.special-box {
	color: #fff;
	background-color: #000000;
	border-radius: 30px;
	margin: 20px auto 0;
	width: 1000px;
	height: 460px;
	border: 2px solid #f3d27d;
	overflow: hidden;
	box-sizing: border-box;
}

.special-box-img {
	width: 50%;
	height: 100%;
	object-fit: cover;
	/* border-radius: 40px 0 0 40px; */
}

.special-box-img img {
	width: 100%;
	height: auto;
}

.special-detail {
	width: 50%;
}

.special-detail .txt-m {
	margin: 10px 0;
	font-weight: bold;
}

.special-detail .txt-ss {
	margin-bottom: 10px;
}

.special-wrapper .btn, .btn-cs {
	width: 90%;
	max-width: 320px;
}

.special-wrapper-s {
	display: flex;
	width: 1000px;
	margin: 0 auto;
}

.special-wrapper-s .special-box {
	width: 31.5%;
	height: 300px;
}

.special-wrapper-s-inner {
	margin: 20% auto;
}

/* current-event */
.current-event a{
	display: block;
	margin: auto;
	max-width: 750px;
}
.current-event img{
	width: 100%;
}

.event-box{
	background-color: #000000;
	border-radius: 30px;
	margin-top: 20px;
	padding: 20px 0;
	width: calc(50% - 10px);
	border: 2px solid #f7be54;
	box-sizing: border-box;
}
.event-box .headline{
	letter-spacing: .01em;
	color: #fff;
}
.event-box .icon{
	max-width: 70px;
}

.event-box-middle {
	display: flex;
	flex-direction: column;
}

.event-box-middle .headline-under {
	margin-top: auto;

}

.event-box .btn,
.novelty-wrapper .btn{
	width: 300px;
}

.shopinfo-box .btn {
	width: 80%;
}

.term-belt{
	font-weight: 600;
	letter-spacing: .05em;
	margin-top: 4px;
	margin-bottom: 4px;
	padding: 2px 0;
	background: linear-gradient(90deg, #fec94d 0%, #fffef0 50%, #fec94d 100%);
	background-repeat: no-repeat;
	color: #000000;
}

.shopinfo-wrapper {
	max-width: 1000px;
	display: flex;
	margin: 0 6px;
	flex-wrap: wrap;
	justify-content: space-between;
}

.shopinfo-wrapper-inner {
	width: 49%;
	margin-bottom: 12px;
}

.shopinfo-box-img {
	background-color: #fff;
	padding: 10px;
	margin-bottom: 14px;
}

.shopinfo-box-img img {
	width: 100%;
}

.shopinfo-detail {
	color: #fff;
}

.shopinfo-detail h3 {
	font-size: 17px;
	line-height: 1.6;
	margin-bottom: 14px;
	font-feature-settings: "palt";
}
.shopinfo-detail h3 span {
	display: block;
}

.shopinfo-box {
	background-color: #000000;
    border-radius: 20px;
    padding: 0 0 20px;
    border: 2px solid #f3d27d;
    box-sizing: border-box;
	overflow: hidden;
}

/*開催中icon*/
.active,
.notice-icon,
.new-icon{
	overflow: hidden;
	position: relative;
}
.active::before,
.notice-icon::before,
.new-icon::before {
	background: #f7be54;
	color: #000;
	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*/

.active::before {
	content: "開催中";
}
.notice-icon::before{
	content: "予告";
}
.new-icon::before {
	content: "NEW";
}



/* 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;
}


/* スケジュール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);
	background-color: #fff;
}
.topic-item-list p {
	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;
	margin-top: 60px;
}
.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;
}

.line-marker {
	background:linear-gradient(transparent 70%, #f5cfe2 0%);
	display: inline;
	font-size: 1em;
}

.banner-area { 
	width: 100%;
	margin: 0;
	padding:40px 0;	

}

.banner-area img { 
	max-width: 100%;
}

.col-banner {
	max-width: 900px;
	margin: 60px auto;
	padding: 0 10px;
}
.col-banner img {
	max-width: 100%;
	height: auto;
}


/* ばんざい */
.banzai {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: .5em;
}

.banzai::before {
  margin-right: 4px;
  transform: rotate(60deg);
}

.banzai::after {
  margin-left: 4px;
  transform: rotate(-60deg);
}

.banzai::before, .banzai::after {
  background-color: #424242;
  content: "";
  height: 1px;
  width: 20px;
}

.outlet_sale {
	padding: 60px 12px 0;
	font-size: 14px;
	box-sizing: border-box;
}


.outlet_sale_lead {
	padding: 20px 14px;
	color: #fff;
	font-size: 16px;
	background-color: #2d2321;
}

.outlet_sale_detail {
	background-color: #fff;
	padding: 20px 14px;
}

.outlet_sale_mainbanner {
	vertical-align: bottom;
}

.outlet-sale_txt {
	margin-bottom: 1em;
}

.outlet-sale_btn .m-btn-active {
	background-color: #dd2b30;
	margin-bottom: 20px;
}

.outlet-sale_btn2 .m-btn-active {
	background-color: #45423f;
	margin-bottom: 20px;
}

.outlet-sale_btn .m-btn-active::after,
.outlet-sale_btn2 .m-btn-active::after {
	content: "";
	display: inline-block;
	width: 14px;
    height: 14px;
    margin-left: 4px;
    margin-bottom: 2px;
	background-image: url(./external-llink_w.svg);
	background-size: contain;
	vertical-align: middle;	
}

.outlet_sale_detail_head {
	color:#dd2b30;
	font-weight: bold;
	margin-bottom: 1em;
	font-size: 16px;
	text-align: center;
}

.outlet_sale_app {
	margin-top: 20px;
}

.p-applead {
  display: flex;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto 40px;
}

.p-applead__copy {
  max-width: 614px;
  width: 100%;
  border-radius: 10px 0 0 10px;
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: center;
  object-fit: cover;
}

.p-applead__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.p-applead__link .-icn {
  width: 100%;
  text-align: center;
  max-width: 150px;
  margin: 12p 0x;
}
.p-applead__link .-icn.-apple {
  max-width: 121px;
}
.p-applead__link .-icn.-google {
  min-height: 40px;
}

.p-applead__qr {
  max-width: 584px;
  width: 100%;
  display: flex;
  gap: 15px;
  justify-content: center;
  border-radius: 0 10px 10px 0;
  padding: 10px;
  background-color: #efefef;
}

.mc-bgc__app {
	background-color: #A78457;
}

.p-applead__link img {
  position: relative;
  width: auto;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.mc-bgc__app img {
  position: relative;
  width: auto;
  max-width: 90%;
  height: auto;
  vertical-align: bottom;
}

.comingsoon {
	transition: all 0.2s linear;
	display: block;
    padding: 0;
    width: 100%;
    height: 44px;
    line-height: 44px;
    background: #aaa;
    border-radius: 4px;
    box-sizing: border-box;
    text-align: center;
    font-weight: bold;
    color: #333;
	max-width: 320px;
	margin: 24px auto 0;
}



@media screen and (max-width:640px){
/*-------*/
/* S M P */
/*-------*/

/* SMP txt */
.txt-ll{font-size: 24px}
.txt-l {font-size: 20px}
.txt-date {font-size: 16px}
.txt-m {font-size: 14px}
.txt-date-s {font-size: 13px}
.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 8px;
}

/* 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%;
}
section.event-box-large {
	margin-top: 4px;
	width: 100%;
}
section.event-box-large .icon {
	width: 100%;
}

.current-event{
	box-sizing: border-box;
	padding: 5%;
}

.event-box{
	border-radius: 20px;
	margin-top: 4px;
	padding: 30px 0 20px;
	width: calc(50% - 2px);
}
.event-box .headline{
	letter-spacing: 0;
}
.event-box .icon{
	max-width: 56px;
}
.event-box .btn,
.novelty-wrapper .btn,
.special-wrapper .btn, .btn-cs,
.shopinfo-box .btn{
	width: 90%;
}
.term-belt{
	letter-spacing: 0;
	margin-top: 4px;
	padding: 2px 0;
}

.active::before,
.notice-icon::before,
.new-icon::before {
	font-size: 14px;
	padding: 40px 0 0;
	transform: translate(-43% , -27%) rotate(-45deg);
	width: 250px;
}

/* スペシャルコンテンツ */
.special-wrapper {
	margin: 20px auto 0;
	max-width: 98%;
}

.special-box {
	width: 100%;
	display: block;
	height: auto;
}

.special-box-img {
	width: 100%;
	border-radius: 5% 5% 0 0;
	height: auto;	
}

.special-box-img img {
	border-radius: 5% 5% 0 0;
}

.special-detail {
	width: 100%;
	padding: 5% 0;
}

.special-wrapper-s :first-child .headline {
	margin-bottom: 25px;
}

.special-detail .txt-ss {
	width: 90%;
	margin: 10px auto;
}

.special-wrapper-s {
	display: block;
	width: 100%;
}

.special-wrapper-s-inner {
	margin: 15% auto;
}

.special-wrapper-s .special-box {
	width: 100%;
	height: 240px;
}


/* 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 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 {
	width: 90%;
	margin-right: auto;
	margin-left: auto;

}

/* ばんざい */
.banzai {
  text-align: center;
}


.banzai::before, .banzai::after {
  background-color: #424242;
  content: "";
  height: 1px;
  width: 2em;
}


.outlet_sale {
	text-align: left;
}


.p-applead {
	max-width: none;
	flex-direction: column;
}
.p-applead__copy{
	max-width: none;
	padding: 20px;
	border-radius: 10px 10px 0 0;
	box-sizing: border-box;
}
.p-applead__qr{
	max-width: none;
	border-radius: 0 0 10px 10px;
	box-sizing: border-box;
}
.p-applead__link .-qr{
	display: none;
	visibility: hidden;
	opacity: 0;
}
.p-applead__link .-icn.-apple {
	max-width: 123px;
}

}/*end media*/






@media screen and (min-width:641px){

.outlet_sale {
	padding: 60px 80px;
	font-size: 14px;

}

.outlet_sale_detail {
	margin: 0;
	padding: 40px;	
}

.outlet_sale_detail_head {
	font-size: 24px;
}

.p-applead__link .-icn {
  margin: 12px;
}

.headline .headline-cap {
	font-size: .4em;
}

.banner-area { 
	width: 800px;
	margin: 0 auto;
	padding:40px 0;
}

.shopinfo-wrapper {
	max-width: 1000px;
	display: flex;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: space-between;

}

.shopinfo-wrapper-inner {
	width: 24%;
}

.shopinfo-detail h3 {
	font-size: 26px;
	line-height: 1.6;
}

.btn-link::after { /* 棒の表示設定 */
    /* 擬似要素で矢印アイコンをつくる */
    right: 20px;
}

/*-------*/
/* HOVER */
/*-------*/

.cp-list .m-btn-active:hover,
.current-event .m-btn-active:hover{
	background: #45423f
}

.main-content a:hover{
	opacity: .6;
}

}/*end media*/
