@charset "UTF-8";
body {
  -webkit-text-size-adjust: 100%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img {
  line-height: 0;
}

figure {
  line-height: 1;
}

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

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

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

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input, textarea, select {
  *font-size: 100%;
}

legend {
  color: #000;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("slick/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("slick/fonts/slick.eot");
  src: url("slick/fonts/slick.eot?#iefix") format("embedded-opentype"), url("slick/fonts/slick.woff") format("woff"), url("slick/fonts/slick.ttf") format("truetype"), url("slick/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 100;
  display: block;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 100%;
  transform: translate(0, 0%);
  padding: 0;
  border: none;
  outline: none;
}

@media screen and (min-width: 768px) {
  .slick-prev,
.slick-next {
    height: 22px;
    width: 22px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .slick-prev,
.slick-next {
    height: 5vw;
    width: 5vw;
  }
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  /*
        outline: none;
        background: transparent;
        color: transparent;
        */
  opacity: 0.6;
}

.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 0.6;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

@media screen and (min-width: 768px) {
  .slick-prev {
    background-image: url(../img/arw_slider_prev.svg);
    left: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .slick-prev {
    background-image: url(../img/arw_slider_prev.svg);
    left: 0;
  }
}
[dir=rtl] .slick-prev {
  left: auto;
}

@media screen and (min-width: 768px) {
  [dir=rtl] .slick-prev {
    background: url(../img/arw_slider_prev.svg);
    right: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  [dir=rtl] .slick-prev {
    background: url(../img/arw_slider_prev.svg);
    right: 0;
  }
}
.slick-prev:before {
  content: "　";
}

[dir=rtl] .slick-prev:before {
  content: "　";
}

.slick-next {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

@media screen and (min-width: 768px) {
  .slick-next {
    background-image: url(../img/arw_slider_next.svg);
    right: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .slick-next {
    background-image: url(../img/arw_slider_next.svg);
    right: 0;
  }
}
[dir=rtl] .slick-next {
  right: auto;
}

@media screen and (min-width: 768px) {
  [dir=rtl] .slick-next {
    left: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  [dir=rtl] .slick-next {
    left: 0;
  }
}
.slick-next:before {
  content: "　";
}

[dir=rtl] .slick-next:before {
  content: "　";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.slick-dots {
  position: absolute;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .slick-dots {
    bottom: 30px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .slick-dots {
    bottom: 10px;
  }
}
.slick-dots li {
  position: relative;
  display: inline-block;
  padding: 0;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .slick-dots li {
    height: 8px;
    width: 8px;
    margin: 0 11px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .slick-dots li {
    height: 5px;
    width: 5px;
    margin: 0 5px;
  }
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .slick-dots li button {
    height: 8px;
    width: 8px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .slick-dots li button {
    height: 5px;
    width: 5px;
  }
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 0.6;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  border-radius: 50%;
  content: "";
  font-family: "slick";
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media screen and (min-width: 768px) {
  .slick-dots li button:before {
    height: 8px;
    width: 8px;
    font-size: 8px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .slick-dots li button:before {
    height: 5px;
    width: 5px;
    font-size: 5px;
  }
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 1;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #fff;
}

#colorbox {
  outline: 0;
}

#cboxTopLeft {
  width: 25px;
  height: 25px;
  background: url(images/border1.png) no-repeat 0 0;
}

#cboxTopCenter {
  height: 25px;
  background: url(images/border1.png) repeat-x 0 -50px;
}

#cboxTopRight {
  width: 25px;
  height: 25px;
  background: url(images/border1.png) no-repeat -25px 0;
}

#cboxBottomLeft {
  width: 25px;
  height: 25px;
  background: url(images/border1.png) no-repeat 0 -25px;
}

#cboxBottomCenter {
  height: 25px;
  background: url(images/border1.png) repeat-x 0 -75px;
}

#cboxBottomRight {
  width: 25px;
  height: 25px;
  background: url(images/border1.png) no-repeat -25px -25px;
}

#cboxMiddleLeft {
  width: 25px;
  background: url(images/border2.png) repeat-y 0 0;
}

#cboxMiddleRight {
  width: 25px;
  background: url(images/border2.png) repeat-y -25px 0;
}

#cboxContent {
  background: #fff;
  overflow: hidden;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadedContent {
  margin-bottom: 20px;
}

#cboxTitle {
  position: absolute;
  bottom: 0px;
  left: 0;
  text-align: center;
  width: 100%;
  color: #999;
}

#cboxCurrent {
  position: absolute;
  bottom: 0px;
  left: 100px;
  color: #999;
}

#cboxLoadingOverlay {
  background: #fff url(images/loading.gif) no-repeat 5px 5px;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0;
}

#cboxSlideshow {
  position: absolute;
  bottom: 0px;
  right: 42px;
  color: #444;
}

#cboxPrevious {
  position: absolute;
  bottom: 0px;
  left: 0;
  color: #444;
}

#cboxNext {
  position: absolute;
  bottom: 0px;
  left: 63px;
  color: #444;
}

#cboxClose {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  color: #444;
}

