#slideControl{
    margin-top: 4rem;
}

#foodMenu #embla{
    margin-top: 1.5rem;
}

h3.menuName:before{ content: "🍖 "; }
h3.menuName{
    text-align: center;
    margin:1rem auto auto auto;
}

p.menuExp{
    line-height: 1.5;
    text-align: center;
    font-size: 1.25rem;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN",  "Noto Sans JP", sans-serif;
    font-weight: 900;
    color: #511;
    padding: 0 1rem;
    margin-top: 0.75rem;
}

.gold-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  background: linear-gradient(
    180deg,
    #fff8a0 0%,
    #ffd700 40%,
    #b8860b 80%,
    #f5c518 100%
  );
  -webkit-background-clip: text;
  /*-webkit-text-fill-color: transparent;*/
  background-clip: text;
  /*-webkit-text-stroke: 1.15px #584d49;*/
  paint-order: stroke fill;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.3));
}

#foodMenu{
    margin-top: 8rem;
}

img#detailTitlePic{
    padding-bottom: 0;
    margin-bottom: -3rem;
    padding-top: 4rem;
}

/*----------------------------contdown ------------------*/

/*    .wrap {
      text-align: center;
    }*/
 
    /* ── メイン行 ── */
    .main-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;
      margin-bottom: 1.2rem;
    }
 
    .label {
      font-size: 2rem;
      font-weight: 700;
      color: #fff;
    }
 
    .until {
      font-size: 1.6rem;
      color: #fff;
    }
 
    .nichi {
      font-size: 2rem;
      font-weight: 700;
    }
 
    /* ── 日数ボックス ── */
    .digit-boxes {
      display: flex;
      gap: 10px;
    }
 
    .digit-box {
/*      background: #111;
      color: #fff;
      border-radius: 12px;
      font-size: 3.6rem;
      font-weight: 700;*/
background: #ffffff;
color: #d60034;
border-radius: 12px;
font-size: 4.6rem;
font-weight: 700;
      width: 72px;
      height: 90px;
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      transition: transform 0.15s ease;
    }
 
    .digit-box.flip {
      transform: scaleY(0.8);
    }
 
    /* ── サブ表示 ── */
    .sub {
          font-size: 2.3rem;
          text-align: center;
    font-weight: 700;
      color: #eee;
      letter-spacing: 0.02em;
      
    }
 
    .expired {
      font-size: 1.5rem;
      color: #555;
      display: none;
    }
/*----------------------------contdown ------------------*/

img#cheadImgLounge.cheadImg.cheadImgSpc1{
    padding-bottom: 2rem;
}
img#cheadImgDog.cheadImg.cheadImgSpc1{
    margin: auto auto -4rem auto;
    padding-bottom: 0;
}

#vipRsvBtnLink:hover{ opacity: 0.9; }
#vipRsvBtnLink{
    /*background: #eee;*/
    background: linear-gradient(
        180deg,
        #fff8a0 0%,
        #ffd700 40%,
        #b8860b 80%,
        #f5c518 100%
        );
    display: block;
    padding: 1rem;
    margin: auto auto 6rem auto;
    border-radius: 1rem;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,0.5));
 transition: transform 80ms ease-out;
 color: white;
 text-decoration: none;
 font-weight: bold;
}
#vipRsvBtnLink:active{
    
}

#vipRsvBtnLink:hover {
    transform: translateY(-5px);
}

.stgPic{
    border-radius: 0.5rem;
}

