@charset "UTF-8";
/*reset
----------*/
* {
  padding: 0;
  margin: 0;
  font-style: normal;
  box-sizing: border-box;
}

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

h1, h2, h3, h4, h5, h6, th, input, select, textarea {
  font-size: inherit;
  font-weight: normal;
}

input[type=text], input[type=password], input[type=button], input[type=submit], textarea {
  border-radius: 0;
  -webkit-appearance: none;
}

input[type=checkbox], input[type=radio], input[type=button], input[type=submit], label {
  cursor: pointer;
}

li {
  list-style-type: none;
}

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

img, table, input, select, textarea, video, iframe, canvas {
  vertical-align: top;
}

img {
  border: none;
}

textarea {
  resize: none;
}

a {
  outline: none;
  text-decoration: none;
  color: #000;
}

a:focus {
  outline: none;
  text-decoration: none;
}

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

i {
  font-style: normal;
}

main {
  display: block;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

/*
header_area
*/
.htmlFixed {
  position: fixed !important;
  -ms-touch-action: none;
  touch-action: none;
}

.header {
  margin: 0 auto;
  position: relative;
}

.header .header__menu {
  position: fixed;
  z-index: 4;
  width: 100%;
}

@media (min-width: 768px) {
  .header .header__menu {
    width: auto;
    height: auto;
    position: static;
  }
}

.header__menu-button {
  display: block;
  width: 20vw;
  height: 20vw;
  background: #fff;
  border-radius: 0 0 0 10.67vw;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  padding-top: 5.34vw;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 4;
}

@media (min-width: 768px) {
  .header__menu-button {
    display: none;
  }
}

.header__menu-button-bar {
  width: 7.34vw;
  height: 1px;
  display: block;
  background: #000;
  margin: 0 auto 2.67vw;
  transition: width 400ms, transform 400ms 400ms;
  transform: translateX(0px) translateY(0px) translateZ(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1, 1);
}

.header .active .header__menu-button-bar {
  width: 3px;
}

.header .active .header__menu-button-bar-1 {
  transform: translateX(0px) translateY(3vw) translateZ(0px) rotateX(0deg) rotateY(0deg) rotateZ(45deg);
}

.header .active .header__menu-button-bar-1.expand {
  width: 7.34vw;
  transition: transform 400ms 0;
}

.header .active .header__menu-button-bar-2 {
  width: 0;
}

.header .active .header__menu-button-bar-3 {
  transform: translateX(0px) translateY(-3vw) translateZ(0px) rotateX(0deg) rotateY(0deg) rotateZ(-45deg);
}

.header .active .header__menu-button-bar-3.expand {
  width: 7.34vw;
  transition: transform 400ms 0;
}

.header .header__nav {
  padding: 5.34vw;
  width: 100%;
  height: 100vh;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.93);
  display: none;
}

@media (min-width: 768px) {
  .header .header__nav {
    display: block;
    position: absolute;
    background: none;
    padding: 0;
    height: 0;
  }
}

.nav__list {
  width: calc(100% - 5.34vw * 2);
  height: calc(84.5% - 5.34vw * 2);
  padding: 24vw 0 0 12vw;
  position: absolute;
  top: 5.34vw;
  right: 5.34vw;
  border-radius: 16vw 0 0 16vw;
  background: #f2f6f4;
  z-index: 3;
}

.nav__list .nav__item {
  font-size: 6.67vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: objektiv-mk2, sans-serif;
  font-weight: 400;
  margin-bottom: 18vw;
}

@media (min-width: 768px) {
  .nav__list {
    padding: 0 0 0 47px;
    display: block;
    width: 264px;
    height: 190px;
    border-radius: 0 0 0 80px;
    top: 70px;
    right: 0;
    background: #fff;
  }
  .nav__list .nav__item {
    font-size: 16px;
    margin-bottom: 24px;
  }
  .nav__list .nav__item a {
    padding: 2px 8px 0 2px;
    letter-spacing: 0.1em;
    display: inline-block;
    position: relative;
  }
  .nav__list .nav__item a:after {
    content: '';
    display: inline-block;
    width: 0;
    height: 20px;
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    transition: all 0.3s ease-in;
  }
  .nav__list .nav__item a:hover {
    color: #fff;
  }
  .nav__list .nav__item a:hover:after {
    width: 100%;
  }
}

