@charset "UTF-8";
/* =================================
Reset
================================= */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  border: none;
  cursor: pointer;
}

img {
  width: 100%;
  vertical-align: bottom;
}

em {
  font-style: normal;
}

:focus {
  outline: none;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* =================================
Base
================================= */
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #440F0E;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
}

.font-shippori {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
}

.font-bebas {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
}

/* =================================
style 2025/07/07 var1.0.1
================================= */
/* header */
.l-header {
  display: none;
  position: sticky;
  top: 20px;
  z-index: 100;
  width: 337px;
  height: 52px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .l-header {
    display: block;
  }
}
.l-header .gnav-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  background: url(/assets/img/common/bg_gnav.svg) no-repeat 0 0/contain;
}
.l-header .gnav-wrap .btn-home {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 60px;
  background: url(/assets/img/common/logo_gnav.svg) no-repeat center right 12px/30px 39px;
}
.l-header .gnav-wrap .btn-home a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}
.l-header .gnav-wrap .btn-reservation {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 96px;
  background: #D80C23;
  border: 2px solid #280606;
}
.l-header .gnav-wrap .btn-reservation a {
  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;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}
.l-header .gnav-wrap .gnav {
  position: relative;
  width: 100%;
}
.l-header .gnav-wrap .gnav .menu {
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 50px;
  height: 15px;
  cursor: pointer;
}
.l-header .gnav-wrap .gnav .menu::before, .l-header .gnav-wrap .gnav .menu::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #280606;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-header .gnav-wrap .gnav .menu::before {
  top: 0;
}
.l-header .gnav-wrap .gnav .menu::after {
  bottom: 0;
}
.l-header .gnav-wrap .gnav .menu.is-active {
  z-index: 103;
}
.l-header .gnav-wrap .gnav .menu.is-active::before, .l-header .gnav-wrap .gnav .menu.is-active::after {
  top: 50%;
  left: 50%;
  background-color: #fff;
}
.l-header .gnav-wrap .gnav .menu.is-active::before {
  -webkit-transform: translate(-50%, -50%) rotate(17deg);
          transform: translate(-50%, -50%) rotate(17deg);
}
.l-header .gnav-wrap .gnav .menu.is-active::after {
  -webkit-transform: translate(-50%, -50%) rotate(-17deg);
          transform: translate(-50%, -50%) rotate(-17deg);
}
.l-header .gnav-wrap .gnav .sp-gnav {
  display: none;
  position: fixed;
  top: 0;
  right: -900px;
  z-index: 101;
  width: 100%;
  height: 100%;
  padding: 80px min(8vw, 77.5px) 30px;
  background: #5A0D0D;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  overflow: scroll;
}
@media (max-width: 900px) {
  .l-header .gnav-wrap .gnav .sp-gnav {
    display: block;
  }
}
.l-header .gnav-wrap .gnav .sp-gnav.is-active {
  right: 0;
}
.l-header .gnav-wrap .gnav .gnav-list {
  width: min(100%, 288px);
  margin: 0 auto;
}
.l-header .gnav-wrap .gnav .gnav-list h2 {
  margin-bottom: 20px;
  padding: 0 14px;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  text-align: right;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding: 20px 0;
  border-top: 1px solid #fff;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  color: #fff;
  text-decoration: none;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list li::after {
  display: block;
  content: "";
  position: absolute;
  top: 26px;
  left: 0;
  width: 0;
  height: calc(100% - 26px);
  border-left: 1px dashed #DB4F4B;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list li:last-child::after {
  display: none;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list .num {
  margin-bottom: 5px;
  font-size: 1.4rem;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list .title {
  padding: 10px 0 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list .title small {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
.l-header .gnav-wrap .gnav .gnav-list .nav-list .title strong {
  display: block;
  font-size: 2.4rem;
}
.l-header .gnav-wrap .gnav .btn-gnav-reservation {
  max-width: 276px;
  margin: 0 auto 30px;
}
.l-header .gnav-wrap .gnav .btn-gnav-reservation a {
  display: block;
  width: min(73.6vw, 376px);
  height: min(33.0666666667vw, 124px);
  margin: 0 auto;
  background: url(/assets/img/common/btn_side_reservation.png) no-repeat 0 0/contain;
  text-indent: -9999px;
}

/* footer */
.l-footer {
  padding: 0 0 50px;
}
.l-footer .partner-logo {
  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;
  gap: 10px;
  padding: 10px min(8vw, 76px);
  background: #fff;
  border-top: 1px solid #000;
}
.l-footer .footer-nav {
  padding: 30px min(8vw, 77.5px) 53px;
}
.l-footer .footer-nav .corporate {
  -webkit-box-shadow: -6px 6px 0px 0px #000;
          box-shadow: -6px 6px 0px 0px #000;
}
.l-footer .footer-nav .footer-nav-list {
  margin-top: 41px;
}
.l-footer .footer-nav .footer-nav-list li + li {
  margin-top: 22px;
}
.l-footer .footer-nav .footer-nav-list li a {
  color: #fff;
  font-size: 1.4rem;
  text-decoration: none;
}
.l-footer .footer-nav .footer-nav-list li a[target=_blank] {
  padding-right: 28px;
  background: url(/assets/img/common/icon_new-window.svg) no-repeat right center;
}
.l-footer .copy {
  color: #fff;
  font-size: 1rem;
  text-align: center;
}

/* common */
body.no-scroll {
  overflow: hidden;
}

.l-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

.l-main {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 470px;
  min-height: 100svh;
  margin-left: auto;
  background: #990011;
}
.l-main .l-contents {
  margin-top: -52px;
  background: #fff;
}
.l-main .l-contents.home {
  background: #DED6C4;
}

.l-page-head {
  position: relative;
  min-height: 200px;
}
.l-page-head.detail {
  min-height: 160px;
}
.l-page-head.detail .page-title {
  display: none;
}
.l-page-head.news-shop {
  background: url(/assets/img/common/bg_page-head_news_shop.png) no-repeat top center/cover;
}
.l-page-head .page-title {
  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;
  position: absolute;
  top: 120px;
  left: min(72.3404255319vw, 340px);
  min-width: 48px;
  min-height: 156px;
  background: #fff;
  border: 1px solid #280606;
  -webkit-box-shadow: 6px 6px 0px 0px #D80C23;
          box-shadow: 6px 6px 0px 0px #D80C23;
  color: #000;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.l-breadcrumbs {
  padding: 10px min(8vw, 76px) 20px;
  border-bottom: 1px solid #280606;
}
.l-breadcrumbs .breadcrumbs-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px 0;
}
.l-breadcrumbs .breadcrumbs-list.single {
  padding-right: 90px;
}
@media (max-width: 470px) {
  .l-breadcrumbs .breadcrumbs-list.single {
    padding-right: 19.1489361702vw;
  }
}
.l-breadcrumbs .breadcrumbs-list li {
  font-size: 1.2rem;
}
.l-breadcrumbs .breadcrumbs-list li + li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 7px;
}
.l-breadcrumbs .breadcrumbs-list li + li::before {
  display: block;
  content: "";
  width: 5px;
  height: 8px;
  margin-right: 7px;
  background: url(/assets/img/common/arrow_breadcrumbs.svg) no-repeat 0 0/contain;
}
.l-breadcrumbs .breadcrumbs-list li a {
  color: #440F0E;
  text-decoration: none;
}

/* body bg */
.l-bg {
  position: fixed;
  width: 100%;
  height: 100%;
}
.l-bg video {
  width: calc(75% - 470px);
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 900px) {
  .l-bg video {
    width: calc(100% - 470px);
  }
}
.l-bg .back-home {
  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;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: calc(75% - 470px);
  height: 100%;
}
@media (max-width: 900px) {
  .l-bg .back-home {
    display: none;
  }
}
@media (max-width: 470px) {
  .l-bg {
    display: none;
  }
}
.l-bg img {
  max-width: 100%;
}

/* side */
.l-side {
  position: relative;
  z-index: 2;
  width: 25%;
  padding: 110px 0 0;
  background: #5A0D0D;
}
@media (max-width: 900px) {
  .l-side {
    display: none;
  }
}
.l-side .side-inner {
  position: sticky;
  top: 90px;
  width: min(25vw, 360px);
  margin: 0 auto;
}
.l-side .side-nav {
  width: min(100%, 288px);
  margin: 0 auto;
}
.l-side .side-nav h2 {
  margin-bottom: 20px;
  padding: 0 14px;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  text-align: right;
}
.l-side .side-nav .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding: 20px 0;
  border-top: 1px solid #fff;
}
.l-side .side-nav .nav-list li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
}
.l-side .side-nav .nav-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  color: #fff;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-side .side-nav .nav-list li a:hover {
  color: #FFEA29;
}
.l-side .side-nav .nav-list li::after {
  display: block;
  content: "";
  position: absolute;
  top: 26px;
  left: 0;
  width: 0;
  height: calc(100% - 26px);
  border-left: 1px dashed #DB4F4B;
}
.l-side .side-nav .nav-list li:last-child::after {
  display: none;
}
.l-side .side-nav .nav-list .num {
  margin-bottom: 5px;
  font-size: 1.4rem;
}
.l-side .side-nav .nav-list .title {
  padding: 10px 0 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.l-side .side-nav .nav-list .title small {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
.l-side .side-nav .nav-list .title strong {
  display: block;
  font-size: 2.4rem;
}
.l-side .btn-side-reservation {
  max-width: 277px;
  margin: 0 auto 72px;
}
.l-side .btn-side-reservation a {
  display: block;
  width: min(19.2361111111vw, 277px);
  height: min(8.5416666667vw, 123px);
  margin: 0 auto;
  background: url(/assets/img/common/btn_side_reservation.svg) no-repeat 0 0, url(/assets/img/common/btn_side_reservation_on.svg) no-repeat 0 0;
  background-size: contain, 0 0;
  text-indent: -9999px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .l-side .btn-side-reservation a:hover {
    background-size: 0 0, contain;
  }
}

/* module */
.mod-btn-general {
  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;
  min-height: 50px;
  padding: 0 30px 0 20px;
  background: #fff;
  border: 1px solid #000;
  border-radius: 5px;
  -webkit-box-shadow: -6px 6px 0px 0px #000;
          box-shadow: -6px 6px 0px 0px #000;
  color: #440F0E;
  font-size: 1.8rem;
  font-weight: 900;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.mod-btn-general span {
  width: 100%;
  text-align: center;
}
.mod-btn-general::after {
  display: block;
  content: "";
  width: 6px;
  height: 12px;
  margin-left: auto;
  background: url(/assets/img/common/arrow_btn.svg) no-repeat 0 0/contain;
}
@media (hover: hover) and (pointer: fine) {
  .mod-btn-general:hover {
    background: #FFEA29;
  }
}

.mod-btn-sub {
  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;
  min-height: 45px;
  padding: 0 30px 0 20px;
  background: #fff;
  border: 1px solid #000;
  border-radius: 5px;
  -webkit-box-shadow: -4px 4px 0px 0px #000000;
          box-shadow: -4px 4px 0px 0px #000000;
  color: #440F0E;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.mod-btn-sub span {
  width: 100%;
  text-align: center;
}
.mod-btn-sub::after {
  display: block;
  content: "";
  width: 6px;
  height: 12px;
  margin-left: auto;
  background: url(/assets/img/common/arrow_btn.svg) no-repeat 0 0/contain;
}
@media (hover: hover) and (pointer: fine) {
  .mod-btn-sub:hover {
    background: #FFEA29;
  }
}

.mod-btn-down {
  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;
  min-height: 45px;
  padding: 0 30px 0 20px;
  background: #fff;
  border: 1px solid #000;
  border-radius: 5px;
  -webkit-box-shadow: -4px 4px 0px 0px #000000;
          box-shadow: -4px 4px 0px 0px #000000;
  color: #440F0E;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.mod-btn-down span {
  width: 100%;
  text-align: center;
}
.mod-btn-down::after {
  display: block;
  content: "";
  width: 6px;
  height: 12px;
  margin-left: auto;
  background: url(/assets/img/common/arrow_btn.svg) no-repeat 0 0/contain;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media (hover: hover) and (pointer: fine) {
  .mod-btn-down:hover {
    background: #FFEA29;
  }
}

.mod-btn-inline {
  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;
  min-height: 30px;
  padding: 0 min(2.0833333333vw, 30px) 0 min(1.3888888889vw, 20px);
  background: #fff;
  border: 1px solid #C6142E;
  border-radius: 5px;
  color: #440F0E;
  font-size: 1.2rem;
  font-weight: 400;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.mod-btn-inline span {
  width: 100%;
  text-align: center;
}
.mod-btn-inline::after {
  display: block;
  content: "";
  width: 4px;
  height: 7px;
  margin-left: auto;
  background: url(/assets/img/common/arrow_btn.svg) no-repeat 0 0/contain;
}
@media (hover: hover) and (pointer: fine) {
  .mod-btn-inline:hover {
    background: #FFEA29;
  }
}

.mod-article-thumb {
  height: 125px;
  margin-bottom: 15px;
  overflow: hidden;
}
.mod-article-thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

.mod-article-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
}
.mod-article-meta .date {
  font-size: 1.4rem;
}
.mod-article-meta .cat-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.mod-article-meta .cat-list li {
  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;
  min-height: 28px;
  margin-left: 10px;
  padding: 0 20px;
  background: #DB4F4B;
  border-radius: 50px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}

.mod-shop-info dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}
.mod-shop-info dt::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 5px;
  background: no-repeat center center/contain;
}
.mod-shop-info dt.tel::before {
  background-image: url(/assets/img/common/icon_tel.svg);
}
.mod-shop-info dt.fax::before {
  background-image: url(/assets/img/common/icon_fax.svg);
}
.mod-shop-info dt.address::before {
  background-image: url(/assets/img/common/icon_address.svg);
}
.mod-shop-info dt.access::before {
  background-image: url(/assets/img/common/icon_access.svg);
}
.mod-shop-info dt.time::before {
  background-image: url(/assets/img/common/icon_time.svg);
}
.mod-shop-info dt.calendar::before {
  background-image: url(/assets/img/common/icon_calendar.svg);
}
.mod-shop-info dt.pay::before {
  background-image: url(/assets/img/common/icon_pay.svg);
}
.mod-shop-info dt.capacity::before {
  background-image: url(/assets/img/common/icon_capacity.svg);
}
.mod-shop-info dt.parking::before {
  background-image: url(/assets/img/common/icon_parking.svg);
}
.mod-shop-info dt.service::before {
  background-image: url(/assets/img/common/icon_service.svg);
}
.mod-shop-info dt.facility::before {
  background-image: url(/assets/img/common/icon_facility.svg);
}
.mod-shop-info dd .btn-map {
  margin-top: 10px;
}
.mod-shop-info dd strong {
  font-weight: 700;
}
.mod-shop-info .pay-item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px 10px;
}
.mod-shop-info .pay-item-list li {
  max-width: 43px;
}
.mod-shop-info .pay-item-list li.traffic {
  max-width: none;
}
.mod-shop-info .pay-item-list li img {
  width: auto;
  height: 43px;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-shop-info .check-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 20px;
}
.mod-shop-info .check-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(50% - 10px);
}
.mod-shop-info .check-list li::before {
  display: block;
  content: "";
  width: 28px;
  height: 28px;
  margin-right: 10px;
  background: url(/assets/img/common/icon_check_off.svg) no-repeat 0 0/contain;
}
.mod-shop-info .check-list li.check::before {
  background-image: url(/assets/img/common/icon_check_on.svg);
}

