
@charset "utf-8";

/* +++++++++++++++++++++++++++++++

 共通

+++++++++++++++++++++++++++++++ */

.feature {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 500;
  overflow: hidden;
  background-image:url(/shibuya_foodshow/springcollection2025/shibugifu_backimg.jpg);
  background-repeat:repeat-y;
  background-size:100%;
  padding-bottom: 80px;
}

@media print, screen and (min-width: 768px) {
  .mode_sp,.spbr {
    display:none;
  }
  .feature {
    background-image:url(/shibuya_foodshow/springcollection2025/shibugifu_backimg.jpg);
    background-repeat:repeat-y;
    background-size:100%;
  }
}

.box_feature {
  background: transparent;
}
.image img {
  width:100%;
  box-sizing: border-box;
}

article.feature header {
  padding: 20px 20px 0;
}

article.feature header {
  margin-top: 0;
}

article.feature header .header-wrap {
  text-align: center;
  padding-top: 50px;
  max-width: 980px;
  margin: 0 auto 60px;
}

section {
  padding: 40px 30px;
  max-width: 980px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, .5);
}

a:hover {
    text-decoration: none;
}

/*======================================

 header

======================================*/
.feature header {
  margin-bottom: 50px;
}

header .image img {
  width: 60%;
}
@media print, screen and (max-width: 428px) {
  header .image img {
    width: 80%;
  }
}
/*-------------
event-info
-------------*/
header .auto {
  font-size: 30px;
  font-weight: 900;
  text-align: center;
}

header .auto .event-info span.place-info {
  margin-left: 10px;
}

p.event-info {
  color: #e3007f;
  font-size: 25px;
  margin: 0 0 10px;
}

span.mode_pc {
    padding-left: 10px;
}

.auto p.lead_tx {
    position: relative;
    display: inline-block;
    height: 50px;
    line-height: 50px;
    padding: 0 1rem;
    background-color: #e85b9d;
    color: #fff;
    font-size: 21px;
    text-align: center;
}
.auto p.lead_tx::before,
.auto p.lead_tx::after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #e85b9d transparent;
    border-style: solid;
    content: '';
}

.auto p.lead_tx::before {
    left: -15px;
    border-width: 25.5px 0px 25px 15.7px;
}

.auto p.lead_tx::after {
    right: -15px;
    border-width: 25.5px 15.7px 25px 0px;
}

@media print, screen and (max-width: 767px) {
  
  header .auto .event-info span.place-info {
    margin-left: unset;
  }
  
  p.event-info {
    line-height: 1.4;
  }
  
  .auto p.lead_tx {
    font-weight: bold;
    overflow: hidden; /*領域外を非表示に */
    color: #fff;
    background: #e85b9d;
    margin: 0 -10px;/*インナーより少し大きく */
    padding: 0.35em 40px;
    font-size: 1rem;
    line-height: 1.5;
  }
  .auto p.lead_tx:before,
  .auto p.lead_tx:after {
    display: block;
    top: 50%;
    transform: scaleY(1.8) translateY(-50%);
    transform-origin: 0 0; /*設定必須 */
    border-style: solid;
    z-index: 0;
    margin: 0 -28px;
    width: unset;
    height: unset;
  }
  .auto p.lead_tx:before {
    right: 100%;
    left:unset;
    border-color: transparent transparent transparent #f3a9b6;
    border-width: 100px 0 100px 100px;
  }
  .auto p.lead_tx:after {
    left: 100%;
    right: unset;
    border-color: transparent #f3a9b6 transparent transparent;
    border-width: 100px 100px 100px 0;
  }
}
@media print, screen and (max-width: 428px) {
  
  p.event-info {
    font-size: 20px;
  }
}
/*======================================

商品詳細 all

======================================*/
p.title{
  font-weight:600;
  font-size: 16px;
  margin-bottom:0!important;
  color:#542a00;
}
#GBfooter p.title{
  color:#ffffff;
  font-weight: 500;
}

