/*
Theme Name: Groove theme verTTTt
Author: Ogino Masanori
Version: 2.0
License: It is protected by copyright
*/
@charset "UTF-8";

.page {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #e0e0e0;
}

.page__head {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #30415d;
  color: #ba9b68;
  height: 50vh;
  padding-top: 56px;
  width: 100%;
  z-index: 20;
}

.page__head__title {
  font-weight: 100;
  font-size: 4rem;
  margin: 2rem 0 4rem;
}

.page__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
}

.page__nav {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #30415d;
  border: 4px solid #ba9b68;
  border-radius: 2px;
  color: #ba9b68;
  margin: 0 auto 40px;
  max-width: 900px;
  min-height: 0;
  padding: 0;
  width: calc(100% - 16px);
  z-index: 5;
}

@media screen and (min-width: 839px) {
  .page__nav {
    margin-bottom: 80px;
  }
}

.page__nav__head {
  margin: 0;
  padding: 48px 8px 16px;
}

.page__nav__head__title {
  font-size: 2.4rem;
  font-weight: 400;
  margin: 0;
}

.page__nav__list {
  padding: 8px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .page__nav__list {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .page__nav__list {
    padding: 24px;
  }
}

.page__nav__anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: all 1s 10s "cubic-bezier(.4,0,.2,1)" 0s cubic-bezier(0, 0, .2, 1);
  transition: all 1s 10s "cubic-bezier(.4,0,.2,1)" 0s cubic-bezier(0, 0, .2, 1);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #ba9b68;
  border: 2px solid #ba9b68;
  border-radius: 2px;
  color: #30415d;
  margin: 4px 0 4px;
  padding: 16px;
  -webkit-transition: 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  transition: 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  width: 100%;
}

@media screen and (min-width: 479px) {
  .page__nav__anchor {
    margin: 8px 0 8px;
    padding: 24px;
  }
}

@media screen and (min-width: 839px) {
  .page__nav__anchor {
    padding: 32px;
  }
}

.page__nav__anchor:hover {
  background-color: #30415d;
  color: #ba9b68;
}

.page__nav__link {
  font-size: 1.4rem;
  position: relative;
}

.section {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #e0e0e0;
  overflow: hidden;
  padding: 8px 0;
  position: relative;
  width: 100%;
}

.section__head {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 8px;
  color: #ba9b68;
  height: auto;
  margin: 2rem;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .section__head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .section__head {
    padding: 24px;
  }
}

.section__head__title {
  font-weight: 100;
  font-size: 4rem;
  margin: 2rem 0 4rem;
}

.section__head__title.action {
  -webkit-transition: all 0.4s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(0, 0, .2, 1);
  opacity: 0;
  -webkit-transform: translate3d(0, -1rem, 0);
  transform: translate3d(0, -1rem, 0);
}

.section__head__title.action.on-state {
  opacity: 1;
}

.section__head__title.action.on-state {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.section__head__caption {
  margin-bottom: 1rem;
  text-align: left;
  width: 90%;
}

.section__head__caption.action {
  -webkit-transition: all 0.4s 0.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0.2s cubic-bezier(0, 0, .2, 1);
  opacity: 0;
  -webkit-transform: translate3d(0, 1rem, 0);
  transform: translate3d(0, 1rem, 0);
}

.section__head__caption.action.on-state {
  opacity: 1;
}

.section__head__caption.action.on-state {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.section__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
}

.box {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  position: relative;
  width: 100%;
  z-index: 5;
}

@media screen and (max-width: 1024px) {
  .box:nth-of-type(even) {
    margin: 8px 0;
  }
}

.box.action {
  -webkit-transition: all 0.6s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0s cubic-bezier(0, 0, .2, 1);
  opacity: 0;
}

.box.action.on-state {
  opacity: 1;
}

.card {
  margin: 8px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  color: #424242;
  width: calc(100% - 16px);
}

@media screen and (min-width: 479px) {
  .card {
    width: calc(50% - 16px);
  }
}

.card__head {
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .card__head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .card__head {
    padding: 24px;
  }
}

.card__body {
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .card__body {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .card__body {
    padding: 24px;
  }
}

.tab {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: -10vh;
  overflow: hidden;
  width: 100%;
  z-index: 30;
}

.tab__list {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  list-style: none;
  max-width: 900px;
  padding: 0 4px;
  width: calc(100% - 16px);
}

.tab__item {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #ba9b68;
  border: 4px solid #ba9b68;
  border-bottom: none;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  color: #30415d;
  cursor: pointer;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin: 8px 4px 24px;
  width: calc(50% - 16px);
}

.tab__item.is-active {
  -webkit-animation: tab-item-in .6s forwards;
  animation: tab-item-in .6s forwards;
  background-color: #30415d;
  border: 4px solid #ba9b68;
  border-bottom: none;
  cursor: default;
  z-index: 100;
}

.tab__item.is-hidden {
  -webkit-animation: tab-item-out .6s forwards;
  animation: tab-item-out .6s forwards;
}

.tab__label {
  font-size: 1.2rem;
  font-weight: 400;
  height: calc(15vh - 4px);
  line-height: calc(15vh - 4px);
  width: 100%;
}

.tab__panel {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: none;
  width: 100%;
}

.tab__panel.is-active {
  -webkit-animation: tab-panel-in .5s forwards;
  animation: tab-panel-in .5s forwards;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.tab__panel.is-active .page__nav__anchor {
  opacity: 1;
  text-align: left;
}

.tab__panel.is-hidden {
  -webkit-animation: tab-panel-out .5s forwards;
  animation: tab-panel-out .5s forwards;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.button {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 8px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  -webkit-transition: all 0.4s 0.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0.1s cubic-bezier(0, 0, .2, 1);
  opacity: 0;
  -webkit-transform: translate3d(0, 2rem, 0);
  transform: translate3d(0, 2rem, 0);
  background-color: rgba(48, 65, 93, 0.74);
  border: 2px solid #e0e0e0;
  height: 9rem;
  position: relative;
  width: 9rem;
  z-index: 5;
}

.button.on-state {
  opacity: 1;
}

.button.on-state {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

@media screen and (min-width: 479px) {
  .button {
    height: 11rem;
    width: 11rem;
  }
}

.button:not(:only-of-type):nth-of-type(odd) {
  margin: -3rem 3rem 0 0;
}

@media screen and (min-width: 479px) {
  .button:not(:only-of-type):nth-of-type(odd) {
    margin: -4rem 2rem 0 0;
  }
}

@media screen and (min-width: 1024px) {
  .button:not(:only-of-type):nth-of-type(odd) {
    margin: -5rem 1rem 0 0;
  }
}

.button:not(:only-of-type):nth-of-type(even) {
  margin-top: 3rem 0 0 3rem;
}

@media screen and (min-width: 479px) {
  .button:not(:only-of-type):nth-of-type(even) {
    margin: 4rem 0 0 2rem;
  }
}

@media screen and (min-width: 1024px) {
  .button:not(:only-of-type):nth-of-type(even) {
    margin: 5rem 0 0 1rem;
  }
}

.button__title {
  color: #e0e0e0;
  font-size: 1.4rem;
  font-weight: 100;
  letter-spacing: .1rem;
  text-align: left;
}

@media screen and (min-width: 479px) {
  .button__title {
    font-size: 1.8rem;
  }
}

.button::after {
  position: absolute;
  top: auto;
  right: calc(50% - .6rem);
  bottom: 1.6rem;
  left: auto;
  border-bottom: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  content: "";
  display: block;
  height: 1.2rem;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 1.2rem;
}

#gmap {
  height: 50vh;
  width: 100%;
}

@media screen and (min-width: 479px) {
  #gmap {
    height: 60vh;
  }
}

@media screen and (min-width: 839px) {
  #gmap {
    height: 70vh;
  }
}

.arrow {
  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  background-color: #ba9b68;
  border-radius: 50%;
  content: '';
  height: 4rem;
  width: 4rem;
  position: relative;
  z-index: 100;
}

.arrow span {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  border-bottom: 2px solid #e0e0e0;
  border-right: 2px solid #e0e0e0;
  height: 1.5rem;
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
  width: 1.5rem;
}

.logo {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #ba9b68;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.logo__mark {
  height: 8rem;
  width: 8rem;
}

.logo__title {
  font-family: 'Playfair Display';
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: .2rem;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
}

.logo__sub-title {
  font-size: 2rem;
  font-weight: 100;
  letter-spacing: .8rem;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
}

.info {
  background: none;
  box-shadow: none;
  text-align: left;
}

.info__title {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  background-color: #30415d;
  color: #e0e0e0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.1;
  padding: 1rem;
  text-align: left;
}

.info__sub-title {
  color: rgba(0, 0, 0, 0.54);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 8px;
  text-align: left;
}

.info__caption {
  color: #777777;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 0 8px 8px;
  text-align: left;
}

.menu-info {
  position: relative;
}

.menu-info__title {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.1;
  margin: 1rem 0;
  text-align: right;
}

.menu-info__title:last-child {
  margin-bottom: 0;
}

.menu-info__brand {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  margin-top: .6rem;
  padding-left: 1rem;
  text-align: left;
}

.menu-info__brand:last-of-type {
  margin-bottom: 1rem;
}

.menu-info__brand span {
  font-weight: 300;
  margin-right: 1rem;
}

.menu-info__caption {
  font-size: .9rem;
  font-weight: 300;
  line-height: 1.4;
  margin: 3rem 0;
  text-align: left;
}

.menu-info__caption:first-of-type {
  border-bottom: 1px solid rgba(48, 65, 93, 0.54);
}

.menu-info__caption:first-of-type:last-child {
  border: none;
}

.menu-info__more {
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  text-align: left;
}

.menu-info__more+.accordion {
  -webkit-transition: all 0.4s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(0, 0, .2, 1);
  height: 0;
  overflow: hidden;
}

.menu-info__more.on-state+.accordion {
  display: block;
  height: 10rem;
}

.menu-info__day {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #30415d;
  border-radius: 2px;
  color: #e0e0e0;
  font-size: 1rem;
  font-weight: 400;
  height: auto;
  left: -8px;
  line-height: 1;
  padding: .5rem 1rem;
  position: absolute;
  text-align: left;
  top: -8px;
  width: auto;
}

.menu-info__day:before {
  content: 'Day';
  font-size: .6rem;
  margin-right: .8rem;
}

.menu-info__day+.menu-info__title {
  margin-top: 2rem;
}

.menu-info__day span {
  font-size: .6rem;
  margin: 0 .3rem;
}

.menu-info__price {
  font-size: .8rem;
  line-height: 1;
  margin-top: 1rem;
  text-align: left;
}

.menu-info__price+.menu-info__price {
  margin: 0;
}

.menu-info__price:last-of-type {
  martin-bottom: 1rem;
}

.menu-info__price>span {
  font-family: "Lora";
  font-size: 1.2rem;
  margin-right: .2rem;
}

.menu-info__image {
  height: auto;
  max-width: 100%;
  width: 100%;
}

.butler-info {
  border-radius: 2px;
  box-sizing: border-box;
  font-weight: 300;
  line-height: 1.2;
  overflow: hidden;
  padding: 16px 8px 8px;
  position: relative;
  text-align: left;
}

@media screen and (min-width: 1024px) {
  .butler-info {
    padding: 24px 16px 16px;
  }
}

.butler-info::before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #8eaebd;
  content: '';
  height: 12rem;
  -webkit-transform: rotate(13deg);
  -ms-transform: rotate(13deg);
  transform: rotate(13deg);
  -webkit-transform-origin: top right;
  -ms-transform-origin: top right;
  transform-origin: top right;
  width: 50%;
}

.butler-info__title {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  color: #f5f5f5;
  font-size: 2.4rem;
  font-weight: 300;
  margin: 2.6rem 0 0;
  text-align: center;
  width: 45%;
}

.butler-info__work {
  font-size: 1.1rem;
  margin: 2.4rem 0 1.4rem calc(50% + 1rem);
  position: relative;
}

.butler-info__work::before {
  position: absolute;
  top: -1rem;
  right: auto;
  bottom: auto;
  left: 0;
  content: 'WORK';
  color: #8eaebd;
  font-size: .9rem;
  font-weight: 700;
}

.butler-info__hobby {
  font-size: 1.1rem;
  margin: 1.4rem 0 1.4rem calc(50% + 1rem);
  position: relative;
}

.butler-info__hobby::before {
  position: absolute;
  top: -1rem;
  right: auto;
  bottom: auto;
  left: 0;
  content: 'HOBBY';
  color: #8eaebd;
  font-size: .9rem;
  font-weight: 700;
}

.butler-info__favorite {
  font-size: 1.1rem;
  margin: 1.4rem 0 1.4rem calc(50% + 1rem);
  position: relative;
}

.butler-info__favorite::before {
  position: absolute;
  top: -1rem;
  right: auto;
  bottom: auto;
  left: 0;
  content: 'FAVORITE';
  color: #8eaebd;
  font-size: .9rem;
  font-weight: 700;
}

.butler-info__message {
  font-size: 1.1rem;
  margin: 1.4rem 0 1.4rem calc(50% + 1rem);
  position: relative;
}

.butler-info__message::before {
  position: absolute;
  top: -1rem;
  right: auto;
  bottom: auto;
  left: 0;
  content: 'MESSAGE';
  color: #8eaebd;
  font-size: .9rem;
  font-weight: 700;
}

.accordion {
  cursor: pointer;
  padding-right: 40px;
  position: relative;
  width: calc(100% - 40px);
}

.accordion__panel {
  display: none;
  padding-top: 16px;
}

.accordion::before {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 100%;
  -webkit-transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  border-bottom: 2px solid #9E9E9E;
  border-right: 2px solid #9E9E9E;
  content: '';
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
  height: 8px;
  width: 8px;
  z-index: 2;
}

.accordion::after {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 100%;
  background-color: #f5f5f5;
  border-radius: 50%;
  box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.34) inset, 0 0 4px 0 rgba(0, 0, 0, 0.24) inset;
  content: '';
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  height: 40px;
  width: 40px;
}