.mod-reservation-box:has(.single.is-hidden) {
  display: none;
}
.mod-reservation-box .btn-reservation {
  width: 100%;
}
.mod-reservation-box .btn-reservation + .btn-reservation {
  margin-top: 10px;
}
.mod-reservation-box .btn-reservation a {
  display: block;
  max-width: 315px;
  height: min(13.3333333333vw, 50px);
  margin: 0 auto;
  background: no-repeat 0 0, no-repeat 0 0;
  background-size: contain, 0 0;
  text-indent: -9999px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .mod-reservation-box .btn-reservation a:hover {
    background-size: 0 0, contain;
  }
}
.mod-reservation-box .btn-reservation.web a {
  background-image: url(/assets/img/common/btn_web-reservation.svg), url(/assets/img/common/btn_web-reservation_on.svg);
}
.mod-reservation-box .btn-reservation.tel a {
  background-image: url(/assets/img/common/btn_tel-reservation.svg), url(/assets/img/common/btn_tel-reservation_on.svg);
}
.mod-reservation-box .btn-reservation.is-hidden {
  display: none;
}

/* home */
.home-kv {
  min-height: 690px;
  padding-top: 105px;
  background: url(/assets/img/home/bg_home-kv.png) no-repeat top center/contain;
}
@media (max-width: 450px) {
  .home-kv {
    min-height: 146.8085106383vw;
  }
}
.home-kv h1 {
  text-align: center;
}
.home-kv h1 img {
  width: auto;
  max-width: 100%;
}
@media (max-width: 450px) {
  .home-kv h1 img {
    width: 81.1111111111vw;
  }
}

