@charset "UTF-8";
:root {
  -webkit-font-smoothing: antialiased;
  --clr-facebook: #1877F2;
  --clr-twitter: #1D9BF0;
  --clr-line: #4CC764;
  --fzSP: 1.4rem;
  --fzPC: 1.6rem;
  --fz-headline: 4.6rem;
  --fz-heading: 2.3rem;
  --fz-subhead: 1.6rem;
  --lh: 2;
  --ls: normal;
  --ff-serif: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝ProN W3", HiraMinProN-W3, "ヒラギノ明朝Pro W3", "Hiragino Mincho Pro", "ＭＳ 明朝", "MS Mincho", serif;
  --ff-sans: YakuHanJP, "Roboto", "Noto Sans JP", sans-serif;
}

#menucategory {
  margin-top: 10.6666666667vw;
  padding-left: 4vw;
  padding-right: 4vw;
  overflow-x: scroll;
  padding-bottom: 2.1333333333vw;
}
@media (min-width: 768px) {
  #menucategory {
    margin-top: 70px;
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    overflow-x: visible;
  }
}
#menucategory .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 3.0666666667vw;
  position: relative;
  border-bottom: 1px solid #ccc;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  #menucategory .inner {
    gap: 0 12px;
    width: 100%;
  }
}
#menucategory a {
  padding: 0 9.3333333333vw;
  white-space: nowrap;
  background-color: #f9f9f9;
  color: #666;
  border-radius: 10px 10px 0 0;
  height: 17.4666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #menucategory a {
    padding: 0 25px;
    height: 70px;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  #menucategory a:hover {
    background-color: #f9be00;
    color: #fff;
  }
}
#menucategory a.is-active {
  background-color: #f9be00;
  color: #fff;
}

@media (min-width: 768px) {
  .option {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

h1.exclusion {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 6.6666666667vw;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.58;
}
@media (min-width: 768px) {
  h1.exclusion {
    width: 1200px;
    margin-top: 45px;
    font-size: 2.6rem;
  }
}

#links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 4vw;
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4vw;
}
@media (min-width: 768px) {
  #links {
    width: auto;
    gap: 0 17px;
    margin: 0;
  }
}
#links :is(.allerglink, .flyerlink) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 768px) {
  #links :is(.allerglink, .flyerlink) {
    width: 193px;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
}
#links :is(.allerglink, .flyerlink) a {
  height: 9.7333333333vw;
  font-weight: 700;
}
#links :is(.allerglink, .flyerlink) a .ico {
  margin-right: 8px;
  position: static;
  border-radius: 0;
  border: none;
}
@media (min-width: 768px) {
  #links :is(.allerglink, .flyerlink) a {
    height: 60px;
  }
}
#links :is(.allerglink, .flyerlink):where(.flyerlink) .ico.flyer {
  width: 3.2vw;
  height: 4.2666666667vw;
}
@media (min-width: 768px) {
  #links :is(.allerglink, .flyerlink):where(.flyerlink) .ico.flyer {
    width: 19px;
    height: 26px;
  }
}

#sort {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4vw;
  position: relative;
}
@media (min-width: 768px) {
  #sort {
    width: 227px;
    margin: 0;
  }
}
#sort select {
  width: 100%;
  border-color: #ccc;
  border-radius: 1.0666666667vw;
}
@media (min-width: 768px) {
  #sort select {
    border-radius: 4px;
    font-size: 1.5rem;
    height: 50px;
  }
}
#sort::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226px%22%20height%3D%2216px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(34%2C%2034%2C%2034)%22%20d%3D%22M12.181%2C15.304%20C12.730%2C15.853%2013.620%2C15.853%2014.169%2C15.304%20L25.554%2C3.920%20C26.103%2C3.371%2026.103%2C2.481%2025.554%2C1.932%20L24.226%2C0.604%20C23.678%2C0.056%2022.789%2C0.055%2022.240%2C0.602%20L13.175%2C9.624%20L4.110%2C0.602%20C3.561%2C0.055%202.673%2C0.056%202.124%2C0.604%20L0.797%2C1.932%20C0.248%2C2.481%200.248%2C3.371%200.797%2C3.920%20L12.181%2C15.304%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 3.4666666667vw;
  height: 2.1333333333vw;
  display: block;
  position: absolute;
  top: calc(50% - 1.0666666667vw);
  right: 4.2666666667vw;
  pointer-events: none;
}
@media (min-width: 768px) {
  #sort::after {
    width: 13px;
    height: 9px;
    right: 20px;
    top: calc(50% - 4.5px);
  }
}