.nav__list .nav__item_active a {
  color: #fff;
}

.nav__list .nav__item_active a:after {
  width: 100%;
}

@media (min-width: 768px) {
  #toppage .header {
    position: absolute;
    right: 4.4%;
    width: 190px;
  }
  #toppage .header .nav__list {
    width: 190px;
    top: 3.47vw;
  }
  #toppage .header .header__nav {
    width: 190px;
    height: auto;
    padding: 0;
  }
}

/*
*footer
*/
/* breadcrumbs
  ------------------*/
.breadcrumbs {
  background: #fff;
  border-top: 1px solid #e7e7e7;
  padding: 4vw 5.34vw;
}

.breadcrumbs__list {
  font-size: 0;
}

.breadcrumbs__item {
  font-size: 3.07vw;
  font-family: objektiv-mk2,sans-serif;
  line-height: 1;
  display: inline-block;
  position: relative;
  color: #acabab;
  padding-left: 4.54vw;
}

.breadcrumbs__item:not(:last-child):after {
  display: inline-block;
  margin-right: 2.8vw;
  content: "";
  width: 1.3vw;
  height: 1.3vw;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: 0 0 0.5vw 5.34vw;
}

.breadcrumbs__item-home {
  padding: 0;
}

.breadcrumbs__item-home a {
  color: #000;
}

.breadcrumbs__item-home a:before {
  content: '';
  display: inline-block;
  margin-right: 1.6vw;
  width: 3.2vw;
  height: 3.07vw;
  background: url("../img/common/home.gif") no-repeat;
  background-size: contain;
}

@media (min-width: 768px) {
  .breadcrumbs {
    padding: 16px 85px;
  }
  .breadcrumbs__item {
    font-size: 12px;
    padding-left: 20px;
  }
  .breadcrumbs__item:not(:last-child):after {
    width: 6px;
    height: 6px;
    margin: 0 0 1px 18px;
  }
  .breadcrumbs__item-home {
    padding: 0;
  }
  .breadcrumbs__item-home a:hover {
    text-decoration: underline;
  }
  .breadcrumbs__item-home a:before {
    width: 14px;
    height: 13px;
    margin-right: 8px;
  }
}

/* footer
  ------------------*/
.footer {
  background: #fff;
  border-top: 1px solid #f0f0f0;
  padding: 8.67vw 0 0;
  position: relative;
}

.footer__list {
  margin: 0 5.34vw 8vw;
}

.footer__list .footer__item {
  font-size: 3.47vw;
  line-height: 1;
  margin-bottom: 4vw;
  position: relative;
}

.footer__list .footer__item:before {
  display: inline-block;
  margin-right: 2.8vw;
  content: "";
  width: 1.3vw;
  height: 1.3vw;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.footer__inner {
  font-size: 3vw;
  line-height: 1;
  background: #000;
  color: #fff;
  padding: 3.74vw 0 3.2vw 5.34vw;
}

.footer__inner small {
  font-size: 3vw;
  font-family: 'Roboto', sans-serif;
}

#pagetop {
  font-size: 3.07vw;
  line-height: 1;
  font-family: objektiv-mk2, sans-serif;
  position: absolute;
  top: 6.14vw;
  right: 2.67vw;
}

#pagetop .pagetop__scroll-arrow {
  display: block;
  width: 100%;
  height: 8.14vw;
  overflow: hidden;
  margin-bottom: 2.67vw;
}

#pagetop .pagetop__scroll-arrow:before {
  content: '';
  display: block;
  width: 2.27vw;
  height: 8.14vw;
  background: url("../img/common/arrow_up.png") no-repeat;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-size: contain;
  -webkit-animation: sdb2 2s infinite;
  animation: sdb2 2s infinite;
}