.home-sec h2 {
  padding: 0 0 30px;
  border-bottom: 1px solid #fff;
  text-align: center;
}
.home-sec h2 img {
  width: auto;
  max-width: 100%;
}
.home-sec .sec-in {
  position: relative;
  margin-top: 10px;
  border-top: 1px solid #fff;
}
.home-sec .sec-btn {
  padding: 30px 0;
  border-top: 1px solid #fff;
}
.home-sec .sec-btn .mod-btn-general {
  max-width: 275px;
  margin: 0 auto;
}

.home-sec01 {
  padding: 10px 0 0;
  background: #C6142E;
}
.home-sec01 .sec-in {
  position: relative;
  min-height: 903px;
  background: url(/assets/img/home/bg_home-sec_01.png) no-repeat top center/contain;
}
.home-sec01 h3 {
  position: absolute;
  top: 36px;
  right: 61px;
}
.home-sec01 h3 span {
  display: block;
}
.home-sec01 h3 .icon {
  position: absolute;
  top: -67px;
  right: -30px;
  width: 79px;
  height: 79px;
  background: url(/assets/img/home/icon_consept_home_01.svg) no-repeat 0 0/contain;
  text-indent: -9999px;
}
.home-sec01 h3 .text {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
.home-sec01 .consept-list li {
  position: absolute;
  background: no-repeat 0 0/contain;
  text-indent: -9999px;
}
.home-sec01 .consept-list li:nth-child(1) {
  top: 148px;
  left: 140px;
  width: 93px;
  height: 253px;
  background-image: url(/assets/img/home/title_catch01_home_01.svg);
}
.home-sec01 .consept-list li:nth-child(2) {
  bottom: 250px;
  right: 67px;
  width: 93px;
  height: 226px;
  background-image: url(/assets/img/home/title_catch02_home_01.svg);
}
.home-sec01 .consept-list li:nth-child(3) {
  bottom: 51px;
  left: 66px;
  width: 89px;
  height: 273px;
  background-image: url(/assets/img/home/title_catch03_home_01.svg);
}

.home-sec02 {
  padding: 60px 0 0;
  background: #FFEA29;
}
.home-sec02 h2 {
  padding-bottom: 50px;
  border-color: #C6142E;
  border-width: 2px;
}
.home-sec02 .sec-in {
  border-color: #C6142E;
  border-width: 2px;
}
.home-sec02 .sec-btn {
  border-bottom: 1px solid;
  border-color: #C6142E;
  border-width: 2px;
}
.home-sec02 .title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 24px;
  margin-top: -49px;
  padding: 0 0 0 41px;
}
@media (max-width: 450px) {
  .home-sec02 .title-wrap {
    gap: 5.3333333333vw;
    padding-right: 9.1111111111vw;
  }
}
.home-sec02 h3 {
  display: block;
  width: 178px;
  height: 177px;
  background: url(/assets/img/home/title_catch_home_02.svg) no-repeat 0 0/contain;
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
}
@media (max-width: 450px) {
  .home-sec02 h3 {
    width: 39.5555555556vw;
    height: 39.3333333333vw;
  }
}
.home-sec02 h3 span {
  display: none;
}
.home-sec02 .training-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 10px;
}
.home-sec02 .training-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 44px;
  height: 144px;
  padding-top: 26px;
  background: url(/assets/img/home/bg_training_sec_02.svg) no-repeat 0 0/contain;
  font-size: 2.2rem;
  font-weight: 900;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.1em;
}

