@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*, ::before, ::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  clear: both;
  /* 1 */
  overflow: visible;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  margin: 0;
  color: inherit;
  /* 2 */
  border-top-width: 1px;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  text-decoration: none;
  color: inherit;
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b, strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code, kbd, samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img, embed, object, iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button, input, optgroup, select, textarea {
  margin: 0;
  padding: 0;
  font: inherit;
  text-align: inherit;
  vertical-align: middle;
  color: inherit;
  border-radius: 0;
  outline: 0;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button, input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button, select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button, [type=button], [type=reset], [type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled], [type=button][disabled], [type=reset][disabled], [type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  color: inherit;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  /* 1 */
  font: inherit;
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-spacing: 0;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td, th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}

html {
  -webkit-overflow-scrolling: touch;
  overflow: scroll;
}

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 8px;
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.5);
}

body {
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
  height: calc(var(--vh, 1vh) * 100);
  line-height: 1.4;
}

body.smarts {
  max-width: 500px;
  background: #eee;
}

/* Chrome, Safari 対応 */
body::-webkit-scrollbar {
  display: none;
}

h1,
h2,
h3 {
  font-weight: 700;
}

p,
li {
  line-height: 1.6;
}
.smarts p,
.smarts li {
  font-size: 18px;
}

img {
  max-width: 100%;
}

.small {
  font-size: 13px;
}

.container-2col {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 75% 25%;
  grid-template-columns: 75% 25%;
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
}
.smarts .container-2col {
  display: block;
  inset: 0;
  margin: auto;
  max-width: 500px;
}

.main {
  width: 100%;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  background: #fef4e6;
}

.main-content {
  height: calc(var(--vh, 1vh) * 100);
  background: #fef4e6;
  overflow-y: scroll;
  touch-action: pan-y;
}
.smarts .main-content {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 500px;
}

.sidebar {
  background-color: #513024;
  border-left: 1px solid #ddd;
  height: calc(var(--vh, 1vh) * 100);
}
.smarts .sidebar {
  position: fixed;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
  width: 100vw;
  -webkit-transition: all 0.3s cubic-bezier(0.39, 0.88, 0.53, 1);
  transition: all 0.3s cubic-bezier(0.39, 0.88, 0.53, 1);
  background: #eaeaea;
  max-width: 500px;
}
.smarts .sidebar.active {
  left: 0;
  margin: auto;
  right: 0;
  top: 0;
  bottom: 0;
}

