@charset "utf-8";
/* html{
    scroll-behavior: smooth;
}
@media only screen and (max-width: 576px) {
    html{
        scroll-padding-top: 67px;
    }
}
div#breadcrumb_container {
    border-bottom: none;
}
main#stripeBg{
    background: #FAF7F0;
}
li{
    list-style:none;
}
a:hover{
    text-decoration: none;
}
h1,h2,a,div{
    font-family: "Noto Sans JP", sans-serif;
}
.sp{
    display: none;
} */

:root {
  --font-xl: clamp(28px, 3vw, 40px);
  --font-lg: clamp(22px, 2.2vw, 30px);
  --font-md: clamp(18px, 1.6vw, 22px);
  --font-sm: clamp(14px, 1.2vw, 16px);
}

/* * html body {
  background: url(null) fixed;
} */
html {
  font-size: 62.5%;
  overflow-x: hidden;
}
/*ナビ表示のときはスクロールしないように*/
html.is-locked {
  overflow-y: hidden;
}

body {
  margin: 0;
  padding: 0;
  height: auto !important;
  /* background: var(--bg-main-color);
  color: var(--primary-color); */
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  font-style: normal;
  font-family:
    "Noto Sans JP",
    YuGothic,
    "Yu Gothic Medium",
    "Yu Gothic",
    -apple-system,
    BlinkMacSystemFont,
    Roboto,
    "Segoe UI",
    "Helvetica Neue",
    HelveticaNeue,
    Verdana,
    Meiryo,
    sans-serif !important;
  overflow-wrap: break-word;
  text-size-adjust: 100%;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
#header {
  background-color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

img {
  border-style: none;
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}
img,
video {
  max-width: 100%;
  height: auto;
  /* margin: 0 auto; */
}

ol {
  padding-inline-start: 0 !important;
}

dl {
  margin: 0;
}

.container {
  width: 100%;
  background: #fff;
}

a {
  text-decoration: none;
}

a:hover,
a:focus {
  text-decoration: none !important;
}

p {
  margin: 0;
}

li {
  list-style: none;
}

.pc_block {
  display: none;
  @media screen and (min-width: 1024px) {
    .pc_block {
      display: block;
    }
  }
}

.tab_pc_block {
  display: none;
  @media screen and (min-width: 768px) {
    .tab_pc_block {
      display: block;
    }
  }
}

.sp_block {
  display: block;
  @media screen and (min-width: 1024px) {
    .sp_block {
      display: none;
    }
  }
}

.main {
  overflow: hidden;
}

/* ------------------------------------------------------------ */
/* common layouts */

.inner {
  width: 100%;
  max-width: 100%;
  height: auto;
  /*padding: 0 1em;*/
  margin: 0 auto;
  clear: both;

  @media screen and (min-width: 1024px) {
    max-width: 1000px;
  }
}
.inner::after {
  content: "";
  clear: both;
  display: block;
}

.content {
  position: relative;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0 auto;
}
.base {
  position: relative;
  width: 100%;
  height: auto;
  padding: 3em 0;
  margin: 0 auto;
}

.content_inner {
  width: 100%;
  max-width: 100%;
  height: auto;
  padding: 0 1em;
  margin: 0 auto;
  clear: both;

  @media screen and (min-width: 1024px) {
    max-width: 1000px;
  }
}

.flx_box {
  display: block;
}

.flx_box .flx_item:first-child {
  margin: 0 0 2em 0;
}

.center {
  margin: 0 auto;
  text-align: center;
}

/* ------------------------------------------------------------ */
/* ここから オリジナル */
#menu.renew2026 {
  padding: 3em 0 0;

  .tab {
    max-width: inherit;
    padding: 1% 0;
    margin: auto;

    .scroll_box {
      display: flex;
      justify-content: flex-start;
      flex-wrap: nowrap;
      overflow-x: auto;
      padding-bottom: 10px;

      /* Firefox */
      scrollbar-width: thin;
      scrollbar-color: #f0858a transparent;

      &::-webkit-scrollbar {
        height: 10px;
      }

      &::-webkit-scrollbar-thumb {
        background: #f0858a;
        border-radius: 10px;
      }

      &::-webkit-scrollbar-track {
        background: transparent;
      }
    }

    a {
      display: flex;
      flex-flow: column;
      align-items: center;
      min-width: 147px;
      font-weight: bold;
      color: #e40012;
      text-align: center;
      line-height: 1.2;
      background-color: #ffffff;
      border-radius: 10px;
      border: 1px solid #ffffff;
      box-shadow: 2px 2px 2px rgb(100 100 100 / 20%);
      padding: 5px .5em 8px;
      transition: all 0.3s ease;
      margin: 0 10px 0 0;

      &:hover,
      &:focus {
        background-color: #e60012;
        border: 1px solid #e60012;
        color: #ffffff;
      }

      .tab_arrow::before,
      .tab_arrow::after {
        content: "";
        position: absolute;
        bottom: -6px;
        left: calc(50% - 1px);
        width: 2px;
        height: 10px;
        border-radius: 9999px;
        background-color: #e40012;
        transform-origin: 50% calc(100% - 1px);
        transition: all 0.3s ease;

        @media screen and (min-width: 897px) {
          bottom: 0;
        }
      }

      &:hover .tab_arrow::before,
      &:hover .tab_arrow::after {
        background-color: #fff;
      }

      .tab_arrow::before {
        transform: rotate(45deg);
      }

      .tab_arrow::after {
        transform: rotate(-45deg);
      }

      .small {
        font-size: 12px;
      }
    }
  }

  .menu_section {
    position: relative;
    max-width: inherit;
    border: none;
    padding: 0 0 4em;

    &.line {
      &::before {
        position: absolute;
        content: "";
        max-width: 960px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        height: 1px;
        background-color: #4e4e4e;
      }
    }

    .ttl_box {
      position: relative;
      text-align: center;
      padding: 2em 0;

      h2 {
        color: #232323;
        margin-top: 3px;
        margin-bottom: 0;
        letter-spacing: 5px;
        font-size: clamp(26px, 4vw, 32px);
      }

      .copy_text {
        color: #4e4e4e;
        font-weight: 600;
        letter-spacing: 3px;
        text-indent: 3px;
        font-size: clamp(14px, 2.4vw, 18px);
      }
    }

    .food_box {
      position: relative;

      .menu_ttl {
        font-size: clamp(19px, 3vw, 24px);
        margin: 0.4em 0 0;
      }

      .txt {
        font-size: clamp(14px, 2.2vw, 16px);
        min-height: 3em;
      }

      &.classic::before,
      &.popular::before,
      &.recommend::before,
      &.limited::before,
      &.sjk_classic::before,
      &.sjk_popular::before,
      &.sjk_recommend::before {
        content: "";
        position: absolute;
        background-size: contain;
        width: 63px;
        height: 62px;
        display: block;
        left: 3px;
        top: 3px;
        z-index: 10;
      }
      &.classic::before {
        background: url("/menu/img/classic.svg") center / contain no-repeat;
      }
      &.popular::before {
        background: url("/menu/img/popular.svg") center / contain no-repeat;
      }
      &.recommend::before {
        background: url("/menu/img/recommend_.svg") center / contain no-repeat;
      }
      &.limited::before {
        background: url("/menu/img/limited.svg") center / contain no-repeat;
      }
      &.sjk_classic::before {
        background: url("/menu/img/sjk_classic.svg") center / contain no-repeat;
      }
      &.sjk_popular::before {
        background: url("/menu/img/sjk_popular.svg") center / contain no-repeat;
      }
      &.sjk_recommend::before {
        background: url("/menu/img/sjk_recommend.svg") center / contain no-repeat;
      }

      .logo_right {
        position: relative;

        &::after {
          position: absolute;
          content: "";
          right: 5px;
          bottom: 5px;
        }

        &.hainan::after {
          background: url("/menu/img/menudoor/logo_hainan.jpg") center / contain no-repeat;
          width: 37%;
          height: 29%;
        }

        &.udon::after {
          background: url("/menu/img/menudoor/logo_udon.jpg") center / contain no-repeat;
          width: 24%;
          height: 50%;
        }

        &.curry::after {
          background: url("/menu/img/menudoor/logo_curry.png") center / contain no-repeat;
          width: 40%;
          height: 22%;
        }

        &.karaage::after {
          background: url("/menu/img/menudoor/logo_karaage.jpg") center / contain no-repeat;
          width: 18%;
          height: 39%;
        }

        &.salad::after {
          background: url("/menu/img/menudoor/logo_salad.jpg") center / contain no-repeat;
          width: 43%;
          height: 22%;
        }

        &.kaokao::after {
          background: url("/menu/img/menudoor/logo_kaokao.png") center / contain no-repeat;
          width: 40%;
          height: 22%;
        }

        &.doi::after {
          background: url("/menu/img/menudoor/logo_doi.png") center / contain no-repeat;
          width: 40%;
          height: 22%;
        }

        &.miyama::after {
          background: url("/menu/img/menudoor/logo_miyama.jpg") center / contain no-repeat;
          width: 34%;
          height: 23%;
        }
      }
    }
  }
}