.accordion.on-state::before {
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(225deg);
  transform: translate3d(-50%, -50%, 0) rotate(225deg);
}

* {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  box-sizing: border-box;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline;
}

html {
  color: rgba(0, 0, 0, 0.54);
  font-size: 50%;
  height: 100%;
  overflow-y: scroll;
  width: 100%;
}

@media screen and (min-width: 479px) {
  html {
    font-size: 75%;
  }
}

@media screen and (min-width: 839px) {
  html {
    font-size: 100%;
  }
}

body {
  font-size: 10px;
  font-size: 1.0rem;
  line-height: 1;
  position: relative;
  text-align: center;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-smoothing: antialiased;
  width: 100%;
  height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  line-height: 1;
  margin: 0;
  padding: 0;
}

article,
aside,
dialog,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Roboto", "Helvetica", sans-serif;
}

@-webkit-keyframes header-in {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes header-in {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes hamburger-top {
  0% {
    -webkit-transform: translateY(6px) rotate(45deg);
    transform: translateY(6px) rotate(45deg);
  }

  50% {
    -webkit-transform: translateY(6px) rotate(0);
    transform: translateY(6px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }
}

@keyframes hamburger-top {
  0% {
    -webkit-transform: translateY(6px) rotate(45deg);
    transform: translateY(6px) rotate(45deg);
  }

  50% {
    -webkit-transform: translateY(6px) rotate(0);
    transform: translateY(6px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }
}

@-webkit-keyframes hamburger-bottom {
  0% {
    -webkit-transform: translateY(-6px) rotate(-45deg);
    transform: translateY(-6px) rotate(-45deg);
  }

  50% {
    -webkit-transform: translateY(-6px) rotate(0);
    transform: translateY(-6px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }
}

@keyframes hamburger-bottom {
  0% {
    -webkit-transform: translateY(-6px) rotate(-45deg);
    transform: translateY(-6px) rotate(-45deg);
  }

  50% {
    -webkit-transform: translateY(-6px) rotate(0);
    transform: translateY(-6px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }
}

@-webkit-keyframes hamburger-name {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }

  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@keyframes hamburger-name {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }

  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@-webkit-keyframes hamburger-open-top {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }

  50% {
    -webkit-transform: translateY(6px) rotate(0);
    transform: translateY(6px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(6px) rotate(45deg);
    transform: translateY(6px) rotate(45deg);
  }
}

@keyframes hamburger-open-top {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }

  50% {
    -webkit-transform: translateY(6px) rotate(0);
    transform: translateY(6px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(6px) rotate(45deg);
    transform: translateY(6px) rotate(45deg);
  }
}

@-webkit-keyframes hamburger-open-bottom {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }

  50% {
    -webkit-transform: translateY(-6px) rotate(0);
    transform: translateY(-6px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(-6px) rotate(-45deg);
    transform: translateY(-6px) rotate(-45deg);
  }
}

@keyframes hamburger-open-bottom {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }

  50% {
    -webkit-transform: translateY(-6px) rotate(0);
    transform: translateY(-6px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(-6px) rotate(-45deg);
    transform: translateY(-6px) rotate(-45deg);
  }
}

@-webkit-keyframes hamburger-open-name {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }

  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@keyframes hamburger-open-name {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }

  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }

  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@-webkit-keyframes tab-item-in {
  0% {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    color: #30415d;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    box-shadow: none;
    color: #ba9b68;
    -webkit-transform: translate3d(0, 28px, 0);
    transform: translate3d(0, 28px, 0);
  }
}

@keyframes tab-item-in {
  0% {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    color: #30415d;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    box-shadow: none;
    color: #ba9b68;
    -webkit-transform: translate3d(0, 28px, 0);
    transform: translate3d(0, 28px, 0);
  }
}

@-webkit-keyframes tab-item-out {
  0% {
    border-bottom: none;
    box-shadow: none;
    -webkit-transform: translate3d(0, 28px, 0);
    transform: translate3d(0, 28px, 0);
  }

  100% {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes tab-item-out {
  0% {
    border-bottom: none;
    box-shadow: none;
    -webkit-transform: translate3d(0, 28px, 0);
    transform: translate3d(0, 28px, 0);
  }

  100% {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes tab-panel-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(60vw, 0, 0);
    transform: translate3d(60vw, 0, 0);
    z-index: 30;
  }

  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 30;
  }
}

@keyframes tab-panel-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(60vw, 0, 0);
    transform: translate3d(60vw, 0, 0);
    z-index: 30;
  }

  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 30;
  }
}

@-webkit-keyframes tab-panel-out {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 30;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(-60vw, 0, 0);
    transform: translate3d(-60vw, 0, 0);
    z-index: 30;
  }
}

@keyframes tab-panel-out {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 30;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(-60vw, 0, 0);
    transform: translate3d(-60vw, 0, 0);
    z-index: 30;
  }
}

@-webkit-keyframes page-in {
  0% {
    margin-top: 6vh;
  }

  100% {
    margin-top: -6vh;
  }
}

@keyframes page-in {
  0% {
    margin-top: 6vh;
  }

  100% {
    margin-top: -6vh;
  }
}

@-webkit-keyframes head-on {
  0% {
    box-shadow: none;
    color: transparent;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }

  40% {
    box-shadow: none;
    color: transparent;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }

  100% {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    color: #e0e0e0;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@keyframes head-on {
  0% {
    box-shadow: none;
    color: transparent;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }

  40% {
    box-shadow: none;
    color: transparent;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }

  100% {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    color: #e0e0e0;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

.header {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  -webkit-animation: header-in .5s forwards;
  animation: header-in .5s forwards;
  background-color: #30415d;
  height: 56px;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2000;
}

.header.is-hidden {
  -webkit-animation: none;
  animation: none;
}

.header__wrapper {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  height: 100%;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1200px;
  position: relative;
  width: 100%;
}

.header__left {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 56px;
  padding: 8px;
  width: 56px;
}

@media screen and (min-width: 479px) {
  .header__left {
    width: 112px;
  }
}

.header__right {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 80px;
  padding-right: 8px;
  width: 56px;
}

@media screen and (min-width: 479px) {
  .header__right {
    width: 112px;
  }
}

.header__logo {
  color: #ba9b68;
  font-family: 'Playfair Display';
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .09rem;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
}

.header #drawer-toggle {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  background: none;
  border: #ba9b68 solid 2px;
  height: 40px;
  position: relative;
  width: 40px;
}

.header #drawer-toggle span {
  position: absolute;
  top: auto;
  right: 8px;
  bottom: auto;
  left: 8px;
  background-color: #ba9b68;
  border-radius: 2px;
  display: inline-block;
  height: 2px;
  width: 20px;
}

.header #drawer-toggle span:nth-of-type(1) {
  -webkit-animation: hamburger-top .6s forwards;
  animation: hamburger-top .6s forwards;
  top: 6px;
}

.header #drawer-toggle span:nth-of-type(2) {
  top: 12px;
  opacity: 1;
}

.header #drawer-toggle span:nth-of-type(3) {
  -webkit-animation: hamburger-bottom .6s forwards;
  animation: hamburger-bottom .6s forwards;
  top: 18px;
}

.header #drawer-toggle::after {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 2px;
  left: 0;
  -webkit-animation: hamburger-name .6s forwards;
  animation: hamburger-name .6s forwards;
  color: #ba9b68;
  content: 'MENU';
  display: block;
  font-size: 9px;
  font-weight: 300;
  text-align: center;
  width: 100%;
}

.header__reserve {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  background-color: #ba9b68;
  color: #30415d;
  height: 100%;
  width: 100%;
}

.header__reserve__link {
  font-size: 1.2rem;
  font-weight: 300;
  letter-spacing: -.05rem;
}

.drawer {
  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.3s 0s cubic-bezier(0, 0, .2, 1);
  background-color: #e0e0e0;
  height: 100%;
  left: 0;
  max-width: 800px;
  overflow-y: auto;
  padding-top: 56px;
  position: fixed;
  top: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  width: calc(100% - 56px);
  z-index: 1000;
}

@media screen and (min-width: 479px) {
  .drawer {
    width: calc(100% - 112px);
  }
}

.drawer__row--first {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 8px 0 0;
  padding: 0 4px;
  width: 100%;
}

.drawer__row--first__left {
  margin: 4px;
  width: calc(100% - 8px);
}

.drawer__row--first__center {
  height: 100%;
  margin: 8px 4px;
  width: calc(50% - 8px);
}

.drawer__row--first__right {
  height: 100%;
  margin: 8px 4px;
  width: calc(50% - 8px);
}

/*
	（2024.09.25 菊池）
	Instagram リンク追加
	※外部リンク部分をメンテしやすいように分離
*/
.drawer__row--first2 {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  padding: 0 4px;
  width: 100%;
}

.drawer__row--first2__2col {
  height: 100%;
  margin: 8px 4px;
  width: calc(50% - 8px);
}

.drawer__row--first2__3col {
  height: 100%;
  margin: 8px 4px;
  width: calc(33% - 8px);
}

/*
	ここまで（2024.09.25 菊池）
*/
.drawer__reserve {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #ba9b68;
  color: #30415d;
  padding: 3rem 0;
  position: relative;
}

.drawer__reserve__link {
  font-size: 2.4rem;
  font-weight: 300;
  letter-spacing: .2rem;
}

.drawer__reserve::before {
  position: absolute;
  top: 50%;
  right: 2rem;
  bottom: auto;
  left: auto;
  border-bottom: 1px solid #30415d;
  border-right: 1px solid #30415d;
  content: '';
  height: 2rem;
  -webkit-transform: translate3d(0, -50%, 0) rotate(-45deg);
  transform: translate3d(0, -50%, 0) rotate(-45deg);
  width: 2rem;
}

.drawer__twitter {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #41597f;
  height: 100%;
  padding: .5rem 0;
}

.drawer__twitter p {
  color: #f5f5f5;
  font-size: 1.2rem;
}

.drawer__twitter-icon {
  height: 40px;
  padding: 4px;
  width: 40px;
}

@media screen and (min-width: 479px) {
  .drawer__twitter-icon {
    height: 44px;
    width: 44px;
  }
}

.drawer__mail {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #41597f;
  height: 100%;
  padding: .5rem 0;
}

.drawer__mail p {
  color: #f5f5f5;
  font-size: 1.2rem;
}

.drawer__mail-icon {
  height: 40px;
  padding: 8px;
  width: 40px;
}

@media screen and (min-width: 479px) {
  .drawer__mail-icon {
    height: 44px;
    width: 44px;
  }
}

.drawer__row--second {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  height: auto;
  margin: 4px 0;
  padding: 0 4px;
  width: 100%;
}

.drawer__row--second__left {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 4px;
  width: calc(34% - 8px);
}

.drawer__row--second__right {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  margin: 0 4px;
  position: relative;
  width: calc(66% - 8px);
}

.drawer__topics {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  border-radius: 2px;
  color: #5a6d81;
  height: 100px;
  margin: 0 0 8px;
  width: 100%;
}

.drawer__topics:last-of-type {
  margin: 0;
}

.drawer__topics__link {
  font-size: 1.1rem;
  font-weight: 300;
}

.drawer__contents {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0;
  margin: 0 0 4px;
}

.drawer__contents__anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  background-color: #f5f5f5;
  border-radius: 2px;
  color: #5a6d81;
  height: 40px;
  margin: 0 1px 1px;
  width: calc(100% - 2px);
}

.drawer__contents__link {
  font-size: 1.1rem;
  font-weight: 300;
}

.drawer__row--third {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: auto;
  margin: 0;
  padding: 4px;
  width: 100%;
}

.drawer__row--third__left {
  margin: 4px 4px 4px 4px;
  width: calc(100% - 8px);
}

.drawer__row--third__right {
  margin: 0 4px 4px 4px;
  width: calc(100% - 8px);
}

.drawer__butlers-opera {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #41597f;
  border-radius: 2px;
  color: #f5f5f5;
  height: 20vh;
  margin: 0 0 8px;
  position: relative;
  width: 100%;
}

.drawer__butlers-opera__link {
  font-weight: 100;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
  font-size: 2.4rem;
  font-weight: 100;
}

.drawer__gift-shop {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #41597f;
  border-radius: 2px;
  color: #f5f5f5;
  height: 20vh;
  margin: 0;
  position: relative;
  width: 100%;
}

.drawer__gift-shop__link {
  font-weight: 100;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
  font-size: 2.4rem;
  font-weight: 100;
}

.drawer__row--fourth {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  padding: 4px 4px 16px;
  width: 100%;
}

.drawer__row--fourth__left {
  margin: 0 4px;
  width: calc(50% - 8px);
}

.drawer__row--fourth__right {
  margin: 0 4px;
  width: calc(50% - 8px);
}

.drawer__recruit {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #424242;
  border-radius: 2px;
  color: #f5f5f5;
  padding: 1.5rem 0;
  width: 100%;
}

.drawer__recruit__link {
  font-size: 1.1rem;
  font-weight: 300;
}

.drawer__company-info {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #424242;
  border-radius: 2px;
  color: #f5f5f5;
  padding: 1.5rem 0;
  width: 100%;
}

.drawer__company-info__link {
  font-size: 1.1rem;
  font-weight: 300;
}