.inline-radio {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10px 1fr 10px 1fr 10px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px 10px;
}
.smarts .inline-radio {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.inline-radio div {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.inline-radio input {
  width: 100%;
  height: 55px;
  opacity: 0;
}
.inline-radio label {
  position: absolute;
  top: 0;
  left: 0;
  color: #444444;
  width: 100%;
  height: 100%;
  background: #fff;
  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;
  pointer-events: none;
  border: 2px solid #929292;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);
  border-radius: 6px;
}
.inline-radio input:checked + label {
  background: #024fa0;
  font-weight: 500;
  color: #fff;
}

select {
  border: 1px solid #bfbfbf;
  padding: 10px;
}

.sp-bottom {
  display: none;
}
.smarts .sp-bottom {
  display: block;
  position: fixed;
  bottom: 50px;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 500px;
  padding: 0 20px 10px 20px;
  margin: auto;
}
.sp-bottom__inner {
  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;
  padding: 10px 20px;
  background: #bc1b1b;
  color: #fff;
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  font-size: 18px;
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .sp-bottom {
    padding-bottom: env(safe-area-inset-bottom);
  }
}
.text-center {
  text-align: center;
}

.mt-5 {
  margin-top: 5px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.default-page {
  padding: 30px 20px 100px;
}

.page-title {
  font-size: 18px;
  font-weight: 700;
}

.price-table {
  border-collapse: collapse;
  width: 100%;
  max-width: 600px;
}
.price-table th,
.price-table td {
  border-bottom: 1px dashed #8a8a8a;
  padding: 6px 10px;
}

.menu-table {
  width: 100%;
  max-width: 600px;
  border-collapse: collapse;
  border-top: 1px solid #8a8a8a;
  margin-top: 5px;
}
.menu-table td:last-child {
  text-align: right;
  padding-left: 15px;
  min-width: 90px;
}

.card {
  border-radius: 6px;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);
  border: 1px solid #eaeaea;
  background: #fff;
  padding: 12px 14px;
}
.card__tyumon-head {
  font-size: 35px;
  font-weight: bold;
  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;
}
.card__rireki-head {
  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;
  font-size: 14px;
}
.card__rireki-body {
  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;
  font-size: 16px;
  font-weight: 700;
}

.siharai-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.siharai-buttons button {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 15px;
}

.logs-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.logs-pagination .pagination__total {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  text-align: center;
}
.logs-pagination .prev {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(50% - 5px);
          flex: 1 1 calc(50% - 5px);
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.logs-pagination .next {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(50% - 5px);
          flex: 1 1 calc(50% - 5px);
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  text-align: right;
}

.tokusyo-table {
  width: 100%;
  max-width: 600px;
  border-collapse: collapse;
  border-top: 1px solid #8a8a8a;
  margin-top: 5px;
}
.tokusyo-table th,
.tokusyo-table td {
  padding: 3px 10px;
  font-size: 14px;
  display: block;
}
.tokusyo-table th:first-child {
  margin-top: 10px;
}
.sub-menu {
  /*ボタン内側*/
}
.sub-menu__close {
  position: absolute;
  top: 10px;
  right: 10px;
  /*ボタン内側の基点となるためrelativeを指定*/
  width: 50px;
  height: 50px;
  cursor: pointer;
  background: #fff;
}
.sub-menu__close span {
  display: inline-block;
  position: absolute;
  left: 13px;
  height: 2px;
  background-color: #666;
}
.sub-menu__close span:nth-of-type(1) {
  top: 20px;
  left: 16px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 35%;
}
.sub-menu__close span:nth-of-type(2) {
  top: 32px;
  left: 16px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 35%;
}

.breadcrumb {
  background: #fff;
  padding: 10px 20px;
  font-size: 14px;
  -webkit-box-shadow: -4px 0 8px 0 rgba(0, 0, 0, 0.1);
          box-shadow: -4px 0 8px 0 rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.breadcrumb__inner {
  font-weight: 700;
  font-size: 15px;
}
.smarts .breadcrumb__inner {
  font-size: 11px;
  font-weight: 400;
}
.breadcrumb .back-btn {
  background: #f1f1f1;
  color: #444444;
  border: 1px solid #cecece;
  padding: 12px 18px;
  display: inline-block;
  font-weight: 700;
  border-radius: 8px;
  font-size: 18px;
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}

.menu-list-container {
  position: relative;
  height: calc(var(--vh, 1vh) * 100);
}

.menu-list {
  display: -ms-grid;
  display: grid;
  gap: 12px;
  -ms-grid-columns: 1fr 12px 1fr 12px 1fr;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(auto-fill, 180px);
  padding: 20px;
  padding-bottom: 100px;
  height: calc(100% - 88px);
  overflow: scroll;
  touch-action: pan-y;
}
.smarts .menu-list {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(auto-fill, 180px);
  padding: 10px;
  padding-bottom: 70px;
  height: calc(100% - 70px);
}
.menu-list.has-modal {
  position: relative;
  z-index: 1;
}
.menu-list .back-btn {
  border: 1px solid #eee;
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  background: #505050;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 180px;
  font-size: 20px;
  font-weight: 700;
}
.menu-list__item {
  border: 1px solid #eee;
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  background: #52311d;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 180px;
  overflow: hidden;
}
.menu-list__item.is-end {
  position: relative;
}
.menu-list__item.is-end::after {
  content: "販売停止";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  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;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}
.menu-list__item-name {
  padding: 6px;
  min-height: 55px; /* 最小の高さを 55px に設定 */
  max-height: 110px;
  overflow: hidden; /* 高さを超える部分は隠す */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 55px;
          flex: 0 0 55px;
  font-size: 20px;
  font-weight: 700;
  position: relative;
  justify-content: space-between; /* コンテンツを両端に配置 */
  align-items: center;
}
.menu-list__item-name h3 {
  margin: 0; /* 不要な余白を除去 */
  flex: 1; /* 利用可能な幅を使用 */
  word-wrap: break-word; /* 長い単語を自動改行 */
  word-break: break-word; /* 必要に応じて単語内で改行 */
  overflow-wrap: break-word; /* すべてのブラウザに対応するためのプロパティ */
  line-height: 1.2; /* 行間を調整 */
}
.menu-list__item-name .tag_icon {
  flex-shrink: 0; /* アイコンが縮まないようにする */
  margin-left: 10px; /* テキストとの間に余白を設定 */
  max-height: 45px;
}
.smarts .menu-list__item-name {
  /*font-size: 14px;*/
  /*font-weight: 600;*/
}
.menu-list__item-price {
  padding: 6px;
  position: relative;
}

.menu-list__item-price .label {
  position: absolute;
  bottom: 0px;
  right: 0px;
  background-color: rgb(201, 8, 8, 1.0);
  color: white;
  padding: 6px 6px;
  font-weight: bold;
}
.nikuFree {
  background-color: #0056b3 !important;
}
.smarts .menu-list__item-price {
  font-size: 20px;
}
.menu-list__item-image {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 40%;
          flex: 1 1 40%;
  height: 40%;
  background: rgba(0, 0, 0, 0.3215686275);
}
.menu-list__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.menu-list-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  background: #332525;
  position: relative;
  padding: 8px 8px 0;
  overflow-x: hidden;
}
.menu-list-tab__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  width: calc(100% - 120px);
  overflow: scroll;
  scrollbar-width: none;
}
.smarts .menu-list-tab__wrap {
  width: 100%;
}
.menu-list-tab__item a {
  white-space: nowrap;
  font-size: 18px;
  font-weight: 700;
  height: 60px;
  padding: 0 20px;
  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;
  background: #e7e0d7;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}
.smarts .menu-list-tab__item a {
  font-size: 14px;
  height: auto;
  font-weight: 600;
  padding: 8px 16px;
}
.menu-list-tab__item a.active {
  background: #fff;
  position: relative;
}
.menu-list-tab__item a.active::after {
  content: "";
  position: absolute;
  width: calc(100% - 40px);
  height: 4px;
  background: rgb(248, 181, 24);
  bottom: 14px;
}
.smarts .menu-list-tab__item a.active::after {
  bottom: 0;
  width: 100%;
  height: 2px;
}
.menu-list-tab .tab__left-button {
  top: 8px;
  left: 8px;
  width: 52px;
  height: 52px;
  background: #fffce9;
  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;
  font-weight: 700;
  border-radius: 100px;
}
.smarts .menu-list-tab .tab__left-button {
  display: none;
}
.menu-list-tab .tab__right-button {
  top: 8px;
  right: 8px;
  width: 52px;
  height: 52px;
  background: #fffce9;
  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;
  font-weight: 700;
  border-radius: 100px;
}
.smarts .menu-list-tab .tab__right-button {
  display: none;
}

.menu-pagination {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: #000;
  color: #fff;
  display: none;
}
.menu-pagination__inner {
  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;
  gap: 20px;
  padding: 25px;
}
.menu-pagination__arrow {
  padding: 20px;
  border: 2px solid #999;
}
.menu-pagination .prev a {
  height: 50px;
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #fff;
  color: #000;
  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;
  border-radius: 6px;
  padding: 0 10px;
}
.menu-pagination .prev a.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.menu-pagination .next a {
  height: 50px;
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #fff;
  color: #000;
  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;
  border-radius: 6px;
  padding: 0 10px;
}
.menu-pagination .next a.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.cart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  overflow-y: scroll;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 10px;
  padding-bottom: 160px;
  position: relative;
  overflow: hidden;
  background: #333;
}
.smarts .cart {
  padding-bottom: 228px;
}
.cart__title {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.smarts .cart__title {
  font-size: 20px;
}
.cart__text {
  font-size: 13px;
  color: #fff;
  text-align: center;
  margin: 10px 0;
}
.cart__wrap {
  height: 100%;
  position: relative;
}
.cart__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  max-height: 100%;
  overflow-y: scroll;
  scrollbar-width: none;
  padding-bottom: 100px;
}
.cart__item {
  background: #fff;
  padding: 8px;
  border-radius: 6px;
}
.cart__item-name {
  font-weight: 700;
  margin-bottom: 2px;
  font-size: 15px;
}
.smarts .cart__item-name {
  font-size: 20px;
}
.cart__item-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: 700;
  margin-top: 4px;
  border-top: 1px solid #efefef;
  padding-top: 4px;
}
.smarts .cart__item-bottom {
  font-size: 20px;
}
.cart__item-delete {
  background-color: rgb(188, 37, 37);
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
  display: inline-block;
  padding: 3px 6px;
}
.smarts .cart__item-delete {
  font-size: 18px;
}
.cart__option {
  font-size: 13px;
  display: inline-block;
}
.smarts .cart__option {
  font-size: 18px;
}
.cart__total {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cart__total-title {
  font-weight: bold;
  font-size: 18px;
}
.smarts .cart__total-title {
  font-size: 18px;
}
.cart__total-price {
  font-weight: bold;
  font-size: 28px;
}
.smarts .cart__total-price {
  font-size: 20px;
}
.cart__bottom {
  background: rgb(255, 255, 255);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.6)), color-stop(10%, rgb(255, 255, 255)), to(rgb(255, 255, 255)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgb(255, 255, 255) 10%, rgb(255, 255, 255) 100%);
  padding: 20px 20px 15px 20px;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  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;
}
.smarts .cart__bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  background: #fff;
  padding: 20px 10px 55px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.cart__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cart__buttons-button {
  padding: 15px;
  width: 100%;
  text-align: center;
  min-width: 253px;
  border-radius: 8px;
  font-size: 20px;
  font-weight: 700;
  white-space: nowrap;
}
.smarts .cart__buttons-button {
  min-width: unset;
  font-size: 18px;
}
/* 今井追加*/
.cart__buttons-button--order[disabled] {
  opacity: 0.6;
  background-color: #cccccc;
}
.cart__buttons-button--cancel {
  background: #ffe388;
  color: #000;
}
.cart__buttons-button--order {
  background: #09ac3f;
  color: #fff;
}
.cart-close {
  display: none;
}
.smarts .cart-close {
  display: block;
  width: 40px;
  height: 40px;
  background: #f7f7f7;
  border-radius: 50%;
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40px;
          flex: 0 0 40px;
  position: absolute;
  left: 10px;
  top: 10px;
  position: absolute;
  top: 10px;
  left: 10px;
  border: 1px solid #333;
}
.smarts .cart-close:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 45%;
  width: 10px;
  height: 10px;
  border: 1px solid #333;
  border-right: none;
  border-top: none;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.scroll-indicator {
  display: none;
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  text-align: center;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 100;
}
.smarts .modal {
  right: 0;
  margin: auto;
  max-width: 500px;
}
.modal__inner {
  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;
  width: 100%;
  height: 100%;
}
.modal__content {
  width: 96%;
  max-height: 96%;
  background: #fff;
  margin: auto;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}