.home-sec03 {
  padding: 60px 0 0;
}
.home-sec03 h2 {
  border-color: #280606;
}
.home-sec03 h2 span {
  display: inline-block;
  position: relative;
}
.home-sec03 h2 strong {
  display: block;
  position: absolute;
  top: -18px;
  left: -66px;
  z-index: 2;
  width: 101px;
  height: 130px;
  background: url(/assets/img/home/title_catch_home_03.svg) no-repeat 0 0/contain;
  text-indent: -9999px;
}
@media (max-width: 450px) {
  .home-sec03 h2 strong {
    top: -4vw;
    left: -14.6666666667vw;
    width: 22.4444444444vw;
    height: 28.8888888889vw;
  }
}
.home-sec03 .sec-in {
  overflow: hidden;
  padding: 50px 0;
  border-color: #280606;
}
@media (max-width: 450px) {
  .home-sec03 .sec-in {
    padding: 80px 0 50px;
  }
}
.home-sec03 .sec-btn {
  border-color: #280606;
}
.home-sec03 .recommend-slide {
  min-height: 362px;
  background: url(/assets/img/home/bg_home-sec_03.svg) no-repeat 0 0/contain;
}
@media (max-width: 450px) {
  .home-sec03 .recommend-slide {
    min-height: 80.4444444444vw;
  }
}
.home-sec03 .recommend-slide .slick-list {
  overflow: visible;
}
.home-sec03 .recommend-slide .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 362px;
}
@media (max-width: 450px) {
  .home-sec03 .recommend-slide .slick-track {
    min-height: 80.4444444444vw;
  }
}
.home-sec03 .recommend-slide .item {
  position: relative;
}
.home-sec03 .recommend-slide .item .name {
  position: absolute;
  top: -108px;
  right: 33px;
  width: 44px;
  padding: 27px 0 17px;
  background: url(/assets/img/home/bg_menu_top_home-sec_03.svg) no-repeat top center/contain, url(/assets/img/home/bg_menu_bottom_home-sec_03.svg) no-repeat bottom center/contain;
}
.home-sec03 .recommend-slide .item .name span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  background: #fff;
  border-left: 2px solid #350B13;
  border-right: 2px solid #350B13;
  font-size: 1.8rem;
  font-weight: 800;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.home-sec03 .recommend-slide .item .image {
  width: 233px;
  height: 190px;
  margin: 0 auto;
  padding-top: 20px;
}
.home-sec03 .recommend-slide .item .image img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.home-sec04 {
  padding: 60px 0 0;
  background: #000;
}
.home-sec04 .sec-in {
  padding: 40px 0 45px;
}
.home-sec04 .sec-btn {
  padding: 0 0 60px;
  border-top: none;
}
.home-sec04 .mod-btn-general {
  -webkit-box-shadow: -6px 6px 0px 0px #C6142E;
          box-shadow: -6px 6px 0px 0px #C6142E;
}
.home-sec04 .news-list {
  padding: 0 min(8vw, 77.5px);
}
.home-sec04 .news-list li + li {
  margin-top: 25px;
  padding-top: 25px;
  border-top: 1px solid #7F7F7F;
}
.home-sec04 .news-list li a {
  color: #fff;
  text-decoration: none;
}
.home-sec04 .news-list h3 {
  margin-top: 10px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
}

/* お知らせ */
.news-archive {
  margin-top: 5px;
  padding: 60px 0;
  border-top: 1px solid #280606;
}
.news-archive .shop-news-title {
  margin: 0 0 40px;
  padding: 0 min(8vw, 77.5px);
  color: #000;
  font-size: 2.6rem;
  font-weight: 700;
}
.news-archive .news-archive-list {
  padding: 0 min(8vw, 77.5px);
}
.news-archive .news-archive-list li + li {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #C7C7CC;
}
.news-archive .news-archive-list h2 {
  font-size: 1.6rem;
  font-weight: 700;
}
.news-archive .news-archive-list .btn-more {
  margin-top: 15px;
}

.news-detail {
  margin-top: 5px;
  padding: 40px 0 60px;
  border-top: 1px solid #280606;
}
.news-detail .detail-in {
  padding: 0 min(8vw, 77.5px);
}
.news-detail h1 {
  margin: 20px 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
}
.news-detail p {
  margin-top: 1em;
}
.news-detail strong {
  font-weight: 700;
}
.news-detail em {
  font-style: italic;
  font-weight: 700;
}
.news-detail .eye-catch {
  margin: 20px 0;
}
.news-detail .eye-catch img {
  width: 100%;
  height: auto;
}