/* ---------------------- */
/* swiper */
.food-slider {
  visibility: hidden;
  position: relative;
  padding: 0 0 3em;
}

.food-slider.swiper-initialized {
  visibility: visible;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #e60012;
}
.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: #b4b3b3;
  opacity: 1;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 0;
}

/* ---------------------- */
/* modal */
.modal {
  display: none;
  width: 100%;
  inset: 0;
  z-index: 9999;

  .modalOverlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
  }

  .modalContainer {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 640px;
    height: 70vh;
    width: 90%;
    background: #f3eee7;
    border: 4px solid #e60012;
    border-radius: 20px;
    padding: 2em 1em 2em 2em;
    z-index: 88;

    .modalConte {
      height: 66vh;
      max-height: 80vh;
      overflow-y: scroll;

      &::-webkit-scrollbar {
        width: 12px;
      }

      &::-webkit-scrollbar-thumb {
        width: 10px;
        background: #f9969e;
        border-radius: 10px;
      }

      &::-webkit-scrollbar-thumb:hover {
        background: #ccc;
      }

      .modalLogo {
        margin: 0 auto 2em;
      }
    }
  }
}

.modal .modalContainer .modalImg {
  position: relative;

  &::after {
    position: absolute;
    content: "";
    right: 5px;
    bottom: 5px;
  }
}