.smarts .modal__content {
  width: 100%;
  max-height: 100%;
  height: 100%;
  border-radius: 0;
}
.modal__content-wrap {
  touch-action: pan-y;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 30% 70%;
  grid-template-columns: 30% 70%;
  -ms-grid-rows: 45px auto 78px;
  grid-template-rows: 45px auto 78px;
  height: 100%;
}
.modal__content-wrap > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.modal__content-wrap > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}
.modal__content-wrap > *:nth-child(3) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}
.modal__content-wrap > *:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}
.modal__content-wrap > *:nth-child(5) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.modal__content-wrap > *:nth-child(6) {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
}
.smarts .modal__content-wrap {
  display: block;
  overflow-y: scroll;
  max-height: 100dvh;
}
.modal-top {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  padding: 10px;
  background: #eee;
}
.smarts .modal-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.modal-top h3 {
  font-size: 20px;
  font-weight: 700;
}
.modal-body {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  padding: 20px;
}
.smarts .modal-body {
  padding-top: 46px;
  padding-bottom: 100px;
}
.modal-left {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  padding: 20px 20px 20px 20px;
  max-height: 540px;
}
.modal-left__image {
  height: auto;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #ddd;
}
.modal-left__image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.modal-left__price {
  font-size: 16px;
  font-weight: 700;
  margin-top: 10px;
  text-align: right;
}
.modal-right {
  touch-action: pan-y;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 12px 20px;
  overflow: scroll;
  /*max-height: 540px;*/
  /*縦画面対応*/
  max-height: 70vh;
}
.smarts .modal-right {
  max-height: unset;
  overflow: auto;
  padding-bottom: 120px;
}
.modal-right__row {
  padding: 13px 0;
}
.modal-right__row .inline-radio__btn {
  text-align: center;
  line-height: 1.4;
}
.modal-right__title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
.modal-right .select-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.modal-right__option-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
}
.modal-right__option {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(100% - 135px);
          flex: 1 1 calc(100% - 135px);
  width: 100%;
}
.modal-bottom {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px solid #ddd;
  padding: 12px;
}
.smarts .modal-bottom {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #fff;
}
.modal-bottom__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}
.modal-bottom__price-price {
  font-size: 20px;
}
.modal-bottom__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.smarts .modal-bottom__buttons {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.smarts .modal-bottom__buttons > * {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.modal-bottom__buttons .modal-button {
  padding: 12px;
  border-radius: 6px;
  font-size: 18px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.smarts .modal-bottom__buttons .modal-button {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 19px;
}
.modal-bottom__buttons .modal-button--close {
  background: #ffe388;
  color: #000;
}
.modal-bottom__buttons .modal-button--insert {
  background: #00c365;
  color: #fff;
}

.modal-form {
  max-height: 100%;
}
.smarts .modal-form {
  position: relative;
}

.select-btn {
  padding: 10px 12px;
  /*background: #f2f2f2;*/
  /*border: 1px solid #bfbfbf;*/
  border-radius: 6px;
  font-size: 15px;
  display: inline-block;
  background: #00c365;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  margin-top: 5px;
}
.select2 .select2-selection {
  padding: 0 0 4px !important;
  height: auto !important;
  font-size: 13px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50% !important;
  -webkit-transform: translateY(-50%) !important;
          transform: translateY(-50%) !important;
}

#loading {
  position: fixed;
  /* 画面全体を覆う */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  /* 半透明の黒 */
  color: white;
  /* ローディングテキストの色 */
  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;
  /* 中央揃え */
  z-index: 1000;
  /* 他の要素より前面に */
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#loading.active {
  opacity: 1;
  pointer-events: auto;
}

.dli-loading-1 {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 6em;
  height: 6em;
  border: 0.6em solid currentColor;
  border-top-color: rgba(102, 102, 102, 0.3);
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-animation: rotate 1s linear infinite;
          animation: rotate 1s linear infinite;
  outline: 4px solid #fff;
  background: #fff;
  opacity: 0.9;
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.printer {
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.printer__item {
  margin-bottom: 20px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}
.printer__item-name {
  text-align: center;
  margin-bottom: 10px;
}
.printer__item-bottom {
  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;
  gap: 10px;
}
.printer__item-bottom a {
  background: #fff;
  color: #444444;
  border: 1px solid #bfbfbf;
  padding: 10px;
  display: inline-block;
}

.input-id-area {
  width: 100%;
  max-width: 400px;
  margin: auto;
}
.input-id-area__wrap {
  height: calc(100% - 165px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  touch-action: pan-y;
}
.smarts .input-id-area__wrap {
  padding: 20px;
}
.input-id-area .ten-key {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5px 1fr 5px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  margin-top: 10px;
}
.input-id-area .ten-key__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  margin-top: 5px;
}
.input-id-area .ten-key__bottom .key-0 {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc((100% - 5px) / 3);
          flex: 1 1 calc((100% - 5px) / 3);
}
.input-id-area .ten-key__bottom .key-delete {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc((100% - 5px) / 3);
          flex: 1 1 calc((100% - 5px) / 3);
  background: #ffe388;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(245, 245, 245, 0.2901960784)), color-stop(50%, rgba(225, 225, 225, 0.2666666667)), color-stop(52%, rgba(255, 255, 255, 0.2588235294)), to(rgba(255, 255, 255, 0.5176470588)));
  background-image: linear-gradient(to top, rgba(245, 245, 245, 0.2901960784) 0%, rgba(225, 225, 225, 0.2666666667) 50%, rgba(255, 255, 255, 0.2588235294) 52%, rgba(255, 255, 255, 0.5176470588) 100%);
}
.input-id-area .ten-key__bottom .key-clear {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc((100% - 5px) / 3);
          flex: 1 1 calc((100% - 5px) / 3);
  background: #ffe388;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(245, 245, 245, 0.2901960784)), color-stop(50%, rgba(225, 225, 225, 0.2666666667)), color-stop(52%, rgba(255, 255, 255, 0.2588235294)), to(rgba(255, 255, 255, 0.5176470588)));
  background-image: linear-gradient(to top, rgba(245, 245, 245, 0.2901960784) 0%, rgba(225, 225, 225, 0.2666666667) 50%, rgba(255, 255, 255, 0.2588235294) 52%, rgba(255, 255, 255, 0.5176470588) 100%);
}
.input-id-area .ten-key__submit {
  margin-top: 15px;
}
.input-id-area .ten-key__submit button {
  color: #fff;
  background: #09ac3f;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(245, 245, 245, 0.2901960784)), color-stop(50%, rgba(225, 225, 225, 0.2666666667)), color-stop(52%, rgba(255, 255, 255, 0.2588235294)), to(rgba(255, 255, 255, 0.5176470588)));
  background-image: linear-gradient(to top, rgba(245, 245, 245, 0.2901960784) 0%, rgba(225, 225, 225, 0.2666666667) 50%, rgba(255, 255, 255, 0.2588235294) 52%, rgba(255, 255, 255, 0.5176470588) 100%);
}
.input-id-area button {
  width: 100%;
  height: 60px;
  background: #fbfbfb;
  color: #282828;
  border: 1px solid #bfbfbf;
  border-radius: 6px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06);
          box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06);
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(245, 245, 245, 0.2901960784)), color-stop(50%, rgba(225, 225, 225, 0.2666666667)), color-stop(52%, rgba(255, 255, 255, 0.2588235294)), to(rgba(255, 255, 255, 0.5176470588)));
  background-image: linear-gradient(to top, rgba(245, 245, 245, 0.2901960784) 0%, rgba(225, 225, 225, 0.2666666667) 50%, rgba(255, 255, 255, 0.2588235294) 52%, rgba(255, 255, 255, 0.5176470588) 100%);
}
.input-id-area .input-id {
  width: 100%;
  height: 60px;
  padding: 10px 20px 5px;
  border: 1px solid #bfbfbf;
  border-radius: 6px;
  background: #fff;
  font-weight: 700;
  font-size: 24px;
}