/*
  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.
  See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}

body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  position: relative;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  color: #fff;
  background: #000;
}

html {
  overflow-x: hidden;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1140px) {
  html {
    font-size: 1.2vw;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  html {
    font-size: 3.3vw;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #mainContent {
    padding-top: 13.357vw;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #mainContent {
    padding-top: 0;
  }
}
#main {
  display: block;
}

@media screen and (min-width: 768px) {
  .pc-non {
    display: none !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .sp-non {
    display: none !important;
  }
}
.tb-only {
  display: none !important;
}

@media screen and (min-width: 768px) and (max-width: 1140px) {
  .tb-only {
    display: block !important;
  }
}
* {
  box-sizing: border-box;
}

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

a {
  text-decoration: none;
  outline: none;
  color: inherit;
  transition: opacity 0.4s;
  cursor: pointer;
}

a:hover {
  opacity: 0.5;
  transition: opacity 0.2s;
}

section {
  display: block;
}

.inner {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 90vw;
  max-width: 1180px;
}

.fadein {
  opacity: 0;
  transition: 0.8s;
}

@media screen and (min-width: 768px) {
  .fadein {
    transform: translate(0, 50px);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .fadein {
    transform: translate(0, 2vw);
  }
}
.fadein.active {
  opacity: 1;
  transform: translate(0, 0);
}

.bg {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/*---------------------------------

	loading

---------------------------------*/
#loading {
  width: 100%;
  height: 120vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background: #000;
}

#loading .loadLogo {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1200;
  text-align: center;
  width: 40%;
}

#loading .loadLogo > img {
  max-width: 150px;
  margin: 0 auto;
}

#loading .loadLogo p {
  margin-top: 1em;
  display: flex;
  justify-content: center;
}

#loading .loadLogo p span {
  display: inline-block;
  height: 1rem;
}

#loading .loadLogo p span img {
  display: block;
  height: 1rem;
  max-width: none;
  width: auto;
}

@-webkit-keyframes loadImg {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes loadImg {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes loadP {
  0% {
    opacity: 0.4;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.4;
  }
}
@keyframes loadP {
  0% {
    opacity: 0.4;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.4;
  }
}
/*---------------------------------

	parts

---------------------------------*/
/* title */
.secTtl {
  text-align: center;
  margin-bottom: 1.5em;
  font-size: 1.5714rem;
  letter-spacing: 0.1em;
}

.pageTtl {
  padding: 6em 0;
  text-align: center;
  margin-bottom: 5rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .pageTtl {
    font-size: 1.5714rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .pageTtl {
    margin-bottom: 1.5rem;
    font-size: 1.136rem;
  }
}
.pageTtl.noMainv {
  padding: 6em 0 1em;
}

.pageTtl h2 {
  text-align: center;
  letter-spacing: 0.1em;
}

/* 下層共通 */
.breadcrumbs {
  max-width: 790px;
  width: 90vw;
  margin: 8rem auto 0;
}

.link {
  color: #efa006;
  font-size: 0.857rem;
  display: inline-block;
  border-bottom: 1px solid #efa006;
  padding-bottom: 0.2em;
  margin-top: 0.5em;
}

.link:after {
  content: "　";
  width: 0.9rem;
  height: 0.9rem;
  display: inline-block;
  background-image: url(../images/common/icon_link.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-left: 0.5em;
  vertical-align: middle;
}

/* menu共通 */
/* reservation */
/* news */
.newsList {
  width: 85vw;
  max-width: 520px;
  margin: 0 auto;
}

.newsList article {
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #fff;
}

.newsList article a {
  display: flex;
  color: #fff;
  position: relative;
  font-size: 0.857rem;
  padding-right: 2rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  .newsList article a {
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 1rem;
  }
}
.newsList article a:after {
  content: ">";
  display: inline-block;
  position: absolute;
  top: calc(50% - 0.2rem);
  right: 0;
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .newsList article a .date {
    width: 20%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .newsList article a .date {
    width: 30%;
  }
}
@media screen and (min-width: 768px) {
  .newsList article a .cate {
    width: 20%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .newsList article a .cate {
    width: 70%;
  }
}
.newsList article a .cate span {
  display: inline-block;
  margin-right: 0.5rem;
}

.newsList article a .cate span:last-child {
  margin-right: 0;
}

@media screen and (min-width: 768px) {
  .newsList article a .ttl {
    width: 60%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .newsList article a .ttl {
    width: 100%;
    margin-top: 1vw;
  }
}
.newsList article:last-child {
  margin-bottom: 0;
}

/*** GALLERY ***/
.atmGallery > div {
  width: 90vw;
  max-width: 1180px;
  margin: 0 auto;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .gallery li {
    width: 23.6%;
    margin-right: 1.8666%;
    margin-top: 1.5rem;
  }
  .gallery li:nth-child(4n) {
    margin-right: 0;
  }
  .gallery li:nth-child(-n+4) {
    margin-top: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .gallery li {
    width: 48%;
    margin-right: 4%;
    margin-top: 4vw;
  }
  .gallery li:nth-child(2n) {
    margin-right: 0;
  }
  .gallery li:nth-child(-n+2) {
    margin-top: 0;
  }
}
.gallery li a {
  display: block;
}

.gallery li a:hover {
  opacity: 1;
}

.gallery li a:hover span {
  transform: scale(1.05);
}

.gallery li a figure {
  overflow: hidden;
}

.gallery li a span {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  box-sizing: content-box;
  padding-bottom: 120.9%;
  transition: 0.4s;
}

.gallery li a span:after {
  content: "　";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
}

#cboxCurrent {
  display: none !important;
}

#cboxOverlay {
  background: #000;
}

.nolink {
  pointer-events: none;
}

/*** CONTENT BOX ***/
.conBox1 {
  position: relative;
  margin: 0 auto 7rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  .conBox1 {
    margin: 0 auto 10vw;
  }
}
.conBox1:last-child {
  margin-bottom: 9rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  .conBox1:last-child {
    margin-bottom: 15vw;
  }
}
@media screen and (min-width: 768px) {
  .flex_pc {
    display: flex;
  }
}
.flex_rv {
  flex-direction: row-reverse;
}

@media screen and (min-width: 768px) {
  .flex_5-5 > * {
    width: 50%;
  }
}
/*** TEXT BOX ***/
@media screen and (min-width: 768px) {
  .tbWrap {
    padding: 5% 3%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .tbWrap {
    margin-bottom: 10vw;
    margin-top: 5vw;
  }
}
.txtBox1 .tbHead {
  font-size: 1.571rem;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  .txtBox1 .tbHead {
    text-align: center;
    font-size: 1.2rem;
  }
}
.txtBox1 .tbBody {
  line-height: 2;
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .txtBox1 .tbBody {
    font-size: 0.9285rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .txtBox1 .tbBody {
    font-size: 1rem;
    letter-spacing: 0.02em;
  }
}
.txtBox1.center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .txtBox1.center_pc {
    text-align: center;
  }
}
/*** STORE ***/
.storeList {
  width: 90vw;
  max-width: 850px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .storeList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  .storeList li {
    width: 48%;
    margin-top: 3rem;
  }
  .storeList li:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .storeList li {
    margin-top: 15vw;
  }
  .storeList li:nth-child(1) {
    margin-top: 0;
  }
}
.storeList li .mapWrap {
  width: 100%;
  height: 0;
  box-sizing: content-box;
  padding-bottom: 61.74%;
  margin-bottom: 1rem;
  position: relative;
}

.storeList li .mapWrap .gmap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.storeList li .name {
  font-size: 1.2142rem;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}

.storeList li .btn {
  margin-bottom: 2.5rem;
  display: flex;
  justify-content: space-between;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  .storeList li .btn {
    margin-bottom: 3vw;
  }
}
.storeList li .btn > * {
  width: 49%;
  font-size: 1rem;
  text-align: center;
  padding: 0.5rem;
}

.storeList li .btn .btnStore {
  border: 1px solid #9a9a9a;
  color: #fff;
}

.storeList li .btn .btnRsv {
  border: 1px solid #9b9b9b;
  background: #9b9b9b;
  color: #000;
}

.storeList li .detail {
  margin-bottom: 1rem;
}

.storeList li .detail dl {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #9a9a9a;
}

.storeList li .detail dl:nth-child(1) {
  border-top: 1px solid #9a9a9a;
}

.storeList li .detail dl dt, .storeList li .detail dl dd {
  font-size: 0.92857rem;
  letter-spacing: 0.04em;
  line-height: 1.846;
  padding: 1rem 0;
}

.storeList li .detail dl dt {
  width: 22%;
}

.storeList li .detail dl dd {
  width: 75%;
}

/*---------------------------------

	#header

---------------------------------*/
#header {
  position: relative;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background: #000;
    padding-top: 3vw;
    padding-bottom: 3vw;
  }
}
#header .headLogo {
  position: fixed;
  top: 2rem;
  left: 2rem;
  width: 15vw;
  max-width: 70px;
  z-index: 1000;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #header .headLogo {
    position: static;
    margin: 0 auto;
  }
}
#header .headLogo a {
  display: block;
}

#header #headNav {
  position: fixed;
  z-index: 1000;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  display: flex;
  justify-content: center;
  width: 100vw;
  max-width: 600px;
  pointer-events: none;
  opacity: 0;
  transition: 0.4s;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #header #headNav {
    display: block;
    height: 90vh;
    overflow: auto;
    padding: 10vw 0 10vw 20vw;
  }
}
#header #headNav.active {
  opacity: 1;
  pointer-events: auto;
}

