.sf-main a {
  color: #3c3c43;
}

.sf-u-font_gothicMB {
  font-weight: 900;
}

.switcher {
  display: flex;
  gap: 64px;
  justify-content: center;
  margin-top: var(--space-v-xxl);
}

.switcher__item.-current {
  border-bottom: 2px solid #3c3c43;
}

.store_but a {
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  color: #222;
}

.switcher a {
  color: #222;
}

.ice_cream_ttl {
  font-size: 28px;
  font-weight: 700;
}

.ice_cream_txt {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 16px;
}

.introduce_txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  text-align: left;
}

.introduce_txt li {
  list-style: none;
}

.text-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
}

.sf-u-font_description {
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
}

.bg_F4EEDE {
  background-color: #f4eede;
}

.bg_e0ceaa {
  background-color: #e0ceaa;
}

.product_list_ttl {
  font-size: 20px;
  font-weight: 700;
  margin: auto;
}

.food__name {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: auto;
  margin-top: 10px;
}

.food__name span {
  display: inline-block;
}

.price {
  font-size: 14px;
  font-weight: 700;
  text-align: right;
}

.price span {
  font-size: 22px;
  font-weight: 700;
  padding: 0 3px;
  font-family: Arial, Helvetica, sans-serif;
}

.food_container {
  width: 960px;
  margin: 0 auto;
}

.h-txt {
  height: 210px;
}

.h-txt_2 {
  height: 180px;
}

.h-txt_3 {
  height: 210px;
}

.lineUp__card {
  width: 100%;
}

.points_Text {
  background-color: #e0ceaa;
  height: 163px;
  width: 730px;
  right: 490px;
  position: absolute;
  /* top: 90%; */
  transform: translate(0%, -40%);
}

.position-relative {
  position: relative;
}

.card {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-end;
  margin-top: -40px;
  position: relative;
  /* z-index: 2; */
  /* right: 0; */
}

.card.card__col-3 {
  width: 65.6716%;
}

.card_ttl {
  font-size: 14px;
  font-weight: 700;
}

.card_ttl_1 {
  font-size: 16px;
  font-weight: 700;
}

.card_txt {
  font-size: 14px;
}

.shopping {
  border: 1px solid #3c3c43;
  padding: 64px 24px;
}

.coolerbag_ttl {
  font-size: 25px;
  font-weight: 700;
  margin: auto;
  text-align: center;
}

.coolerbag_txt {
  font-size: 16px;
}

.num {
  font-size: 18px;
  font-weight: 700;
  margin: 0 4px;
  font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
}

.cooking {
  margin: 60px auto;
  padding: 40px;
  background: #f4eede;
}

.cooking .cookTitle p {
  margin-bottom: 45px;
}

.cookImgBox {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
}
.cookImgBox .cookItem {
  width: 50%;
}
.cookImgBox .cookItem img {
  width: 100%;
}
.cookImgBox .cookItem p {
  margin-top: 15px;
}

.noodleBox {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  padding: 30px 40px;
  border: 1px solid #e0ceaa;
  border-radius: 15px;
}
.noodleBox .boodleItem {
  width: 50%;
}

.noodleBox .boodleItem img {
  width: 100%;
}

.noodleBox .boodleItem h3 {
  margin-bottom: 20px;
  font-size: 24px;
}

.noodleBox .boodleItem:last-child img {
  /* background: #f4eede; */
  /* border-radius: 40px 40px 40px 0px; */
  /* padding: 40px; */
  width: 100%;
}

.noodleBox .boodleItem:first-child ul {
  list-style: disc;
  padding-left: 20px;
  text-align: justify;
  font-size: 14px;
}
.noodleBox .boodleItem:first-child ul li {
  line-height: 2;
}

.sf-u-imgAdjustBox:before {
  display: none !important;
}

.soup_t span {
  display: inline-block;
  vertical-align: text-top;
  font-size: 13px;
}
.soup_t span:first-child {
  width: 19%;
}
.soup_t span:last-child {
  width: 77%;
}

.soup_t li:first-child {
  height: 55px;
}
.soup_t li:nth-child(2) {
  height: 70px;
}

.timeBox {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px;
}
.timeBox .timeItem:first-child {
  width: 40%;
}
.timeBox .timeItem:last-child {
  width: 60%;
}
.timeBox .timeItem h3 {
  font-size: 18px;
}

.PcOnly {
  display: block;
}
.MobileOnly {
  display: none;
}