.main .select2-container--default .select2-selection--multiple .select2-selection__choice {
  padding: 4px 8px 4px 30px;
}

.main .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  padding: 4px;
}

.select-change {
  padding: 6px 12px;
  background: #f3f3f3;
  border: 1px solid #b7b7b7;
  border-radius: 3px;
}

.select2-results__options {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10px 1fr 10px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px 10px;
  padding: 10px !important;
}

.select2-results__option {
  padding: 16px !important;
  border: 1px solid #bfbfbf;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);
}

.select2-container--default .select2-results__option--selected {
  background-color: #024fa0;
}

.mv {
  width: 100%;
  height: auto;
  position: relative;
}
.mv__bg {
  width: 100%;
  height: 200px;
}
.mv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.mv__inner img {
  width: 300px;
}

.top-page {
  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;
  height: 100dvh;
  width: 100%;
}
.top-page__inner {
  text-align: center;
}

.top-text-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  padding: 10px 20px;
}

.top-title {
  font-size: 16px;
  font-weight: bold;
}

.top-text img {
  width: 100%;
  height: auto;
}

.top-image {
  width: 100%;
  max-width: 600px;
}

.eat-type-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 30px;
}
.eat-type-link__item {
  border-radius: 10px;
  -webkit-box-shadow: 4px 4px 6px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 4px 4px 6px 0 rgba(0, 0, 0, 0.2);
  border: 2px solid #fff;
  overflow: hidden;
  width: 330px;
}