#header #headNav > div {
  width: 45%;
  margin-right: 10%;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #header #headNav > div {
    width: 100%;
    margin-right: 0;
  }
}
#header #headNav > div:last-child {
  margin-right: 0;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #header #headNav > div:last-child {
    margin-top: 10vw;
  }
}
#header #headNav > div > * {
  margin-bottom: 1rem;
}

#header #headNav > div > *:last-child {
  margin-bottom: 0;
}

#header #headNav > div > h3 a {
  font-size: 1rem;
  letter-spacing: 0.1em;
  font-weight: bold;
}

#header #headNav > div > div {
  position: relative;
}

#header #headNav > div > div:before {
  content: "　";
  display: inline-block;
  width: 2rem;
  height: 1px;
  background: #fff;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

#header #headNav > div > div a {
  display: inline-block;
  vertical-align: middle;
  font-size: 1rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  padding-left: 2.8rem;
  white-space: nowrap;
}

#header #OVL {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 900;
  background: rgba(0, 0, 0, 0.9);
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  opacity: 0;
  transition: 0.4s;
}

#header #OVL.active {
  opacity: 1;
  pointer-events: auto;
}

#header .headBtn {
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 1000;
}

#header .headBtn a {
  display: inline-block;
  padding: 0.5em 2rem;
  border: 1px solid #fff;
  color: #fff;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #header {
    background-color: transparent;
  }
}
/*---------------------------------

	.navWrap

---------------------------------*/
/*---------------------------------

	.menu-trigger

---------------------------------*/
/* menu-trigger */
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-trigger {
  position: fixed;
  z-index: 1010;
  top: 5vw;
  left: 5%;
  width: 6vw;
  height: 3vw;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .menu-trigger {
    top: 50%;
    left: 2rem;
    width: 1.7rem;
    height: 1rem;
  }
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.5vw;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .menu-trigger span {
    height: 2px;
  }
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}

.menu-trigger span:nth-of-type(2) {
  bottom: 0;
}

/* menu-trigger エフェクト */
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(1.2vw) rotate(-30deg);
}