#drawer-overlay {
  -webkit-transition: all 0.4s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(0, 0, .2, 1);
  background: rgba(0, 0, 0, 0.54);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: -10;
}

.wrapper.drawer-open {
  width: 100%;
}

.wrapper.drawer-open #drawer-toggle span:nth-of-type(1) {
  -webkit-animation: hamburger-open-top .6s forwards;
  animation: hamburger-open-top .6s forwards;
}

.wrapper.drawer-open #drawer-toggle span:nth-of-type(2) {
  opacity: 0;
}

.wrapper.drawer-open #drawer-toggle span:nth-of-type(3) {
  -webkit-animation: hamburger-open-bottom .6s forwards;
  animation: hamburger-open-bottom .6s forwards;
}

.wrapper.drawer-open #drawer-toggle:after {
  -webkit-animation: hamburger-open-name .6s forwards;
  animation: hamburger-open-name .6s forwards;
  content: 'CLOSE';
}

.wrapper.drawer-open .drawer {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.wrapper.drawer-open #drawer-overlay {
  z-index: 999;
}

.top-page .section__head {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 8px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #5a6d81;
  color: #e0e0e0;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .top-page .section__head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .top-page .section__head {
    padding: 24px;
  }
}

.top-page .section__head__title {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin: 0;
  padding: 0;
  text-align: right;
  width: 100%;
}

.top-page .section__head__title--sub {
  font-weight: 100;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  font-size: 2rem;
  margin: .5rem 0 0 -.1rem;
  padding: 0;
  text-align: right;
  width: 125%;
}

.top-page .section__head__caption {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin-top: 2rem;
  max-width: 320px;
  text-align: justify;
  width: 100%;
}

.top-page .section__head__caption p {
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.2;
}

.top-page .section__head__caption p+p {
  margin-top: .6rem;
}

.top-page .section__body {
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .top-page .section__body {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .top-page .section__body {
    padding: 24px;
  }
}

@media screen and (min-width: 1024px) {
  .top-page .box {
    margin: 8px;
    max-width: 700px;
    width: calc(50% - 16px);
  }
}

.top-page #top-home {
  background-color: #30415d;
  height: 100vh;
  position: relative;
}

.top-page #top-home::before {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 1rem;
  left: 50%;
  border-bottom: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  content: '';
  height: 1.6rem;
  transform: translate3d(-50%, -1.6rem, 0) rotate(45deg);
  width: 1.6rem;
}

.top-page #top-home::after {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 1rem;
  left: 50%;
  content: 'Scroll Down';
  color: #e0e0e0;
  font-size: 1rem;
  height: 2rem;
  transform: translate3d(-50%, -2rem, 0);
  width: auto;
}

.top-page #top-topics {
  margin: 3rem 0;
}

@media screen and (min-width: 479px) {
  .top-page #top-topics {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

.top-page #top-topics .section__head {
  -webkit-transition: all 0.8s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.8s 0s cubic-bezier(0, 0, .2, 1);
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  padding-bottom: 3rem;
  padding-top: 3rem;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  width: 67%;
}

.top-page #top-topics .section__head__title {
  text-align: left;
}

.top-page #top-topics .section__head__title--sub {
  text-align: left;
}

@media screen and (min-width: 479px) {
  .top-page #top-topics .section__head {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    width: 33%;
  }

  .top-page #top-topics .section__head__title {
    text-align: right;
  }

  .top-page #top-topics .section__head__title--sub {
    text-align: right;
  }
}

.top-page #top-topics .section__head.on-state {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.top-page #top-topics .section__body {
  width: 100%;
}

@media screen and (min-width: 479px) {
  .top-page #top-topics .section__body {
    padding-bottom: 3rem;
    padding-top: 3rem;
    width: 67%;
  }
}

.top-page #top-topics .topic-list {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 1000px;
  width: 100%;
}

.top-page #top-topics .topic-list>.topic-item {
  opacity: 0;
  -webkit-transform: translate3d(5rem, 0, 0);
  transform: translate3d(5rem, 0, 0);
  width: 100%;
}

.top-page #top-topics .topic-list>.topic-item:nth-of-type(1) {
  -webkit-transition: all 0.4s 0.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0.3s cubic-bezier(0, 0, .2, 1);
}

.top-page #top-topics .topic-list>.topic-item:nth-of-type(2) {
  -webkit-transition: all 0.4s 0.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0.4s cubic-bezier(0, 0, .2, 1);
}

.top-page #top-topics .topic-list>.topic-item:nth-of-type(3) {
  -webkit-transition: all 0.4s 0.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0.5s cubic-bezier(0, 0, .2, 1);
}

.top-page #top-topics .topic-list>.topic-item:nth-of-type(4) {
  -webkit-transition: all 0.4s 0.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0.6s cubic-bezier(0, 0, .2, 1);
}

.top-page #top-topics .topic-list>.topic-item:nth-of-type(5) {
  -webkit-transition: all 0.4s 0.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0.7s cubic-bezier(0, 0, .2, 1);
}

.top-page #top-topics .topic-list p {
  padding: 8px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  border-radius: 2px;
  color: rgba(0, 0, 0, 0.54);
  font-size: 1rem;
  line-height: 1.2;
  margin-top: .5rem;
  text-align: left;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .top-page #top-topics .topic-list p {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .top-page #top-topics .topic-list p {
    padding: 24px;
  }
}

.top-page #top-topics .topic-list.on-state>.topic-item {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.top-page #top-philosophy {
  height: 100vh;
  margin: 3rem 0;
  padding: 0;
  position: relative;
}

.top-page #top-philosophy::before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  -webkit-transition: all 3s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 3s 0s cubic-bezier(0, 0, .2, 1);
  background: url("../../../../images/top/section_philosophy.jpg") center/cover;
  content: '';
  height: 120%;
  opacity: 0;
  -webkit-transform: translate3d(-15%, -10%, 0);
  transform: translate3d(-15%, -10%, 0);
  width: 130%;
  z-index: 5;
}

@media screen and (min-width: 479px) {
  .top-page #top-philosophy::before {
    -webkit-transform: translate3d(-5%, -10%, 0);
    transform: translate3d(-5%, -10%, 0);
  }
}

.top-page #top-philosophy::after {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  -webkit-transition: all 3s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 3s 0s cubic-bezier(0, 0, .2, 1);
  background-color: rgba(0, 0, 0, 0.54);
  content: '';
  height: 100%;
  opacity: 0;
  width: 100%;
  z-index: 5;
}

.top-page #top-philosophy .section__head {
  background-color: rgba(90, 109, 129, 0.54);
  box-shadow: none;
  color: transparent;
  padding-bottom: 3rem;
  padding-top: 3rem;
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  width: 100%;
  z-index: 10;
}

.top-page #top-philosophy .section__head__title {
  text-align: center;
}

.top-page #top-philosophy .section__head__title--sub {
  text-align: center;
}

.top-page #top-philosophy .section__head__caption {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  text-align: center;
  max-width: none;
  width: 100%;
}

.top-page #top-philosophy.on-state::before {
  opacity: 1;
  -webkit-transform: translate3d(0, -10%, 0);
  transform: translate3d(0, -10%, 0);
}

.top-page #top-philosophy.on-state::after {
  opacity: 1;
}

.top-page #top-philosophy.on-state .section__head {
  -webkit-animation: head-on 3s 0.2s cubic-bezier(.4, 0, .2, 1) forwards;
  animation: head-on 3s 0.2s cubic-bezier(.4, 0, .2, 1) forwards;
}

.top-page #top-butler {
  margin: 5rem 0;
}

@media screen and (min-width: 839px) {
  .top-page #top-butler {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

.top-page #top-butler .section__head {
  -webkit-transition: all 0.8s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.8s 0s cubic-bezier(0, 0, .2, 1);
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  padding-bottom: 3rem;
  padding-top: 3rem;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  width: 67%;
}

.top-page #top-butler .section__head__title {
  text-align: left;
}

.top-page #top-butler .section__head__title--sub {
  text-align: left;
}

.top-page #top-butler .section__head__caption {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

@media screen and (min-width: 839px) {
  .top-page #top-butler .section__head {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    width: 33%;
  }

  .top-page #top-butler .section__head__title {
    text-align: right;
  }

  .top-page #top-butler .section__head__title--sub {
    text-align: right;
  }

  .top-page #top-butler .section__head__caption {
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
  }
}

.top-page #top-butler .section__head.on-state {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.top-page #top-butler .section__body {
  margin-top: 1rem;
  padding-bottom: 0;
  padding-top: 0;
  width: 100%;
}

.top-page #top-butler .section__body a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  height: calc(100vw / 4);
  margin: 1rem 0;
  max-height: 300px;
  position: relative;
  width: 100%;
}

.top-page #top-butler .section__body a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  content: '';
  height: 100%;
  width: calc(100% - 1rem);
}

.top-page #top-butler .section__body a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  -webkit-transition: all 2s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 2s 0s cubic-bezier(0, 0, .2, 1);
  background-color: #5a6d81;
  content: '';
  height: 100%;
  width: calc(100% - 1rem);
}

@media screen and (min-width: 1024px) {
  .top-page #top-butler .section__body a::after {
    -webkit-transition: all 2s 0.2s cubic-bezier(.4, 0, .2, 1);
    transition: all 2s 0.2s cubic-bezier(.4, 0, .2, 1);
  }
}

.top-page #top-butler .section__body a .link {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 8px;
  -webkit-transition: all 1s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 1s 0s cubic-bezier(0, 0, .2, 1);
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  background-color: rgba(90, 109, 129, 0.84);
  background-color: #5a6d81;
  color: #5a6d81;
  height: 67%;
  -webkit-transform: translate3d(2rem, 0, 0);
  transform: translate3d(2rem, 0, 0);
  width: 40%;
  z-index: 10;
}

@media screen and (min-width: 479px) {
  .top-page #top-butler .section__body a .link {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .top-page #top-butler .section__body a .link {
    padding: 24px;
  }
}

@media screen and (min-width: 1024px) {
  .top-page #top-butler .section__body a .link {
    -webkit-transition: all 1s 0.2s cubic-bezier(.4, 0, .2, 1);
    transition: all 1s 0.2s cubic-bezier(.4, 0, .2, 1);
  }
}

.top-page #top-butler .section__body a .link__name {
  text-align: left;
  width: 100%;
}

.top-page #top-butler .section__body a .link__name--english {
  font-size: 1.6rem;
  font-weight: 100;
  margin-bottom: .2rem;
}

.top-page #top-butler .section__body a .link__name--japanese {
  font-size: 1.2rem;
  font-weight: 100;
  -webkit-transform: scaleX(0.9);
  -ms-transform: scaleX(0.9);
  transform: scaleX(0.9);
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left;
  width: 111.1111111%;
}

.top-page #top-butler .section__body .butler-list::before {
  background: url("../../../../images/top/section_butler_list.jpg") center/cover;
}

.top-page #top-butler .section__body .butler-diary::before {
  background: url("../../../../images/top/section_butler_diary.jpg") center/cover;
}

@media screen and (min-width: 839px) {
  .top-page #top-butler .section__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin: 0;
    padding-bottom: 3rem;
    padding-top: 3rem;
    width: 67%;
  }
}

.top-page #top-butler .section__body.on-state a::before {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.top-page #top-butler .section__body.on-state a::after {
  background-color: rgba(0, 0, 0, 0.24);
}

.top-page #top-butler .section__body.on-state a .link {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  color: #f5f5f5;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.top-page #top-menu {
  margin: 5rem 0;
}

@media screen and (min-width: 839px) {
  .top-page #top-menu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

.top-page #top-menu .section__head {
  -webkit-transition: all 0.8s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.8s 0s cubic-bezier(0, 0, .2, 1);
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  padding-bottom: 3rem;
  padding-top: 3rem;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  width: 67%;
}

.top-page #top-menu .section__head__title {
  text-align: left;
}

.top-page #top-menu .section__head__title--sub {
  text-align: left;
}

.top-page #top-menu .section__head__caption {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

@media screen and (min-width: 839px) {
  .top-page #top-menu .section__head {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    width: 33%;
  }

  .top-page #top-menu .section__head__title {
    text-align: left;
  }

  .top-page #top-menu .section__head__title--sub {
    text-align: left;
  }
}

.top-page #top-menu .section__head.on-state {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.top-page #top-menu .section__body {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 1rem;
  padding-bottom: 0;
  padding-top: 0;
  width: 100%;
}

.top-page #top-menu .section__body a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  height: calc(100vw / 4);
  margin: 1rem 0;
  max-height: 280px;
  min-height: 150px;
  position: relative;
  width: 100%;
}

.top-page #top-menu .section__body a::before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  content: '';
  height: 100%;
  width: calc(100% - 1rem);
}

.top-page #top-menu .section__body a::after {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  -webkit-transition: all 2s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 2s 0s cubic-bezier(0, 0, .2, 1);
  background-color: #5a6d81;
  content: '';
  height: 100%;
  width: calc(100% - 1rem);
}

@media screen and (min-width: 1024px) {
  .top-page #top-menu .section__body a::after {
    -webkit-transition: all 2s 0.2s cubic-bezier(.4, 0, .2, 1);
    transition: all 2s 0.2s cubic-bezier(.4, 0, .2, 1);
  }
}

.top-page #top-menu .section__body a .link {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 8px;
  -webkit-transition: all 1s 0.2s cubic-bezier(.4, 0, .2, 1);
  transition: all 1s 0.2s cubic-bezier(.4, 0, .2, 1);
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  background-color: rgba(90, 109, 129, 0.84);
  background-color: #5a6d81;
  color: #5a6d81;
  height: 67%;
  -webkit-transform: translate3d(-1rem, 0, 0);
  transform: translate3d(-1rem, 0, 0);
  width: 50%;
  z-index: 10;
}