.global-menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  height: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 100;
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}
.smarts .global-menu {
  right: 0;
  margin: auto;
  max-width: 500px;
}
.global-menu__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-left: 1px solid #d6d6d6;
  height: 100%;
}
.global-menu__item:first-child {
  border-left: none;
}
.global-menu__item a {
  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;
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 12px;
}

.sub-menu {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  top: 100%;
  margin: auto;
  background: #f3f3f3;
  height: 100%;
  z-index: 10;
  /*ボタン内側*/
}
.smarts .sub-menu {
  max-width: 500px;
  margin: auto;
}
.sub-menu.active {
  top: 0%;
}
.sub-menu__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  padding: 20px;
  padding-bottom: 40px;
}
.sub-menu__inner a {
  padding: 20px 0;
  border-bottom: 1px solid #c3c3c3;
}
.sub-menu__inner a:last-child {
  border-bottom: none;
}
.sub-menu__close {
  position: absolute;
  top: 10px;
  right: 10px;
  /*ボタン内側の基点となるためrelativeを指定*/
  width: 50px;
  height: 50px;
  cursor: pointer;
  background: #fff;
}
.sub-menu__close span {
  display: inline-block;
  position: absolute;
  left: 13px;
  height: 2px;
  background-color: #666;
}
.sub-menu__close span:nth-of-type(1) {
  top: 20px;
  left: 16px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 35%;
}
.sub-menu__close span:nth-of-type(2) {
  top: 32px;
  left: 16px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 35%;
}