@media (min-width: 768px) {
  .footer__list {
    margin: -32px 30px 0 0;
    font-size: 0;
    text-align: center;
  }
  .footer__list .footer__item {
    font-size: 15px;
    margin: 0 0 0 30px;
    display: inline-block;
  }
  .footer__list .footer__item:before {
    width: 6px;
    height: 6px;
    margin: 0 22px 3px 0;
  }
  .footer__list .footer__item:hover {
    text-decoration: underline;
  }
  .footer__inner {
    background: none;
    color: #000;
    padding: 40px;
  }
  .footer__inner .copy {
    position: absolute;
    top: 60px;
    font-size: 14px;
    line-height: 1;
  }
  .footer__inner .copy small {
    font-size: 14px;
    display: block;
    letter-spacing: 0.03em;
    margin: 18px 0 0;
  }
  #pagetop {
    font-size: 13px;
    top: 20px;
    right: 50px;
    cursor: pointer;
  }
  #pagetop .pagetop__scroll-arrow {
    width: 100%;
    height: 49px;
    margin-bottom: 20px;
  }
  #pagetop .pagetop__scroll-arrow:before {
    width: 14px;
    height: 49px;
  }
}

@media (max-width: 768px) {
  .footer__inner small {
    letter-spacing: 0.05em;
    display: block;
    margin: 2vw 0 0;
  }
}

@media (min-width: 992px) {
  .footer {
    padding: 60px 80px 68px;
  }
  .footer__inner {
    padding: 0;
  }
  .footer__list {
    text-align: right;
    padding: 30px 0 0;
  }
}

@media (min-width: 1160px) {
  .footer__list {
    text-align: center;
    padding: 30px 40px 0 0;
  }
  .footer__list .footer__item {
    font-size: 16px;
    margin-left: 80px;
  }
  .footer__inner .copy {
    font-size: 15px;
  }
  #pagetop {
    top: 45px;
  }
}

#loading-bg {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 100;
  overflow: hidden;
}

.container {
  overflow: hidden;
}

.container .pc {
  display: none;
}

@media (min-width: 768px) {
  .container .pc {
    display: block;
  }
  .container .sp {
    display: none;
  }
}

/* .under_content
------------------*/
.under_content {
  padding: 5.34vw 0 0 5.34vw;
}

.under_content .inner {
  background: #fbfbd6;
  height: 42.6vw;
  border-radius: 0 0 0 14.6vw;
}

.under_content .inner .heading {
  display: flex;
  height: inherit;
  align-items: center;
  justify-content: center;
  font-size: 10.27vw;
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: objektiv-mk2, sans-serif;
  font-weight: 200;
}

@media (min-width: 768px) {
  .under_content {
    padding: 70px 0 0 85px;
    background: none;
  }
  .under_content .inner {
    max-width: 1160px;
    margin: 0 auto;
    height: 261px;
    border-radius: 0 0 0 110px;
    position: relative;
  }
  .under_content .inner:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #fbfbd6;
    position: absolute;
    right: -100%;
    top: 0;
  }
  .under_content .inner .heading {
    font-size: 60px;
  }
}

@media (min-width: 1160px) {
  .under_content {
    padding-left: 0;
  }
}

.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  -webkit-transform: translate(0, 50px);
  transition: all 1.5s;
}

.fadein.appear {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  position: relative;
  z-index: 1;
}

