




html{
  scroll-behavior: smooth;
}
.fix-bg {
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: url(/image/tokyudept_blackfriday/background.webp) repeat top center / 110%;
    top: 0;
    left: 0;
    z-index: -1;
}
@media screen and (max-width:768px){
.fix-bg {
    background: url(/image/tokyudept_blackfriday/background.webp) repeat top center /cover;
}	
}
header#GBheader {
    background: #fff;
}
#blackfriday{
  font-weight: 500;
}
#blackfriday img {
    width: 100%;
    vertical-align: bottom;
    height: auto;
}
p.footer_anounce {
    color: #fff;
}
.feature header{
  padding:0;
  margin:0!important;
}
.box_feature {
    width: 100%;
}  
.black-header {
    animation: titleslide 1.5s forwards;
}
.black-header .black-title{
  width: 90%;
  margin: 0 auto;
  background: #000;
}
.black-header figure.date {
    width: 50%;
    margin: 0 auto 30px;
    max-width: 280px;
}
.black-header p {
  color: #fff;
  width: 90%;
  margin: 0 auto;
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
  font-size: 19px;
}
.contents-wrap{
  margin: 70px 0;
}
.flex-wrap{
  display: flex;
  flex-wrap: wrap;
}
.flex-wrap::after{
	display:none
}
.text-wrap .flex-wrap{
	margin-top: 17px;
	gap: 7px 5px;
	justify-content: flex-start;
}
.bf-bt {
  width: 80%;
  margin: 10px auto 0;
  text-align: center;
  position: relative;
  font-weight: 600;
  border-radius: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffdf2c;
  border: 5px solid #000000;
}
.bf-bt span {
  margin: 0 3px;
  font-size: 23px;
}
.bf-bt a {
  position: relative;
  display: inline-block;
  width: 100%;
  height: auto;
  transition: 0.3s;
  border-radius: 100vh;
  padding: 15px 0;
  color: #000;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0;
  font-size: 15px;
}
.bf-bt a::after {
  content: "";
  position: absolute;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  top: 50%;
  right: 7%;
  transform: translateY(-50%) rotate(45deg);
  z-index: 20;
  transition: 0.3s;
}
.bf-bt a:hover::after {
  right: 5%;
}
.bf-bt a:hover {
  background: #ffef3f;
}
.box_feature p.attention {
    font-size: 12px;
padding:0;
}
@media screen and (min-width:787px){
  #blackfriday {
    font-size: 15px;
    overflow:hidden;
    margin-top: -60px;
  }
  .black-header{
    max-width: 750px;
    margin: 0 auto 80px
  }
	.black-header p{
		font-size:18px
	}
  .contents-wrap{
    max-width: 1200px;
    margin: 100px auto;
  }
  .sp{
    display:none
  }
  .box_feature p.attention {
    font-size: 13px;
  }
}