.normal-button {
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  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;
}
.smarts .normal-button {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 14px;
}
.normal-button--cancel {
  background: #ffe388;
  color: #000;
}
.normal-button--primary {
  background: #00c365;
  color: #fff;
}

.small-button {
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
  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;
}
.smarts .small-button {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 12px;
}
.small-button--cancel {
  background: #ffe388;
  color: #000;
}
.small-button--primary {
  background: #00c365;
  color: #fff;
}
/*
//以下は今井が追加
 */
.error-output{
  margin-top: 10px;

}
.summary-container {
  display: flex;
}
.summary-left,
.summary-right {
  width: 50%;
  padding: 10px;
}
.summary-item {
  text-align: left;
  font-size: x-large;
  border-bottom: 1px solid #000;
  margin-bottom: 10px;
}
.socket-textarea {
  font-size: small; /* Makes the text smaller */
  width: 100%; /* Sets the width to 100% */
  border: 1px solid gray; /* Adds a gray border */
  resize: none; /* Prevents resizing if needed */
  padding: 5px; /* Optional: adds padding for better readability */
}
.summary-item:last-child {
  margin-bottom: 20px;
}
#startOrder {
  display: flex;
  justify-content: center;
  gap: 20px;
  /*margin-top: 30px;*/
  height: 300px; /* 高さを統一 */
}