/* 店舗 */
.shop-area-serch {
  margin-top: 5px;
  padding: 50px 0 40px;
  border-top: 1px solid #280606;
}
.shop-area-serch .sec-in {
  padding: 0 min(8vw, 77.5px);
}
.shop-area-serch h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: 700;
}
.shop-area-serch h2::before {
  display: block;
  content: "";
  width: 22px;
  height: 28px;
  margin-right: 10px;
  background: url(/assets/img/common/icon_area.svg) no-repeat 0 0/contain;
}
.shop-area-serch .area-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 15px;
}
.shop-area-serch .area-list li {
  width: calc(50% - 7.5px);
}
.shop-area-serch .area-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 10px 10px 15px;
  background: #fff;
  border: 1px solid #9F9F9F;
  border-radius: 5px;
  color: #440F0E;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
}
.shop-area-serch .area-list li a::after {
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  margin-left: auto;
  background: url(/assets/img/common/arrow_anchor.svg) no-repeat 0 0/contain;
}

.shop-area-archive + .shop-area-archive {
  margin-top: 60px;
}
.shop-area-archive:last-child {
  padding-bottom: 80px;
}
.shop-area-archive .area-name {
  padding: 20px min(8vw, 77.5px);
  border-top: 1px solid #D1D1D6;
  border-bottom: 1px solid #D1D1D6;
  color: #852221;
  font-size: 2.6rem;
  font-weight: 700;
}
.shop-area-archive .shop-archive-list {
  margin-top: 40px;
  padding: 0 min(8vw, 77.5px);
}
.shop-area-archive .shop-archive-list > li + li {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #D1D1D6;
}
.shop-area-archive .shop-archive-list .shop-name {
  margin-bottom: 20px;
  color: #000;
  font-size: 2.4rem;
  font-weight: 700;
}
.shop-area-archive .shop-archive-list .mod-shop-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 20px;
}
.shop-area-archive .shop-archive-list .mod-shop-info + .shop-info {
  margin-top: 15px;
}
.shop-area-archive .shop-archive-list .mod-shop-info dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 90px;
}
.shop-area-archive .shop-archive-list .mod-shop-info dd {
  margin-left: 20px;
}
.shop-area-archive .shop-archive-list .btn-more {
  max-width: 275px;
  margin: 20px auto 0;
}