section .inner {
  max-width: 89.2vw;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

section .section__header {
  font-size: 10.27vw;
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: objektiv-mk2,sans-serif;
  font-weight: 200;
  font-style: normal;
}

section .section__header-subtit {
  font-size: 5.87vw;
  line-height: 1;
  font-family: objektiv-mk2,sans-serif;
  font-weight: 300;
  margin-bottom: 6.67vw;
}

@media (min-width: 768px) {
  section {
    padding: 0 85px;
    background: #fff;
  }
  section section {
    padding: 0;
    background: none;
  }
  section .inner {
    max-width: 1162px;
  }
  section .section__header {
    font-size: 60px;
  }
  section .section__header-subtit {
    font-size: 26px;
    margin-bottom: 48px;
  }
}

/*
tag
date
------------------*/
.item__tag {
  color: #fff;
  content: '';
  display: inline-block;
  background: #aaa;
  line-height: 1.3;
  text-align: center;
}

.item__tag_news {
  font-family: objektiv-mk2, sans-serif;
  background: #a4cfbd;
}

.item__tag_event {
  font-family: objektiv-mk2, sans-serif;
  background: #acc7dd;
}

.item__tag_info {
  display: block;
  width: 30vw;
  font-size: 11px;
  font-weight: 500;
  font-family: a-otf-futo-go-b101-pr6n, sans-serif;
  height: 4.67vw;
  line-height: 4.67vw;
  letter-spacing: 0.05em;
  text-indent: 0;
  background: #aeaeae;
}

.item__date {
  display: inline-block;
}

@media (min-width: 768px) {
  .item__date {
    width: 110px;
  }
  .item__tag_info {
    width: 100px;
    min-width: 100px;
    font-size: 11px;
    height: 26px;
    line-height: 26px;
  }
}

/* shop
------------------*/
.shop {
  position: relative;
  padding: 0;
  background: none;
  margin: 22.6vw 0 0;
}

.shop__area {
  background: rgba(255, 255, 255, 0.83);
  padding: 17vw 0 14.6vw;
  margin-bottom: 17vw;
}

.shop__area .inner {
  width: 88.8vw;
  -webkit-overflow-scrolling: touch;
}

.shop__area .section__header {
  width: 89.2vw;
  margin: 0 auto;
}

.shop__area .bg_element {
  position: fixed;
  top: 0;
  height: 100vh;
  z-index: -1000;
  display: block;
  transition: all 0.5s ease 0s;
}

.shop__area.show .bg_element {
  opacity: 1;
}

.shop__area01 .bg_element {
  background: url("../img/index/bg_shop01.jpg") no-repeat;
  left: -80vw;
  width: 180vw;
  height: 100vh;
  background-size: cover;
}

.shop__area02 .bg_element {
  background: url("../img/index/bg_shop02.jpg") no-repeat;
  background-size: cover;
  opacity: 0;
  left: -58vw;
  width: 200vw;
}

.shop__list-ttl {
  font-size: 4vw;
  line-height: 1;
  width: 29vw;
  border: 1px solid #000;
  padding: 1vw 0 0.8vw;
  margin-bottom: 6.6vw;
  text-align: center;
  font-family: objektiv-mk2,sans-serif;
}

.shop__item {
  font-size: 4.27vw;
  line-height: 2;
  margin-bottom: 4vw;
  text-indent: -1em;
  margin-left: 1em;
  font-family: a-otf-ryumin-pr6n, serif;
  position: relative;
  z-index: 10;
}

.shop__item :last-child {
  margin-bottom: 0;
}

.shop__item--long {
  text-indent: -1.5em;
  margin-left: 1.5em;
}

.shop__food {
  width: 80vw;
  margin: 0 auto 11.5vw;
}

.shop__service {
  width: 80vw;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .shop {
    margin: 170px 0 0;
  }
  .shop__area {
    padding: 95px 85px;
    margin-bottom: 170px;
  }
  .shop__area .bg_element {
    top: 0;
    left: 0;
    width: 100vw;
  }
  .shop__area .inner {
    max-width: 1160px;
    width: 100%;
  }
  .shop__area .inner .section__header {
    width: 100%;
  }
  .shop__area01 .bg_element {
    width: 135vw;
    left: -35vw;
  }
  .shop__list {
    display: -webkit-box;
    /* old Android */
    display: -webkit-flex;
    /* safari */
    display: -ms-flex;
    /* IE */
    display: flex;
    -webkit-flex-wrap: warap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 820px;
    justify-content: space-between;
  }
  .shop__list-ttl {
    font-size: 18px;
    width: 127px;
    padding: 3px 0;
    margin: 5px 90px 0 0;
    float: left;
  }
  .shop__list .shop__item {
    max-width: 382px;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
  }
  .shop__list .shop__item:nth-child(even) {
    width: 40%;
  }
  .shop__list .shop__item a:hover {
    text-decoration: underline;
  }
  .shop__list .shop__item--long {
    text-indent: -1.5em;
    margin-left: 1.5em;
    max-width: 360px;
  }
  .shop__food {
    width: 100%;
    margin-bottom: 50px;
  }
  .shop__service {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .shop__list .shop__item {
    width: 45%;
  }
  .shop__area01 .bg_element {
    width: 110vw;
    left: -10vw;
  }
}

@media (min-width: 1160px) {
  .shop__area01 .bg_element {
    width: 100vw;
    left: 0;
  }
}

/* floormap
  -----------*/
.floormap {
  width: 100%;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  padding-left: 5.34vw;
  margin-top: 10.67vw;
}

.floormap figure {
  display: flex;
  height: auto;
}

.floormap figure img {
  width: auto;
  height: 52vw;
}

.floormap__list {
  width: 89.2vw;
  line-height: 1;
  margin: 6.67vw auto 12vw;
  font-size: 3.47vw;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}

.floormap__item {
  position: relative;
}

.floormap__item:first-child {
  padding-left: 18px;
}

.floormap__item:first-child:before {
  content: '';
  display: inline-block;
  width: 2.4vw;
  height: 2.67vw;
  background: url("../img/common/arrow_left.png") no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0;
}

.floormap__item:nth-child(2) {
  padding-right: 18px;
}

.floormap__item:nth-child(2):after {
  content: '';
  display: inline-block;
  width: 2.4vw;
  height: 2.67vw;
  background: url("../img/common/arrow_right.png") no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 0;
}

@media (min-width: 768px) {
  /* floormap
    -----------*/
  .floormap {
    padding: 0;
    margin-top: 50px;
    overflow: hidden;
  }
  .floormap figure {
    width: 100%;
    display: block;
  }
  .floormap figure img {
    width: 100%;
    height: auto;
  }
  .floormap__list {
    width: 100%;
    font-size: 16px;
    margin: 18px 0 60px;
  }
  .floormap__item:first-child {
    padding-left: 30px;
  }
  .floormap__item:first-child:before {
    width: 12px;
    height: 13px;
  }
  .floormap__item:nth-child(2) {
    padding-right: 28px;
  }
  .floormap__item:nth-child(2):after {
    width: 12px;
    height: 13px;
  }
}

/* btn
----------------*/
.btn_detail {
  font-size: 4vw;
  width: 63.333vw;
  height: 14.9vw;
  margin: 0 auto;
  position: relative;
}

.btn_detail a {
  display: block;
  height: inherit;
  background: url("../img/common/bg_btn.gif") no-repeat;
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2.6vw 1.4vw 0;
}

.btn_detail a:before {
  content: '';
  display: block;
  background: url("../img/common/arrow.gif") no-repeat;
  background-size: contain;
  width: 4.2vw;
  height: 2.5vw;
  top: 5.34vw;
  right: 7.07vw;
  position: absolute;
}

@media (min-width: 768px) {
  .btn_detail {
    font-size: 17px;
    transition: all 0.2s;
    width: 292px;
    height: 69px;
  }
  .btn_detail a {
    padding: 0 8px 6px 0;
  }
  .btn_detail a:before {
    width: 20px;
    height: 11px;
    background: url("../img/common/arrow02.png") no-repeat;
    background-size: contain;
    top: 25px;
    right: 40px;
    transition: all 0.2s;
    padding-bottom: 8px;
  }
  .btn_detail a:hover:before {
    right: 30px;
  }
}

/* keyframes
------------------*/
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, -65px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0, 0);
    opacity: 1;
  }
}

@keyframes sdb {
  0% {
    transform: translate(0, -65px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

@-webkit-keyframes sdb2 {
  0% {
    -webkit-transform: translate(0, 65px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0, 0);
    opacity: 1;
  }
}

@keyframes sdb2 {
  0% {
    transform: translate(0, 65px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