/*ラインナップ*/
.index .black-h2title{
  margin: 0 auto;
  width: 95%;
  height: 56px;
  background: url("/blackfriday/image/lineup-title.webp") no-repeat center/contain;
}
.index .black-h2title span, figure.date span,h1 span{
  width: 1px;
  height: 1px;
  overflow: hidden;
  position:absolute;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
	margin:-1px;
}
.index ol{
  margin: 45px auto 0;
  width: 90%;
  display: flex;
  flex-wrap: wrap;
  gap: 54px 10px;
  list-style: none;
  padding: 0;
}
.index ol li{
  padding-top: 17px;
  width: calc((100% - 20px) / 3);
  background: #ffee2e;
  position: relative;
  height: 72px;
  border-radius: 10px;
  box-sizing: border-box;
}
.index ol li::before{
  content: "";
  display: block;
  width: 30px;
  height: 50px;
  position: absolute;
  top: -5px;
  transform: translateY(-50%) translateX(-50%);
  left: 50%;
  background: url("/blackfriday/image/tabicon-01.webp") no-repeat center bottom/contain;
}
.index ol li:nth-of-type(2)::before{
  background: url("/blackfriday/image/tabicon-02.webp") no-repeat center bottom/contain;
}
.index ol li:nth-of-type(3)::before{
  background: url("/blackfriday/image/tabicon-03.webp") no-repeat center bottom/contain;
}
.index ol li:nth-of-type(4)::before{
  background: url("/blackfriday/image/tabicon-04.webp") no-repeat center bottom/contain;
}
.index ol li:nth-of-type(5)::before{
  background: url("/blackfriday/image/tabicon-05.webp") no-repeat center bottom/contain;
}
.index ol li::after{
  content: "";
  display: block;
  width: 87%;
  height: 21px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  left: 50%;
  background: url("/blackfriday/image/tab-01.webp") no-repeat center/contain;
  visibility: visible;
}
.index ol li:nth-of-type(2)::after{
  background: url("/blackfriday/image/tab-03.webp") no-repeat center/contain;
}
.index ol li:nth-of-type(3)::after{
  background: url("/blackfriday/image/2025/sale-ank.png") no-repeat center/contain;
}
.index ol li:nth-of-type(4)::after{
  background: url("/blackfriday/image/tab-02.webp") no-repeat center/contain;
}
.index ol li:nth-of-type(5)::after{
  height: 50px;
  background: url("/blackfriday/image/2025/foodshow-ank.png") no-repeat center/contain;
}
.index ol li a{
  width: 100%;
  height: 100%;
  display: block;
  position:relative;
  z-index: 10000;
}
.index ol li a::after {
	content: " ";
	display: block;
	width: 22px;
	height: 22px;
	background: #ffee2e;
	border-radius: 4px;
	position:absolute;
	bottom: -10px;
	left:50%;
	transform:translateX(-50%) rotate(-135deg);
}
.index ol li span{
  width: 1px;
  height: 1px;
  overflow: hidden;
  position:absolute;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
	margin:-1px;
}
@media screen and (min-width:787px){
  .index{
    max-width: 850px;
    margin: 0 auto;
  }
  .index .black-h2title {
    height: 83px;
  }
  .index ol{
    margin: 76px auto 0;
    width: calc(100% - 20px);
    gap: 61px 20px;
  }
  .index ol li{
    width: calc((100% - 80px) / 5);
    height: 120px;
	  transition:0.3s;
  }
	.index ol li:hover{
    transform:translateY(10px)
  }
  .index ol li::before {
    width: 44px;
    height: 71px;
    top: -9px;
  }
  .index ol li::after {
    top: 53%;
    width: 95%;
    height: 30px;
  }
  .index ol li a::after {
    width: 26px;
    height: 26px;
    bottom: -13px;
    border-radius: 5px;
  }
}



/*キャンペーン*/
.contents-wrap > h2{
  margin: 0 auto 20px;
  width: 95%;
  height: 80px;
  background: url("/blackfriday/image/title-01.webp") no-repeat left/contain;
}
.contents-wrap h2 span,.text-none,.campaign-icon span{
  width: 1px;
  height: 1px;
  overflow: hidden;
  position:absolute;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
	margin:-1px;
}
.campaign-box{
  margin: 0 0 40px;
  padding: 0 35px;
}
.campaign-box h3{
  position: relative;
}
.campaign-box h3 .campaign-icon{
  margin: 0 auto;
  width: 100px;
  height: 100px;
  background: url("/blackfriday/image/campaignicon01.webp") no-repeat center/contain #000;
  display: block;
  z-index: 100;
  position: relative;
}
.campaign-box:nth-of-type(2) h3 .campaign-icon{
  background: url("/blackfriday/image/campaignicon02.webp") no-repeat center/contain #000; 
}
.campaign-box:nth-of-type(3) h3 .campaign-icon{
  background: url("/blackfriday/image/campaignicon03.webp") no-repeat center/contain #000; 
}
.campaign-box h3 figure{
  width: 100%;
  margin: 10px 0 46px;
}