#startOrder span {
  display: inline-block;
  text-align: center;
  width: 33%;
}

#startOrder img {
  margin-top: 15px;
}

.order-btn-choice {
  background: #09ac3f;
  color: #fff;
  border-bottom: 5px solid #078932;
}
.order-container {
  display: flex; /* Flexboxを有効化 */
  justify-content: flex-start; /* 水平方向に中央揃え */
  flex-direction: column; /* 子要素を縦に並べる */
  align-items: center; /* 垂直方向に中央揃え */
  gap: 20px; /* 子要素間の余白 */
  height: 400px; /* 高さを統一 */
  /*padding: 20px; !* 内側余白を調整 *!*/
  box-sizing: border-box; /* パディングを含めたサイズ制御 */
}

/* 子要素の画像設定 */
.order-container img {
  /*max-width: 400px; !* 最大幅を指定 *!*/
  /*width: 80%; !* デフォルトの幅（必要なら調整） *!*/
  /*margin-bottom: 20px;*/
}

.order-container h2 {
  text-align: center;
  font-size: xx-large;
  margin-bottom: 20px;
}

.order-box {
  display: flex; /* Flexboxでレイアウト */
  width: 100%; /* 必要に応じて全幅を指定 */
  gap: 10px; /* 子要素間の隙間 */
  align-items: center; /* 垂直方向を中央揃え（必要に応じて） */
  align-items: flex-start;
}
/* 画像コンテナ（1/3サイズ） */
.image-box {
  flex: 1; /* 全体の1/3の比率 */
  max-width: 33.33%; /* 必要に応じて最大幅を設定 */
  text-align: right; /* 画像を中央揃え */
}

/* テキストコンテナ（2/3サイズ） */
.text-box {
  flex: 2; /* 全体の2/3の比率 */
  max-width: 66.66%; /* 必要に応じて最大幅を設定 */
  display: flex; /* Flexboxを使用 */
  justify-content: flex-start; /* 水平方向の揃え（必要に応じて） */
  align-items: flex-start; /* 垂直方向を上揃え */
  flex-direction: column; /* 内容を縦方向に揃える */
}

/* 画像設定 */
.image-box img {
  width: auto; /* コンテナの幅に合わせる */
  height: 100%; /* アスペクト比を維持 */
}