.bg-gray{
  background: #F8F8F8;
}


.banner-flex{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.banner-flex .banner-item-cont{
  width: calc(70% - 20px);
}

.banner-flex .banner-item-cont img{
  width: 100%;
}

.banner-flex .banner-item-img{
  width: calc(30% - 20px);

}

.banner-flex .banner-item-img img{
  width: 100%;
  transform: translateY(50px);
}


.hero {
  overflow: hidden;
}

@keyframes bounceUpDown {
  0% {
      opacity: 1;
      transform: translateY(50px);
  }
  50% {
      opacity: 1;
      transform: translateY(-10px);
  }
  100% {
      opacity: 1;
      transform: translateY(0);
  }
}

.bounce-effect {
  animation: bounceUpDown 1s ease-out;
}





.sf-stickyAnchor_itemHeading::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-image: url("../img/ico_arrow_down-y.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin: 8px auto 2px;
  transition: transform 0.3s ease;
}

.sf-stickyAnchor_itemHeading:hover::after {
  transform: translateY(3px);
}



.qr-container {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 40px auto 80px auto;
}

.qr-item.MobileOnly{
  display: none;
}

.qr-item {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}

.qr-item img.qr-code {
  width: 120px;
  height: auto;
}

.qr-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.qr-text p {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
}

.qr-text img.app-btn {
  width: 150px;
  height: auto;
}


.sf-stickyAnchor_item{
  position: relative;
}
.sf-stickyAnchor_item:first-child::after{
  content: '';
  border-right: 1px solid #C4C4C6;
  height: 80%;
  position: absolute;
  top: 0px;
  right: 0px;
}


.food-1{
  background: #F5F5F5;
}

.passport-card{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 20px;
  padding: 40px 0px 130px 0px;
}
.passport-card .passport-item{
  width: calc(33.3333% - 20px);
  padding: 20px;
  background: #fff;
  border-radius: 20px;
  text-align: center;
}

.passport-card .passport-item .pass-flex img{
  width: 195px;
}

.passport-card .passport-item h3{
  font-size: 20px;
  font-weight: 700;
  margin: 10px auto;

}


.effect {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 16px;
  padding: 12px 0px;
  width: 100%;
  border-radius: 50px;
  line-height: 28px;
  overflow: hidden;
  background: #F5F5F5;
  color: #6D6D72 !important;
  margin-top: 24px;
  font-weight: 700;
  transition: all 0.3s ease-in-out;
  /* backdrop-filter: blur(5px); */
  /* box-shadow: inset 0 0 0px rgba(255, 255, 255, 0.2); */
}

.effect:hover {
  background: #EBEBEC;
  /* background: rgba(255, 255, 255, 0.5); */
  /* backdrop-filter: blur(10px); */
  /* box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.3), 0 4px 10px rgba(0, 0, 0, 0.1); */
}

.effect::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url(../img/arrow_right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 5px;
  transition: transform 0.3s ease;
}

.effect:hover::after {
  transform: translateX(3px);
}


.sf-heading.-h2 {
  font-size: 28px!important;
}


.points-flex{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 50px;
  padding: 50px 0px;
  border-bottom: 1px solid #D9D9D9;
}
.points-flex .points-item{
  width: calc(50% - 20px);
  background: #fff;
  border-radius: 20px;

}

.points-flex .points-item img{
  width: 100%;
}

#food-2 .points-flex .points-item h3{
  font-size: 20px;
  font-weight: 900;
  margin: 36px auto 24px auto;
  padding-left: 12px;
  position: relative;
  letter-spacing: 0.4px;

}

#food-2 .points-flex .points-item h3::before{
  content: '';
  width: 4px;
  height: 32px;
  flex-shrink: 0;
  background: #7F0019;
  position: absolute;
  left: 0px;
}

.points-flex .points-item p{
  font-size: 16px;
  font-weight: 500;
  margin: 10px auto;
}


.remark-title{
  padding: 40px 0 15px 0;
  border-bottom: 1px solid #D9D9D9;
  line-height: 30px;
}


.remark-title a{
  color: #717171;
}

.remark-title a:hover{
  color: #7f0019;
}

.qa a{
  border: 2px solid #3c3c43;
  padding: 10px;
  border-radius: 5px;
}



#food-2 h3{
  font-size: 22px;
}


#food-2 h3 a::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/arrow_down_qa.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 5px;
  transition: transform 0.3s ease;
}