#items {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 8vw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.2666666667vw;
}
@media (min-width: 768px) {
  #items {
    width: 1200px;
    margin-top: 35px;
    grid-template-columns: repeat(4, 1fr);
    gap: 50px 30px;
  }
}
#items .menuitem {
  display: block;
}
#items .menuitem.disabled {
  pointer-events: none;
}
#items .menuitem:hover .menuimg::before {
  opacity: 1;
}
#items .menuimg {
  background-color: #f9f9f9;
  border-radius: 2.6666666667vw;
  overflow: hidden;
  height: 44vw;
  position: relative;
}
@media (min-width: 768px) {
  #items .menuimg {
    height: 277px;
    border-radius: 10px;
  }
  #items .menuimg::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 10px;
    border: 14px solid rgba(249, 190, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 0.25s ease-out;
    transition: opacity 0.25s ease-out;
  }
}
#items .menuimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#items .menuimg[class*=ico-]::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
#items .menuimg.ico-new::after {
  width: 7.8666666667vw;
  height: 7.8666666667vw;
  background: url(../images/menu/ico-new.webp) 0 0/contain no-repeat;
  background-image: -webkit-image-set(url(../images/menu/ico-new.webp) 1x, url(../images/menu/ico-new@2x.webp) 2x);
  background-image: image-set(url(../images/menu/ico-new.webp) 1x, url(../images/menu/ico-new@2x.webp) 2x);
}
@media (min-width: 768px) {
  #items .menuimg.ico-new::after {
    width: 50px;
    height: 50px;
  }
}
#items .menuimg.ico-soldout::after {
  width: 9.3333333333vw;
  height: 9.3333333333vw;
  background: url(../images/menu/ico-soldout.webp) 0 0/contain no-repeat;
  background-image: -webkit-image-set(url(../images/menu/ico-soldout.webp) 1x, url(../images/menu/ico-soldout@2x.webp) 2x);
  background-image: image-set(url(../images/menu/ico-soldout.webp) 1x, url(../images/menu/ico-soldout@2x.webp) 2x);
}
@media (min-width: 768px) {
  #items .menuimg.ico-soldout::after {
    width: 50px;
    height: 50px;
  }
}
#items .menuimg.ico-reservation::after {
  width: 9.3333333333vw;
  height: 9.3333333333vw;
  background: url(../images/menu/ico-reservation.webp) 0 0/contain no-repeat;
  background-image: -webkit-image-set(url(../images/menu/ico-reservation.webp) 1x, url(../images/menu/ico-reservation@2x.webp) 2x);
  background-image: image-set(url(../images/menu/ico-reservation.webp) 1x, url(../images/menu/ico-reservation@2x.webp) 2x);
}
@media (min-width: 768px) {
  #items .menuimg.ico-reservation::after {
    width: 50px;
    height: 50px;
  }
}
#items .name {
  margin-top: 2vw;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.75;
}
@media (min-width: 768px) {
  #items .name {
    margin-top: 18px;
    font-size: 1.8rem;
  }
}
#items .price {
  color: #da340b;
  font-size: 1.2rem;
  margin-top: 2vw;
  padding-bottom: 4vw;
}
@media (min-width: 768px) {
  #items .price {
    margin-top: 15px;
    padding-bottom: 18px;
    font-size: 1.4rem;
  }
}
#items .price .num {
  font-size: 1.6rem;
  font-weight: 700;
  margin-right: 0.1em;
}
@media (min-width: 768px) {
  #items .price .num {
    font-size: 1.8rem;
  }
}
#items .price + .okazu, #items .price + .biko {
  border-top: 1px solid #ccc;
}
#items .okazu {
  padding-top: 2vw;
  font-size: 1.2rem;
  line-height: 1.71;
  color: #666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 1em;
}
@media (min-width: 768px) {
  #items .okazu {
    font-size: 1.3rem;
    padding-top: 18px;
  }
}
#items .biko {
  padding-top: 2vw;
  font-size: 1.2rem;
  line-height: 1.71;
}
@media (min-width: 768px) {
  #items .biko {
    font-size: 1.3rem;
    padding-top: 18px;
  }
}