@media screen and (min-width: 479px) {
  .top-page #top-menu .section__body a .link {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .top-page #top-menu .section__body a .link {
    padding: 24px;
  }
}

.top-page #top-menu .section__body a .link__name {
  text-align: right;
  width: 100%;
}

.top-page #top-menu .section__body a .link__name--english {
  font-size: 1.6rem;
  font-weight: 100;
}

.top-page #top-menu .section__body a .link__name--japanese {
  font-size: 1.2rem;
  font-weight: 100;
  margin-top: .2rem;
  -webkit-transform: scaleX(0.9);
  -ms-transform: scaleX(0.9);
  transform: scaleX(0.9);
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left;
  width: 111.1111111%;
}

.top-page #top-menu .section__body a .link__name--japanese+.link__name--japanese {
  margin-top: 0;
}

.top-page #top-menu .section__body .menu-block--food {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  width: calc(55% - 8px);
}

.top-page #top-menu .section__body .menu-block--drink {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  width: calc(45% - 8px);
}

.top-page #top-menu .section__body .menu-block--drink a {
  height: 100%;
  max-height: none;
}

.top-page #top-menu .section__body .menu-block--drink a .link {
  height: 42%;
}

.top-page #top-menu .section__body .menu-block--anniversary {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  width: 100%;
}

.top-page #top-menu .section__body .menu-block--anniversary a .link {
  width: 45%;
}

.top-page #top-menu .section__body .menu-this::before {
  background: url("../../../../images/top/section_menu_tmonth.jpg") center/cover;
}

.top-page #top-menu .section__body .menu-next::before {
  background: url("../../../../images/top/section_menu_nmonth.jpg") center/cover;
}

.top-page #top-menu .section__body .menu-drink::before {
  background: url("../../../../images/top/section_menu_drink.jpg") center/cover;
}

.top-page #top-menu .section__body .menu-anniversary::before {
  background: url("../../../../images/top/section_menu_anniversary.jpg") center/cover;
}

@media screen and (min-width: 839px) {
  .top-page #top-menu .section__body {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin: 0;
    padding-bottom: 3rem;
    padding-top: 3rem;
    width: 67%;
  }
}

.top-page #top-menu .section__body.on-state a::before {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.top-page #top-menu .section__body.on-state a::after {
  background-color: rgba(0, 0, 0, 0.24);
}

.top-page #top-menu .section__body.on-state a .link {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  color: #f5f5f5;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.top-page #top-cup {
  height: 100vh;
  margin: 3rem 0;
  padding: 0;
  position: relative;
}

.top-page #top-cup::before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  -webkit-transition: all 30s 0.2s cubic-bezier(0, 0, .2, 1);
  transition: all 30s 0.2s cubic-bezier(0, 0, .2, 1);
  background: url("../../../../images/top/section_cup_selection.jpg") center/cover;
  content: '';
  height: 100%;
  opacity: 0;
  -webkit-transform: scale(1.3, 1.3);
  -ms-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
  width: 100%;
  z-index: 5;
}

.top-page #top-cup::after {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  -webkit-transition: all 3s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 3s 0s cubic-bezier(0, 0, .2, 1);
  background-color: rgba(0, 0, 0, 0.54);
  content: '';
  height: 100%;
  opacity: 0;
  width: 100%;
  z-index: 5;
}

.top-page #top-cup .section__head {
  background-color: rgba(90, 109, 129, 0.54);
  box-shadow: none;
  color: transparent;
  padding-bottom: 3rem;
  padding-top: 3rem;
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  width: 100%;
  z-index: 10;
}

.top-page #top-cup .section__head__title {
  text-align: center;
}

.top-page #top-cup .section__head__title--sub {
  text-align: center;
}

.top-page #top-cup .section__head__caption {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  text-align: center;
  max-width: none;
  width: 100%;
}

.top-page #top-cup .section__head a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: all 0.8s 1.4s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.8s 1.4s cubic-bezier(.4, 0, .2, 1);
  border: 1px solid #e0e0e0;
  margin-top: 1rem;
  opacity: 0;
  overflow: hidden;
  padding: 1rem 2rem;
  position: relative;
}

.top-page #top-cup .section__head a::before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: -100%;
  -webkit-transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  background-color: #e0e0e0;
  content: '';
  height: 100%;
  width: 100%;
}

.top-page #top-cup .section__head a::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  bottom: auto;
  left: auto;
  -webkit-transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  border-bottom: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  content: '';
  height: 1rem;
  -webkit-transform: translate3d(0, -50%, 0) rotate(-45deg);
  transform: translate3d(0, -50%, 0) rotate(-45deg);
  width: 1rem;
}

.top-page #top-cup .section__head a p {
  -webkit-transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  color: #e0e0e0;
  font-size: 1.1rem;
  font-weight: 300;
  margin-right: 2rem;
}

.top-page #top-cup .section__head a:hover::before {
  left: 0;
}

.top-page #top-cup .section__head a:hover::after {
  border-bottom: 1px solid #5a6d81;
  border-right: 1px solid #5a6d81;
}

.top-page #top-cup .section__head a:hover p {
  color: #5a6d81;
  z-index: 10;
}

.top-page #top-cup.on-state::before {
  opacity: 1;
}

.top-page #top-cup.on-state::after {
  opacity: 1;
}

.top-page #top-cup.on-state .section__head {
  -webkit-animation: head-on 2.4s 0s cubic-bezier(.4, 0, .2, 1) forwards;
  animation: head-on 2.4s 0s cubic-bezier(.4, 0, .2, 1) forwards;
}

.top-page #top-cup.on-state .section__head a {
  opacity: 1;
}

.top-page #top-information {
  padding: 50vh 0;
}

.top-page #top-information .section__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.top-page #top-information .section__body .top-info {
  position: relative;
  -webkit-transition: all 1s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 1s 0s cubic-bezier(.4, 0, .2, 1);
  box-shadow: none;
  color: #e0e0e0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 10rem 0;
}

.top-page #top-information .section__body .top-info::after {
  content: "";
  display: block;
  padding-top: 100%;
}

@media screen and (min-width: 479px) {
  .top-page #top-information .section__body .top-info {
    width: 70%;
    max-width: 500px;
    min-width: 350px;
  }
}

@media screen and (min-width: 1024px) {
  .top-page #top-information .section__body .top-info {
    position: relative;
  }

  .top-page #top-information .section__body .top-info::after {
    content: "";
    display: block;
    padding-top: 100%;
  }
}

.top-page #top-information .section__body .top-info::before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #5a6d81;
  content: '';
  height: 100%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 100%;
}

.top-page #top-information .section__body .top-info .top-info__content {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  -webkit-transition: all 1.2s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 1.2s 0s cubic-bezier(0, 0, .2, 1);
  opacity: 0;
  padding-top: 20%;
  padding-left: calc(50% - 10rem);
}

.top-page #top-information .section__body .top-info .top-info__content.on-state {
  opacity: 1;
}

.top-page #top-information .section__body .top-info .info-name {
  font-weight: 100;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
  font-size: 2.6rem;
  letter-spacing: .1rem;
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left;
  text-align: left;
}

.top-page #top-information .section__body .top-info .info-address {
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 1.2;
  margin-top: 2rem;
  padding-left: 1rem;
  text-align: left;
  text-indent: -1rem;
}

.top-page #top-information .section__body .top-info .info-address__no {
  font-size: 1.2rem;
  font-weight: 300;
}

.top-page #top-information .section__body .top-info .info-time__wrap {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-top: 1rem;
  overflow: hidden;
}

.top-page #top-information .section__body .top-info .info-time {
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 1.2;
  padding-left: 1rem;
  position: relative;
  text-align: left;
  text-indent: -1rem;
}

.top-page #top-information .section__body .top-info .info-time:first-of-type {
  margin-right: 48px;
}

.top-page #top-information .section__body .top-info .info-time:first-of-type::after {
  position: absolute;
  top: 0;
  right: -24px;
  bottom: auto;
  left: auto;
  border-right: 1px solid #e0e0e0;
  content: "";
  display: block;
  height: 100%;
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
  width: auto;
}

.top-page #top-information .section__body .top-info .info-time__name {
  font-size: 1.2rem;
  font-weight: 300;
  margin-right: 1rem;
}

.top-page #top-information .section__body .top-info .button {
  height: auto;
  margin: 3rem 0 0;
  padding: 16px 48px 16px 16px;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  width: auto;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2);
  background-color: #5a6d81;
}

.top-page #top-information .section__body .top-info .button::after {
  position: absolute;
  top: calc(50% - .5rem);
  right: 16px;
  bottom: auto;
  left: auto;
  border-bottom: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  content: "";
  display: block;
  height: 1rem;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 1rem;
}

.top-page #top-information .section__body .top-info .button__title {
  font-size: 1.2rem;
  font-weight: 400;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.top-page #top-information .section__body .top-reserve {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100vh;
  width: 100%;
}

.top-page #top-information .section__body .top-reserve .button {
  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.8s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.8s 0s cubic-bezier(0, 0, .2, 1);
  background-color: #30415d;
  border: none;
  height: 15rem;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 15rem;
}

.top-page #top-information .section__body .top-reserve .button.on-state {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.top-page #top-information .section__body .top-reserve .button__title {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.top-page #top-information .section__body .top-reserve .button::after {
  position: absolute;
  top: auto;
  right: 2rem;
  bottom: 2rem;
  left: auto;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.top-page #top-information .section__body .top-reserve .button::after {
  content: none;
}

.top-page #top-information .section__body .top-reserve .button__title {
  font-size: 2rem;
}

.topics-page .page__body {
  margin-top: -30px;
}

.topics-page .page__body .search {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #e0e0e0;
  border-radius: 2px;
  height: 60px;
  margin-bottom: 80px;
  max-width: 600px;
  padding: 0;
  width: 70%;
}

.topics-page .page__body .search__field {
  background-color: #f5f5f5;
  border: 1px solid #5a6d81;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
  color: #5a6d81;
  font-size: 2rem;
  height: 44px;
  padding-left: 1rem;
  width: calc(100% - 44px - 16px);
}