.shop-detail {
  margin-top: 5px;
  padding: 50px 0 60px;
  border-top: 1px solid #280606;
}
.shop-detail .detail-in {
  padding: 0 min(8vw, 77.5px);
}
.shop-detail h1 {
  margin-bottom: 30px;
  color: #000;
  font-size: 2.6rem;
  font-weight: 700;
}
.shop-detail .free-contents {
  margin-top: 30px;
}
.shop-detail .free-contents strong {
  font-weight: 700;
}
.shop-detail .free-contents em {
  font-style: italic;
}
.shop-detail .mod-shop-info {
  margin: 30px max(-8vw, -77.5px) 0;
  padding: 20px min(8vw, 77.5px);
  border-bottom: 1px solid #E5E5EA;
}
.shop-detail .mod-shop-info + .mod-shop-info {
  margin-top: 0;
}
.shop-detail .mod-shop-info dd {
  margin-top: 10px;
}
.shop-detail .mod-shop-info dd.has-check {
  margin-top: 20px;
}
.shop-detail .detail-title {
  margin-bottom: 20px;
  color: #000;
  font-size: 2.4rem;
  font-weight: 700;
}
.shop-detail .shop-news {
  padding: 60px 0;
}
.shop-detail .shop-news .shop-news-slide {
  overflow: hidden;
  margin: 40px max(-8vw, -77.5px);
}
.shop-detail .shop-news .shop-news-slide .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.shop-detail .shop-news .shop-news-slide .slick-list {
  margin: 0 -35px;
}
.shop-detail .shop-news .shop-news-slide .shop-news-item {
  width: 245px;
  margin: 0 35px;
}
.shop-detail .shop-news .shop-news-slide .shop-news-item a {
  color: #440F0E;
  text-decoration: none;
}
.shop-detail .shop-news .shop-news-slide .shop-news-item .thumb {
  margin-bottom: 15px;
}
.shop-detail .shop-news .shop-news-slide .shop-news-item .thumb img {
  width: 100%;
  height: 135px;
  -o-object-fit: cover;
     object-fit: cover;
}
.shop-detail .shop-news .shop-news-slide .shop-news-item .date {
  font-size: 1.4rem;
}
.shop-detail .shop-news .shop-news-slide .shop-news-item h3 {
  margin-top: 15px;
  line-height: 1.5;
}
.shop-detail .shop-news + .shop-menu, .shop-detail .shop-news + .shop-banquet-menu, .shop-detail .shop-news + .shop-gallery, .shop-detail .shop-news + .shop-access, .shop-detail .shop-news + .shop-recruit {
  padding-top: 0;
}
.shop-detail .shop-menu {
  padding: 60px 0;
}
.shop-detail .shop-menu .menu-item {
  overflow: hidden;
  background: #fff;
  border: 1px solid #000;
  border-radius: 5px;
  -webkit-box-shadow: -4px 4px 0px 0px #000;
          box-shadow: -4px 4px 0px 0px #000;
}
.shop-detail .shop-menu .menu-item + .menu-item {
  margin-top: 30px;
}
.shop-detail .shop-menu .menu-item a {
  color: #440F0E;
  text-decoration: none;
}
.shop-detail .shop-menu .menu-item .image img {
  width: 100%;
}
.shop-detail .shop-menu .menu-item h3 {
  padding: 10px 36px 10px 18px;
  background: url(/assets/img/common/arrow_btn.svg) no-repeat right 30px center/6px 11px;
  font-size: 1.4rem;
  font-weight: 500;
}
.shop-detail .shop-menu .menu-item h3 span {
  display: block;
  text-align: center;
}
.shop-detail .shop-menu .btn-origin {
  margin-top: 30px;
}
.shop-detail .shop-menu + .shop-banquet-menu {
  padding-top: 0;
}
.shop-detail .shop-banquet-menu {
  padding: 60px 0;
}
.shop-detail .shop-banquet-menu .image {
  display: block;
  margin: 30px 0;
}
.shop-detail .shop-banquet-menu .banquet-menu-item {
  position: relative;
}
.shop-detail .shop-banquet-menu .banquet-menu-item + .banquet-menu-item {
  margin-top: 30px;
}
.shop-detail .shop-banquet-menu .banquet-menu-item h3 {
  font-size: 2.2rem;
  font-weight: 700;
}
.shop-detail .shop-banquet-menu .banquet-menu-item .fee {
  margin-top: 10px;
  font-size: 2.2rem;
  font-weight: 700;
}
.shop-detail .shop-banquet-menu .banquet-menu-item .fee small {
  font-size: 1.2rem;
}
.shop-detail .shop-banquet-menu .banquet-menu-item .tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3px;
  margin-top: 10px;
}
.shop-detail .shop-banquet-menu .banquet-menu-item .tag-list li {
  padding: 8px 10px;
  background: #DB4F4B;
  border-radius: 5px;
  color: #fff;
  font-size: 1.2rem;
}
.shop-detail .shop-banquet-menu .banquet-menu-item .btn-modal {
  margin-top: 20px;
}
.shop-detail .shop-banquet-menu .modal-menu-detail {
  display: none;
}
.shop-detail .shop-banquet-menu .modal-menu-detail .overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.shop-detail .shop-banquet-menu .modal-menu-detail .content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1101;
  width: 100%;
  max-width: 335px;
  padding: 75px 30px 60px;
  background: #fff;
}
.shop-detail .shop-banquet-menu .modal-menu-detail .content .close {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 50px;
  height: 15px;
  text-indent: -9999px;
  cursor: pointer;
}
.shop-detail .shop-banquet-menu .modal-menu-detail .content .close::before, .shop-detail .shop-banquet-menu .modal-menu-detail .content .close::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background: #280606;
}
.shop-detail .shop-banquet-menu .modal-menu-detail .content .close::before {
  -webkit-transform: translate(-50%, -50%) rotate(17deg);
          transform: translate(-50%, -50%) rotate(17deg);
}
.shop-detail .shop-banquet-menu .modal-menu-detail .content .close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-17deg);
          transform: translate(-50%, -50%) rotate(-17deg);
}
.shop-detail .shop-banquet-menu .modal-menu-detail .content h3 {
  margin-bottom: 20px;
  color: #000;
  font-size: 2rem;
  font-weight: 700;
}
.shop-detail .shop-banquet-menu .modal-menu-detail .content .menu-image img {
  width: 100%;
}
.shop-detail .shop-serious {
  margin: 0 max(-8vw, -77.5px);
  padding: 60px min(8vw, 77.5px);
  background: #F6F6F6;
}
.shop-detail .shop-serious .edit :is(h2, h3) {
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 700;
}
.shop-detail .shop-serious .edit p {
  margin-top: 10px;
  line-height: 1.8;
}
.shop-detail .shop-serious .serious-item {
  position: relative;
  overflow: hidden;
  margin-top: 30px;
}
.shop-detail .shop-serious .serious-item .tag {
  position: absolute;
  top: 18px;
  left: -33px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 124px;
  padding: 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
}
.shop-detail .shop-serious .serious-item .tag.space {
  background: #000;
}
.shop-detail .shop-serious .serious-item .tag.food {
  background: #C6142E;
}
.shop-detail .shop-serious .serious-item .tag.drink {
  background: #000;
}
.shop-detail .shop-serious .serious-item .image {
  height: 200px;
  overflow: hidden;
}
.shop-detail .shop-serious .serious-item .image img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}
.shop-detail .shop-serious .serious-item .read {
  padding: 10px 20px 15px;
  background: #fff;
  font-size: 1.4rem;
}
.shop-detail .shop-gallery {
  padding: 60px 0 0;
}
.shop-detail .shop-gallery .image-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
}
.shop-detail .shop-gallery .image-gallery li {
  overflow: hidden;
  width: calc(33.3333333333% - 3.3333333333px);
  height: 100px;
}
.shop-detail .shop-gallery .image-gallery li.is-hidden {
  display: none;
}
.shop-detail .shop-gallery .image-gallery li img {
  width: 100%;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
}
.shop-detail .shop-gallery .mod-btn-down {
  margin-top: 20px;
}
.shop-detail .shop-gallery .mod-btn-down.is-btn-hidden {
  display: none;
}
.shop-detail .shop-access {
  padding: 60px 0 0;
}
.shop-detail .shop-access .shop-gmap {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-bottom: 95.2380952381%;
}
.shop-detail .shop-access .shop-gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.shop-detail .shop-recruit {
  padding: 60px 0 0;
}
.shop-detail .shop-recruit .recruit-image img {
  display: block;
  width: 100%;
  margin: 20px 0;
}
.shop-detail .shop-recruit .read {
  font-weight: 500;
}
.shop-detail .shop-recruit .btn-recruit {
  margin-top: 20px;
}

/* page */
.page-contents.l-contents {
  background: #DED6C4;
}
.page-contents .l-page-head .page-title {
  display: block;
  min-width: auto;
  min-height: auto;
  background: no-repeat 0 0/contain;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-indent: -9999px;
}
.page-contents.page01 {
  background: #C6142E;
}
.page-contents.page01 .l-page-head {
  height: 250px;
  background: url(/assets/img/page01/bg_page-head_page01.png) no-repeat top center/cover;
}
.page-contents.page01 .l-page-head .page-title {
  top: 100px;
  left: min(67.5555555556vw, 304px);
  width: 97px;
  height: 253px;
  background-image: url(/assets/img/page01/title_page01.svg);
}
.page-contents.page01 .l-breadcrumbs {
  border-color: #fff;
}
.page-contents.page01 .l-breadcrumbs .breadcrumbs-list {
  color: #fff;
}
.page-contents.page01 .l-breadcrumbs .breadcrumbs-list li + li::before {
  background: #fff;
  -webkit-mask: url(/assets/img/common/arrow_breadcrumbs.svg) no-repeat 0 0/contain;
          mask: url(/assets/img/common/arrow_breadcrumbs.svg) no-repeat 0 0/contain;
}
.page-contents.page01 .l-breadcrumbs .breadcrumbs-list li a {
  color: #fff;
}
.page-contents.page02 {
  background: #FFEA29;
}
.page-contents.page02 .l-page-head {
  height: min(108.5106382979vw, 510px);
  background: url(/assets/img/page02/bg_page-head_page02.png) no-repeat top center/contain;
}
.page-contents.page02 .l-page-head .page-title {
  top: min(63.829787234vw, 300px);
  left: min(67.4468085106vw, 317px);
  width: 75px;
  height: 277px;
  background-image: url(/assets/img/page02/title_page02.svg);
}
.page-contents.page02 .l-breadcrumbs {
  border-color: #C6142E;
}
.page-contents.page03 .l-page-head {
  height: 250px;
  background: url(/assets/img/page03/bg_page-head_page03.png) no-repeat top center/cover;
}
.page-contents.page03 .l-page-head .page-title {
  top: 100px;
  left: min(73.1111111111vw, 329px);
  width: 78px;
  height: 237px;
  background-image: url(/assets/img/page03/title_page03.svg);
}
.page-contents.page03 .l-breadcrumbs {
  border-color: #fff;
}