@media screen and (min-width: 768px) {
  .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(0.42rem) rotate(-30deg);
  }
}
.menu-trigger.active span:nth-of-type(2) {
  transform: translateY(-1.2vw) rotate(30deg);
}

@media screen and (min-width: 768px) {
  .menu-trigger.active span:nth-of-type(2) {
    transform: translateY(-0.42rem) rotate(30deg);
  }
}
/*---------------------------------

	#footer

---------------------------------*/
@media screen and (min-width: 768px) {
  #footer {
    padding-top: 12rem;
    padding-bottom: 3rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #footer {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
}
.footerInner {
  width: 100%;
  max-width: 970px;
  margin: 0 auto 7rem;
}

@media screen and (min-width: 768px) {
  .footerInner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .footerInner {
    margin: 0 auto 15vw;
  }
}
@media screen and (min-width: 768px) {
  .footerLogo {
    width: 17.5%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .footerLogo {
    width: 25vw;
    margin: 0 auto 7vw;
  }
}
@media screen and (min-width: 768px) {
  .footerRight {
    width: 75%;
  }
}
#footerStore p {
  margin-bottom: 1em;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #footerStore p {
    margin: 0;
    width: 100%;
  }
}
#footerStore p a {
  letter-spacing: 0.1em;
  display: inline-block;
  margin: 0 1em 1em 0;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #footerStore p a {
    width: 100%;
    display: block;
    padding: 1.5rem 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    text-align: center;
    margin: 0;
    line-height: 1;
  }
}
#footerStore > div {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #footerStore > div {
    margin-bottom: 0;
    border-bottom: 1px solid #fff;
  }
}
#footerStore > div p {
  margin-bottom: 0.5em;
  font-size: 90%;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #footerStore > div p {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
    font-size: 1rem;
    padding: 1.5rem 0;
    position: relative;
  }
  #footerStore > div p:after {
    content: "+";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
  }
  #footerStore > div p.open:after {
    content: "-";
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #footerStore > div div {
    display: none;
  }
}
#footerStore > div a {
  letter-spacing: 0.1em;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #footerStore > div a {
    width: 100%;
    display: block;
    padding: 1.5rem 0;
    text-align: center;
    line-height: 1;
    border-top: 1px solid #fff;
    background: #222;
    /*
    &:nth-of-type(2n-1){
    	border-right: 1px solid #fff;
    }
    &:nth-last-of-type(n+2):nth-of-type(2n){
    	border-bottom: 1px solid #fff;
    }
    &:nth-last-of-type(n+2):nth-of-type(2n-1){
    	border-bottom: 1px solid #fff;
    }
    */
  }
}
@media screen and (min-width: 768px) {
  #footerStore > div a {
    display: inline-block;
  }
  #footerStore > div a:after {
    content: "/";
    display: inline-block;
    margin-left: 0.5em;
  }
  #footerStore > div a:last-child:after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  #footerNav {
    margin-top: 4rem;
  }
}
#footerNav a {
  letter-spacing: 0.1em;
  margin-bottom: 1em;
  display: inline-block;
  margin: 0 1em 1em 0;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #footerNav a {
    width: 100%;
    display: block;
    padding: 1.5rem 0;
    border-bottom: 1px solid #fff;
    text-align: center;
    margin: 0;
    line-height: 1;
  }
}
#sns {
  width: 90vw;
  max-width: 1100px;
  display: flex;
  justify-content: center;
  margin: 0 auto 3rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #sns {
    flex-wrap: wrap;
  }
}
#sns ul {
  display: flex;
  justify-content: center;
  margin: 0 0.5rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #sns ul {
    margin-bottom: 5vw;
  }
}
@media screen and (min-width: 768px) {
  #sns ul li {
    width: 2.2rem;
    margin: 0 0.5rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #sns ul li {
    width: 10vw;
    margin: 0 2vw;
  }
}
#sns ul li a {
  display: block;
}

#copyright {
  text-align: center;
}

#copyright small {
  font-weight: bold;
  letter-spacing: 0.1em;
}

/*---------------------------------

	#fixedRsv

---------------------------------*/
#fixedRsv {
  position: fixed;
  z-index: 120;
  transition: opacity 0.4s;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  #fixedRsv {
    bottom: 60px;
    right: 20px;
    width: 164px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #fixedRsv {
    bottom: 5vw;
    right: 0;
    width: 26.4vw;
  }
}
#fixedRsv:hover {
  opacity: 0.5;
  transition: opacity 0.2s;
}

#fixedRsv .mug {
  position: absolute;
  z-index: 10;
  transition: 1s;
  width: 55.4878%;
  height: auto;
  top: 33%;
  right: 8%;
}

#fixedRsv.active .mug {
  transform: rotate(-10deg) translate(5%, -13%);
}

#fixedRsv:hover {
  opacity: 1;
}

#fixedRsv:hover .mug {
  transform: rotate(-10deg) translate(5%, -13%);
}

@-webkit-keyframes bar {
  0% {
    background-position: 0% 100%;
  }
  50% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 0% -100%;
  }
}
@keyframes bar {
  0% {
    background-position: 0% 100%;
  }
  50% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 0% -100%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page .headLogo {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  #top_page .secCon {
    padding-top: 12rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page .secCon {
    padding-top: 15vw;
  }
}
#top_page #sec0 {
  width: 100%;
  height: 100vh;
  position: relative;
}

#top_page #sec0:after {
  content: "　";
  width: 1px;
  height: 4.5rem;
  display: block;
  position: absolute;
  bottom: -1rem;
  left: 50%;
  z-index: 100;
  background: linear-gradient(to bottom, transparent 0%, #fff 0.00001%, #fff 49.999%, transparent 50%);
  background-size: 200% 200%;
  -webkit-animation: bar 2.5s linear 0s infinite normal none running;
  animation: bar 2.5s linear 0s infinite normal none running;
}