.details-wrap{
  margin: -10px 0 0 -10px;
  padding: 5px 5px 5px 20px;
  font-size: 15px;
  background: #fff;
  box-shadow: 10px 10px 0 #fff;
}
.details-wrap ul{
  margin-top: 15px;
  padding: 0;
  list-style: none;
}
.details-wrap ul li{
  margin-bottom: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
}
.details-wrap ul li .store-name {
    margin-bottom: 0;
}
.campaign-box:first-of-type .details-wrap ul li:first-of-type{
	align-items:flex-start
	
}
.kome{
  font-size:12px;
  display: block;
}
.details-wrap > span {
    text-align: center;
    font-size: 13px;
    display: block;
}
.details-wrap p.coupon-code {
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0.3em;
}
.details-wrap ul li > span{
  width: 100px;
  background: #000;
  padding: 7px 0;
  text-align: center;
  font-size: 13px;
  color: #fff;
  border-radius: 100vh;
  display: block;
  font-weight: 600;
}
.details-wrap ul li p{
  width: calc((100% - 100px) - 10px);
  margin: 0;
}
.details-wrap ul li ul {
    margin: 0;
    width: calc((100% - 100px) - 10px);
    gap: 5px;
}
.details-wrap ul li .kome{
  font-size: 12px;
}
.details-wrap ul li.flex-none{
    flex-direction: column;
    align-items: flex-start;
    font-size: 14px;
}
.details-wrap ul li .flex-wrap{
	margin-left:5px;
  gap:5px;
}
.details-wrap ul li .flex-wrap p.step{
  width: 90px;
}
.details-wrap ul li .flex-wrap div{
  width: calc((100% - 90px) - 5px);
}
.details-wrap ul li .flex-wrap div p{
  margin-bottom: 7px;
  width: 100%;
  
}
.details-wrap ul li .flex-wrap div p span{
  background: linear-gradient(transparent 70% , yellow 70%);
  font-weight:700;
}
@media screen and (min-width:787px){
  .contents-wrap > h2 {
    margin: 0 auto 43px;
    height: 127px;
  }
  .campaign-box {
      margin: 0 0 100px;
      display: flex;
      gap: 50px;
  }
  .campaign-box::after{
    display: none
  }
  .campaign-box:nth-of-type(3){
    align-items: flex-start;
    margin-bottom: 0;
  }
  .campaign-box h3 {
      width: 55%;
  }
  .campaign-box h3 .campaign-icon {
    margin: 0 0 -20px;
    width: 120px;
    height: 120px;
  }
  .campaign-box h3 figure {
      margin: 10px 0 0;
      width: 100%;
  }
  .details-wrap {
      width: calc((100% - 55%) - 50px);
      min-height: 406px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      font-size: 17px;
  }
}



/*イベント*/
#event.contents-wrap h2{
  margin-bottom: 30px;
  background: url("/blackfriday/image/2025/event-title.png") no-repeat left/contain;
}
#event h4{
	margin-bottom:15px;
	text-align:center;
	font-size: 13px;
}
#event h4 span{
	font-size: 17px;
}
#event > .flex-wrap{
  margin: 48px 20px 0;
  display: grid;
  gap: 30px 10px;
  grid-template-columns: repeat(2, 1fr);
}
#event > .flex-wrap li {
    padding: 14px 17px 26px;
    background: #fff;
    color:#000;
}
#event > .flex-wrap li .image{
	height: 150px;
	width: 90%;
	margin: 0 auto;
}
#event > .flex-wrap li .tenpo-wrap h3{
	background:#000;
	color:#fff;
}
#event > .flex-wrap li .tenpo-wrap h3::before{
		background:#000;
}
.cntbox {
  line-height: 1.8;
}
.modal-bt {
    padding: 9px 8px 8px;
    background: #000000;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
    min-height: 48px;
    margin: 20px auto 0;
    border-radius: 100vh;
    max-width: 300px;
    cursor: pointer;
    z-index: 0;
    position: relative;
}
div#modal-wrap.active .modal-content{
	animation: fade 0.3s forwards;
	opacity: 1;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #fff;
	color: #000;
	height: 80vh;
	width: 80vw;
	z-index: 1000;
	padding: 43px 30px;
	box-sizing: border-box;
	overflow-y: scroll;
	max-width: 600px;
}
.modal {
	position: relative;
}