.styled-button {
  color: #ffffff;
  background-color: #cccccc;

  padding: 12px;
  border-radius: 6px;
  font-size: 18px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.styled-button:enabled {
  background-color: #4CAF50; /* 有効化されたときの色 */
}
.status-badge {
  display: inline-block;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 15px;
  color: #ffffff;
  margin: 5px;
  text-align: center;
}

.disconnected {
  background-color: #FF6347; /* 赤系の色で不通状態を表現 */
}

.connected {
  background-color: #4CAF50; /* 緑系の色で接続状態を表現 */
}

.unknown {
  background-color: #FFA500; /* オレンジ系の色で不明状態を表現 */
}

.slider-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%; /* バナーの幅を調整 */
  max-width: 200px; /* 最大幅を指定 */
}
.slider {
  max-width: 65%; /* 親要素のサイズに従う */
  margin: 30px auto;
}
.slider img {
  width: 100%;
  height: auto;
}
/* 矢印のスタイル */
.slick-prev, .slick-next {
  font-size: 0; /* "next" や "prev" のテキストを非表示 */
  z-index: 10; /* 他の要素より前面に */
  width: 40px; /* 矢印のサイズ */
  height: 40px; /* 矢印のサイズ */
}

/* 矢印のアイコンの色とデザインをカスタマイズ */
.slick-prev::before, .slick-next::before {
  color: black !important; /* 矢印の色を黒に */
  font-size: 30px; /* 矢印のサイズ */
  opacity: 1; /* デフォルトでは0.75になっているので明るくする */
}

/* 矢印の位置調整（必要に応じて変更） */
.slick-prev {
  left: -50px; /* 左矢印の位置 */
}
.slick-next {
  right: -50px; /* 右矢印の位置 */
}
.top-lang-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  padding: 10px 20px;
}

.top-lang {
  font-size: 20px;
  font-weight: bold;
}
.top-text img {
  width: 100%;
  height: auto;
}
#language ul {
  list-style: none; /* リストマーカーを非表示 */
  display: flex; /* フレックスボックスを使用 */
  justify-content: center; /* アイテムを中央寄せ */
  max-width: 860px; /* 最大幅を設定 */
  margin: 0 auto; /* 水平方向の中央寄せ */
  flex-wrap: wrap;
  padding: 0;
}
#language ul li {
  width: 185px;
  box-sizing: border-box;
  margin: 0 15px 15px 15px;
}
#language ul li a {
  background-color: #5d5d5d;
  border-radius: 50px;
  padding: 5px 15px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  font-size: 18px;
}
#language ul li a.selected{
  background-color: #B90000;
  border-radius: 50px;
  padding: 5px 15px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  font-size: 18px;
}
#language ul li a:after {
  display: block;
  content: '>';
  padding: 0 0 0 5px;
}
.slick-slide a {
  position: relative;
  display: block; /* <a>タグをブロック要素にして基準を明確にする */
}

.banner-label {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 5px 15px;
  font-size: 16px;
  border-radius: 0 0 5px 5px;
  z-index: 10;
}

.eat-in {
  background-color: rgb(201, 8, 8, 1.0);
}

.take-out {
  background-color: rgb(201, 8, 8, 1.0);
}

.language-selector {
  height: 100%;
  width: 100%;
}

/* クリックするボタン */
.language-selector__button {
  transition: transform 0.2s ease-in-out;
}

.language-selector__button:hover {
  transform: scale(1.1);
}

/* 吹き出し（ポップオーバー） */
.language-popover {
  position: absolute;
  bottom: 110%; /* ボタンの真上に表示 */
  transform: translateX(-50%); /* 水平中央揃え */
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  width: 150px; /* 吹き出しの幅 */
  padding: 8px 0;

  /* 最初は非表示にしておく */
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
  transform-origin: bottom center;
}

/* is-activeクラスが付いたときに吹き出しを表示 */
.language-selector.is-active .language-popover {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(-10px); /* 少し上に浮き上がるアニメーション */
}

/* 吹き出し内のリストとリンクのスタイル */
.language-popover ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.language-popover ul li a {
  display: block;
  padding: 10px 20px;
  color: #333;
  text-decoration: none;
  transition: background-color 0.2s;
}

.language-popover ul li a:hover {
  background-color: #f0f0f0;
}
.language-selector__button .language-flag-icon {
  width: 50px; /* ボタンのサイズに合わせて調整 */
  height: auto;
  object-fit: cover;
}
#vescaRetry{
  background-color: #fff;
  display: inline-block;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 15px;
  margin: 5px;
  text-align: center;
}