#top_page #sec0 .mvLogo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80vw;
  z-index: 10;
}

#top_page #sec0 .mvLogo img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  display: block;
  max-width: 264px;
  margin: 0 auto;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec0 .mvLogo img {
    max-width: 50vw;
    margin: 0 auto;
  }
}
#top_page #sec0 .mvLogo p {
  white-space: nowrap;
  text-align: center;
  color: #fff;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 1.142857rem;
  letter-spacing: 0.14em;
  font-weight: bold;
  margin-top: 4rem;
  font-size: 1.6rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec0 .mvLogo p {
    font-size: 1.5rem;
    margin-top: 6vw;
  }
}
#top_page #sec0 .mvLogo p span {
  border-bottom: #fff 2px solid;
}

@media screen and (min-width: 768px) {
  #top_page #sec0 .mvLogo p span {
    padding-bottom: 3px;
  }
}
#top_page #sec0 #mainvSlider {
  width: 100%;
  height: 100vh;
}

#top_page #sec0 #mainvSlider .item {
  width: 100%;
  height: 100vh;
}

#top_page #sec0 #mainvSlider .item figure {
  width: 100%;
  height: 100vh;
}

#top_page #sec2 > div {
  width: 90vw;
  max-width: 1180px;
  margin: 0 auto;
}

#top_page #sec2 > div ul li {
  margin-bottom: 2rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li {
    margin-bottom: 15vw;
  }
}
#top_page #sec2 > div ul li:last-child {
  margin-bottom: 0;
}

#top_page #sec2 > div ul li > a {
  display: block;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li > a {
    pointer-events: none;
  }
}
#top_page #sec2 > div ul li > a:hover {
  opacity: 1;
}

#top_page #sec2 > div ul li > a:hover .tmbg {
  transform: translate(-50%, -50%) scale(1.05);
}

#top_page #sec2 > div ul li > a .tmbg {
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.4s;
}

@media screen and (min-width: 768px) {
  #top_page #sec2 > div ul li > a .tmbg {
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li > a .tmbg {
    width: 100%;
    height: 0;
    box-sizing: content-box;
    padding-bottom: 54.811%;
  }
}
@media screen and (min-width: 768px) {
  #top_page #sec2 > div ul li > a .flex {
    padding: 7rem;
    width: 100%;
    height: 23rem;
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li > a .flex {
    margin-top: 15vw;
  }
}
#top_page #sec2 > div ul li > a .flex h3 {
  font-size: 1.57142rem;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  #top_page #sec2 > div ul li > a .flex h3 {
    width: 40%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li > a .flex h3 {
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 1em;
  }
}
#top_page #sec2 > div ul li > a .flex p {
  font-size: 0.92857rem;
  line-height: 1.846;
}

@media screen and (min-width: 768px) {
  #top_page #sec2 > div ul li > a .flex p {
    width: 55%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li > a .flex p {
    font-size: 1rem;
    padding: 0 1em;
  }
}
#top_page #sec2 > div ul li .btn {
  text-align: center;
  margin-top: 10vw;
}

#top_page #sec2 > div ul li .btn a {
  display: inline-block;
  width: 60vw;
  padding: 0.8em;
  position: relative;
  border: 1px solid #fff;
  line-height: 1;
}

#top_page #sec2 > div ul li .btn a:after {
  content: "　";
  display: block;
  background-image: url("../images/common/arw_w.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 2rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  #top_page #sec2 > div ul li:nth-child(1) a .tmbg {
    background-image: url("../images/top/2207/menu_01.jpg");
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li:nth-child(1) a .tmbg {
    background-image: url("../images/top/2207/menu_01.jpg");
  }
}
@media screen and (min-width: 768px) {
  #top_page #sec2 > div ul li:nth-child(2) a .tmbg {
    background-image: url("../images/top/2207/menu_02.jpg");
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li:nth-child(2) a .tmbg {
    background-image: url("../images/top/2207/menu_02.jpg");
  }
}
@media screen and (min-width: 768px) {
  #top_page #sec2 > div ul li:nth-child(3) a .tmbg {
    background-image: url("../images/top/2207/menu_03.jpg");
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec2 > div ul li:nth-child(3) a .tmbg {
    background-image: url("../images/top/2207/menu_03_sp.jpg");
  }
}
#top_page #sec4 > div {
  width: 90vw;
  max-width: 1180px;
  margin: 0 auto;
}

#top_page #sec4 > div ul li a p {
  margin-top: 1rem;
  font-size: 1.21428rem;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #top_page #sec4 > div ul li a p {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  #about_page .pageTtl {
    background-image: url(../images/top/2207/mainv_about.jpg);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #about_page .pageTtl {
    background-image: url(../images/top/2207/mainv_about_sp.jpg);
  }
}
#about .conBox1 {
  width: 90vw;
  max-width: 900px;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #about .conBox1.aboutCon1 {
    margin-bottom: 15vw;
  }
}
@media screen and (min-width: 768px) {
  #about .conBox1.aboutCon2 figure {
    position: relative;
    left: -4rem;
    width: 60%;
    display: inline-block;
    vertical-align: middle;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #about .conBox1.aboutCon2 figure {
    margin-bottom: 15vw;
  }
}
#about .conBox1.aboutCon2 figure img:nth-child(1) {
  width: 83.56%;
  height: auto;
  position: relative;
  z-index: 5;
  display: block;
}