.modal .modal-bt {
	margin: 20px auto 0;
	border-radius: 100vh;
	max-width: 300px;
	cursor: pointer;
}
div#modal-wrap {
	opacity: 0;
	display: none;
}
div#modal-wrap.active {
	animation: fade 0.3s forwards;
	opacity: 1;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	height:100vh;
	width: 100vw;
	background: #00000078;
	z-index: 10000000;
}
.modal-content .eventtitle-wrap:nth-of-type(2) {
    margin: 30px 0;
}
.modal-content > ul {
    margin: 0;
    padding: 0 20px;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 50px 27px;
    font-size: 17px;
}
.modal.kuji .modal-content > ul {
    grid-template-columns: 1fr;
    gap: 11px;
}
#event > .flex-wrap .modal-content > ul li{
    padding: 0;
}
#event > .flex-wrap .modal.kuji .modal-content > ul li{
	display:grid;
	grid-template-columns:50px 1fr;
	align-items: center;
}
.modal-content > ul span{
  font-size: 15px;
}
.modal-content > ul span span{
	font-size: 39px;
}
button.js-modal-close {
    background: transparent;
    border: none;
    position: relative;
    width: 36px;
    height: 30px;
    position: absolute;
    top: 10px;
    left: 10px;
}
button.js-modal-close::before,button.js-modal-close::after {
    content: "";
    display: block;
    width: 100%;
    transform: rotate(45deg);
    height: 2px;
    background: #000;
}
button.js-modal-close::after{
    transform: rotate(135deg) translateY(1px);
}
div#modal-wrap.active .modal-content{
	animation: fade 0.3s forwards;
	opacity: 1;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #fff;
	color: #000;
	height: 80vh;
	width: 80vw;
	z-index: 1000;
	padding: 43px 30px;
	box-sizing: border-box;
	overflow-y: scroll;
	max-width: 600px;
}
@keyframes fade{
	0%{
			opacity:0
	}
	100%{
			opacity:1;
			display:block
	}
}
#event .modal-content > h4 {
	padding: 8px 0 3px 5px;
	font-size: 23px;
	margin: 0 0 33px;
	letter-spacing: 0.2em;
	background: #fff139;
}
#event > .flex-wrap .modal-content > ul li figure {
    margin: 0 0 10px;
    height: 200px;
    position: relative;
}
#event > .flex-wrap .modal-content > ul li figure img {
    height: 100%;
    object-fit: contain;
}
#event > .flex-wrap .modal-content > ul li figure > span {
    position: absolute;
    top: 0;
    left: 16%;
    transform: translateX(-50%) translateY(-10%);
}
#event > .flex-wrap .modal-content > ul li p {
    margin: 0;
    font-size: 15px;
}
@media screen and (min-width:787px){
	#event h4{
	padding: 0 0 5px;
	margin-bottom:15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
		font-size:20px
	}
  #event h4 span{
	font-size:25px
  }
	#event > .flex-wrap{
  margin: 48px 20px 0;
  gap: 40px;
  display: grid;
  gap: 68px;
  grid-template-columns: repeat(2, 1fr);
  }
  #event > .flex-wrap li {
    padding: 0 33px 37px;
  }
	#event > .flex-wrap li .image{
	height: 340px;
	width: 90%;
	margin: 0 auto;
}
}

/*お楽しみ袋*/
#enjoybox.contents-wrap > h2{
  margin-bottom: 30px;
  background: url("/blackfriday/image/2025/enjoybox-title.png") no-repeat left/contain;
}