p.items{
  font-weight:500;
  font-size:1rem;
  padding:0;
  line-height:1.6;
  color:#542a00;
}

p.items span{
  font-weight:normal;
  font-size:0.8rem;
  white-space:nowrap;
}
/*----------------
↑のnowrapの解除
-----------------*/
p.items span.wp{
  white-space:normal;
}

p.items b{
  font-weight:600;
  white-space:nowrap;
  font-size:1.05rem;
}

p.tx{
  color: #542a00;
  font-size:0.9rem;
  line-height:1.6;
  padding-bottom:10px!important;
}
p.hinmoku{
  font-size:0.8rem;
  line-height:1.6;
  border-top:1px solid #000;
  border-bottom:1px solid #000;
  padding:3px 5px!important;
  margin-top:5px;
  margin-bottom:8px!important;
}

p.sq{
  padding:5px 0 0;
  font-size:0.9rem;
  line-height:1.6;
  font-weight:400;
}
p.sq::before{
  content:"■";
  color:#bccc76;
  margin-right:2px;
}
p.higan{
  width:19rem;
  margin:10px auto;
  text-align:left;
  font-weight:500;
  color:#990000;
}
p.kikan{
  background:#4d1c14;
  text-align:center;
  color:#fff;
  margin-bottom:0;
}
p.tentou{
  font-size:14px!important;
  text-align:center;
  color:#b2112d;
  font-weight:500;
}
.tag{
  font-size:14px;
  display:inline-block;
  padding:1px 10px;
  color:#fff;
}
.gentei{background:#c00;}
     

/*--------------
テキスト
---------------*/
.aka{color:#ed1c24;}
.supplement,
.notes { font-size: 11px!important; }
.txt_point {color: #00f !important; }



/*--------------
ネットボタン
---------------*/
a.button.button_netshop{
  background:#b2112d!important;
  border:1px solid #b2112d;
}

a:hover.button.button_netshop{
  color:#000!important;
  background:#db5d80!important;
}




/*--------------
注意
---------------*/
.noticelist {
  margin-bottom:20px;
}
.noticelist li {
  padding-left: 1em;
  text-indent: -1em;
}


footer{text-align:left;}
.footer_anounce{
   text-align:left;
   font-size:14px!important;
}

.feature header .image.fs {
  background:#fff;
}

.feature header .copy {
  color: #000;
  font-size:135%;
  line-height:160%;
  font-weight:bold;
  text-align:center;
}

.box_feature{
  background:transparent;

}
.wrap_column {
  margin: 30px 15px;
  background:transparent;
}

/*-------------------------
 見出し           PC
-------------------------*/

.heading01 {
  background: #000;
  color: #fff;
}
.heading02 {
  background: #000;
  color: #fff;
}
.heading_feature02{
  font-weight: 600;
  font-size: 37px;
  color: #ce2623;
  margin:0 auto 30px;
}


/*-------------------------
 販売店舗一覧           PC
-------------------------*/
.wrap_column .box_col1 .inner{
  background:rgba(255,255,255,.5);
  padding:0;
  border:1px solid #ce2623;
}

.wrap_column .inner .shops p{
  color:#fff;
  padding:5px 30px;
  margin-top:0;
}
.wrap_column .inner .shops p.mark{
  background:#ce2623;
  font-size:1.2rem;
  font-weight:500;
  text-align:center;
}
.wrap_column .inner .shops p.chika{
  background:#905353;
}
.wrap_column .inner .shops p::after{
  border:1px solid #c00;
}
.wrap_column .inner .shops ul{
  margin-left:100px;
  margin-bottom:15px; 
  margin-top:15px;
}
.wrap_column .inner .shops ul li{
  display:inline-block;
  flaot:left;
  width:400px;
}

/*-------------------------
 flexbox               PC
-------------------------*/

/*-----
複数分割
-------*/
.product_wrap{
  display: grid;
  justify-content:flex-start;
  grid-template-columns: repeat(3,1fr);
  gap: 50px 30px;
  width: 100%;
  /*margin-top: 2rem;*/
}
#fresh .product_wrap .item::before {
  content: "";
  display: none;
  width: 30.259424vw;
  height: 28.778116vw;
  position: absolute;
  bottom: 550px;
  right: 10.416666666666668vw;
  background: url(/tokyufoodshow/25anniv/image/illust-girl02.webp) no-repeat bottom right / contain;
  transform: rotate(21deg) translateY(69%) translateX(23%);
  max-width: 300px;
  max-height: 300px;
}
.product_wrap .item {
width:100%
}
.product_wrap .item {width:100%;padding-top: 55px;position: relative;}

.item .text-box {
  padding: 0 10px;
}
.item .text-box p {
  margin: 0;
  line-height: 1.6;
}
.item .item-info {
  margin: 13px 0 9px;
  padding-bottom: 18px;
  border-bottom: 1px solid;
}
.item .item-info p {
  margin: 0;
  font-size: 14px;
}
.item .item-info p.brand {
  font-weight: 600;
  margin: 0 0 6px -3px;
  font-size: 15px;
}
.item .item-info p.price {
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 600;
}
.item .item-info p.floor{
  margin: 0 0 14px 0;
  padding-bottom: 4px;
  position: relative;
  padding-left: 21px;
  font-weight: 600;
  border-bottom: 1px solid;
  font-size: 12px;
}
.item .item-info p.deteil {
  margin-top: 13px;
}
.item .floor::before{
  position: absolute;
  top: 32%;
  left: -4px;
  display: block;
  width: 20px;
  height: 15px;
  background-image: url(/images/sp_common/sprite_icon.png);
  background-position: -275px 0px;
  background-size: 404px auto;
  vertical-align: middle;
  content: " ";
  transform: translateY(-50%);
}
.item .limit-info p {
  margin-top: 13px;
  font-weight: 600;
}
.item .limit-info p span {
  margin-right: 10px;
  padding:2px 4px;
  display: inline-block;
  font-size:10px;
  border:1px solid;
  letter-spacing:0.1em
} 
.shop-logo {
  margin: 0;
  padding: 10px;
  width: 21%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid;
}
.shop-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  margin: 0;
  padding: 0;
}

.shoppage-link a {
  display: flex;
  gap: 18px;
  font-weight: 600;
  border-radius: 100vh;
  padding: 5px 17px 5px 5px;
  align-items: center;
  position: relative;
}

.shoppage-link a::before {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 7px;
  height: 7px;
  border-top:2px solid;
  border-right:2px solid;
  content: " ";
  transform: translateY(-50%) rotate(45deg);
}

.shoppage-link a p {
  margin: 0;
  width: calc((100% - 30%) - 20px);
}
.item .only{
  font-weight: 600;
  color: #948431;
  display: flex;
  line-height: 1.0;
  width: calc((100% - 60px) - 5px);
  align-items: center;
}
.item .only::after{
  display:none
}
.item .only span{
  width:calc((100% - 41px) - 7px);
}
.item .only::before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 41px;
  height: 28px;
  margin-right: 7px;
  background: url(/image/SHIBUYATOKYUFoodshow_ONLY.png) no-repeat center/contain;
}
.item .tokyu-only-mark {
  background: url(/tokyufoodshow/25anniv/image/onlymark.webp) no-repeat top left/ contain;
  width: 100%;
  margin-bottom: 6px;
}
.tokyudept-only-mark {
  padding: 2px 9px 2px;
  font-weight: 600;
  vertical-align: middle;
  font-size: 14px;
  background: #b39a41;
  color: #fff;
  display: inline-flex;
  align-items: center;
  height: 26px;
  letter-spacing: 0.1em;
}
.item .mark-flex {
  display: flex;
  height: 55px;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  top: 0;
  gap: 12px;
  width: 100%;
}
.item .mark-flex::after {
  display:none
}
.item .mark-flex .limit {
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  background-color: #624834;
  margin: 0;
  display: inline-block;
  padding: 8px 7px;
  border-radius: 7px;
  white-space: nowrap;
  box-sizing: border-box;
  width: 60px;
  text-align: center;
  position: relative;
}
.item .mark-flex .limit span{
  padding: 8px 7px;
  background-color: #944093;
  display: block;
  border-radius: 7px;
  white-space: nowrap;
  box-sizing: border-box;
  width: 79px;
  height:31px;
  text-align: center;
  position: absolute;
  top: -8px;
  left: 0;
}