.lower-contents .l-page-head {
  background: url(/assets/img/common/bg_page-head_news_shop.png) no-repeat top center/cover;
}
.lower-contents .l-page-head .page-title {
  display: none;
}
.lower-contents section {
  padding: 60px min(8vw, 77.5px);
}
.lower-contents section h1 {
  margin-bottom: 60px;
  color: #000;
  font-size: 2.8rem;
  font-weight: 700;
}
.lower-contents section :is(h2, h3) {
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 700;
}
.lower-contents section p {
  margin-top: 10px;
  line-height: 1.8;
}
.lower-contents section p + :is(h2, h3) {
  margin-top: 30px;
}

/* 課長のココがすごい */
.page01 .sec-in {
  padding: 0 min(8vw, 77.5px);
}
.page01 .sec-concept {
  margin-top: 5px;
  padding: 60px 0;
  border-top: 1px solid #fff;
}
.page01 .sec-concept .concept-wrap {
  max-width: 274px;
  margin: 0 auto 40px;
}
.page01 .sec-concept .title-concept {
  width: 80px;
  margin: 0 0 -5px;
}
.page01 .sec-concept .title-concept img {
  width: 100%;
}
.page01 .sec-concept .text-concept {
  position: relative;
  z-index: 2;
  padding: 20px;
  background: #fff;
  border: 1.5px solid #280606;
  border-radius: 0 5px 5px 5px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.page01 .sec-concept .text-concept strong {
  font-size: 1.8rem;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #FFED37));
  background: linear-gradient(transparent 70%, #FFED37 70%);
}
.page01 .sec-concept .read {
  margin-top: 30px;
  color: #fff;
  line-height: 1.8;
  text-align: center;
}
.page01 .sec-concept .image-concept {
  display: block;
  margin: 30px 0;
}
.page01 .sec-concept .image-concept img {
  width: 100%;
}
.page01 .title-catch {
  width: 112px;
  height: 45px;
  margin: 0 0 10px;
  background: url(/assets/img/page01/title_catch.svg) no-repeat 0 0/contain;
  text-indent: -9999px;
}
.page01 .sec-title-page01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 30px;
  padding: 0 0 10px;
  border-bottom: 1px solid #000;
}
.page01 .sec-title-page01 .num {
  margin-right: 20px;
  font-size: 4rem;
  line-height: 1.2;
}
.page01 .sec-title-page01 .title :is(small, strong) {
  display: block;
}
.page01 .sec-title-page01 .title small {
  font-size: 1.2rem;
  font-weight: 500;
}
.page01 .sec-title-page01 .title strong {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.47;
}
.page01 .sec-content {
  padding: 60px 0;
  background: #DED6C4;
  border-top: 1px solid #280606;
}
.page01 .sec-content + .sec-content {
  border-color: #fff;
}
.page01 .sec-content figure {
  display: block;
  margin: 30px 0;
}
.page01 .sec-content figure img {
  width: 100%;
}
.page01 .sec-content .worries {
  position: relative;
  margin: 58.5px 0 28.5px;
  padding: 10px 27.5px;
  background: #E2E2E2;
  border: 1px solid #000;
  border-radius: 20px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
}
.page01 .sec-content .worries::after {
  display: block;
  content: "";
  position: absolute;
  top: -29px;
  right: -22px;
  width: 53px;
  height: 129px;
  background: url(/assets/img/page01/illust_contents01.svg) no-repeat 0 0/contain;
}
.page01 .sec-content .read {
  font-size: 1.4rem;
  line-height: 1.8;
}
.page01 .sec-content .read + .read {
  margin-top: 1.8em;
}
.page01 .sec-content .read strong {
  display: inline-block;
  border-bottom: 1px solid #C6142E;
  font-size: 1.6rem;
  font-weight: 700;
}
.page01 .sec-content .read em {
  color: #C6142E;
  font-weight: 700;
}
.page01 .sec-content .shop-wrap {
  margin-top: 30px;
}
.page01 .sec-content .shop-wrap h3 {
  font-size: 1.8rem;
  font-weight: 700;
}
.page01 .sec-content .shop-wrap .image {
  margin-top: 20px;
}
.page01 .sec-content .shop-wrap .image img {
  width: 100%;
}
.page01 .sec-content .shop-wrap .shop-read {
  margin-top: 20px;
  font-size: 1.4rem;
  line-height: 1.8;
}
.page01 .sec-content .shop-wrap .shop-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3px 5px;
  margin-top: 20px;
}
.page01 .sec-content .shop-wrap .shop-link li {
  width: calc(50% - 2.5px);
}
.page01 .sec-content .shop-wrap .shop-link .mod-btn-inline {
  padding: 0 10px;
}