.item-box .item-info .brandname{
  font-weight: 600;
  font-size: 13px;
  margin: 0px;
  line-height: 1.2;
  border-bottom: 2px solid;
  padding: 0 0 3px 3px;
}
.item-box .item-info .itemname{
  font-size: 12px;
  margin: 4px 0 -1px;
}
.item-info .price{
  margin: 0;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.item-box .item-info.red .price,.special-price .item-box .item-info .price{
  color: #dd0000;
}
.item-info .price span.unit{margin-right: 4px;font-size: 10px;width: 35px;display: inline-block;line-height: 1.2;}
.item-info .price span{
  font-size: 12px;
}
.item-info .price span span{
  font-size: 7px;
  margin-left: -5px;
  white-space: nowrap;
}
.item-info p.period {
    margin: 8px 0 0;
    padding: 0;
    font-weight: 600;
    display: flex;
    position: relative;
    text-shadow: none;
    font-size: 13px;
    gap: 7px;
    align-items: center;
    flex-wrap: wrap;
}
.item-info p.period::before, .event-wrap .item-info .price::before{
    content:"販売期間";
    width: 75px;
    background: #ffffff;
    color: #000000;
    display: block;
    padding: 6px 5px 6px 8px;
    border-radius: 2px;
    line-height: 1.2;
    font-size: 10px;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid;
}
.event-wrap .item-info .price::before{
	content:"販売価格";
	margin-right:15px
}
.event-wrap li:nth-of-type(3) .item-info .price::before{
	display:block;
	margin-top:20px
}
.item-box .item-info p.period span{
	width: 100%;
	font-size: 13px;
}
.item-explanation{
  padding: 15px 0 0;
  letter-spacing: 0.1em;
  line-height: 1.8;
  position: relative;
}
.item-explanation .item-info{
	margin: 0 0 29px;
}
.item-explanation p{
  display:block;
  font-size: 12px;
  font-weight: 600;
  margin: 0;
}
.enjoybox .item-explanation p{
  width:100%;
  max-width: 100%;
}
.limit-number {
  margin: 25px 0;
}
.tenpo-wrap h2,.limit-number h2 {
    margin-bottom: 10px;
    padding: 3px 0 1px;
    letter-spacing: 0.1em;
    color: #ffffff;
    background:#000000;
    /* border-radius: 100vh; */
    font-weight: 600;
    width: 92px;
    text-align: center;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.tenpo-wrap h2::before,.limit-number h2::before {
  content:"";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 2px;
  left: 46%;
  transform: rotate(135deg) translate(50%, -50%);
  background:#000000;
}
.limit-number ul {
  display: flex;
  gap: 5px 20px;
  font-weight: 600;
  font-size: 16px;
  flex-wrap: wrap;
  width: 100%;
}
.limit-number li span {
  margin-right: 6px;
  background: #333;
  color: #fff;
  border-radius: 50%;
  font-size: 11px;
  width: 26px;
  aspect-ratio: 1/1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.0;
  letter-spacing: 0;
}
.limit-number li span.ko {
    background: transparent!important;
    color: #ffffff;
    padding: 0;
    margin: 0 0 0 -6px;
    display: inline;
}
.item-explanation .tenpo-wrap, .limit-number{
  margin-top: 15px;
}
.tenpo-wrap h3, .limit-number h3 {
    margin: 0 0 10px;
    padding: 3px 12px 1px;
    letter-spacing: 0.1em;
    color: #000000;
    background: #fff640;
    font-weight: 600;
    height: auto;
    text-align: center;
    font-size: 10px;
    display: inline-block;
    position: relative;
}
.tab-bt.active::before, .tenpo-wrap h3::before, .limit-number h3::before {
  content:"";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 3px;
  left: 46%;
  transform:rotate(135deg) translate(50%, -50%);
  background: #fff640;
}
.item-explanation .tenpo-wrap .tenpo-bt-wrap{
  width: 100%;
}
.item-explanation .tenpo-wrap .tenpo-bt{
  display:inline-block;
  margin:5px 3px;
  padding: 5px 10px 3px;
  border-radius:100vh;
  background:#000;
  color:#fff;
  font-size:10px;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
}
.item-explanation .tenpo-wrap .tenpo-bt.sf,.limit-number li.shibuya span{
  background:#6cb94e;
}
.item-explanation .tenpo-wrap .tenpo-bt.shinqs,.limit-number li.shinqs span{
  background:#ae8a31;
}
.item-explanation .tenpo-wrap .tenpo-bt.edge,.limit-number li.edge span{
  background:#4a73a7;
}
.item-explanation .tenpo-wrap .tenpo-bt.kichi,.limit-number li.kichi span{
  background: #fca914;
}
.item-explanation .tenpo-wrap .tenpo-bt.tama,.limit-number li.tama span{
  background:#f34242;
}
.item-explanation .tenpo-wrap .tenpo-bt.sapporo,.limit-number li.sapporo span{
  background:#74c3c0;
}
.item-explanation .tenpo-wrap .tenpo-bt.machida,.limit-number li.machida span{
  background: #e87235;
}
.item-explanation .tenpo-wrap .tenpo-bt.hiyoshi,.limit-number li.hiyoshi span{
  background:#e56890;
}
.item-explanation .tenpo-wrap .tenpo-bt.futako,.limit-number li.futako span{
  background:#4d85bc;
}
.item-explanation .tenpo-wrap .tenpo-bt.aoba,.limit-number li.aoba span{
  background:#2a904e;
}
.item-explanation .tenpo-wrap .tenpo-bt.musako,.limit-number li.musako span{
  background:#c13636;
}
.item-explanation .tenpo-wrap .tenpo-bt.azamino,.limit-number li.azamino span{
  background:#40b998;
}
.item-explanation .tenpo-wrap .tenpo-bt.thewine{
  background:#7e5795;
}
@media screen and (min-width:787px){
.item-box .item-info .brandname{
  font-size: 18px;
}
.item-box .item-info .itemname{
  font-size: 18px;
}
.item-info .price{
  font-size: 27px;
}
.item-info .price span.unit{margin-right: 11px;font-size: 14px;width: auto;}
.item-info .price span{
  font-size: 18px;
}
.item-info .price span span{
  font-size: 9px;
}
.item-info p.period {
    margin: 8px 0 0;
    font-size: 18px;
}
.item-info p.period::before, .event-wrap .item-info .price::before{
    width: 75px;
    padding: 6px 5px 6px 8px;
    font-size: 12px;
}
	.event-wrap .item-info .price::before,.event-wrap .item-info .period::before{
		border:1px solid
	}
.event-wrap .item-info .price::before{
	content:"販売価格";
	margin-right:15px;
	display: inline-block;
}
.item-box .item-info p.period span{
	width: calc((100% - 75px) - 5px);
	font-size: 17px;
}
.item-explanation{
  padding: 31px 0 0;
}
.item-explanation .item-info{
	margin: 0 0 29px;
}
.item-explanation p{
  font-size: 14px;
}
.limit-number {
  margin: 25px 0;
}
	.tenpo-wrap h3, .limit-number h3{
		font-size:13px
	}
.tenpo-wrap h2,.limit-number h2 {
    margin-bottom: 10px;
    padding: 3px 0 1px;
    width: 92px;
    font-size: 12px;
}
.limit-number ul {
  gap: 5px 20px;
  font-size: 18px;
}
.limit-number li span {
  margin-right: 6px;
  font-size: 13px;
  width: 26px;
}
	.item-explanation .tenpo-wrap .tenpo-bt{
		font-size:12px
	}
}
/*特別価格*/
#special-price.contents-wrap > h2{
  margin-bottom: 30px;
  background: url("/blackfriday/image/2025/sale-title.png") no-repeat left/contain;
}


/*限定*/
#limited.contents-wrap > h2{
  margin-bottom: 30px;
  background: url("/blackfriday/image/title-05.webp") no-repeat left/contain #000;
}
#limited.contents-wrap > .flex-wrap{
  margin-top: 40px;
  padding: 0 10px;
  gap: 36px 5px;
  position: relative;
  justify-content: flex-start;
}
@media screen and (min-width:787px){
  #limited.contents-wrap > .flex-wrap{
  margin-top: 50px;
  gap: 36px 20px;
  }
}