.sectionTitle{
    text-align:center;
font-family: "Mochiy Pop P One", sans-serif;
font-weight: 400;
  font-style: normal;
  font-size: 2.5rem;
  line-height: 1.2;
  margin-bottom: 2rem;
background: linear-gradient(to bottom, #918cfd, #ff076a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  
}




    /* ── ドット（案内板スタイル） ── */
    .dots {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      justify-content: center;
      max-width: 750px;
    }

    .dot {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 44px;
      height: 58px;
      border-radius: 7px;
      cursor: pointer;
      padding: 0 3px 4px;
      border: none;
      transition: transform 0.1s, box-shadow 0.1s;
      box-sizing: border-box;
    }

    .dot-face {
      width: 100%;
      flex: 1;
      border-radius: 5px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin-top: 4px;
      margin-bottom: 3px;
    }

    .dot-top {
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    opacity: 0.95;
    letter-spacing: 0.03em;
    line-height: 1;
    }

    .dot-num {
      font-size: 13px;
      font-weight: 800;
      color: #fff;
      line-height: 1;
    }

    .dot-foot {
      width: 65%;
      height: 6px;
      border-radius: 3px;
      opacity: 0.7;
    }

    /* カテゴリ色 */
    .dot.cat-m { background: #7a3a3a; box-shadow: 0 3px 0 #4a1e1e, 0 4px 6px rgba(0,0,0,0.35); }
    .dot.cat-m .dot-face { background: #e24b4a; }
    .dot.cat-m .dot-foot { background: #e24b4a; }

    .dot.cat-d { background: #2a3e6a; box-shadow: 0 3px 0 #152035, 0 4px 6px rgba(0,0,0,0.35); }
    .dot.cat-d .dot-face { background: #378add; }
    .dot.cat-d .dot-foot { background: #378add; }

    .dot.cat-s { background: #6a3a5a; box-shadow: 0 3px 0 #3e1e36, 0 4px 6px rgba(0,0,0,0.35); }
    .dot.cat-s .dot-face { background: #d4537e; }
    .dot.cat-s .dot-foot { background: #d4537e; }
    
    
    .dot.cat-g { background: orange; box-shadow: 0 3px 0 #3e1e36, 0 4px 6px rgba(0,0,0,0.35); }
    .dot.cat-g .dot-face { background: #ffef75; }
    .dot.cat-g .dot-foot { background: #ffef75; }
    .dot.cat-g .dot-num{ color:  #711;  }

    /* 選択状態 */
    .dot.is-selected {
      transform: translateY(3px) !important;
      box-shadow: 0 1px 0 rgba(0,0,0,0.4), 0 1px 3px rgba(0,0,0,0.2) !important;
    }
    .dot.is-selected .dot-face { filter: brightness(1.25); }

    #slideControl .controls { position: relative; }
    
    #slideControl .btn{
        
    }   
    /* ── コントロール ── */
    .controls {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
      margin-top: 1.5rem;
      width: 100%;
      max-width: 750px;
    }

    .controls-btns {
      display: flex;
      align-items: center;
      gap: 1rem;
    }

     #slideControl .btn {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      border: 1px solid #333;
      background: #1a1a1a;
      color: #fff;
      font-size: 1.2rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s, border-color 0.2s, transform 0.1s;
      position: absolute;
      top:4rem;
      z-index: 11;
    }
         #slideControl #prev{ left: 0; }
         #slideControl #next{ right: 0; }

    #slideControl .btn:hover { background: #2a2a2a; border-color: #555; }
    #slideControl .btn:active { transform: scale(0.92); }
    #slideControl .btn:disabled { opacity: 0.3; cursor: default; }
    
    p.price{ 
        font-family: "Roboto Condensed"; 
        font-weight: bold;
        font-size: 1.2rem;
            position: absolute;
    bottom: 3.85rem;
    width: fit-content;
    margin: auto;
    padding: 0.2rem 1rem;
    left: 8px;
        background: #dd0000;
        color: white;
        line-height: 1;
        font-size: 3.75rem;
        filter: drop-shadow(4px 4px 5px rgba(0,0,0,0.25));
        transform: rotate(-6deg);
        border-radius: 3px;
    }
    p.price:before{
        /*content: "￥";*/
        content: "\00A5 ";
        padding-right: 0.25rem;


    }
    
    .embla__slide div.slide-inner{
        position: relative;
    }
    .slide-inner,
    img.menuImg{
        min-height: 560px;
    }
    
    h4.storeName:before,
    h3.menuName > small.storeName:before{ content: "🚩  "; }
    
    h4.storeName > small.boothCode{
    margin-right: 1rem;
    vertical-align: middle;
    background-color: #fff;
    color: #e00;
    padding: 0.05rem 1rem;
    line-height: 1.25;
    font-size: 0.9rem;
    top: -2px;
    position: relative;
    }
    
    h4.storeName{
        position: absolute;
    top: 0;
    text-align: right;
    width: 100%;
    right: 0;
    color: white;
    font-weight: bold;
    z-index: 5;
    background: #000000ba;
    line-height: 1.25;
    padding-right: 1rem;
    }
/*    h3.menuName > small.storeName{
        position: absolute;
        top:-2rem;
        text-align: right;
        width: 100%;
        right: 0;
        color: white;
        font-weight: bold;
    }
    */
    h3.menuName{
        position: relative;
        width: 100%;
        position: absolute;
        bottom: 0;
            background: url(../img/common/nameback.svg) center center no-repeat ;
            background-size: 100% 100%;
            color: #b50000;
    line-height: 1.5;
    }
    
    p.menuExp{
        min-height: 8rem;
    }
    
   #menu426 h3.menuName{ font-size: 1.1rem; letter-spacing: -1px; }
   
   #detailSnsIconWrap a{
       width: 20%;
   }
      #detailSnsIconWrap a img{ padding: 0 5px; }
      
       .star-container {
    position: relative;
    width: 100%;
    /*max-width: 500px;*/
    margin: auto;
    /*display: block;*/
    border-radius: 10px;
    /*overflow: hidden;*/
  }
  .star-container img.star {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
  }
  .particle-star {
    position: absolute;
    pointer-events: none;
    transform-origin: center;
    animation: burst var(--dur) ease-out forwards;
    font-size: var(--size);
    color: var(--color);
    filter: drop-shadow(0 0 3px gold);
    z-index: 10;
  }
  @keyframes burst {
    0%   { transform: translate(0,0) scale(1); opacity: 1; }
    70%  { opacity: 1; }
    100% { transform: translate(var(--tx), var(--ty)) scale(0.1); opacity: 0; }
  }
  
  button.flip-btn{ overflow: visible; }
  
  #menu428 .flip-face.back h3.menuName,
  #menu413 .flip-face.back h3.menuName{ font-size: 1.25rem; }