#about .conBox1.aboutCon2 figure img:nth-child(2) {
  display: block;
  width: 58.91%;
  height: auto;
  margin: -3rem 0 0 auto;
  position: relative;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  #about .conBox1.aboutCon2 .txtBox1 {
    width: 39%;
    display: inline-block;
    vertical-align: middle;
  }
}
@media screen and (min-width: 768px) {
  #about .conBox1.aboutCon3 {
    margin-bottom: 15rem;
  }
}
@media screen and (min-width: 768px) {
  #about .conBox1.aboutCon3 .ac3tb1 {
    margin-bottom: 8rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #about .conBox1.aboutCon3 .ac3tb1 {
    margin-bottom: 15vw;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #about .conBox1.aboutCon3 .ac3fg1 {
    margin-bottom: 15vw;
  }
}
@media screen and (min-width: 768px) {
  #about .conBox1.aboutCon3 .ac3fg2 {
    position: relative;
    margin-bottom: 7rem;
  }
  #about .conBox1.aboutCon3 .ac3fg2 img:nth-child(1) {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    right: -8rem;
  }
  #about .conBox1.aboutCon3 .ac3fg2 img:nth-child(2) {
    position: absolute;
    display: block;
    width: 43.61%;
    height: auto;
    top: 77%;
    left: -5%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #about .conBox1.aboutCon3 .ac3fg2 {
    margin-bottom: 15vw;
  }
}
@media screen and (min-width: 768px) {
  #about .conBox1.aboutCon3 .ac3tb2 {
    width: 43%;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  #menu_page .pageTtl {
    background-image: url(../images/common/mainv_menu.jpg);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu_page .pageTtl {
    background-image: url(../images/common/mainv_menu_sp.jpg);
  }
}
#menu .pdf {
  width: 90vw;
  max-width: 580px;
  margin: 6rem auto;
}

#menu .pdf:first-child {
  margin-top: 0;
}

#menu .pdf ul {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu .pdf ul {
    display: block;
  }
}
#menu .pdf ul li {
  margin-right: 0.5em;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu .pdf ul li {
    margin: 0 auto 3vw;
    width: 65%;
  }
}
@media screen and (min-width: 768px) {
  #menu .pdf ul li:last-child {
    margin-right: 0;
  }
}
#menu .pdf ul li > * {
  width: 15.357rem;
  font-size: 0.92857rem;
  display: inline-block;
  text-align: center;
  padding: 0.5rem;
  border: 1px solid #9b9b9b;
  background: #9b9b9b;
  color: #000;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu .pdf ul li > * {
    display: block;
    width: 100%;
    margin: 0 auto;
    font-size: 1.0909rem;
  }
}
#menu > ul {
  width: 90vw;
  max-width: 580px;
  margin: 0 auto 8rem;
}

#menu > ul li {
  margin-bottom: 8rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu > ul li {
    margin-bottom: 20vw;
  }
}
#menu > ul li .name {
  padding-bottom: 0.7rem;
  border-bottom: 1px solid #9a9a9a;
  margin-bottom: 2rem;
}

#menu > ul li .name h2 {
  font-size: 1.714rem;
  margin-right: 0.3em;
}

@media screen and (min-width: 768px) {
  #menu > ul li .name h2 {
    display: inline-block;
  }
  #menu > ul li .name h2:after {
    content: "/";
    display: inline-block;
    margin-left: 0.5em;
  }
}
#menu > ul li .name p {
  display: inline-block;
}

#menu > ul li .name p strong {
  display: inline-block;
  vertical-align: bottom;
  font-size: 1.357rem;
}

#menu > ul li .name p span {
  display: inline-block;
  font-size: 0.857rem;
}

#menu > ul li .desc {
  letter-spacing: 0.04em;
  line-height: 1.846;
  font-size: 0.92857rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #9a9a9a;
  margin-bottom: 2rem;
}

#menu > ul li .btn {
  margin-bottom: 2.5rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu > ul li .btn {
    margin-bottom: 3vw;
  }
}
#menu > ul li .btn > * {
  width: 15.357rem;
  font-size: 0.92857rem;
  display: inline-block;
  text-align: center;
  padding: 0.5rem;
  margin-right: 0.5em;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu > ul li .btn > * {
    display: block;
    width: 65%;
    margin: 0 auto;
    font-size: 1.0909rem;
  }
}
@media screen and (min-width: 768px) {
  #menu > ul li .btn > *:last-child {
    margin-right: 0;
  }
}
#menu > ul li .btn .btnCon {
  border: 1px solid #9a9a9a;
  color: #fff;
  position: relative;
  cursor: pointer;
  transition: 0.4s;
}

#menu > ul li .btn .btnCon:hover {
  opacity: 0.6;
}

#menu > ul li .btn .btnCon span {
  position: absolute;
  top: 50%;
  left: 1rem;
  z-index: 10;
  transform: translateY(-50%);
}

#menu > ul li .btn .btnCon strong {
  font-weight: normal;
}

#menu > ul li .btn .btnRsv {
  border: 1px solid #9b9b9b;
  background: #9b9b9b;
  color: #000;
}

#menu > ul li .content {
  margin-bottom: 2.5rem;
  display: none;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu > ul li .content {
    margin-top: 10vw;
  }
}
@media screen and (min-width: 768px) {
  #menu > ul li .content dl {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #9a9a9a;
  }
}
#menu > ul li .content dl dt, #menu > ul li .content dl dd {
  font-size: 0.92857rem;
  letter-spacing: 0.04em;
  line-height: 1.846;
  padding: 2rem 0;
}