/* ホルモン研修 */
.page02 .sec-in {
  padding: 0 min(8vw, 77.5px);
}
.page02 .sec-training-start {
  margin-top: 5px;
  padding: 60px 0;
  border-top: 1px solid #C6142E;
}
.page02 .sec-training-start .read {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
.page02 .sec-training-start .read + .read {
  margin-top: 10px;
}
.page02 .sec-training-start .read em {
  color: #C6142E;
  font-size: 1.8rem;
  font-weight: 700;
}
.page02 .sec-training-start .read strong {
  border-bottom: 3px solid #DB4F4B;
  font-size: 2rem;
  font-weight: 700;
}
.page02 .sec-training-intro {
  padding: 40px 0 60px;
  background: #DED6C4;
  border-top: 1px solid #C6142E;
}
.page02 .sec-training-intro h2 {
  margin-bottom: 30px;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
.page02 .sec-training-intro .info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 20px;
  background: #fff;
  border-radius: 10px;
}
.page02 .sec-training-intro .info-item + .info-item {
  margin-top: 10px;
}
.page02 .sec-training-intro .info-item.single .text {
  width: calc(100% - 125px);
}
.page02 .sec-training-intro .info-item.single .image {
  max-width: 125px;
}
.page02 .sec-training-intro .info-item.order .text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.page02 .sec-training-intro .info-item.order .image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.page02 .sec-training-intro .info-item.double {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.page02 .sec-training-intro .info-item.double .wrap {
  width: 44%;
  max-width: 120px;
}
.page02 .sec-training-intro .info-item.double .image {
  max-width: 83px;
  margin: 5px auto 0;
}
.page02 .sec-training-intro .info-item .name {
  padding: 0 0 5px;
  border-bottom: 1px solid #DB4F4B;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
}
.page02 .sec-training-intro .info-item .read {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.8;
}
.page02 .sec-training-intro .info-item .image img {
  width: 100%;
}
.page02 .sec-training-parts {
  padding: 60px 0 100px;
  border-top: 1px solid #C6142E;
}
.page02 .sec-training-parts .kinds-tab-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3px;
}
.page02 .sec-training-parts .kinds-tab-link li {
  width: 156px;
}
.page02 .sec-training-parts .kinds-tab-link li a {
  display: block;
  padding: 10px;
  background: #DED6C4;
  border-radius: 10px 10px 0 0;
  color: #440F0E;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.page02 .sec-training-parts .kinds-tab-link li.is-current a {
  background: #C6142E;
  color: #fff;
}
.page02 .sec-training-parts .kinds-content {
  display: none;
  padding: 50px 0;
  background: #fff;
  border-radius: 40px;
}
.page02 .sec-training-parts .kinds-content.is-current {
  display: block;
}
.page02 .parts-image {
  padding: 0 20px;
}
.page02 .kinds-content-in {
  padding: 0 min(2.6666666667vw, 57.5px);
}
.page02 .kinds-content-in .title-read {
  position: relative;
  margin: 30px 0 40px;
  padding: 10px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
.page02 .kinds-content-in .title-read::before, .page02 .kinds-content-in .title-read::after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.page02 .kinds-content-in .title-read::before {
  bottom: -12px;
  width: 11px;
  height: 12px;
  background: #000;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.page02 .kinds-content-in .title-read::after {
  bottom: -10px;
  width: 11px;
  height: 12px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.page02 .kinds-content-in .parts-tab-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px 12.5px;
  margin: 0 0 30px;
}
.page02 .kinds-content-in .parts-tab-link li {
  width: calc(33.3333333333% - 8.3333333333px);
}
.page02 .kinds-content-in .parts-tab-link .mod-btn-down {
  min-height: 30px;
  padding: 0 10px;
  border-color: #D80C23;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.page02 .kinds-content-in .parts-tab-link .mod-btn-down::after {
  width: 4px;
  height: 7px;
}
.page02 .kinds-content-in .parts-content {
  display: none;
}
.page02 .kinds-content-in .parts-content.is-current {
  display: block;
}
.page02 .kinds-content-in .parts-content .contents-wrap {
  padding: 20px 20px 40px;
  border-radius: 10px;
}
.page02 .kinds-content-in .parts-content .contents-wrap + .contents-wrap {
  margin-top: 30px;
}
.page02 .kinds-content-in .parts-content .contents-wrap h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}
.page02 .kinds-content-in .parts-content .contents-wrap h2 strong {
  font-size: 2.6rem;
  font-weight: 700;
}
.page02 .kinds-content-in .parts-content .contents-wrap h2 span {
  margin-left: 9px;
  padding-left: 9px;
  border-left: 1px solid #C6142E;
  font-size: 1.6rem;
  font-weight: 700;
}
.page02 .kinds-content-in .parts-content .contents-wrap h2 small {
  margin-left: 10px;
  padding: 2px 10px;
  background: rgba(68, 15, 14, 0.5);
  border-radius: 40px;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
}
.page02 .kinds-content-in .parts-content .contents-wrap .image {
  margin: 20px 0;
}
.page02 .kinds-content-in .parts-content .contents-wrap .point {
  padding: 10px 20px;
  background: #fff;
  border-radius: 10px;
}
.page02 .kinds-content-in .parts-content .contents-wrap .point dt {
  color: #C6142E;
  font-size: 1.4rem;
  line-height: 1.5;
}
.page02 .kinds-content-in .parts-content .contents-wrap .point dd {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.5;
}
.page02 .kinds-content-in .parts-content .contents-wrap .info {
  margin-top: 30px;
}
.page02 .kinds-content-in .parts-content .contents-wrap .info + .info {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #C6142E;
}
.page02 .kinds-content-in .parts-content .contents-wrap .info dt {
  display: inline-block;
  min-width: 112px;
  padding: 3px 20px;
  background: #DB4F4B;
  border-radius: 50px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
}
.page02 .kinds-content-in .parts-content .contents-wrap .info dd {
  margin: 20px 0 0;
  font-size: 1.4rem;
  line-height: 1.5;
}
.page02 .kinds-content-in .parts-content .contents-wrap .info dd strong {
  font-weight: 700;
}
.page02 .kinds-content-in .parts-content .contents-wrap .info.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.page02 .kinds-content-in .parts-content .contents-wrap .info.flex dd {
  width: calc(100% - 132px);
  margin: 0 0 0 20px;
}
.page02 .kinds-content-in [class*=beef-content] .contents-wrap {
  background: #FEF1D4;
}
.page02 .kinds-content-in [class*=pork-content] .contents-wrap {
  background: #F0DAD6;
}

/* こだわりの逸品 */
.page03 {
  padding-bottom: 70px;
}
.page03 .sec-great-dishes {
  margin-top: 5px;
  padding: 60px 0 30px;
  border-top: 1px solid #fff;
}
.page03 .sec-great-dishes + .sec-great-dishes {
  margin-top: 0;
  padding: 30px 0;
}
.page03 .sec-great-dishes :is(h2, p) {
  padding: 0 min(8vw, 77.5px);
}
.page03 .sec-great-dishes h2 {
  margin-bottom: 28px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.page03 .sec-great-dishes p {
  margin-top: 30px;
  font-size: 1.4rem;
  line-height: 1.5;
}
.page03 .sec-great-dishes .image img {
  width: 100%;
}

/* 404 */
.error-404 {
  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;
  min-height: 300px;
  background: #fff;
}
.error-404 .error-in {
  padding: 0 min(8vw, 77.5px);
}
.error-404 .not-found-text {
  font-weight: 700;
  text-align: center;
}
.error-404 .home-back {
  margin-top: 20px;
  text-align: center;
}
.error-404 .home-back a {
  color: #440F0E;
  text-decoration: none;
}