.visible__top {
  display: block;
}



.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}


.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes bounce {

  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

@keyframes bounce {

  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom;
}

/* //アニメーション */


main {
  width: 100%;
  overflow: hidden;
}


.header-viewcart {
  display: none;
}


.hero_header {
  width: 100%;
  height: calc(100vh - 50px);
  margin-top: 50px;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

#Slider {
  width: 100%;
}

.slide_items {
  display: block;
  width: 100%;
  height: calc(100vh - 50px);
  background-size: cover;
  position: relative;
  background-position-y: center;
}


#Slide1 {
  background-image: url(https://img21.shop-pro.jp/PA01494/506/etc_base64/c2xpZGVfaW1nMQ.jpg);
  background-position-x: 30%;
}

#Slide2 {
  background-image: url(https://img21.shop-pro.jp/PA01494/506/etc_base64/c2xpZGVfaW1nMg.jpg);
  background-position-x: 60%;
}

#Slide3 {
  background-image: url(https://img21.shop-pro.jp/PA01494/506/etc_base64/c2xpZGVfaW1nMw.jpg);
  background-position-x: 30%;
}


.hero_header img {
  position: absolute;
  width: 100%;
  max-width: 480px;
  left: 0;
  right: 0;
  margin: auto;
}


.main_description {
  padding: 30px 5% 0;
  max-width: 768px;
  margin: auto;
}

.main_description img {
  width: 90%;
  margin: auto;
  display: block;
}

.main_desc_text {
  letter-spacing: -0.02em;
  font-weight: 600;
  line-height: 1.7;
  margin-top: 20px;
}

@media (min-width: 480px) {
  .main_desc_text {
    font-size: 1.2em;
  }
}

@media (min-width: 768px) {
  .main_desc_text {
    font-size: 1.5em;
  }
}

section {
  margin: 50px auto;
  max-width: 768px;
}


.main_expl {
  width: 100%;
  margin-top: 30vw;
  --marginA: calc(100vw - 300px);
  --marginB: calc(var(--marginA) * 0.4);
  --marginC: calc(var(--marginB) + 80px);
  margin-top: var(--marginC);
  padding: 10px;
  overflow-x: clip;
  max-width: 100%;
  padding-bottom: 30px;
}


.main_expl_container {
  background-color: #c33720;
  width: 100%;
  padding: 10px;
  max-width: 768px;
  margin: auto;
}

.main_expl_content {
  background-color: #c33720;
  border: 5px #fff solid;
}

.main_expl_badge {
  position: relative;
}

.main_expl_badge img {
  position: absolute;
  z-index: 10;
  bottom: -9vw;
  width: 60%;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
}

.main_expl_badge_icon {
  z-index: 10;
}

.main_expl_title {
  padding: 10px 5%;
  margin-top: 16vw;
}

.main_expl_kodawari_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 10px 0 30px;
}

.main_expl_kodawari_img {
  width: 60%;
  position: relative;
}

.main_expl_kodawari_content {
  width: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: end;
      align-content: end;
  z-index: 99;
}

.main_expl_kodawari_content:nth-child(2n) {
  padding-right: 3%;
}

.main_expl_kodawari_content:nth-child(2n-1) {
  padding-left: 3%;
}

.main_expl_kodawari_tit {
  width: 33%;
}

.main_expl_kodawari_text {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 4.8vw;
  line-height: 1.5em;
  color: #fff;
padding-top: 2.5rem;
padding-right: 1vw;
    width: 66%;
    min-height: 330px;
}

.main_expl_kodawari_img img {
  position: absolute;
  width: 230%;
  z-index: 10;
  max-width: 230%;
}


.main_expl_kodawari_img:nth-child(2n-1) img {
  right: -15%;
}

.main_expl_kodawari_img:nth-child(2n) img {
  left: -15%;
}


#MainExplYamatonikudori .main_expl_kodawari_content {
  padding-right: 0;
}

#MainExplYamatonikudori .main_expl_kodawari_text {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 480px) {

  section#MainExplYamatonikudori {
    padding-top: 100px;
  }
}


@media (min-width: 768px) {

  .main_expl {
    margin-top: 260px;
  }

  .main_expl_badge img {
    bottom: -90px;
  }

  .main_expl_title {
    margin-top: 150px;
  }

  .main_expl_kodawari_container {
    padding: 10px 0 80px;
  }

  .main_expl_kodawari_text {
    font-size: 2.5em;
    /* margin-right: 0.5em; */
  }
}


/* ショップ */

.top_content_badge li:nth-child(1) .animated {
  -webkit-animation-duration: 1750ms;
          animation-duration: 1750ms;
  -webkit-animation-delay: 10ms;
          animation-delay: 10ms;
}

.top_content_badge li:nth-child(2) .animated {
  -webkit-animation-duration: 1500ms;
          animation-duration: 1500ms;
  -webkit-animation-delay: 400ms;
          animation-delay: 400ms;
}

.top_content_badge li:nth-child(3) .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-delay: 800ms;
          animation-delay: 800ms;
}