@media screen and (min-width: 768px) {
  #menu > ul li .content dl dt {
    width: 22%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu > ul li .content dl dt {
    padding: 2rem 0 0.5em;
    border-bottom: 1px solid #9a9a9a;
  }
}
@media screen and (min-width: 768px) {
  #menu > ul li .content dl dd {
    width: 75%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #menu > ul li .content dl dd {
    padding: 1rem 0 0;
  }
}
#menu .menuGallery {
  width: 90vw;
  max-width: 970px;
  margin: 0 auto 8rem;
}

@media screen and (min-width: 768px) {
  #store_page .pageTtl {
    background-image: url(../images/common/mainv_store.jpg);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #store_page .pageTtl {
    background-image: url(../images/common/mainv_store_sp.jpg);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #store {
    padding-top: 10vw;
  }
}
#reservation .storeList li .btn > * {
  width: 55%;
}

#reservation .storeList li .detail p {
  font-size: 0.92857rem;
  letter-spacing: 0.04em;
  line-height: 1.846;
  padding: 1rem 0;
  border-bottom: 1px solid #9a9a9a;
  border-top: 1px solid #9a9a9a;
}

@media screen and (min-width: 768px) {
  #lunch_page .pageTtl {
    background-image: url(../images/common/mainv_lunch.jpg);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #lunch_page .pageTtl {
    background-image: url(../images/common/mainv_lunch_sp.jpg);
  }
}
/*---------------------------------

	news

---------------------------------*/
#news {
  max-width: 926px;
  width: 90vw;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  #news {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  #news #newsCon {
    width: 75%;
  }
}
@media screen and (min-width: 768px) {
  #news .newsListWrap .newsList {
    margin-left: auto;
    margin-right: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #news .newsListWrap .newsList {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #news #sidebar {
    width: 15%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #news #sidebar {
    margin-top: 15vw;
  }
}
#news #sidebar .sbContent h3 {
  border-bottom: 1px solid #fff;
  padding-bottom: 0.4em;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  #news #sidebar .sbContent h3 {
    font-size: 0.857rem;
  }
}
@media screen and (min-width: 768px) {
  #news #sidebar .sbContent ul li a {
    font-size: 0.857rem;
  }
}
#news.newsPost .postConWrap {
  width: 90vw;
  max-width: 520px;
  margin: 0 auto;
}

#news.newsPost h1 {
  font-size: 1.6428rem;
  letter-spacing: 0.08em;
  margin-bottom: 1.2em;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #news.newsPost h1 {
    font-size: 1.1rem;
  }
}
#news.newsPost .date {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  #news.newsPost .date {
    font-size: 0.92857rem;
  }
}
#news.newsPost .postCon > * {
  margin-bottom: 3rem;
}

#news.newsPost .postCon > *:last-child {
  margin-bottom: 0;
}

#news.newsPost .postCon img {
  max-width: 100%;
  height: auto;
}

#news.newsPost .postCon p {
  letter-spacing: 0.08em;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  #news.newsPost .postCon p {
    font-size: 0.92857rem;
  }
}
#news.newsPost .btnBack {
  margin-top: 4rem;
  text-align: center;
  font-size: 1.142857rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #news.newsPost .btnBack {
    letter-spacing: 0.6em;
  }
}
#pagination {
  margin-top: 6rem;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #pagination {
    margin-top: 10vw;
  }
}
#pagination .nav-links {
  text-align: center;
}

#pagination .nav-links > * {
  display: inline-block;
  margin: 0 0.2em;
}

@media screen and (min-width: 768px) {
  #pagination .nav-links > * {
    font-size: 0.857rem;
  }
}
@media only screen and (max-width: 768px) {
  .hidden-sp {
    display: none !important;
  }
}
@media only screen and (min-width: 767px), print, tv {
  .hidden-pc {
    display: none !important;
  }
}