.feature ul.linkmenu{
  width: 70%;
  margin: 0 auto;
  display:flex;
gap:20px;
  justify-content: center;
  padding: 0;
}
.feature ul.linkmenu li{
  width: calc((100% - 40px) / 3);
  border-radius: 100vh;
  overflow: hidden;
}
.feature ul.linkmenu li a{
  display:block;
  background: #ffffff;
  text-align:center;
  color: #333;
  padding:15px;
  font-size:16px;
  font-weight: 600;
  transition: 0.3s;
}
.feature ul.linkmenu li a.current{
  background: #f3d608;
  color: #333;
  font-weight: 600;
}
.feature ul.linkmenu li a:hover{
 background: #3f3f3f;
  color: #fff; 
}

/*各店イベント紹介*/
.tab-wrap{
    width: 86%;
    margin: 47px auto 0;
    justify-content: center;
    gap: 15px;
    display: flex;
    align-items: flex-end;
}
.tab-wrap::after{
	display:none
}
section#special-price .tab-bt{
    width: calc((100% - 60px) / 3);
}
.tab-bt{
    width: calc((100% - 45px) / 4);
    padding: 10px 0;
    position: relative;
    background: #909090;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 18px;
    box-sizing: border-box;
    letter-spacing: 0.1em;
}
.tab-bt.active{
	padding: 16px 0;
	border: none;
	position: relative;
	background: #fff640;
	color: #000;
	font-size: 18px;
}
.tab-bt.active::before {
    width: 11px;
    height: 11px;
    bottom: 2px;
    background: #fff640;
    left: 43%;
    display: none;
}
.category-area{
	display: none;
}
.category-area.active,section#foodshow .category-area {
    padding: 35px 50px 40px;
    display: block;
    max-width: 1400px;
    margin: 0 auto;
    border-radius: 10px;
}
.category-area > .flex-wrap{
    display: grid;
    gap: 33px 5px;
    grid-template-columns: repeat(2,1fr);
    position: relative;
    justify-content: flex-start;
}
.feature .flex-wrap .box_feature,.feature .flex-wrap .item-box{
  margin: 0;
  box-sizing: border-box;
  position: relative;
  background: #101010;
  padding: 17px 15px 26px;
  border-radius: 10px;
  border: 2px solid;
  color: #fff;
}
.feature .flex-wrap .item-box .item-info{
	max-width: 370px;
	margin: 0 auto;
}
.feature .flex-wrap .item-box .item-img-wrap figure{
	height: 321px;
	width: 90%;
	margin: 0 auto;
}
#blackfriday .flex-wrap .item-box .item-img-wrap figure img{
	height:100%;
	object-fit:contain;
}
.feature .flex-wrap .box_feature.none{
  padding: 26px 12px;
}
.icon {
  display:inline-block;
  font-size: 14px;
  padding: 6px 13px;
  border-radius:5px;
  font-weight: 600;
  margin: 0;
  transform: translateY(-50%);
  background: #ffef2c;
}
.red .icon{
	background: #000;
	color:#fff;
}
.black .icon{
	background: #000000;
	color:#fff;
}
.yellow .icon{
	background: #f3d608;
	color: #000;
}
.heading_feature02 {
    letter-spacing: 0.1em;
    font-size: 30px;
    text-align: center;
}
.box_feature .image {
 text-align: center;
 margin-bottom: 10px;
 width: 100%;
 margin: -6px 0 9px;
 height: 131px;
}
#blackfriday .image.logo{
 margin: -6px auto 9px;
 　height: 131px;
 width: 80%;
}
#blackfriday .image img{
	height: 100%;
	object-fit: contain;
}
#blackfriday .image.kirinuki img,#blackfriday .image.logo img{
	height:90%;
	object-fit:contain;
}
.box_feature .description {
  padding: 0 10px;
}
.heading_feature01{
  margin: 0 0 20px;
  font-size: 17px;
  text-align: center;
}
dl.detailinfo{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
  margin-bottom: 12px;
  display: flex;
}
dl.detailinfo dt {
  font-size: 16px;
  margin-right: 12px;
  padding: 14px 7px;
  border-right: 1px solid #000;
  width: 67px;
}