/*----------------------------------
ひとつだけをセンタリングしたいときは
.centerboxを追加
----------------------------------*/
.product_wrap.centerbox{
   justify-content: center;
}
.special {
  display: block;
}
.special .item {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
}
.special .item > div {
  width: calc((100% - 20px) / 2);
  padding: unset;
}
.special .item .image {
  box-sizing: border-box;
}



/*=================================

商品の枠線

=================================*/
.bdr{
  border-top: 10px solid rgb(255, 255, 255, .4);
  border-left: 10px solid rgb(255, 255, 255, .2);
  border-right: 10px solid rgb(0, 0, 0, .3);
  border-bottom: 10px solid rgb(0, 0, 0, .5);
}
.ao{background:#1caec0;}
.pnk{background:#d5416b;}


.product_wrap .product4{
  flex-basis:calc((100% - 30px) / 4);
  max-width:calc((100% - 30px) / 4);
  margin-bottom:20px;
  margin-right:10px;
  box-sizing: border-box;
  display:flex;
  flex-direction: column;
  padding:0;
  border:1px solid #963;
}

.product_wrap .product4:nth-child( 4n ){
  margin-right:0px;
}

.product_wrap .image{
  padding:0;
  margin:0;
  width: 100%;
  border: 6px solid #fff;
  box-sizing: border-box;
}

.product_wrap .description{
  text-align:left;
  padding:5px 10px 10px;
  flex-grow: 1;
}
.product_wrap p.items{
  margin-bottom:15px;
}
.product_wrap p.tx{
  font-size:14px
}


/*=================================

リンク調整

=================================*/
.anchor{
  display:block;
  padding-top: 70px!important;
  margin-top: -70px!important;
}

/*=================================

フッターPC

=================================*/
.box_wide {
  background: unset;
  background-color: unset;
  margin: 30px auto 0;
  padding: 0;
}
.feature footer {
  background: #333;
}




@media screen and (max-width: 767px) and (min-width: 0px) {
/* +++++++++++++++++++++++++++++++

 SP

+++++++++++++++++++++++++++++++ */
  section {
    padding: 15px 7px;
  }
  .mode_pc{
    display:none;
  }

  article.feature header, article.feature .main-box {
    margin: 0 auto;
    padding: 12px 12px 30px;
  }
  article.feature header {
    margin-top: 0;
  }
  .box_feature {
    margin-bottom:0;
    padding-bottom:0;
  }
  p {
    margin:5px 0;
    line-height:1.7
  }
  p.sq {
     line-height:1.6!important;
  }

  article.feature header .header-wrap {
    padding-top: 20px;
    margin: 0 auto 60px;
  }
  article.feature header .header-wrap p {
    width:80%;
    margin: 25px auto 0;
    font-size: 15px;
  }
  ul.list_inline_link {
    grid-template-columns: repeat(3,1fr);
    gap: 39px 5px;
  }
  .list_inline_link li .num {
    display: flex;
    justify-content: center;
    font-size: 15px;
    width: 30px;
  }



  /*-------------------------
   flexbox               SP
  -------------------------*/
  .product_wrap,
  .product1{
      grid-template-columns: repeat(2,1fr);
      gap: 40px 20px;
  }
  .item .text-box {
      padding: 0;
  }
  .item .only {
    font-size: 10px;
    font-feature-settings: "palt";
    margin: 0;
    width: 100%;
    }
    .item .only::before {
      width: 28px;
      height: 28px;
      margin-right: 4px;
  }
    .item .only span{
    width:calc((100% - 28px) - 7px);
  }
    .item .mark-flex .limit {
    padding: 4px 7px;
    font-size: 10px;
    width: 36px;
    white-space: pre-wrap;
    line-height: 1.4;
    /* position: absolute; */
    /* top: 0; */
  }
    .item .mark-flex .limit span{
    padding: 5px 4px;
    width: 73px;
    height: 26px;
    top: -13px;
    left: 0px;
  }
  .item .item-info p {
    font-size: 12px;
  }
  .item .item-info p.brand {
    font-size: 13px;
  }
  .item .item-info p.price {
    margin: 8px 0 15px;
    font-size: 13px;
  }
  .item .floor{
    font-size: 13px;
  }
    .shoppage-link a {
      gap: 9px;
      padding: 5px 17px 5px 5px;
      font-size: 11px;
  }

  /*-------------------------
   販売店舗一覧           SP
  -------------------------*/
  .wrap_column .box_col1 .inner{
     background:rgba(255,255,255,.5);
     padding:0;
     border:1px solid #ce2623;
     margin:15px;
  }

  .wrap_column .inner .shops p{
     color:#fff;
     padding:5px 30px;
     font-size:18px;
     font-weight:bold;
     margin-top:0;
  }
  .wrap_column .inner .shops p.mark{
     background:#ce2623;
     text-align:center;
  }
  .wrap_column .inner .shops p.chika{
     background:#ce2623;
  }
  .wrap_column .inner .shops p::after{
     border:1px solid #c00;
  }
  .wrap_column .inner .shops ul{
     margin:10px; 

  }
  .wrap_column .inner .shops ul li{
     float:left;
     white-space:nowrap;
     margin-right:5px;
     font-size:16px;
    }

  /*-------------------------
   見出し           SP
  -------------------------*/
  .schead{
     display:inline-block;
     border-radius:50%;
     text-align:center;
     font-size:2rem;
     color:#fff;
     padding: 0;
     margin: 0 auto 0;
     width: 100%;
  }

  /*--------------
  リンク調整
  ---------------*/
  .anchor{
    display:block;
    padding-top: 90px!important;
    margin-top: -90px!important;
  }

  .limit-shop-wrap {
    display: grid;
    grid-template-columns: repeat(1,1fr);
    gap: 30px;
    margin-top: 2rem;
  }
  .limit-shop-wrap .limit-item .priod {
    font-feature-settings: "palt";
    letter-spacing: 2px;
  }
  .brand-info {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    font-weight: 600;
    gap: 20px;
  }

  .brand-info .logo-image {
    width: 30%;
    height: 104px;
    border: 1px solid #7f7f7f;
  }

  .brand-info .logo-image img {
    height: 100%;
    width: 100%;
    object-fit: contain;
  }

  .brand-info .brand-name .brand {
    font-size: 15px;
  }
  .brand-info .floor {
    font-size: 12px;
  }

  .limit-shop p {
    margin: 0;
  }

  .limit-item {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  .limit-item .item-image {
    width: 40%;
  }

  .limit-item .item-image img {
    width: 100%;
  }

  .limit-item  .item-info {
    width: calc((100% - 40%) - 20px);
  }

  .limit-item .item-info p {
    font-size: 12px;
  }

  .limit-item .item-info p.itemname {
    margin: 9px 0 16px;
    font-size: 14px;
    font-weight: bold;
    font-weight: 600;
  }

  .limit-item .item-info p.price {
    text-align: right;
    font-weight: 600;
    font-size: 15px;
  }

  .limit-item .item-info p.price span {
    font-size: 12px;
  }
  .brand-name {
    width: calc((100% - 30%) - 20px);
  }
}