#etcmenu {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 16vw;
}
@media (min-width: 768px) {
  #etcmenu {
    width: 1200px;
    margin-top: 120px;
  }
}
#etcmenu .etctitle {
  background-color: #f9be00;
  color: #fff;
  font-size: 1.9rem;
  font-weight: 700;
  border-radius: 100px;
  height: 13.3333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 768px) {
  #etcmenu .etctitle {
    font-size: 2.4rem;
    height: 60px;
  }
}
#etcmenu ul {
  margin-top: 6.6666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4vw 0;
}
@media (min-width: 768px) {
  #etcmenu ul {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
#etcmenu li {
  display: grid;
  grid-template-columns: repeat(2, auto);
  padding-left: 10vw;
  position: relative;
}
@media (min-width: 768px) {
  #etcmenu li {
    padding-left: 50px;
    line-height: 21px;
  }
}
#etcmenu li::before {
  content: "";
  width: 4.6666666667vw;
  height: 4.6666666667vw;
  border: 1.0666666667vw solid #da340b;
  border-radius: 50%;
  position: absolute;
  left: 2.6666666667vw;
}
@media (min-width: 768px) {
  #etcmenu li::before {
    width: 21px;
    height: 21px;
    left: 20px;
    border-width: 5px;
  }
}
#etcmenu li .name {
  font-size: 1.6rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #etcmenu li .name {
    font-size: 1.8rem;
  }
}
#etcmenu li .price {
  font-size: 1.2rem;
  color: #da340b;
  text-align: right;
}
#etcmenu li .price .num {
  font-size: 1.6rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #etcmenu li .price {
    font-size: 1.4rem;
  }
  #etcmenu li .price .num {
    font-size: 1.8rem;
  }
}
#etcmenu li .note {
  grid-column: 1/3;
  font-size: 1.5rem;
  line-height: 1.6;
  margin-top: 1.3333333333vw;
}
@media (min-width: 768px) {
  #etcmenu li .note {
    font-size: 1.5rem;
    line-height: 1.6;
    margin-top: 5px;
  }
}
#etcmenu + #note {
  margin-top: 10.6666666667vw;
}
@media (min-width: 768px) {
  #etcmenu + #note {
    margin-top: 60px;
  }
}

#note {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 16vw;
  padding: 6.6666666667vw;
  background: #f5f5f5;
  border-radius: 10px;
}
@media (min-width: 768px) {
  #note {
    width: 1200px;
    margin-top: 100px;
    padding: 30px;
    border-radius: 20px;
  }
}
#note .options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.6666666667vw 0;
}
@media (min-width: 768px) {
  #note .options {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 9px;
  }
}
#note .options .item {
  background-color: #fff;
  height: 13.3333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 2.6666666667vw;
}
@media (min-width: 768px) {
  #note .options .item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 61px;
    padding: 0 20px;
  }
}
#note .options .label {
  font-size: 1.5rem;
  font-weight: bold;
  width: 54vw;
}
@media (min-width: 768px) {
  #note .options .label {
    font-size: 1.6rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
#note .options .price {
  color: #da340b;
  font-size: 1.1rem;
}
#note .options .price .num {
  font-size: 1.4rem;
  font-weight: bold;
}
@media (min-width: 768px) {
  #note .options .price {
    font-size: 1.4rem;
  }
  #note .options .price .num {
    font-size: 1.8rem;
  }
}
#note ul {
  margin-top: 6.6666666667vw;
}
@media (min-width: 768px) {
  #note ul {
    margin-top: 25px;
  }
}
#note ul li {
  font-size: 1.4rem;
  line-height: 2;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
@media (min-width: 768px) {
  #note ul li {
    font-size: 1.5rem;
  }
}