dl.detailinfo dd {
  font-size: 17px;
  margin: 0;
  align-self: center;
  width: calc(100% - 57px - 20px);
}
.brand-img {
  margin: 25px 0 15px;
  height: 60px;
  width: 70%;
}
#blackfriday .brand-img img {
  height: 100%;
  width: 100%;
  object-fit:contain
}
.store-name {
  margin: 0;
  padding: 1px 7px;
  border: 1px solid;
  display: inline-block;
  border-radius: 100vh;
  font-size: 11px;
  font-weight: 600;
}
.box_feature .store-name {
  margin: 0;
  padding: 1px 7px;
  border: 1px solid;
  display: inline-block;
  border-radius: 100vh;
  font-size: 11px;
  font-weight: 600;
}
@media screen and (max-width:786px){
  .category-area.active,section#foodshow .category-area {
    padding: 35px 20px 40px;
  }
	.feature .flex-wrap .item-box .item-img-wrap figure{
	width: 90%;
	margin: 0 auto;
	height: 150px;
}
  
}
@media screen and (min-width:787px){
  .panel-wrap {
    margin: 0 20px;
  }
  .category-area > .flex-wrap{
    gap: 20px;
    .0: 750px;
    margin: 0 auto;
  }
  .contents-wrap .store-name {
    font-size: 13px;
  }
  .box_feature .image {
   margin: 0 0 9px;
   height: 175px;
  }
  .feature .flex-wrap .box_feature,.feature .flex-wrap .item-box{
  padding: 17px 35px 26px;
}
	.tab-bt.active::before {
    width: 29px;
    height: 29px;
    bottom: 7px;
    background: #fff640;
    left: 46%;
}
}
.store-wrap{
  margin:0 20px 30px;
  max-width: calc(1000px - 30px);  
}
.store-wrap .black-h2title{
  margin: 0 auto 20px;
  width: 95%;
  height: 56px;
  background: url("/blackfriday/image/shoplist.webp") no-repeat center/contain;
}
.store-wrap .black-h2title span{
	width:1px;
	height:1px;
	overflow:hidden;
	display: block;
}
.store-wrap > p{
	padding: 25px 0 10px;
	margin: 0;
	color:#fff;
	text-align:center;
	background: #000;
	font-size: 13px;
}
.store-wrap ul.flex-wrap {
  padding: 8px 15px 15px;
  gap: 10px 15px;
  background: #000000;
  color: #fff;
  justify-content: center;
}
.store-wrap ul.flex-wrap li{
  display: flex;
  gap: 3px;
  align-items: center;
}
.store-wrap ul.flex-wrap li .store-name{
  min-width: 70px;
  text-align: center;
  font-size: 15px;
}
.store-wrap ul.flex-wrap li span {
    font-weight: 600;
    font-size: 14px;
}
.store-wrap ul.flex-wrap li.store-name{
  font-size: 16px;
		padding:2px 15px
}
@media screen and (min-width:787px){
  .store-wrap{
    margin: 0 auto;
  }
  .store-wrap .black-h2title {
    height: 83px;
  }
  .store-wrap h4 {
    margin-left: 23px;
	font-size:18px;
  }
  .store-wrap ul.flex-wrap {
    margin: 0 auto;
    gap: 14px 15px;
    padding: 10px 15px 38px;
  }
	.store-wrap ul.flex-wrap li.store-name{
  font-size: 17px;
		padding:2px 15px
}
	.store-wrap ul.flex-wrap:first-of-type{
		padding: 24px 15px 0px;
	} 
	.store-wrap ul.flex-wrap li span {
    font-size: 17px;
  }
	.store-wrap > p{
	font-size: 15px;
	}
}