#food-2 h3 a:hover::after {
  transform: translateX(3px);
}

.qa{
  padding: 40px 0px;
  border-bottom: 1px solid #D9D9D9;
}

.web-instructions{
  padding-top: 40px;
}

.web-instructions p{

  font-size: 15px;
  color: #76767B;

}


@media screen and (max-width: 768px) {
  .food_container {
    width: 100%;
  }

  .h-txt {
    height: 150px;
  }

  .h-txt_2 {
    height: 200px;
  }

  .h-txt_3 {
    height: 280px;
  }

  .food__name span {
    display: block;
  }
}

@media screen and (min-width: 751px) {
  .switcher__item {
    font-size: 24px;
  }
}

@media screen and (max-width: 750px) {
  .switcher__item {
    font-size: 22px;
    padding: 0 var(--space-h-xxxxs);
  }

  .sf-u-font_description {
    font-size: 15px !important;
  }

  .food__name {
    font-size: 14px;
  }

  .price {
    font-size: 12px;
  }

  .price span {
    font-size: 20px;
  }

  .h-txt {
    height: auto;
  }

  .h-txt_2 {
    height: 200px;
  }

  .h-txt_3 {
    height: 240px;
  }

  .lineUp__card {
    width: 50%;
  }

  .card {
    gap: 0px;
    margin-top: 20px;
  }

  .cookImgBox {
    display: block;
  }

  .cookImgBox .cookItem {
    width: 100%;
    margin-bottom: 40px;
  }

  .noodleBox {
    display: block;
    padding: 25px;
    margin: 0px 20px;
  }

  .noodleBox .boodleItem {
    width: 100%;
    margin-bottom: 40px;
  }

  .noodleBox .boodleItem:last-child {
    padding: 0px 0px;
  }

  .timeBox {
    display: block;
    padding: 25px;
  }
  .timeBox .timeItem {
    width: 100% !important;
    margin-bottom: 20px;
  }

  .PcOnly {
    display: none;
  }
  .MobileOnly {
    display: block;
  }

  .soup_t li:first-child {
    height: auto;
  }
  .soup_t li:nth-child(2) {
    height: auto;
  }
}

/* 動態 */
.js_fade-in {
  opacity: 0;
  transition: all 1000ms;
  transform: translate(0, 35px);
}

.js_fade-in.js_slow {
  transition: all 1400ms;
}

.js_fade-in.js_fast {
  transition: all 600ms;
}

.js_fade-in.js_scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

@media screen and (max-width: 767px) {
  .js_fade-in {
    transform: translate(0, 20px);
  }

  .js_fade-in.js_slow {
    transition: all 1000ms;
  }

  .js_fade-in.js_fast {
    transition: all 1000ms;
  }








  .banner-flex{
    display: block;
    gap: 20px;
  }
  .banner-flex .banner-item-cont{
    width: calc(100% - 0px);
  }

  .banner-flex .banner-item-img{
    width: calc(100% - 0px);

  }

  .hero {
    overflow: hidden;
    height: 580px;
  }

  .banner-flex .banner-item-img img {
    width: 65%;
    transform: translateY(30px);
    margin: 0px auto;
  }



  @keyframes bounceUpDown {
    0% {
        opacity: 1;
        transform: translateY(30px);
    }
    50% {
        opacity: 1;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
  }

  .bounce-effect {
    animation: bounceUpDown 1s ease-out;
  }



  .qr-item.MobileOnly{
    display: flex;
    align-items: center;
  }
  .qr-text{
    gap: 16px;
  }

  /* .qr-container {
    flex-direction: column;
    gap: 20px;
  } */

  /* .qr-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .qr-text {
    align-items: center;
    text-align: center;
  } */

  .passport-card {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
    padding-top: 20px;
}

  .passport-card .passport-item {
    width: calc(100% - 0px);
    padding: 20px;
    background: #fff;
    border-radius: 20px;
    text-align: center;
  }

  .passport-card .pass-flex{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
  }

  .passport-card .passport-item .pass-flex img{
    width: 135px;
  }

  .passport-card .pass-flex .pass-cont{
    text-align: left;
  }


  .points-flex {
    display: block;
  }
  .points-flex .points-item {
    width: calc(100% - 0px);
  }

  .points-flex .points-item:first-child{
    padding-bottom: 70px;
  }

  .sf-heading.-h2 {
    font-size: 24px!important;
  }

}