#to-yamashiro .to-yamashiro__lead {
  margin-bottom: 8.5714285714rem;
}
@media only screen and (min-width: 767px), print, tv {
  #to-yamashiro .to-yamashiro__lead {
    text-align: center;
  }
}
#to-yamashiro .to-yamashiro__tit--01::after {
  content: "";
  width: 2em;
  display: block;
  border-bottom: 1px solid #000;
  padding-top: 0.5em;
  margin: 0 auto;
}
#to-yamashiro .to-yamashiro__sec + .to-yamashiro__sec {
  margin-top: 8.5714285714rem;
}
@media only screen and (max-width: 768px) {
  #to-yamashiro .to-yamashiro__sec + .to-yamashiro__sec {
    margin-top: 7.1428571429rem;
  }
}
#to-yamashiro h2 {
  text-align: center;
  font-size: 1.2857142857rem;
  margin-bottom: 4.2857142857rem;
}
@media only screen and (min-width: 767px), print, tv {
  #to-yamashiro .bosyu__box {
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 767px), print, tv {
  #to-yamashiro .bosyu__box__col {
    margin-bottom: 5.7142857143rem;
    width: calc(50% - 20px);
  }
}
@media only screen and (max-width: 768px) {
  #to-yamashiro .bosyu__box__col {
    margin-bottom: 4.2857142857rem;
  }
}
#to-yamashiro .bosyu__box__col:nth-child(odd) {
  margin-right: 40px;
}
@media only screen and (max-width: 768px) {
  #to-yamashiro .bosyu__box__col:nth-child(odd) {
    margin-right: unset;
  }
}
#to-yamashiro .bosyu__tit--01 {
  font-size: 1.2857142857rem;
  font-weight: bold;
  padding-bottom: 0.7142857143rem;
  border-bottom: 1px solid #000;
}
#to-yamashiro .bosyu__txt {
  font-size: 1rem;
  margin-top: 1rem;
}
#to-yamashiro .bosyu__btn {
  display: inline-block;
  margin-top: 2rem;
  background-color: #000;
  padding: 0.5rem 1.7142857143rem;
  color: #fff;
}
@media only screen and (min-width: 767px), print, tv {
  #to-yamashiro .bosyu__btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media only screen and (max-width: 768px) {
  #to-yamashiro .bosyu__btn {
    text-align: center;
  }
}
#to-yamashiro .bosyu__btn span {
  color: #fff;
}
#to-yamashiro .bosyu__img {
  margin-top: 1rem;
}
#to-yamashiro .bosyu__table {
  border-collapse: collapse;
}
@media only screen and (min-width: 767px), print, tv {
  #to-yamashiro .bosyu__table {
    width: 1000px;
    margin: auto;
  }
}
#to-yamashiro .bosyu__table tr {
  border-bottom: 1px solid #EEEEEE;
  width: 100%;
}
#to-yamashiro .bosyu__table th {
  padding: 1.4285714286rem;
}
@media only screen and (max-width: 768px) {
  #to-yamashiro .bosyu__table th {
    width: 7.1428571429rem;
    padding: 1.4285714286rem 1.4285714286rem 1.4285714286rem 0;
  }
}
@media only screen and (min-width: 767px), print, tv {
  #to-yamashiro .bosyu__table td {
    width: 800px;
    padding: 1.4285714286rem;
  }
}
@media only screen and (max-width: 768px) {
  #to-yamashiro .bosyu__table td {
    width: calc(100% - 7.1428571429rem);
    padding: 1.4285714286rem 0 1.4285714286rem 0;
  }
}
#to-yamashiro .wpcf7-form input[type=submit] {
  background-color: #333333;
  border-style: none;
  color: #fff;
  font-size: 1.2857142857rem;
  font-weight: bold;
  padding: 0.7142857143rem 1.7857142857rem;
}
@media only screen and (max-width: 768px) {
  #to-yamashiro .wpcf7-form input[type=submit] {
    width: 100%;
  }
}

.contact__table {
  border-collapse: collapse;
  width: 100%;
}
.contact__table__tit {
  font-size: 1.1428571429rem;
  font-weight: bold;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .contact__table__tit {
    display: inline-block;
    font-size: 1.1428571429rem;
    margin-top: 1.4285714286rem;
    margin-right: 1.0714285714rem;
  }
}
@media only screen and (max-width: 768px) {
  .contact__table__option {
    display: inline-block;
    margin-top: 1.4285714286rem;
  }
}
.contact__table__option span {
  font-size: 0.8571428571rem;
  font-weight: bold;
  padding: 0.4285714286rem 1.1428571429rem;
}
.contact__table__option span.required {
  background-color: #333333;
  border: #333 1px solid;
  color: #fff;
}
.contact__table__option span.optional {
  border: #DDDDDD 1px solid;
  background-color: #fff;
  color: #333;
}
.contact__table__input {
  width: 735px;
  height: 67px;
  padding: 20px 0;
}
@media only screen and (max-width: 768px) {
  .contact__table__input {
    display: block;
    width: 100%;
    height: unset;
    padding: 1.4285714286rem 0;
  }
}
.contact__table__input .privacypolicy {
  width: 100%;
  height: 7.1428571429rem;
  border: #DDDDDD solid 1px;
  padding: 0.7142857143rem 1.4285714286rem;
  font-size: 1rem;
}
.contact__table__input .wpcf7-form-control-wrap {
  width: 100%;
}
.contact__table__input .wpcf7-form-control-wrap .wpcf7-text, .contact__table__input .wpcf7-form-control-wrap .wpcf7-textarea {
  width: 100%;
  border: #DDDDDD solid 1px;
  padding: 0.7142857143rem 1.4285714286rem;
  font-size: 1rem;
}
.contact__table__input .wpcf7-acceptance .wpcf7-list-item {
  margin: 0 1em 0 0;
}
.contact__table__privacypolicy {
  border-bottom: none !important;
}
@media only screen and (min-width: 767px), print, tv {
  .contact__table__submit {
    text-align: center;
    margin-top: 80px;
    margin-bottom: 80px;
  }
}
@media only screen and (max-width: 768px) {
  .contact__table__submit {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}
.contact__table__submit input[type=button], .contact__table__submit input[type=text], .contact__table__submit input[type=submit], .contact__table__submit input[type=image], .contact__table__submit textarea {
  -webkit-appearance: none;
  border-radius: 0;
}
.contact__table tr {
  border-bottom: 1px solid #EEEEEE;
}

.accordion {
  position: relative;
}
.accordion__btn {
  bottom: 0;
  cursor: pointer;
  left: 0;
  position: absolute;
  right: 0;
  transition: all 0.2s;
  z-index: 1;
}
.accordion__btn::after {
  content: "詳細を読む";
}
.accordion__btn:hover {
  opacity: 0.7;
}
.accordion__btn.is-show {
  bottom: -3em;
}
.accordion__btn.is-show::after {
  content: "閉じる";
}
.accordion__btn.is-show + .accordion-text::before {
  display: none;
}
.accordion__text {
  overflow: hidden;
  position: relative;
}
.accordion__text.is-hide {
  height: 14.2857142857rem;
}
@media only screen and (max-width: 768px) {
  .accordion__text.is-hide {
    height: 14.2857142857rem;
  }
}
.accordion__text::before {
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
  bottom: 0;
  content: "";
  height: 60px;
  position: absolute;
  width: 100%;
  opacity: 1;
}
.accordion__text.is-open::before {
  opacity: 0;
}/*# sourceMappingURL=yamashiro-style.css.map */