.modal.hainan .modalContainer .modalImg::after {
  background: url("/menu/img/menudoor/logo_hainan.jpg") center / contain no-repeat;
  width: 37%;
  height: 29%;
}

.modal.udon .modalContainer .modalImg::after {
  background: url("/menu/img/menudoor/logo_udon.jpg") center / contain no-repeat;
  width: 24%;
  height: 50%;
}

.modal.curry .modalContainer .modalImg::after {
  background: url("/menu/img/menudoor/logo_curry.png") center / contain no-repeat;
  width: 40%;
  height: 22%;
}

.modal.karaage .modalContainer .modalImg::after {
  background: url("/menu/img/menudoor/logo_karaage.jpg") center / contain no-repeat;
  width: 18%;
  height: 39%;
}

.modal.salad .modalContainer .modalImg::after {
  background: url("/menu/img/menudoor/logo_salad.jpg") center / contain no-repeat;
  width: 43%;
  height: 22%;
}

.modal.kaokao .modalContainer .modalImg::after {
  background: url("/menu/img/menudoor/logo_kaokao.png") center / contain no-repeat;
  width: 40%;
  height: 22%;
}

.modal.doi .modalContainer .modalImg::after {
  background: url("/menu/img/menudoor/logo_doi.png") center / contain no-repeat;
  width: 40%;
  height: 22%;
}

.modal.miyama .modalContainer .modalImg::after {
  background: url("/menu/img/menudoor/logo_miyama.jpg") center / contain no-repeat;
  width: 34%;
  height: 23%;
}

.modalAreaHeadline {
  text-align: center;
  margin: 1em 0 0 0;
}

.modalShopList {
  text-align: center;

  a {
    text-decoration: underline;
    color: #333;
    transition: all 0.3s ease;

    &:hover {
      text-decoration: none;
      color: #e60012;
    }
  }
}

.modalClose {
  position: absolute;
  right: -20px;
  top: -20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #e60012;
  color: #fff;
  font-size: 28px;
  border: none;
  cursor: pointer;
  z-index: 999;
}

.modalImg img {
  width: 100%;
}

.modalLogo img {
  height: 40px;
}

.modalArea {
  font-size: 20px;
  margin-top: 20px;
}

.modalShop {
  line-height: 1.8;
  margin-top: 10px;
}

body.modalOpen {
  overflow: hidden;
}

/* 共通ボタン */
.btn {
  display: block;
  margin: 2em auto;

  .btn_wht {
    font-size: 18px;
    &::after {
      width: 12px;
      height: 24px;
    }
  }
}

.btn_wht {
  position: relative;
  font-weight: 700;
  color: #e60012;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  padding: 0.8em 3.6em 0.8em 2em;
  transition: all 0.3s ease;

  &:hover {
    color: #fff;
    background: #e60012;
  }

  &::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 52%;
    transform: translateY(-50%);
    background: url(../img/menudoor/arrow-right-solid.svg) center / contain no-repeat;
    transition: all 0.3s ease;
  }

  &:hover::after {
    background: url(../img/menudoor/arrow-right-wht.svg) center / contain no-repeat;
    right: 12px;
  }
}

/* btn_box */
.btn_box {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-top: 12px;

  .btn_box button,
  .btn_box a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    line-height: 1;
    transition: all 0.3s ease;
  }

  .btn_red {
    height: 36px;
    font-weight: 700;
    line-height: 1;
    background: #e60012;
    border: 2px solid #e60012;
    color: #fff;
    border-radius: 8px;
    padding: 0.6em 1em;
    transition: all 0.3s ease;

    &:hover {
      color: #e60012;
      background: #fff;
    }
  }

  .btn_wht {
    padding: 0.6em 3em 0.6em 1em;
    &::after {
      width: 8px;
      height: 16px;
    }
    &:hover::after {
      right: 12px;
    }
  }
}

/* バナー　*/
.bn {
  max-width: 300px;
  text-align: center;
  margin: 2em auto;

  @media screen and (min-width: 768px) {
    max-width: 420px;
  }

  a {
    &:hover {
      opacity: 0.8;
    }
  }

  span {
    font-size: 12px;
  }
}