#item {
  margin-top: 10.6666666667vw;
  margin-left: auto;
  margin-right: auto;
  width: 92vw;
}
@media (min-width: 768px) {
  #item {
    width: 1200px;
    margin-top: 60px;
    display: grid;
    grid-template-columns: 500px 650px;
    gap: 0 50px;
  }
}
#item .menuimg {
  height: 92vw;
  border-radius: 2.6666666667vw;
  overflow: hidden;
  position: relative;
}
@media (min-width: 768px) {
  #item .menuimg {
    height: 500px;
    border-radius: 20px;
    grid-row: 1/6;
  }
}
#item .menuimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#item .menuimg[class*=ico-]::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 12.9333333333vw;
  height: 12.9333333333vw;
}
@media (min-width: 768px) {
  #item .menuimg[class*=ico-]::after {
    width: 70px;
    height: 70px;
  }
}
#item .menuimg.ico-new::after {
  background: url(../images/menu/ico-new_detail.webp) 0 0/contain no-repeat;
  background-image: -webkit-image-set(url(../images/menu/ico-new_detail.webp) 1x, url(../images/menu/ico-new_detail@2x.webp) 2x);
  background-image: image-set(url(../images/menu/ico-new_detail.webp) 1x, url(../images/menu/ico-new_detail@2x.webp) 2x);
}
#item .menuimg.ico-soldout::after {
  background: url(../images/menu/ico-soldout_detail.webp) 0 0/contain no-repeat;
  background-image: -webkit-image-set(url(../images/menu/ico-soldout_detail.webp) 1x, url(../images/menu/ico-soldout_detail@2x.webp) 2x);
  background-image: image-set(url(../images/menu/ico-soldout_detail.webp) 1x, url(../images/menu/ico-soldout_detail@2x.webp) 2x);
}
#item .menuimg.ico-reservation::after {
  background: url(../images/menu/ico-reservation.webp) 0 0/contain no-repeat;
  background-image: -webkit-image-set(url(../images/menu/ico-reservation.webp) 1x, url(../images/menu/ico-reservation@2x.webp) 2x);
  background-image: image-set(url(../images/menu/ico-reservation.webp) 1x, url(../images/menu/ico-reservation@2x.webp) 2x);
}
#item .name {
  font-size: 2.4rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #item .name {
    font-size: 3.2rem;
  }
}
#item .price {
  color: #da340b;
  font-size: 1.35rem;
  font-weight: 900;
  padding: 5.3333333333vw 0;
  border-bottom: 1px solid #e7e7e7;
}
#item .price .num {
  font-size: 2.7rem;
}
#item .price .tax {
  font-weight: normal;
}
@media (min-width: 768px) {
  #item .price {
    font-size: 1.8rem;
    padding: 30px 0;
  }
  #item .price .num {
    font-size: 3.6rem;
  }
}
#item .contents {
  padding-top: 2.6666666667vw;
  font-size: 1.6rem;
  line-height: 2;
}
@media (min-width: 768px) {
  #item .contents {
    padding-top: 20px;
    font-size: 1.8rem;
  }
}
#item .biko {
  margin-top: 10px;
}
@media (min-width: 768px) {
  #item .biko {
    font-size: 1.6rem;
  }
}
#item .okazu {
  margin-top: 2vw;
}
@media (min-width: 768px) {
  #item .okazu {
    margin-top: 25px;
  }
  #item .okazu:not(.only) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 27px 0;
  }
}
#item .okazu span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}
#item .okazu span::before {
  content: "●";
  color: #0b308e;
  font-size: 0.9rem;
  margin-right: 1.0666666667vw;
  margin-top: 0.5em;
}
@media (min-width: 768px) {
  #item .okazu span {
    font-size: 1.6rem;
  }
  #item .okazu span::before {
    font-size: 1rem;
    margin-right: 5px;
  }
}
#item h3.subhead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6vw;
  font-size: 1.6rem;
}
#item h3.subhead::before {
  content: "";
  width: 4.5333333333vw;
  height: 4.5333333333vw;
  border: 1.0666666667vw solid #da340b;
  border-radius: 50%;
  display: inline-block;
}
@media (min-width: 768px) {
  #item h3.subhead {
    font-size: 2rem;
    gap: 10px;
  }
  #item h3.subhead::before {
    width: 21px;
    height: 21px;
    border-width: 5px;
  }
}
#item .options {
  margin-top: 8vw;
}
@media (min-width: 768px) {
  #item .options {
    margin-top: 40px;
  }
}
#item .options ul {
  border-top: 1px solid #ccc;
  margin-top: 4vw;
}
@media (min-width: 768px) {
  #item .options ul {
    margin-top: 20px;
  }
}
#item .options li {
  border-bottom: 1px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 14.9333333333vw;
}
@media (min-width: 768px) {
  #item .options li {
    height: 59px;
    padding: 0 20px;
  }
}
#item .options .optionname {
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #item .options .optionname {
    font-size: 1.6rem;
  }
}
#item .options .optionprice {
  color: #da340b;
  font-size: 1.3rem;
}
#item .options .optionprice .num {
  font-size: 1.7rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #item .options .optionprice {
    font-size: 1.4rem;
  }
  #item .options .optionprice .num {
    font-size: 1.8rem;
  }
}
#item .nutritional {
  margin-top: 10.6666666667vw;
  background-color: #f9f9f9;
  border-radius: 4vw;
  padding: 4vw;
}
@media (min-width: 768px) {
  #item .nutritional {
    margin-top: 60px;
    grid-column: 1/3;
    border-radius: 20px;
    padding: 20px;
  }
}
#item .nutritional .group {
  margin-top: 3.3333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2vw;
}
@media (min-width: 768px) {
  #item .nutritional .group {
    margin-top: 20px;
    gap: 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
#item .nutritional .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 13.3333333333vw;
  background-color: #fff;
  padding: 0 4vw;
}
@media (min-width: 768px) {
  #item .nutritional .box {
    height: 60px;
    padding: 0 28px;
  }
  #item .nutritional .box:nth-of-type(1) {
    grid-row: 1/3;
    height: 130px;
  }
}
#item .nutritional .label {
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #item .nutritional .label {
    font-size: 1.8rem;
  }
}
#item .nutritional .unit {
  font-size: 1rem;
}
@media (min-width: 768px) {
  #item .nutritional .unit {
    font-size: 1.2rem;
  }
}
#item .nutritional .num {
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #item .nutritional .num {
    font-size: 1.8rem;
  }
}
#item .allergy {
  margin-top: 10.6666666667vw;
  background-color: #f9f9f9;
  border-radius: 4vw;
  padding: 4vw;
}
@media (min-width: 768px) {
  #item .allergy {
    grid-column: 1/3;
    margin-top: 50px;
    border-radius: 20px;
    padding: 20px;
  }
}
#item .allergyLists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.1333333333vw;
  margin-top: 3.3333333333vw;
}
@media (min-width: 768px) {
  #item .allergyLists {
    grid-template-columns: repeat(8, 1fr);
    gap: 18px;
    margin-top: 20px;
  }
}
#item .allergy .box {
  background-color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  padding-top: 4vw;
  padding-bottom: 1.8666666667vw;
}
@media (min-width: 768px) {
  #item .allergy .box {
    font-size: 1.8rem;
    padding-top: 30px;
    padding-bottom: 20px;
  }
}
#item .allergy .box:nth-of-type(1) img {
  height: 8.8vw;
}
#item .allergy .box:nth-of-type(2) img {
  height: 7.0666666667vw;
}
#item .allergy .box:nth-of-type(3) img {
  height: 6.4vw;
}
#item .allergy .box:nth-of-type(4) img {
  height: 8.8vw;
}
#item .allergy .box:nth-of-type(5) img {
  height: 7.0666666667vw;
}
#item .allergy .box:nth-of-type(6) img {
  height: 7.7333333333vw;
}
#item .allergy .box:nth-of-type(7) img {
  height: 6.6666666667vw;
}
#item .allergy .box:nth-of-type(8) img {
  height: 7.0666666667vw;
}
@media (min-width: 768px) {
  #item .allergy .box:nth-of-type(1) img, #item .allergy .box:nth-of-type(2) img, #item .allergy .box:nth-of-type(3) img, #item .allergy .box:nth-of-type(4) img, #item .allergy .box:nth-of-type(5) img, #item .allergy .box:nth-of-type(6) img, #item .allergy .box:nth-of-type(7) img, #item .allergy .box:nth-of-type(8) img {
    height: auto;
  }
}
#item .allergy .icon {
  height: 8.8vw;
  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;
}
@media (min-width: 768px) {
  #item .allergy .icon {
    height: 51px;
  }
}
#item .allergy .label {
  text-align: center;
  margin-top: 1.0666666667vw;
}
@media (min-width: 768px) {
  #item .allergy .label {
    margin-top: 10px;
  }
}
#item .button {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 16vw;
}
@media (min-width: 768px) {
  #item .button {
    width: 380px;
    grid-column: 1/3;
    margin-top: 80px;
  }
}