.top_content_title {
  width: 100%;
  background-size: cover;
  background-position: center;
  padding: 50px 10%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#TopShop .top_content_title {
  background-image: url(https://img21.shop-pro.jp/PA01494/506/etc_base64/dG9wX3Nob3BfdGl0bGVfYmc.jpg);
}

#TopTakeout .top_content_title {
  background-image: url(https://img21.shop-pro.jp/PA01494/506/etc_base64/dG9wX3RvX3RpdGxlX2Jn.jpg);
}

.top_content_title img {
  width: 80%;
  max-width: 580px;
}

.top_content_text {
  font-size: 1.1em;
  font-weight: 600;
  padding: 40px 10%;
  line-height: 1.7;
  letter-spacing: 0.04em;
}


@media (min-width: 480px) {
  .top_content_text {
    font-size: 1.2em;
  }
}

@media (min-width: 768px) {
  .top_content_text {
    font-size: 1.5em;
  }
}


.shop_itemlist_container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
}

.shop_itemlist_container li {
  padding: 20px 8%;
}

.shop_itemlist_container li:nth-child(2n-1) {
  padding-right: 3%;
}

.shop_itemlist_container li:nth-child(2n) {
  padding-left: 3%;
}


@media (min-width: 480px) {

  .shop_itemlist_container li {
    padding: 20px 5%;
  }

  .shop_itemlist_container li:nth-child(2n-1) {
    padding-right: 2%;
  }

  .shop_itemlist_container li:nth-child(2n) {
    padding-left: 2%;
  }

}


.shop_itemlist_container li a {
  position: relative;
  display: block;
}

/* 
///////////////////////////////////////////////
*/

/* オススメ人気アイコン */
/* 商品名で付ける*/

.recommend-unit .badge_osusume:before,
.recommend-unit .badge_ninki:before {
  content: " ";
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  width: 50px;
  height: 50px;
  right: -15px;
  top: -15px;
  z-index: 99;
}

.recommend-unit .badge_ninki:before {
  background-image: url(https://img21.shop-pro.jp/PA01494/506/etc_base64/YmFkZ2Vfbmlua2k.png);
}

.recommend-unit .badge_osusume:before {
  background-image: url(https://img21.shop-pro.jp/PA01494/506/etc_base64/YmFkZ2Vfb3N1c3VtZQ.png);
}

/* 
///////////////////////////////////////////////
*/



.product_image img {
  border-radius: 25px;
  display: block;
}



.shop_itemlist_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
}


.shop_itemlist_img {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;

}


.shop_itemlist_img:before {
  display: block;
  content: " ";
  padding-top: 100%;
}

.shop_itemlist_img img {
  position: absolute;
  width: 100%;
}

.shop_itemlist_name {
  width: 100%;
  padding: 10px 0 0;
  overflow: hidden;
  height: 2.5em;
  border-bottom: 1px solid #000;
}

.shop_itemlist_unit {
  margin-top: 5px;
  margin-right: 5px;
  font-size: 0.9em;
}

.shop_itemlist_price .price_tax {
  font-size: 0.5em;
}

.shop_itemlist_price {
  padding: 5px 0 0;
  font-size: 0.9em;
}

.shop_itemlist_price .price_tax {
  font-size: 0.5em;
}


.top_content_link {
  border: solid 1px #cd361f;
  border-radius: 30px;
  padding: 10px 20px;
  width: 96%;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: auto;
  text-align: center;
  font-size: 1.1em;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.top_content_badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 30px 5%;
  max-width: 520px;
  margin: auto;
}

.top_content_badge li {
  width: 33.33%;
  padding: 0 5px;
  position: relative;
}

.top_content_badge_gyoza {
  position: absolute;
  z-index: 10;
  top: -20px;
  width: 50%;
  margin: auto;
  left: 0;
  right: 0;
}


#TopTakeoutAccess {
  overflow: hidden;
  padding: 30px 5%;
  margin-bottom: 20px;
}

.top_access_container {
  position: relative;
  border: 1px solid #000;
  padding: 40px 5%;
}


.top_access_corner_lt {
  border-bottom: 1px solid #000;
  height: 50px;
  background: #fff;
  width: 120px;
  position: absolute;
  top: -25px;
  left: -50px;
  -webkit-transform: rotateZ(-40deg);
      -ms-transform: rotate(-40deg);
          transform: rotateZ(-40deg);
}

.top_access_corner_rb {
  border-top: 1px solid #000;
  height: 50px;
  background: #fff;
  width: 120px;
  position: absolute;
  bottom: -25px;
  right: -50px;
  -webkit-transform: rotateZ(-40deg);
      -ms-transform: rotate(-40deg);
          transform: rotateZ(-40deg);
}

.top_access_title {
  position: absolute;
  width: 45%;
  background: #fff;
  margin: auto;
  left: 0;
  right: 0;
  top: -14px;
  padding: 0 10px;
}

.top_access_info {
  margin: 20px 0 0;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 2;
}

.top_access_info span {
  font-size: 0.8em;
}

/* 20240802 バナー用追加 */



.sale_banner img {
  width: 100%;
}

@media (max-width: 767px) {

.sale_banner {
  max-width: 768px;
  margin: 50px auto 0;
}
.hero_header{
  margin-top: 0px;
}

}

@media (min-width: 768px) {
  .sale_banner {
    position: fixed;
    right: 0;
    top : 80px;
    width: 200px;
    z-index: 9998;
  }
  .sale_banner a{
        display: block;
    margin-bottom: 10px;
  }
  }