.topics-page .page__body .search__label {
  background: url(https://www.butlers-cafe.jp/swallowtail/content/themes/swallowtail/images/ic_search_white_24px.svg) center center/cover;
  background-color: #5a6d81;
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
  height: 44px;
  width: 44px;
}

.topics-page .page__body .post {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  margin-bottom: 80px;
  max-width: 1000px;
  overflow: visible;
  padding: 1rem 8px;
  position: relative;
  width: 95%;
  z-index: 30;
}

@media screen and (min-width: 479px) {
  .topics-page .page__body .post {
    padding: 1rem 16px;
    width: 85%;
  }
}

@media screen and (min-width: 839px) {
  .topics-page .page__body .post {
    padding: 1rem 16px;
  }
}

.topics-page .page__body .post__day {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #5a6d81;
  border-radius: 2px;
  color: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 300;
  margin: 1rem 8px;
  padding: 8px;
  text-align: center;
  width: 10rem;
}

.topics-page .page__body .post__title {
  font-size: 2rem;
  margin: 3rem 8px;
  padding: 0;
  text-align: left;
}

.topics-page .page__body .post__text {
  margin: 1rem 8px;
  text-align: left;
}

.topics-page .page__body .post__text p {
  font-size: 1.1rem;
  line-height: 1.1;
  margin: 0 0 4px;
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .topics-page .page__body .post__text p {
    width: 80%;
  }
}

/* ==================================================== */
/* ==================================================== */
/* =================  PAGE_GUIDANCE  ================== */
/* ==================================================== */
/* ==================================================== */
.guidance-page .section {
  border: none;
  overflow: visible;
  padding: 0;
}

.guidance-page .card {
  max-width: 900px;
  width: 100%;
  overflow: visible;
}

.guidance-page .card__head {
  height: 4rem;
  position: relative;
  z-index: 1;
}

.guidance-page .card__body {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  border-radius: 2px;
  position: relative;
  padding: 32px 4px 16px 8px;
  width: calc(100% - 8px);
  z-index: 0;
}

@media screen and (min-width: 479px) {
  .guidance-page .card__body {
    padding: 32px 16px 16px 16px;
    width: calc(100% - 16px);
  }
}

@media screen and (min-width: 839px) {
  .guidance-page .card__body {
    padding: 40px 24px 24px 24px;
    width: calc(100% - 16px);
  }
}

.guidance-page .card__body~.card__body {
  margin-top: 1px;
  border-top: none;
  padding: 16px 4px 16px 8px;
}

@media screen and (min-width: 479px) {
  .guidance-page .card__body~.card__body {
    padding: 16px;
  }
}

@media screen and (min-width: 479px) {
  .guidance-page .card__body~.card__body {
    padding: 24px;
  }
}

.guidance-page .card.action>.card__body {
  opacity: 0;
  -webkit-transform: translate3d(5rem, -24px, 0);
  transform: translate3d(5rem, -24px, 0);
}

.guidance-page .card.action>.card__body:nth-of-type(1) {
  -webkit-transition: all 0.6s 0.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.1s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(2) {
  -webkit-transition: all 0.6s 0.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.2s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(3) {
  -webkit-transition: all 0.6s 0.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.3s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(4) {
  -webkit-transition: all 0.6s 0.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.4s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(5) {
  -webkit-transition: all 0.6s 0.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.5s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(6) {
  -webkit-transition: all 0.6s 0.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.6s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(7) {
  -webkit-transition: all 0.6s 0.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.7s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(8) {
  -webkit-transition: all 0.6s 0.8s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.8s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(9) {
  -webkit-transition: all 0.6s 0.9s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.9s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(10) {
  -webkit-transition: all 0.6s 1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(11) {
  -webkit-transition: all 0.6s 1.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.1s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(12) {
  -webkit-transition: all 0.6s 1.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.2s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(13) {
  -webkit-transition: all 0.6s 1.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.3s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(14) {
  -webkit-transition: all 0.6s 1.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.4s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(15) {
  -webkit-transition: all 0.6s 1.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.5s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(16) {
  -webkit-transition: all 0.6s 1.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.6s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(17) {
  -webkit-transition: all 0.6s 1.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.7s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(18) {
  -webkit-transition: all 0.6s 1.8s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.8s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(19) {
  -webkit-transition: all 0.6s 1.9s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.9s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action>.card__body:nth-of-type(20) {
  -webkit-transition: all 0.6s 2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2s cubic-bezier(0, 0, .2, 1);
}

.guidance-page .card.action.on-state>.card__body {
  opacity: 1;
  -webkit-transform: translate3d(8px, -24px, 0);
  transform: translate3d(8px, -24px, 0);
}

@media screen and (min-width: 839px) {
  .guidance-page .card.action.on-state>.card__body {
    -webkit-transform: translate3d(16px, -24px, 0);
    transform: translate3d(16px, -24px, 0);
  }
}

.guidance-page .info__title {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  background-color: #30415d;
  color: #f5f5f5;
  font-size: 1.2rem;
  font-weight: 300;
  width: 80%;
}

.butler-list .page__head {
  position: relative;
}

.butler-list .page__head .arrow {
  position: absolute;
  top: 100%;
  right: auto;
  bottom: auto;
  left: 50%;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #e0e0e0;
  border: 4px solid #30415d;
  border-radius: 0;
  height: 6rem;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  width: 10rem;
}

.butler-list .page__head .arrow span {
  border-color: #30415d;
}

.butler-list .page__body {
  max-width: 1000px;
  padding: 10rem 0 5rem;
}

.butler-list .box {
  box-shadow: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 5rem;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .butler-list .box {
    margin-top: 10rem;
  }
}

.butler-list .box:last-of-type {
  margin-bottom: 10rem;
}

.butler-list .box::before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #30415d;
  content: '';
  height: 50%;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  width: 150vw;
  z-index: -1;
}

@media screen and (min-width: 1024px) {
  .butler-list .box::before {
    height: 90%;
    width: 125%;
  }
}

.butler-list .box::after {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #30415d;
  content: '';
  height: 50%;
  -webkit-transform-origin: bottom right;
  -ms-transform-origin: bottom right;
  transform-origin: bottom right;
  width: 150vw;
  z-index: -1;
}

@media screen and (min-width: 1024px) {
  .butler-list .box::after {
    content: none;
  }
}

.butler-list .box.action::before {
  -webkit-transition: all 0.6s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action::after {
  -webkit-transition: all 0.4s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .job-head {
  -webkit-transition: all 0.6s 0s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0s cubic-bezier(0, 0, .2, 1);
  -webkit-transform: translate3d(-20rem, 0, 0);
  transform: translate3d(-20rem, 0, 0);
}

.butler-list .box.action .card {
  -webkit-transition: all 0.6s 0.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.4s cubic-bezier(0, 0, .2, 1);
  opacity: 0;
  -webkit-transform: translate3d(10rem, 0, 0);
  transform: translate3d(10rem, 0, 0);
}

.butler-list .box.action .card:nth-of-type(1) {
  -webkit-transition: all 0.6s 0.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.4s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(2) {
  -webkit-transition: all 0.6s 0.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.5s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(3) {
  -webkit-transition: all 0.6s 0.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.6s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(4) {
  -webkit-transition: all 0.6s 0.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.7s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(5) {
  -webkit-transition: all 0.6s 0.8s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.8s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(6) {
  -webkit-transition: all 0.6s 0.9s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 0.9s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(7) {
  -webkit-transition: all 0.6s 1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(8) {
  -webkit-transition: all 0.6s 1.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.1s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(9) {
  -webkit-transition: all 0.6s 1.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.2s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(10) {
  -webkit-transition: all 0.6s 1.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.3s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(11) {
  -webkit-transition: all 0.6s 1.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.4s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(12) {
  -webkit-transition: all 0.6s 1.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.5s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(13) {
  -webkit-transition: all 0.6s 1.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.6s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(14) {
  -webkit-transition: all 0.6s 1.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.7s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(15) {
  -webkit-transition: all 0.6s 1.8s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.8s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(16) {
  -webkit-transition: all 0.6s 1.9s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 1.9s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(17) {
  -webkit-transition: all 0.6s 2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(18) {
  -webkit-transition: all 0.6s 2.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.1s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(19) {
  -webkit-transition: all 0.6s 2.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.2s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(20) {
  -webkit-transition: all 0.6s 2.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.3s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(21) {
  -webkit-transition: all 0.6s 2.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.4s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(22) {
  -webkit-transition: all 0.6s 2.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.5s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(23) {
  -webkit-transition: all 0.6s 2.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.6s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(24) {
  -webkit-transition: all 0.6s 2.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.7s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(25) {
  -webkit-transition: all 0.6s 2.8s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.8s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(26) {
  -webkit-transition: all 0.6s 2.9s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 2.9s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(27) {
  -webkit-transition: all 0.6s 3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(28) {
  -webkit-transition: all 0.6s 3.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.1s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(29) {
  -webkit-transition: all 0.6s 3.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.2s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(30) {
  -webkit-transition: all 0.6s 3.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.3s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(31) {
  -webkit-transition: all 0.6s 3.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.4s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(32) {
  -webkit-transition: all 0.6s 3.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.5s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(33) {
  -webkit-transition: all 0.6s 3.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.6s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(34) {
  -webkit-transition: all 0.6s 3.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.7s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(35) {
  -webkit-transition: all 0.6s 3.8s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.8s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(36) {
  -webkit-transition: all 0.6s 3.9s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 3.9s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(37) {
  -webkit-transition: all 0.6s 4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(38) {
  -webkit-transition: all 0.6s 4.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.1s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(39) {
  -webkit-transition: all 0.6s 4.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.2s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(40) {
  -webkit-transition: all 0.6s 4.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.3s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(41) {
  -webkit-transition: all 0.6s 4.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.4s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(42) {
  -webkit-transition: all 0.6s 4.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.5s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(43) {
  -webkit-transition: all 0.6s 4.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.6s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(44) {
  -webkit-transition: all 0.6s 4.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.7s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(45) {
  -webkit-transition: all 0.6s 4.8s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.8s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(46) {
  -webkit-transition: all 0.6s 4.9s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 4.9s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(47) {
  -webkit-transition: all 0.6s 5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(48) {
  -webkit-transition: all 0.6s 5.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.1s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(49) {
  -webkit-transition: all 0.6s 5.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.2s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(50) {
  -webkit-transition: all 0.6s 5.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.3s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(51) {
  -webkit-transition: all 0.6s 5.4s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.4s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(52) {
  -webkit-transition: all 0.6s 5.5s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.5s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(53) {
  -webkit-transition: all 0.6s 5.6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.6s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(54) {
  -webkit-transition: all 0.6s 5.7s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.7s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(55) {
  -webkit-transition: all 0.6s 5.8s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.8s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(56) {
  -webkit-transition: all 0.6s 5.9s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 5.9s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(57) {
  -webkit-transition: all 0.6s 6s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 6s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(58) {
  -webkit-transition: all 0.6s 6.1s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 6.1s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(59) {
  -webkit-transition: all 0.6s 6.2s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 6.2s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action .card:nth-of-type(60) {
  -webkit-transition: all 0.6s 6.3s cubic-bezier(0, 0, .2, 1);
  transition: all 0.6s 6.3s cubic-bezier(0, 0, .2, 1);
}

.butler-list .box.action.on-state::before {
  -webkit-transform: translate(3rem, -3rem) rotate(13deg);
  -ms-transform: translate(3rem, -3rem) rotate(13deg);
  transform: translate(3rem, -3rem) rotate(13deg);
}

.butler-list .box.action.on-state::after {
  -webkit-transform: translate(calc(-50vw - 4rem), 3rem) rotate(13deg);
  -ms-transform: translate(calc(-50vw - 4rem), 3rem) rotate(13deg);
  transform: translate(calc(-50vw - 4rem), 3rem) rotate(13deg);
}

.butler-list .box.action.on-state .job-head {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.butler-list .box.action.on-state .card {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.butler-list .job-head {
  margin: 8px;
  padding: 8px;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2);
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  background-color: #f5f5f5;
  border-radius: 2px;
  border-right: 8px solid #f5f5f5;
  color: #30415d;
  min-height: 15rem;
  width: 70%;
  position: relative;
  z-index: 5;
}

@media screen and (min-width: 479px) {
  .butler-list .job-head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .butler-list .job-head {
    padding: 24px;
  }
}

.butler-list .job-head .job-name {
  font-weight: 100;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
  font-size: 2.8rem;
  font-weight: 300;
  margin: 1rem 8px 0;
  text-align: left;
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left;
}

.butler-list .job-head .job-name__jp {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -.08rem;
  margin: 8px 8px 3rem 8px;
  text-align: left;
  position: relative;
}

.butler-list .job-head .job-name__jp:before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  border-bottom: 1px solid rgba(48, 65, 93, 0.74);
  content: '';
  height: 100%;
  width: 10%;
  padding-bottom: 16px;
}

.butler-list .job-head .job-caption {
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.2;
  margin: .5rem 8px 1rem;
  text-align: left;
  width: calc(100% - 16px);
}

.butler-list .job-body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-bottom: 15rem;
  width: 100%;
  position: relative;
}

.butler-list .job-body::before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  background-color: #30415d;
  content: '';
  height: calc(100% - 96px);
  margin: 48px 0;
  width: 100%;
  z-index: 0;
}

@media screen and (min-width: 1024px) {
  .butler-list .job-body::before {
    content: none;
  }
}

.butler-list .footman::before {
  height: 90%;
  width: 190%;
}

@media screen and (min-width: 1024px) {
  .butler-list .footman::before {
    height: 95%;
    width: 200%;
  }
}

.blog-page .section {
  margin: 0;
  padding: 16px 0;
}

.blog-page .section--hero {
  background: url("https://www.butlers-cafe.jp/swallowtail/content/themes/swallowtail/images/blog.jpg") center/cover;
  border-bottom: 8px solid #ba9b68;
  height: 35vh;
}

.blog-page .section:last-child {
  border-bottom: none;
}

.blog-nav__search {
  border: 1px solid #ba9b68;
}

.blog-nav__search__head {
  background-color: #30415d;
  border-bottom: 1px solid #ba9b68;
  color: #ba9b68;
  font-size: 1.2rem;
  line-height: 1;
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .blog-nav__search__head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .blog-nav__search__head {
    padding: 24px;
  }
}

.blog-nav__new-post {
  margin-top: 16px;
  border: 1px solid #ba9b68;
}

.blog-nav__new-post__head {
  background-color: #30415d;
  border-bottom: 1px solid #ba9b68;
  color: #ba9b68;
  font-size: 1.2rem;
  line-height: 1;
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .blog-nav__new-post__head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .blog-nav__new-post__head {
    padding: 24px;
  }
}

.blog-nav__new-post__body {
  margin: 0;
  padding: 0;
}

.blog-nav__new-post__body__row {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  border-bottom: 1px solid #ba9b68;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .blog-nav__new-post__body__row {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .blog-nav__new-post__body__row {
    padding: 24px;
  }
}

.blog-nav__new-post__body__row:last-child {
  border-bottom: none;
}

.blog-nav__new-post__body__row__title {
  font-size: 1.4rem;
  margin: 0;
  padding: 0;
}

.blog-nav__new-post__body__row__name {
  font-size: 1rem;
  margin: 0;
  padding: 0;
}

.blog-post {
  border: 1px solid #ba9b68;
  margin: 0 auto 16px;
}

.blog-post__head {
  background-color: #30415d;
  border-bottom: 1px solid #ba9b68;
  color: #ba9b68;
  padding: 8px;
  position: relative;
}

@media screen and (min-width: 479px) {
  .blog-post__head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .blog-post__head {
    padding: 24px;
  }
}

.blog-post__head__day {
  background-color: #ba9b68;
  color: #30415d;
  font-size: 1.5rem;
  left: 0;
  line-height: 1;
  margin-bottom: 0;
  padding: .5rem;
  position: absolute;
  top: 0;
}

.blog-post__head__title {
  font-size: 3rem;
  line-height: 1;
  margin: 2.5rem 0 .5rem;
  padding: 0;
}

.blog-post__head__name {
  font-size: 2rem;
  line-height: 1;
  margin: 0;
}

.blog-post__body {
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .blog-post__body {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .blog-post__body {
    padding: 24px;
  }
}

.menu-page .section {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  max-width: 1000px;
  min-height: 100px;
  margin: 0 0 4rem;
  overflow: visible;
  width: calc(100% - 16px);
}

@media screen and (min-width: 479px) {
  .menu-page .section {
    width: calc(100% - 32px);
  }
}

@media screen and (min-width: 839px) {
  .menu-page .section {
    width: calc(100% - 64px);
  }
}

.menu-page .section__head {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #30415d;
  color: #e0e0e0;
  margin-bottom: 0;
  padding: 4rem 2rem;
  text-align: left;
  width: calc(100% + 16px);
}

@media screen and (min-width: 479px) {
  .menu-page .section__head {
    width: calc(100% + 32px);
  }
}

.menu-page .section__head__title {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  margin: 0;
  padding: 0;
  width: 100%;
}

.menu-page .section__head__title--sub {
  font-weight: 100;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  font-size: 2rem;
  margin: .5rem 0 0 -.1rem;
  padding: 0;
  width: 125%;
}

.menu-page .section__head__caption {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  margin-top: 3rem;
  padding-left: .1rem;
  width: auto;
}

.menu-page .section__neck {
  padding: 8px;
  min-height: 100px;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .menu-page .section__neck {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .menu-page .section__neck {
    padding: 24px;
  }
}

.menu-page .section__neck .caption {
  border-left: 8px solid #30415d;
  padding: 8px 0 8px 8px;
  text-align: justify;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .menu-page .section__neck .caption {
    padding: 16px 0 16px 16px;
  }
}

.menu-page .section__neck .caption img {
  height: auto;
  margin-bottom: 1rem;
  width: 100%;
}

.menu-page .section__neck .caption p {
  line-height: 1.2;
  font-size: 1.2rem;
  width: 100%;
}

.menu-page .section__neck .caption p:not(:last-of-type) {
  margin-bottom: .6rem;
}

.menu-page .section__neck .caption a {
  color: #5a6d81;
}

.menu-page .section__body {
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .menu-page .section__body {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .menu-page .section__body {
    padding: 24px;
  }
}

.tab--food .tab__item {
  width: calc(25% - 16px);
}

.tab--food .section__head .price {
  font-size: 1.1rem;
  font-weight: 100;
}

.tab--food .section__head .price span {
  font-size: 1.3rem;
  letter-spacing: .02rem;
  margin-right: 1rem;
}

.tab--food .section__head .price em {
  font-size: 1.4rem;
  margin-right: .2rem;
}

.tab--food .menu-info {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 2rem;
  width: 100%;
}

.tab--food .menu-info .menu-info__head {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 8px;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  background-color: #5a6d81;
  color: #e0e0e0;
  width: 50%;
}

@media screen and (min-width: 479px) {
  .tab--food .menu-info .menu-info__head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .tab--food .menu-info .menu-info__head {
    padding: 24px;
  }
}

.tab--food .menu-info .menu-info__head .day {
  font-size: 1.2rem;
  font-weight: 100;
  margin-right: -.1rem;
  text-align: right;
  width: 100%;
}

.tab--food .menu-info .menu-info__head .day em {
  font-size: 2.4rem;
  font-weight: 300;
  margin-left: .4rem;
}

.tab--food .menu-info .menu-info__head .day span {
  margin-left: .6rem;
}

.tab--food .menu-info .menu-info__head .name {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin: 3rem 0;
  width: 100%;
}

.tab--food .menu-info .menu-info__head .name .english {
  font-size: 1.8rem;
  font-weight: 100;
  letter-spacing: .05rem;
  margin-bottom: .2rem;
  text-align: right;
  width: 100%;
}

.tab--food .menu-info .menu-info__head .name .japanese {
  /* font-size: 1.4rem; */
  font-size: 1.2rem;
  font-weight: 100;
  /*letter-spacing: -.2rem;*/
  letter-spacing: .03rem;
  margin-bottom: .2rem;
  padding-right: .2rem;
  text-align: right;
  -webkit-transform: scaleX(0.9);
  -ms-transform: scaleX(0.9);
  transform: scaleX(0.9);
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  width: 111%;
}

.tab--food .menu-info .menu-info__head .carte {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  list-style: none;
  margin: 2rem 0;
  width: 100%;
}

.tab--food .menu-info .menu-info__head .carte li {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  font-size: 1.1rem;
  font-weight: 100;
  letter-spacing: -.01rem;
  line-height: 1;
  padding: .2rem 0;
  text-align: right;
  -webkit-transform: scaleX(0.9);
  -ms-transform: scaleX(0.9);
  transform: scaleX(0.9);
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  width: 111.111111%;
}

.tab--food .menu-info .menu-info__head .butler-name {
  font-size: 1rem;
  font-weight: 100;
  margin: 0 0 1rem;
  text-align: right;
  width: 100%;
}

.tab--food .menu-info .menu-info__head .butler-name em {
  font-size: 1.8rem;
  margin-left: .4rem;
  letter-spacing: .1rem;
}

.tab--food .menu-info .menu-info__head .price {
  font-size: 1rem;
  font-weight: 100;
  margin-top: 3rem;
  padding-right: .1rem;
  text-align: right;
  width: 100%;
}

.tab--food .menu-info .menu-info__head .price+.price {
  margin-top: .1rem;
}

.tab--food .menu-info .menu-info__head .price span {
  font-size: 1.1rem;
  letter-spacing: .01rem;
  margin-right: .5rem;
}

.tab--food .menu-info .menu-info__head .price em {
  font-size: 1.3rem;
  margin-right: .2rem;
}

.tab--food .menu-info .menu-info__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  padding: calc(1rem + 8px) 0 calc(1rem + 8px) 8px;
  text-align: justify;
  width: 50%;
}

@media screen and (min-width: 479px) {
  .tab--food .menu-info .menu-info__body {
    padding: calc(1rem + 16px) 0 calc(1rem + 16px) 16px;
  }
}

@media screen and (min-width: 839px) {
  .tab--food .menu-info .menu-info__body {
    padding: calc(1rem + 24px) 0 calc(1rem + 24px) 24px;
  }
}

.tab--food .menu-info .menu-info__body img {
  height: auto;
  margin-bottom: 8px;
  min-height: 100px;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .tab--food .menu-info .menu-info__body img {
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 839px) {
  .tab--food .menu-info .menu-info__body img {
    margin-bottom: 24px;
  }
}

.tab--food .menu-info .menu-info__body p {
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: .6rem;
  width: 100%;
}

.tab--food .menu-info .menu-info__body p em {
  font-size: 1.1rem;
  font-weight: 600;
}

.tab--food .menu-info .menu-info__body ul {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  border-left: 4px solid #5a6d81;
  list-style: none;
  margin-top: 8px;
  padding: 8px 8px;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .tab--food .menu-info .menu-info__body ul {
    margin-top: 16px;
  }
}

@media screen and (min-width: 839px) {
  .tab--food .menu-info .menu-info__body ul {
    margin-top: 24px;
  }
}

.tab--food .menu-info .menu-info__body ul li {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1;
  padding: .2rem 0;
}

.tab--food .menu-info .menu-info__body .selection {
  margin-top: 1rem;
  padding: .4rem 0;
  width: 100%;
}

.tab--food .menu-info .menu-info__body .selection:first-of-type {
  margin-top: 0;
}

.tab--food .menu-info .menu-info__body .selection__name {
  font-size: 1.2rem;
  font-weight: 600;
}

.tab--food .menu-info .menu-info__body .selection ul {
  margin: 8px 0 0 8px;
  padding-left: 1rem;
  width: calc(100% - 8px);
}

.tab--food .menu-info .menu-info__hero {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 1rem;
  width: 100%;
}

.tab--food #limited-food .menu-info__head {
  width: 40%;
}

.tab--food #limited-food .menu-info__head .day {
  margin-top: 1rem;
}

.tab--food #limited-food .menu-info__head .price {
  margin-bottom: 1rem;
}

.tab--food #limited-food .menu-info__body {
  padding-top: 0;
  width: 60%;
}

.tab--food #t2 .menu-info__head {
  width: calc(50% - 4px);
}

.tab--food #t2 .menu-info__head .name {
  margin: 4rem 0;
}

.tab--food #t2 .menu-info__head .name .english {
  padding-left: .08rem;
  text-align: left;
}

.tab--food #t2 .menu-info__head .name .japanese {
  padding-left: -.1rem;
  text-align: left;
}

.tab--food #t2 .menu-info__head:nth-of-type(odd) {
  margin-right: 8px;
}

.tab--food #footman-ice .menu-info__head {
  width: calc(50% - 4px);
}

.tab--food #footman-ice .menu-info__head:nth-of-type(odd) {
  margin-right: 8px;
}

.tab--food #footman-ice .menu-info__head .day {
  margin-top: 1rem;
}

.tab--food #limited-tea .menu-info__head .day {
  margin-top: 1rem;
}

.tab--food #limited-tea .menu-info__head .name {
  margin-bottom: 1rem;
}

.tab--food #extra-tea .menu-info__head .day {
  margin-top: 1rem;
}

.tab--food #extra-tea .menu-info__head .butler-name {
  margin-bottom: 1rem;
}

.tab--food #special-cocktail .menu-info__head .day {
  margin-top: 1rem;
}

.tab--food #special-cocktail .menu-info__head .butler-name {
  margin-bottom: 1rem;
}

.tab--food #afternoon-tea .menu-info__head {
  width: calc(50% - 4px);
}

.tab--food #afternoon-tea .menu-info__head:nth-of-type(odd) {
  margin-right: 8px;
}

.tab--food #afternoon-tea .menu-info__head .name {
  margin-bottom: 0;
  margin-top: 1rem;
}

.tab--food #afternoon-tea .menu-info__head .price {
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.tab--food #afternoon-tea .menu-info__body {
  width: 100%;
}

.tab--food #dessert-plate .menu-info__head {
  width: 40%;
}

.tab--food #dessert-plate .menu-info__head .name {
  margin-top: 1rem;
}

.tab--food #dessert-plate .menu-info__head .price {
  margin-bottom: 1rem;
}

.tab--food #dessert-plate .menu-info__body {
  padding-top: 0;
  width: 60%;
}

.tab--food #beef-stew .menu-info__head {
  width: calc(50% - 4px);
}

.tab--food #beef-stew .menu-info__head:nth-of-type(odd) {
  margin-right: 8px;
}

.tab--food #beef-stew .menu-info__head .name {
  margin-bottom: 0;
  margin-top: 1rem;
}

.tab--food #beef-stew .menu-info__head .price {
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.tab--food #beef-stew .menu-info__body {
  width: 100%;
}

.tab--food #pasta .menu-info__head {
  width: 45%;
}

.tab--food #pasta .menu-info__head .name {
  margin-bottom: 0;
  margin-top: 1rem;
}

.tab--food #pasta .menu-info__head .price {
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.tab--food #pasta .menu-info__body {
  width: 55%;
}

.tab--food #pasta .menu-info__hero {
  justify-content: space-between;
}

.tab--food #pasta .menu-info__hero img {
  height: auto;
  margin-bottom: 1rem;
  min-height: 100px;
  width: calc(50% - .5rem);
}

.tab--food #evening .menu-info__head {
  width: 40%;
}

.tab--food #evening .menu-info__head .name {
  margin-top: 1rem;
}

.tab--food #evening .menu-info__head .price {
  margin-bottom: 1rem;
}

.tab--food #evening .menu-info__body {
  padding-top: 0;
  width: 60%;
}

.tab--food #gift-box .menu-info__head {
  width: 50%;
}

.tab--food #gift-box .menu-info__head .name {
  margin-top: 1rem;
}

.tab--food #gift-box .menu-info__head .price {
  margin-bottom: 1rem;
}

.tab--food #gift-box .menu-info__body {
  padding-top: 0;
  width: 50%;
}

.tab--food #dinner .menu-info__head {
  width: calc(50% - 4px);
}

.tab--food #dinner .menu-info__head:nth-of-type(odd) {
  margin-right: 8px;
}

.tab--food #dinner .menu-info__head .name {
  margin-bottom: 0;
  margin-top: 1rem;
}

.tab--food #dinner .menu-info__head .price {
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.tab--food #dinner .menu-info__body {
  width: 100%;
}

.tab--food #dinner .menu-info__body ul li:nth-of-type(3) {
  margin-top: 1rem;
}

.tab--food #dinner .menu-info__body ul li img {
  margin: 0;
}

.tab--food #side .menu-info__head {
  width: 40%;
}

.tab--food #side .menu-info__head .name {
  margin: 1rem 0;
}

.tab--food #side .menu-info__head .price {
  margin: 1rem 0;
}

.tab--food #side .menu-info__body {
  width: 60%;
}

.tab--drink .tab__item {
  width: calc(33% - 16px);
}

.tab--drink .section__head .price {
  font-size: 1.1rem;
  font-weight: 100;
}

.tab--drink .section__head .price span {
  font-size: 1.3rem;
  letter-spacing: .02rem;
  margin-right: 1rem;
}

.tab--drink .section__head .price em {
  font-size: 1.4rem;
  margin-right: .2rem;
}

.tab--drink .menu-info {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 16px;
  width: 100%;
}

.tab--drink .menu-info__name {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  background-color: #5a6d81;
  color: #e0e0e0;
  min-height: 10rem;
  padding: 8px;
  width: 40%;
}

@media screen and (min-width: 479px) {
  .tab--drink .menu-info__name {
    padding: 16px;
  }
}

.tab--drink .menu-info__name h2 {
  font-size: 1.3rem;
  letter-spacing: .04rem;
  margin-bottom: .4rem;
  text-align: right;
  width: 100%;
}

.tab--drink .menu-info__name p {
  font-size: 1.1rem;
  font-weight: 200;
  letter-spacing: -.08rem;
  padding-right: .2rem;
  text-align: right;
  -webkit-transform: scaleX(0.7);
  -ms-transform: scaleX(0.7);
  transform: scaleX(0.7);
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  width: 142.857142857%;
}

.tab--drink .menu-info__name p:not(:last-of-type) {
  margin-bottom: .2rem;
}

.tab--drink .menu-info__caption {
  margin: 0;
  padding: 16px 0 16px 8px;
  width: 60%;
}

@media screen and (min-width: 479px) {
  .tab--drink .menu-info__caption {
    padding: 24px 0 24px 16px;
  }
}

@media screen and (min-width: 839px) {
  .tab--drink .menu-info__caption {
    padding: 40px 0 40px 24px;
  }
}

.tab--drink .menu-info__caption p {
  font-size: 1rem;
}

.tab--anniversary .tab__item {
  width: calc(33% - 16px);
}

.tab--anniversary .section__head .price {
  font-size: 1.1rem;
  font-weight: 100;
}

.tab--anniversary .section__head .price span {
  font-size: 1.3rem;
  letter-spacing: .02rem;
  margin-right: 1rem;
}

.tab--anniversary .section__head .price em {
  font-size: 1.4rem;
  margin-right: .2rem;
}

.tab--anniversary .menu-info {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 2rem;
  width: 100%;
}

.tab--anniversary .menu-info__name {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  background-color: #5a6d81;
  color: #f5f5f5;
  min-height: 10rem;
  padding: 8px;
  width: 35%;
}

@media screen and (min-width: 479px) {
  .tab--anniversary .menu-info__name {
    padding: 16px;
  }
}

.tab--anniversary .menu-info__name h2 {
  font-size: 1.8rem;
  font-weight: 100;
  letter-spacing: .04rem;
  margin-bottom: .4rem;
  text-align: right;
  width: 100%;
}

.tab--anniversary .menu-info__name p {
  font-size: 1.1rem;
  font-weight: 200;
  letter-spacing: -.08rem;
  padding-right: .2rem;
  text-align: right;
  -webkit-transform: scaleX(0.7);
  -ms-transform: scaleX(0.7);
  transform: scaleX(0.7);
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  width: 142.857142857%;
}

.tab--anniversary .menu-info__name .job {
  font-size: 1.3rem;
  font-weight: 100;
  letter-spacing: -.04rem;
  text-align: right;
  width: 100%;
}

.tab--anniversary .menu-info__name .brand {
  font-size: 1.8rem;
  font-weight: 100;
  letter-spacing: .04rem;
  margin-bottom: .2rem;
  text-align: right;
  width: 100%;
}

.tab--anniversary .menu-info__name .price {
  font-size: 1rem;
  font-weight: 100;
  margin-top: 3rem;
  padding-right: .1rem;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  width: 100%;
}

.tab--anniversary .menu-info__name .price+.price {
  margin-top: .1rem;
}

.tab--anniversary .menu-info__name .price span {
  font-size: 1.1rem;
  letter-spacing: .01rem;
  margin-right: .5rem;
}

.tab--anniversary .menu-info__name .price em {
  font-size: 1.3rem;
  margin-right: .2rem;
}

.tab--anniversary .menu-info__caption {
  margin: 0;
  padding: 0 0 8px 8px;
  width: 65%;
}

@media screen and (min-width: 479px) {
  .tab--anniversary .menu-info__caption {
    padding: 0 0 16px 16px;
  }
}

@media screen and (min-width: 839px) {
  .tab--anniversary .menu-info__caption {
    padding: 0 0 24px 24px;
  }
}

.tab--anniversary .menu-info__caption p {
  font-size: 1rem;
}

.tab--anniversary .menu-info__caption img {
  height: auto;
  margin-bottom: 8px;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .tab--anniversary .menu-info__caption img {
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 839px) {
  .tab--anniversary .menu-info__caption img {
    margin-bottom: 24px;
  }
}

.tab--anniversary .guidance--aniversary-cake {
  padding: 0;
}

.tab--anniversary .guidance--aniversary-cake h2 {
  background-color: #30415d;
  color: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .02rem;
  padding: 2rem 16px;
  text-align: left;
  width: 100%;
}

.tab--anniversary .guidance--aniversary-cake__topic {
  border-bottom: 1px solid #9E9E9E;
  padding: 16px;
  text-align: left;
  width: 100%;
}

.tab--anniversary .guidance--aniversary-cake__topic p {
  font-size: 1.1rem;
  line-height: 1.1;
  margin: 2px 0;
}

.cup-page .section {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  max-width: 1400px;
  margin: 0 0 4rem;
  overflow: visible;
  width: calc(100% - 16px);
}

@media screen and (min-width: 479px) {
  .cup-page .section {
    width: calc(100% - 32px);
  }
}

@media screen and (min-width: 839px) {
  .cup-page .section {
    width: calc(100% - 64px);
  }
}

.cup-page .section__head {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #30415d;
  color: #e0e0e0;
  margin-bottom: 0;
  padding: 4rem 2rem;
  text-align: left;
  width: calc(100% + 16px);
}

@media screen and (min-width: 479px) {
  .cup-page .section__head {
    width: calc(100% + 32px);
  }
}

.cup-page .section__head__title {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  margin: 0;
  padding: 0;
  width: 100%;
}

.cup-page .section__head__title--sub {
  font-weight: 100;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  font-size: 2rem;
  margin: .5rem 0 0 -.1rem;
  padding: 0;
  width: 125%;
}

.cup-page .section__head__caption {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  margin-top: 3rem;
  padding-left: .1rem;
  width: auto;
}

.cup-page .section__neck {
  padding: 8px;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .cup-page .section__neck {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .cup-page .section__neck {
    padding: 24px;
  }
}

.cup-page .section__neck .caption {
  border-left: 8px solid #30415d;
  padding: 8px 0 8px 8px;
  text-align: justify;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .cup-page .section__neck .caption {
    padding: 16px 0 16px 16px;
  }
}

.cup-page .section__neck .caption p {
  line-height: 1.2;
  font-size: 1.2rem;
  width: 100%;
}

.cup-page .section__neck .caption p:not(:last-of-type) {
  margin-bottom: .6rem;
}

.cup-page .section__neck .caption a {
  color: #5a6d81;
}

.cup-page .section__body {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 8px 4px;
}

@media screen and (min-width: 479px) {
  .cup-page .section__body {
    padding: 16px 8px;
  }
}

@media screen and (min-width: 839px) {
  .cup-page .section__body {
    padding: 24px 12px;
  }
}

.cup-page .cup-info {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #5a6d81;
  border-radius: 2px;
  margin: 1rem 4px 0;
  width: calc(50% - 8px);
}

@media screen and (min-width: 479px) {
  .cup-page .cup-info {
    margin: 1rem 8px 0;
    width: calc(50% - 16px);
  }
}

@media screen and (min-width: 839px) {
  .cup-page .cup-info {
    margin: 1rem 12px 0;
    width: calc(33.333333333333% - 24px);
  }
}

.cup-page .cup-info__head {
  padding: 8px;
}

@media screen and (min-width: 479px) {
  .cup-page .cup-info__head {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .cup-page .cup-info__head {
    padding: 24px;
  }
}

.cup-page .cup-info__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 8px 8px 8px;
}

@media screen and (min-width: 479px) {
  .cup-page .cup-info__body {
    padding: 0 16px 16px 16px;
  }
}

@media screen and (min-width: 839px) {
  .cup-page .cup-info__body {
    padding: 0 24px 24px 24px;
  }
}

.cup-page .cup-info__image {
  border: 1px solid #e0e0e0;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.cup-page .cup-info__name {
  color: #e0e0e0;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: -.06rem;
  line-height: 1.2;
  -webkit-transform: scaleX(0.9);
  -ms-transform: scaleX(0.9);
  transform: scaleX(0.9);
  width: 111.1111111%;
}

.reserve-page .page__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #e0e0e0;
  margin-top: -6vh;
}

.reserve-page .page__body .section {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  margin-top: 24px;
  max-width: 1000px;
  width: 95%;
  z-index: 20;
}

@media screen and (min-width: 479px) {
  .reserve-page .page__body .section {
    margin-top: 48px;
    width: 85%;
  }
}

.reserve-page .page__body .button__reserve {
  max-width: 700px;
  width: 75%;
  z-index: 50;
}

.reserve-page .page__body .button__reserve__link {
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2);
  background-color: #ba9b68;
  border-radius: 2px;
  color: #30415d;
  font-size: 1.8rem;
  font-weight: 300;
  height: 12vh;
  line-height: 12vh;
  text-align: center;
}

.reserve-page .accordion {
  background-color: #30415d;
  color: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 2rem;
  text-align: left;
  width: 100%;
}

.reserve-page .accordion__panel {
  font-size: 1rem;
  width: 100%;
}

.reserve-page .accordion::before {
  position: absolute;
  top: 50%;
  right: 40px;
  bottom: auto;
  left: auto;
  -webkit-transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  border-bottom: 2px solid #f5f5f5;
  border-right: 2px solid #f5f5f5;
  content: '';
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
  height: 8px;
  width: 8px;
  z-index: 2;
}

.reserve-page .accordion::after {
  content: none;
}

.reserve-page .accordion.on-state::before {
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(225deg);
  transform: translate3d(-50%, -50%, 0) rotate(225deg);
}

.reserve-page__caption {
  padding: 16px;
}

.reserve-page__caption p {
  font-size: 1.1rem;
  line-height: 1.2;
  margin: 4px 8px;
  text-align: left;
  width: 90%;
}

.reserve-page__time-table {
  padding: 0;
}

.reserve-page__time-table table {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  border-collapse: collapse;
  border-radius: 2px;
  margin: 8px;
  width: calc(100% - 16px);
}

.reserve-page__time-table table:last-of-type {
  margin-bottom: 8px;
}

.reserve-page__time-table table thead {
  font-size: 1.6rem;
  font-weight: 300;
}

.reserve-page__time-table table thead td {
  background-color: #5a6d81;
  border: 2px solid #5a6d81;
  color: #f5f5f5;
  padding: 16px 1rem;
  text-align: left;
}

.reserve-page__time-table table thead span {
  font-size: 1.2rem;
}

.reserve-page__time-table table tbody {
  color: #30415d;
  width: 100%;
}

.reserve-page__time-table table tbody td {
  border: 2px solid #5a6d81;
  font-size: 1.2rem;
  padding: 8px 8px;
  width: 33%;
}

.reserve-page__time-table table tbody td:last-child {
  color: #5a6d81;
  font-size: 1.1rem;
  padding-left: 1rem;
  text-align: left;
  width: 67%;
}

.reserve-page__time-table .time-table__wrapper {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 8px 8px;
  width: 100%;
}

.reserve-page__guidance {
  margin: 24px 0;
  padding: 0;
}

@media screen and (min-width: 479px) {
  .reserve-page__guidance {
    margin: 48px;
  }
}

.reserve-page__guidance h2 {
  background-color: #30415d;
  color: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 2rem;
  text-align: left;
  width: 100%;
}

.reserve-page__guidance__topic {
  border-bottom: 1px solid #9E9E9E;
  padding: 16px;
  text-align: left;
  width: 100%;
}

.reserve-page__guidance__topic p {
  font-size: 1.1rem;
  line-height: 1.1;
  margin: 2px 0;
}

.reserve-page .button__english-guidance {
  margin: 24px 0 0;
  max-width: 1000px;
  width: 75%;
}

@media screen and (min-width: 479px) {
  .reserve-page .button__english-guidance {
    margin: 48px 0 0;
    width: 75%;
  }
}

.reserve-page .button__english-guidance__link {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #ba9b68;
  color: #30415d;
  font-size: 1.8rem;
  font-weight: 300;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
}

.reserve-page__guidance--english {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  background-color: white;
  border-radius: 2px;
  margin-bottom: 8px;
  max-width: 600px;
  padding: 0;
  width: calc(100% - 16px);
  z-index: 30;
}

@media screen and (min-width: 479px) {
  .reserve-page__guidance--english {
    padding: 8px;
    width: calc(90% - 16px);
  }
}

.reserve-page__guidance--english:last-of-type {
  margin-bottom: 48px;
}

.reserve-page__guidance--english img {
  height: auto;
  margin: 8px;
  width: calc(100% - 16px);
}

.reserve-page--english .page__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: -5rem;
}

.reserve-page--english .page__body .section {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #f5f5f5;
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  text-align: left;
  width: 90%;
  z-index: 20;
}

@media screen and (min-width: 479px) {
  .reserve-page--english .page__body .section {
    margin: 0 0 48px;
  }
}

.reserve-page--english .page__body .section li {
  border-bottom: 1px solid #9E9E9E;
  font-family: 'Merriweather';
  font-size: 1.2rem;
  padding: 8px 16px;
  width: 100%;
}

.reserve-page--english .page__body .section li:first-of-type {
  background-color: #5a6d81;
  color: #f5f5f5;
  font-family: 'Roboto';
  font-size: 1.8rem;
  font-weight: 300;
  padding: 16px;
}

.management-page .page__body {
  margin-top: -5rem;
}

.management-page .page__body .section {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  margin-bottom: 40px;
  max-width: 1000px;
  overflow: visible;
  padding: 0 8px 24px;
  position: relative;
  width: 95%;
  z-index: 20;
}

@media screen and (min-width: 479px) {
  .management-page .page__body .section {
    padding: 0 8px 48px;
    width: 85%;
  }
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section {
    margin-bottom: 80px;
    padding: 0 8px 64px;
  }
}

.management-page .page__body .section h2 {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #5a6d81;
  color: #f5f5f5;
  font-size: 2rem;
  font-weight: 300;
  padding: 2rem 0;
  -webkit-transform: translate3d(0, -16px, 0);
  transform: translate3d(0, -16px, 0);
  text-align: center;
  width: calc(100% - 32px);
  z-index: 40;
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section h2 {
    -webkit-transform: translate3d(0, -24px, 0);
    transform: translate3d(0, -24px, 0);
    width: 80%;
  }
}

.management-page .page__body .section h3 {
  color: #5a6d81;
  font-size: 1.1rem;
  font-weight: 500;
  margin: 16px 0 8px;
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section h3 {
    margin: 32px 0 8px;
    width: 80%;
  }
}

.management-page .page__body .section p {
  font-size: 1.2rem;
  line-height: 1.1;
  margin: 0 0 4px;
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section p {
    width: 80%;
  }
}

.management-page .page__body .section .performance {
  font-size: 1.2rem;
  list-style: none;
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section .performance {
    width: 80%;
  }
}

.management-page .page__body .section .performance li {
  margin: 0 0 4px;
}

.management-page .page__body .section .performance b {
  font-size: 1.1rem;
  font-weight: 500;
  margin-right: .5rem;
}

.management-page .page__body .section .officer {
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section .officer {
    width: 80%;
  }
}

.management-page .page__body .section .officer td {
  font-size: 1.2rem;
  padding: 0 0 4px;
}

.management-page .page__body .section .officer td:first-of-type {
  font-size: 1.1rem;
  width: 10rem;
}

.management-page .page__body .section .officer td:last-of-type {
  font-weight: 500;
}

.management-page .page__body .section .oath {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  border: 1px solid #5a6d81;
  border-left: 4px solid #5a6d81;
  border-right: 4px solid #5a6d81;
  font-size: 1.2rem;
  list-style: none;
  margin: 4px 0;
  padding: 4px 8px;
  text-align: left;
}

.management-page .page__body .section .oath__wrap {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section .oath__wrap {
    width: 80%;
  }
}

.management-page .page__body .section .oath li {
  font-size: 1rem;
  font-weight: 600;
  margin: 4px;
}

.management-page .page__body .section .privacy {
  font-size: 1.2rem;
  list-style: none;
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section .privacy {
    width: 80%;
  }
}

.management-page .page__body .section .privacy li {
  border-left: 6px solid #5a6d81;
  margin: 0 0 8px;
  padding: 2px 0 2px 4px;
}

.management-page .page__body .section .manual {
  font-size: 1.2rem;
  list-style: none;
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .management-page .page__body .section .manual {
    width: 80%;
  }
}

.management-page .page__body .section .manual li {
  border-left: 6px solid #5a6d81;
  margin: 0 0 8px;
  padding: 2px 0 2px 4px;
}

.management-page .page__body .section .manual table {
  border-collapse: collapse;
  margin: 0 0 8px;
  text-align: left;
  width: 100%;
}

.management-page .page__body .section .manual table td {
  border: 1px solid #5a6d81;
  width: 40%;
}

.management-page .page__body .section .manual table td:last-of-type {
  width: 60%;
}

.management-page .page__body .section .manual table thead {
  background-color: #5a6d81;
  color: #f5f5f5;
  font-size: 1.4rem;
}

.management-page .page__body .section .manual table thead td {
  padding: 8px 0;
  text-align: center;
}

.management-page .page__body .section .manual table thead td:first-of-type {
  border-right: 1px solid #f5f5f5;
}

.management-page .page__body .section .manual table tbody td {
  padding: 8px;
}

.management-page .page__body .section .manual table tbody td[colspan] {
  background-color: #8eaebd;
  color: #f5f5f5;
  font-weight: 300;
  padding: 8px 0;
  text-align: center;
}

.management-page .page__body .section .manual table tbody tr:first-of-type td {
  padding-top: 8px;
}

.management-page .page__body .section .manual ul {
  list-style: none;
  margin-left: 16px;
}

.management-page .page__body .section .manual ul li {
  border-left: 3px solid #5a6d81;
  padding: 4px;
}

.recruit-page .page__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #e0e0e0;
  margin-top: -5rem;
}

.recruit-page .page__body .section {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  background-color: #f5f5f5;
  margin-bottom: 24px;
  max-width: 1000px;
  width: 95%;
  z-index: 20;
}

@media screen and (min-width: 479px) {
  .recruit-page .page__body .section {
    margin-bottom: 48px;
    width: 85%;
  }
}

.recruit-page .accordion {
  background-color: #30415d;
  color: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 2rem;
  text-align: left;
  width: 100%;
}

.recruit-page .accordion__panel {
  font-size: 1rem;
  width: 100%;
}

.recruit-page .accordion::before {
  position: absolute;
  top: 50%;
  right: 40px;
  bottom: auto;
  left: auto;
  -webkit-transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.4s 0s cubic-bezier(.4, 0, .2, 1);
  border-bottom: 2px solid #f5f5f5;
  border-right: 2px solid #f5f5f5;
  content: '';
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
  height: 8px;
  width: 8px;
  z-index: 2;
}

.recruit-page .accordion::after {
  content: none;
}

.recruit-page .accordion.on-state::before {
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(225deg);
  transform: translate3d(-50%, -50%, 0) rotate(225deg);
}

.recruit-page__caption {
  padding: 32px 16px;
}

.recruit-page__caption p {
  font-size: 1.1rem;
  line-height: 1.2;
  margin: 4px 8px;
  text-align: left;
  width: 90%;
}

.recruit-page__caption p:first-of-type {
  font-size: 1.8rem;
  margin-bottom: 24px;
}

.recruit-page__guidance {
  padding: 0;
}

.recruit-page__guidance h2 {
  background-color: #30415d;
  color: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 2rem;
  text-align: left;
  width: 100%;
}

.recruit-page__guidance__topic {
  border-bottom: 1px solid #9E9E9E;
  padding: 16px;
  text-align: left;
  width: 100%;
}

.recruit-page__guidance__topic .address {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  border: 1px solid #30415d;
  border-radius: 2px;
  margin-top: 16px;
  padding: 8px;
}

.recruit-page__guidance__topic .address p {
  color: #30415d;
  font-size: 1.2rem;
  font-weight: 400;
}

.recruit-page__guidance__topic p {
  font-size: 1.1rem;
  line-height: 1.1;
  margin: 2px 0;
}

.recruit-page__invite {
  padding: 0;
}

.recruit-page__invite h2 {
  background-color: #30415d;
  color: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 2rem;
  text-align: left;
  width: 100%;
}

.recruit-page__invite__topic {
  padding: 8px;
  text-align: left;
  width: 100%;
}

.recruit-page__invite__topic table {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  border-collapse: collapse;
  border-radius: 2px;
  margin: 8px 8px 16px;
  width: calc(100% - 16px);
}

.recruit-page__invite__topic table:last-of-type {
  margin-bottom: 8px;
}

.recruit-page__invite__topic table thead {
  font-size: 1.6rem;
  font-weight: 300;
}

.recruit-page__invite__topic table thead td {
  background-color: #5a6d81;
  border: 2px solid #5a6d81;
  color: #f5f5f5;
  padding: 16px 1rem;
  text-align: left;
}

.recruit-page__invite__topic table tbody {
  border: 2px solid #5a6d81;
  color: #30415d;
  width: 100%;
}

.recruit-page__invite__topic table tbody td {
  border-bottom: 2px solid #5a6d81;
  font-size: 1.2rem;
  padding: 8px;
  width: 60%;
}

.recruit-page__invite__topic table tbody td:last-child {
  font-size: 1.1rem;
  padding: 8px;
  text-align: left;
  width: 40%;
}

.recruit-page__invite__topic table tbody td:last-child a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #30415d;
  border-radius: 2px;
  padding: 8px;
  width: 100%;
}

.recruit-page__invite__topic table tbody td:last-child p {
  position: relative;
  color: #f5f5f5;
}

.recruit-page__invite__topic table tbody td:last-child p::after {
  position: absolute;
  top: 50%;
  right: 100%;
  bottom: auto;
  left: auto;
  background: url(https://www.butlers-cafe.jp/swallowtail/content/themes/swallowtail/images/ic_navigate_next_white_24px.svg) center center/cover;
  content: '';
  height: 1.6rem;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.6rem;
}

.recruit-page__job-list {
  padding: 0;
}

.recruit-page__job-list .job-list {
  list-style: none;
  margin: 0 8px 8px;
  padding: 8px;
  position: relative;
  width: calc(100% - 16px);
}

.recruit-page__job-list .job-list li {
  font-size: 1.1rem;
  font-weight: 500;
  text-align: left;
  padding: 4px 16px;
}

.recruit-page__job-list .job-list li:first-of-type {
  border: none;
  font-size: 1.6rem;
  font-weight: 400;
  padding-left: 0;
}

.recruit-page__job-list .job-list__wrapper {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 8px;
  width: 100%;
}

.recruit-page .button__k-books-recruit {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #424242;
  margin: 0 0 24px;
  max-width: 1000px;
  width: 95%;
}

@media screen and (min-width: 479px) {
  .recruit-page .button__k-books-recruit {
    margin: 0 0 48px;
    width: 85%;
  }
}

.recruit-page .button__k-books-recruit__link {
  position: relative;
  color: #f5f5f5;
  font-size: 1.8rem;
  font-weight: 600;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
  width: auto;
}

.recruit-page .button__k-books-recruit__link::after {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 100%;
  background: url(https://www.butlers-cafe.jp/swallowtail/content/themes/swallowtail/images/ic_open_in_new_white_24px.svg) center center/cover;
  content: '';
  height: 1.6rem;
  margin-left: 1rem;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.6rem;
}

.recruit-page__requirement {
  padding: 16px;
}

.recruit-page__requirement h1 {
  color: #30415d;
  font-size: 2.8rem;
  margin: 2rem 0;
  width: 90%;
}

.recruit-page__requirement h2 {
  color: #5a6d81;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 16px 0 8px;
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .recruit-page__requirement h2 {
    margin: 32px 0 8px;
    width: 80%;
  }
}

.recruit-page__requirement p {
  font-size: 1.2rem;
  line-height: 1.2;
  margin: 0 0 4px;
  text-align: left;
  width: 90%;
}

@media screen and (min-width: 839px) {
  .recruit-page__requirement p {
    width: 80%;
  }
}

.recruit-page .button__entry {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: #30415d;
  border-radius: 2px;
  margin: 48px 0 24px;
  max-width: 1000px;
  width: 75%;
}

@media screen and (min-width: 479px) {
  .recruit-page .button__entry {
    margin: 64px 0 32px;
    width: 65%;
  }
}

.recruit-page .button__entry__link {
  position: relative;
  color: #f5f5f5;
  font-size: 1.8rem;
  font-weight: 300;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
  width: auto;
}

.recruit-page .button__entry__link::after {
  position: absolute;
  top: 50%;
  right: 100%;
  bottom: auto;
  left: auto;
  background: url(https://www.butlers-cafe.jp/swallowtail/content/themes/swallowtail/images/ic_navigate_next_white_24px.svg) center center/cover;
  content: '';
  height: 1.8rem;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.8rem;
}

.footer {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #30415d;
  box-shadow: 0 -3px 6px 0 rgba(0, 0, 0, 0.14), 0 -1px 10px 0 rgba(0, 0, 0, 0.12), 0 -1px 4px -1px rgba(0, 0, 0, 0.2);
  position: relative;
}

.footer .logo {
  margin: 3rem 0 1rem;
  width: 100%;
}

.footer .logo__mark {
  height: 6rem;
  width: 6rem;
}

.footer .logo__title {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: .2rem;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
}

.footer .logo__sub-title {
  font-size: 1.5rem;
  font-weight: 100;
  letter-spacing: .8rem;
  -webkit-transform: scale(0.8, 1);
  -ms-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
}

.footer__headline {
  color: #e0e0e0;
  font-size: 1.8rem;
  margin: 0 8px;
  text-align: left;
  width: 100%;
}

.footer__row {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 8px;
  width: 100%;
}

@media screen and (min-width: 479px) {
  .footer__row {
    padding: 16px;
  }
}

@media screen and (min-width: 839px) {
  .footer__row {
    padding: 24px;
  }
}

.footer__row .connect {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 1rem 0 2rem;
}

.footer__row .connect a {
  -webkit-transition: all 0.5s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.5s 0s cubic-bezier(.4, 0, .2, 1);
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  border: 1px solid #f5f5f5;
  margin: .4rem 0;
  position: relative;
}

.footer__row .connect a p {
  color: #f5f5f5;
  font-size: 1rem;
  font-weight: 300;
  padding: 1rem 5rem 1rem 1rem;
  text-align: left;
}

.footer__row .connect a::before {
  position: absolute;
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
  content: '';
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.footer__row .connect a:hover {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  background-color: rgba(224, 224, 224, 0.54);
  border: 1px solid transparent;
}

.footer__row .connect .twitter::before {
  background: url("../../../../images/x.png") center/cover;
  height: 2.4rem;
  margin-right: .2rem;
  width: 2.4rem;
}

.footer__row .connect .instagram::before {
  background: url("../../../../images/instagram.png") center/cover;
  height: 2.4rem;
  margin-right: .2rem;
  width: 2.4rem;
}

.footer__row .connect .contact::before {
  background: url("../../../../images/mail_icon.svg") center/cover;
  height: 2rem;
  margin-right: .4rem;
  width: 2rem;
}

.footer__row:last-child {
  background-color: #424242;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.footer__row:last-child .left {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.footer__row:last-child .left a {
  -webkit-transition: all 0.5s 0s cubic-bezier(.4, 0, .2, 1);
  transition: all 0.5s 0s cubic-bezier(.4, 0, .2, 1);
  border: 1px solid #e0e0e0;
  margin: 0 1rem;
}

.footer__row:last-child .left a p {
  color: #e0e0e0;
  font-size: 1rem;
  font-weight: 300;
  padding: 1rem;
}

.footer__row:last-child .left a:hover {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  background-color: rgba(224, 224, 224, 0.54);
  border: 1px solid transparent;
}

.footer__row:last-child .right {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.footer__row:last-child .right .copyright {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  color: #e0e0e0;
  font-size: 1rem;
  max-width: 1000px;
  text-align: left;
  width: 100%;
}

/*# sourceMappingURL=styles.css.map */