@media screen and (max-width:787px){
  /*各店イベント紹介*/
	#blackfriday .tab-panel h2::before{
		width: 230px;
	}
  .panel-wrap {
    margin: 0 5px;
  }
  .category-area.active {
    padding: 34px 5px 28px;
    border-radius: 10px;
  }
  .tab-wrap.flex-wrap {
    margin: 0 auto;
    gap: 5px;
    width: 95%;
  }
  #enjoybox .tab-wrap.flex-wrap{
	gap: 3px;
	width: 100%;
	position: sticky;
	top: 64px;
	z-index: 100;
	background: #00000099;
	padding: 10px 0;
	}
	.tab-bt.active{
		font-size: 13px;
	}

  .tab-bt {
    padding: 17px 5px;
    width: calc((100% - 5px) / 3);
    font-size: 13px;
  }
 #enjoybox .tab-bt {
    width: calc((100% - 12px) / 5);
    padding: 9px 3px;
  }
  .feature .flex-wrap .box_feature{
    width: calc((100% - 5px) / 2);
  }
  .heading_feature02 {
    letter-spacing: 0.1em;
    font-size: 20px;
  }
  dl.detailinfo{
    margin: 1em 0 0;
  }
  dl.detailinfo dt {
    padding: 5px;
    line-height: 1.5;
    margin-bottom: 10px;
    font-size: 14px;
  }
  dl.detailinfo dd {
    font-size: 16px;
    margin: 0;
  }
  p.catchcopy {
    font-size: 12px;
  }
}

.displayed.contents-wrap > h2{
  animation: fadeUp 1s forwards;
}
.contents-wrap > h2,.campaign-box h3{
opacity:0;
}
@keyframes fadeUp{
  0%{opacity:0; transform: translateX(200px);}
100%{opacity:1; transform: translateY(0);}
}
.displayed.campaign-box h3{
  animation: ponUp 0.7s forwards;
}
@keyframes ponUp{
    0%  {
      opacity: 0;
    transform: scale(0);
    }
    80% {
      transform: scale(1.02, 1.02);
    }
    100% {
      opacity: 1;
      transform: scale(1.0, 1.0);
    }
}
.black-title img,.date{
  animation: slide 1.5s forwards;
}
@keyframes slide{
    0%  {
    transform: translateY(-3000px);
    }
    60% {
      transform:translateY(0px) scale(1, 1.01);
    }
    70% {
      transform:translateY(-10px) scale(1.01, 1);
    }
    80% {
      transform:translateY(3px) scale(1, 1.0005);
    }
    90% {
      transform:translateY(-5px) scale(1.0005, 1);
    }
    100% {
      transform:translateY(0px);
    }
}
.contents-wrap#foodshow > h2{
  margin: 0 auto 20px;
  width: 95%;
  height: 100px;
  background: url("/blackfriday/image/2025/foodshow-title.png") no-repeat left/contain;
}
li.event-box.displayed{
	transform:translateY(-20px)
}
.item-box.displayed,li.event-box.displayed{
	animation: slide 0.3s forwards;
}
@keyframes slide{
	0%{
		transform:translateY(-20px)
	}
		100%{
		transform:translateY(0)
	}
}

@keyframes titleslide{
    0%  {
    transform: translateY(-3000px);
    }
    60% {
      transform:translateY(0px) scale(1, 1.01);
    }
    70% {
      transform:translateY(-10px) scale(1.01, 1);
    }
    80% {
      transform:translateY(3px) scale(1, 1.0005);
    }
    90% {
      transform:translateY(-5px) scale(1.0005, 1);
    }
    100% {
      transform:translateY(0px);
    }
}



