@charset "UTF-8";

@font-face {
  font-family: A-OTF 丸フォーク Pro;
  src: url(./fonts/MaruFoPro-Bold.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: A-OTF 丸フォーク Pro;
  src: url(./fonts/A-OTF-MaruFoPro-Medium.9ad26d38.otf) format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

ul {
  list-style-type: none
}

a {
  color: inherit;
  text-decoration: none
}

div,
ol,
ul {
  margin: 0;
  padding: 0
}

html {
  font-family: ヒラギノ角ゴ Std, Hiragino Kaku Gothic Std, Hiragino Kaku Gothic StdN, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Droid Sans Japanese, sans-serif;
  color: #333;
  font-size: 10px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  scroll-behavior: smooth
}

@media screen and (max-width:767px) {
  html {
    min-width: 100%
  }
}

.bttop {
  position: fixed;
  bottom: -120px;
  right: 30px;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  cursor: pointer;
  z-index: 999;
  opacity: 0
}

@media screen and (max-width:767px) {
  .bttop {
    right: 15px
  }
}

.bttop>img {
  pointer-events: none
}

@media screen and (max-width:767px) {
  .bttop>img {
    height: 45px;
    width: 45px
  }
}

.bttop.active {
  opacity: 1;
  bottom: 50px
}

@media screen and (max-width:767px) {
  .bttop.active {
    bottom: 25px
  }
}

.bttop.bottom {
  position: relative;
  float: right;
  bottom: -10px
}

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

.title__logo {
  width: 24px;
  height: 29px
}

@media screen and (max-width:767px) {
  .title__logo {
    width: 17px;
    height: 19.5px
  }
}

.title__text {
  font-family: century-old-style-std, serif;
  font-weight: 700;
  font-size: 3.8rem;
  color: #54331a;
  letter-spacing: .05em;
  line-height: 1.9473684211em
}

@media screen and (max-width:767px) {
  .title__text {
    font-size: 2.4rem
  }
}

.title.left {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

.title.left>img {
  margin-right: 27px
}

@media screen and (max-width:767px) {
  .title.left>img {
    margin-right: 13.5px
  }
}

.title.left .title__text {
  line-height: 1em
}

.button {
  height: 35px;
  background: #00b6cc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 20px;
  border-radius: 17.5px;
  -webkit-transition: -webkit-transform .5s ease, -webkit-box-shadow .5s ease;
  transition: -webkit-transform .5s ease, -webkit-box-shadow .5s ease;
  transition: transform .5s ease, box-shadow .5s ease;
  transition: transform .5s ease, box-shadow .5s ease, -webkit-transform .5s ease, -webkit-box-shadow .5s ease;
  -webkit-transform: translateY(2px);
  transform: translateY(2px)
}

@media screen and (max-width:767px) {
  .button {
    height: 30px;
    -webkit-transform: translateY(1px);
    transform: translateY(1px)
  }
}

.button:hover {
  -webkit-box-shadow: 0 4px 20px -2px rgba(33, 104, 170, .5);
  box-shadow: 0 4px 20px -2px rgba(33, 104, 170, .5);
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px)
}

@media screen and (max-width:767px) {
  .button:hover {
    -webkit-box-shadow: 0 2px 15px -2px rgba(33, 104, 170, .5);
    box-shadow: 0 2px 15px -2px rgba(33, 104, 170, .5);
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px)
  }
}

.button>img {
  margin-right: 13px
}

.button>span {
  color: #fff;
  font-family: Frutiger, Montserrat, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .button>span {
    font-size: 1.5rem
  }
}

.button--sns {
  width: 176px
}

@media screen and (max-width:767px) {
  .button--sns {
    width: 143px
  }
}

.button__prepend {
  width: 20px;
  height: 20px;
  margin-right: 12px
}

@media screen and (max-width:767px) {
  .button__prepend {
    margin-right: 6px
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .button__prepend {
    width: auto
  }
}

.button--right {
  -ms-flex-item-align: end;
  align-self: flex-end
}

.button--reserve {
  color: #fff;
  background: #54331a;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 80%;
  margin-bottom: 30px
}

@media screen and (max-width:767px) {
  .button--reserve {
    margin-bottom: 15px
  }
}

.button--reserve:hover {
  -webkit-box-shadow: 0 4px 20px -2px rgba(84, 51, 26, .5);
  box-shadow: 0 4px 20px -2px rgba(84, 51, 26, .5)
}

@media screen and (max-width:767px) {
  .button--reserve:hover {
    -webkit-box-shadow: 0 2px 15px -2px rgba(84, 51, 26, .5);
    box-shadow: 0 2px 15px -2px rgba(84, 51, 26, .5)
  }
}

.wave {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  position: absolute;
  top: -2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media screen and (max-width:767px) {
  .wave {
    -o-object-fit: contain;
    object-fit: contain
  }
}

.wave--bottom {
  top: auto;
  bottom: -2px;
  -webkit-transform: rotate(180deg) translateX(50%);
  transform: rotate(180deg) translateX(50%)
}

.page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}

@media screen and (max-width:767px) {
  .page {
    position: relative;
    padding-top: 60px
  }
}

.page__main {
  width: 68vw
}

@media screen and (max-width:767px) {
  .page__main {
    width: 100%
  }
}

.page__main--full {
  width: 100%
}

.page-banner {
  width: 68vw;
  margin-bottom: 65px
}

@media screen and (max-width:767px) {
  .page-banner {
    width: 100%;
    margin-bottom: 32.5px
  }
}

.page-banner__image {
  width: 100%;
  height: 254px;
  border-bottom-left-radius: 10px;
  overflow: hidden;
  margin-bottom: 70px
}

@media screen and (max-width:767px) {
  .page-banner__image {
    margin-bottom: 35px;
    border-bottom-right-radius: 10px
  }
}

.page-banner__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .page-banner__image img {
    -o-object-fit: auto;
    object-fit: auto
  }
}

.anchor {
  display: block;
  position: relative;
  top: -100px;
  visibility: hidden
}

.header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999
}

@media screen and (max-width:767px) {
  .header {
    position: fixed;
    width: 100%
  }
}

.header__container {
  padding: 19px 0 0 4.6875vw
}

@media screen and (max-width:767px) {
  .header__container {
    width: 100%;
    height: 60px;
    background-color: #fff;
    padding: 0 3.5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .header__container {
    display: block
  }
}

@media screen and (-ms-high-contrast:active) and (max-width:767px),
screen and (-ms-high-contrast:none) and (max-width:767px) {
  .header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

.header__logo {
  pointer-events: all;
  display: block;
  margin-bottom: 54px;
  width: 250px;
  height: 81px
}

@media screen and (max-width:767px) {
  .header__logo {
    width: 125px;
    height: auto;
    margin: 0
  }
}

.header__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.header__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px;
  pointer-events: all
}

@media screen and (max-width:767px) {
  .header__link {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 15px
  }
}

.header__link span {
  font-family: century-old-style-std, serif;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1em;
  color: #54331a;
  position: relative
}

@media screen and (max-width:767px) {
  .header__link span {
    font-size: 1.7rem
  }
}

.header__link span:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 2px;
  background-color: #54331a;
  -webkit-transition: all .5s ease;
  transition: all .5s ease
}

@media screen and (max-width:767px) {
  .header__link span:after {
    bottom: -5px
  }
}

.header__link:hover span:after {
  width: 100%
}

.header__link--phone {
  margin-bottom: 40px
}

@media screen and (max-width:767px) {
  .header__link--phone {
    margin-bottom: 20px
  }
}

.header__link--phone span {
  letter-spacing: normal
}

.header__link--phone:hover {
  opacity: .7
}

.header__link--phone:hover span:after {
  display: none
}

.header__link-prepend {
  margin-right: 2px
}

.header__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  pointer-events: all
}

@media screen and (max-width:767px) {
  .header__sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.header__sns-item {
  display: grid;
  place-items: center
}

.header__sns-item:not(:last-child) {
  margin-right: 14px
}

.header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-left: 2.031vw;
  height: 100vh
}

@media screen and (max-width:767px) {
  .header__menu {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 0 0;
    width: 100%;
    position: absolute;
    top: 60px;
    right: -100vw;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    background-color: #fff
  }
}

.header__menu.active {
  right: 0
}

.header__burger {
  cursor: pointer;
  display: none;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  height: 50px;
  width: 50px;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
  pointer-events: all
}

@media screen and (max-width:767px) {
  .header__burger {
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.header__burger-line,
.header__burger-line:after,
.header__burger-line:before {
  content: "";
  position: absolute;
  width: 30px;
  height: 3px;
  background: #00b6cc;
  -webkit-transition: .15s ease-in-out;
  transition: .15s ease-in-out
}

.header__burger-line:before {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px)
}

.header__burger-line:after {
  -webkit-transform: translateY(10px);
  transform: translateY(10px)
}

.header__burger-line.active {
  background: transparent
}

.header__burger-line.active:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: center;
  transform-origin: center
}

.header__burger-line.active:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: center;
  transform-origin: center
}

.footer {
  width: 100%;
  position: relative;
  padding-top: 80px;
  overflow: hidden
}

@media screen and (max-width:767px) {
  .footer {
    padding: 110px 3.5% 0
  }
}

.footer__img {
  position: absolute;
  top: 0;
  height: auto;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  background-color: #fff;
  left: 0
}

@media screen and (max-width:767px) {
  .footer__img {
    -o-object-position: top right;
    object-position: top right;
    height: 100px
  }
}

.footer__content {
  background-color: #00b6cc;
  padding-bottom: 24px;
  max-width: 1000px;
  margin: 0 auto
}

.footer__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative
}

@media screen and (max-width:1024px) and (min-width:768px) {
  .footer__wrapper {
    padding: 0 3%
  }
}

.footer__branding {
  color: #fff;
  font-family: century-old-style-std, serif;
  font-size: 4.5rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6444444444em
}

@media screen and (max-width:767px) {
  .footer__branding {
    font-size: 2.75rem
  }
}

.footer__main {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}

.footer__container,
.footer__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.footer__container {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media screen and (max-width:767px) {
  .footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.footer__main-info {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: ヒラギノ角ゴ Std, Hiragino Kaku Gothic Std, Hiragino Kaku Gothic StdN, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Droid Sans Japanese, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 2.1111111111em;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .footer__main-info {
    font-size: 1.4rem
  }
}

.footer__main-info>span:first-child {
  font-size: 2.1rem;
  font-family: Frutiger, Montserrat, sans-serif;
  line-height: 1.8095238095em;
  font-weight: 700
}

@media screen and (max-width:767px) {
  .footer__main-info>span:first-child {
    font-size: 1.55rem
  }
}

.footer__main-time {
  width: 100%;
  max-width: 565px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 20px
}

@media screen and (max-width:767px) {
  .footer__main-time {
    margin-top: 20px;
    max-width: 100%;
    padding: 0
  }
}

.footer__main-time-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (max-width:767px) {
  .footer__main-time-container {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.footer__main-time-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #fff;
  margin-bottom: 20px;
  letter-spacing: .05em
}

.footer__main-time-item:first-child {
  margin-right: auto;
  padding-right: 40px
}

.footer__main-time-item span {
  white-space: nowrap
}

@media screen and (max-width:767px) {
  .footer__main-time-item span {
    white-space: normal
  }
}

.footer__main-time-item--right span:first-child,
.footer__main-time-title {
  font-family: Frutiger, Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .05em
}

.footer__main-time-title {
  line-height: 1.9em
}

@media screen and (max-width:767px) {
  .footer__main-time-title {
    font-size: 1.5rem
  }
}

.footer__main-time-hours {
  font-family: Frutiger, Montserrat, sans-serif;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.76em
}

@media screen and (max-width:767px) {
  .footer__main-time-hours {
    font-size: 1.75rem
  }
}

.footer__main-time-description {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 2.1111111111em
}

@media screen and (max-width:767px) {
  .footer__main-time-description {
    font-size: 1.4rem
  }
}

.footer__main-link,
.footer__main-phone {
  color: #fff;
  border: 2px solid #fff;
  border-radius: 10px;
  font-family: century-old-style-std, serif;
  font-size: 24px;
  font-weight: 700;
  height: 57px;
  width: 304px;
  margin-left: auto;
  -webkit-transition: background-color .3s ease, color .3s ease;
  transition: background-color .3s ease, color .3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {

  .footer__main-link,
  .footer__main-phone {
    width: 100%;
    font-size: 1.7rem
  }
}

.footer__main-link img,
.footer__main-phone img {
  margin-right: 2px;
  -webkit-transition: -webkit-filter .3s ease;
  transition: -webkit-filter .3s ease;
  transition: filter .3s ease;
  transition: filter .3s ease, -webkit-filter .3s ease
}

.footer__main-link:hover,
.footer__main-phone:hover {
  background-color: #fff;
  color: #00b6cc
}

.footer__main-link:hover img,
.footer__main-phone:hover img {
  -webkit-filter: invert(46%) sepia(91%) saturate(1477%) hue-rotate(150deg) brightness(98%) contrast(102%);
  filter: invert(46%) sepia(91%) saturate(1477%) hue-rotate(150deg) brightness(98%) contrast(102%)
}

.footer__socials {
  margin: 20px 0 50px
}

@media screen and (max-width:767px) {
  .footer__socials {
    margin: 10px 0 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.footer__social-item {
  display: inline-block
}

.footer__social-item:not(:last-child) {
  margin-right: 26px
}

.footer__social-item img {
  width: 20px;
  height: 20px
}

.footer__copyright {
  color: #fff;
  font-family: Frutiger, Montserrat, sans-serif;
  font-size: 1.7rem;
  text-align: center;
  font-weight: 400
}

@media screen and (max-width:767px) {
  .footer__copyright {
    font-size: 1.35rem
  }
}

.footer__main-link {
  margin-top: 20px
}

.top__mv {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}

@media screen and (max-width:767px) {
  .top__mv {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
}

.top__mv-carousel {
  width: 68vw;
  height: 710px
}

@media screen and (max-width:767px) {
  .top__mv-carousel {
    width: 100%;
    height: 355px;
    padding: 80px 3.5% 0
  }
}

.top__mv-carousel .flickity-page-dots {
  position: relative;
  z-index: 1;
  bottom: -23px
}

.top__mv-carousel .flickity-page-dots .dot {
  width: 15px;
  height: 15px;
  background: #ccc;
  opacity: 1;
  margin: 0 17px
}

@media screen and (max-width:767px) {
  .top__mv-carousel .flickity-page-dots .dot {
    width: 12px;
    height: 12px;
    margin: 0 3.5px
  }
}

.top__mv-carousel .flickity-page-dots .dot.is-selected {
  background: #00b6cc
}

.top__mv-carousel .flickity-viewport {
  overflow: hidden
}

.top__mv-carousel-img {
  width: 100%;
  height: 710px;
  margin-right: 20px;
  border-bottom-left-radius: 10px;
  overflow: hidden
}

@media screen and (max-width:767px) {
  .top__mv-carousel-img {
    height: auto;
    border-radius: 10px;
    margin-right: 10px
  }
}

.top__mv-carousel-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .top__mv-carousel-img img {
    -o-object-fit: unset;
    object-fit: unset
  }
}

.top__about {
  position: relative;
  width: 100%;
  height: 400px;
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .top__about {
    margin-top: 30px
  }
}

.top__about-img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%
}

@media screen and (max-width:767px) {
  .top__about-img {
    -o-object-fit: cover;
    object-fit: cover
  }
}

.top__about-content {
  position: relative;
  z-index: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.top__about-headline {
  margin: 2.34375vw 0 3.125vw;
  font-family: A-OTF 丸フォーク Pro, MaruFoPro, A-OTF Maru Folk Pro, tofu;
  font-size: 4.3rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: .05em;
  text-align: center;
  line-height: 1.3em;
  width: 100%;
  text-shadow: 1px 1px 7px rgba(3, 42, 68, .75);
  mix-blend-mode: multiply
}

@media screen and (max-width:767px) {
  .top__about-headline {
    font-size: 2.65rem;
    margin: 22.5px 0 30px
  }
}

.top__news {
  width: 100%;
  margin: 56px 0 129px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .top__news {
    margin: 28px 0 64.5px;
    padding: 0 3.5%
  }
}

.top__news-item-container {
  max-width: 628px;
  margin: 45px auto 52px
}

@media screen and (max-width:767px) {
  .top__news-item-container {
    max-width: 100%;
    margin: 22.5px auto 26px
  }
}

.top__news-item {
  width: 100%
}

.top__news-item:not(:last-child) {
  margin-bottom: 25px
}

@media screen and (max-width:767px) {
  .top__news-item:not(:last-child) {
    margin-bottom: 12.5px
  }
}

.top__news-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  letter-spacing: .05em;
  line-height: 1.3em
}

@media screen and (max-width:767px) {
  .top__news-item a {
    font-size: 1.5rem
  }
}

.top__news-item a:hover {
  opacity: .7
}

.top__news-date {
  color: #00b6cc;
  margin-right: 27px;
  font-weight: 700
}

@media screen and (max-width:767px) {
  .top__news-date {
    margin-right: 13.5px
  }
}

.top__news-description {
  text-decoration: underline;
  font-weight: 400;
  word-break: break-all
}

@media screen and (max-width:767px) {
  .top__news-description {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
  }
}

.top__mc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 50px;
  max-width: 1100px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media screen and (max-width:767px) {
  .top__mc {
    max-width: 100%;
    padding: 0 3.5%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0 3.5% 30px
  }
}

.top__mc-item {
  width: calc(50% - 50px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}

@media screen and (max-width:767px) {
  .top__mc-item {
    width: 100%
  }
}

@media screen and (max-width:767px) {
  .top__mc-item--coupon {
    margin-top: 25px
  }
}

.top__mc-description {
  margin-top: 29px;
  font-size: 2rem;
  letter-spacing: .05em;
  font-weight: 400;
  line-height: 1.65em;
  word-break: break-all
}

@media screen and (max-width:767px) {
  .top__mc-description {
    margin-top: 14.5px;
    font-size: 1.5rem
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .top__mc-description {
    width: 100%
  }
}

.top__item-container {
  width: 100%;
  margin: 35px 0 25px
}

@media screen and (max-width:767px) {
  .top__item-container {
    margin: 17.5px 0 15px
  }
}

.top__menu-item {
  width: 100%;
  min-height: 133px;
  padding: 2rem 10px 2rem 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 2px solid #00b6cc
}

@media screen and (max-width:767px) {
  .top__menu-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 5px 10px 10px
  }
}

.top__menu-item:first-child {
  border-top: 2px solid #00b6cc
}

.top__menu-cut {
  color: #00b6cc;
  font-family: century-old-style-std, serif;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: .05em;
  padding-right: 20px
}

@media screen and (max-width:767px) {
  .top__menu-cut {
    font-size: 1.8rem;
    padding: 0 0 10px
  }
}

.top__menu-style-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  max-width: 330px
}

@media screen and (max-width:767px) {
  .top__menu-style-container {
    max-width: 100%
  }
}

.top__menu-style-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap
}

.top__menu-style-item:not(:first-child) {
  padding-top: 1rem
}

@media screen and (max-width:767px) {
  .top__menu-style-item:not(:first-child) {
    padding-top: 5px
  }
}

.top__menu-price,
.top__menu-style {
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.3em;
  color: #1a1a1a
}

@media screen and (max-width:767px) {

  .top__menu-price,
  .top__menu-style {
    font-size: 1.5rem
  }
}

.top__menu-price {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100px;
  text-align: right
}

.top__coupon-item {
  border-radius: 10px;
  border: 2px solid #00b6cc;
  min-height: 126px;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .top__coupon-item {
    padding: 0 3.5%
  }
}

.top__coupon-item:not(:last-child) {
  margin-bottom: 14px
}

.top__coupon-promo {
  color: #00b6cc;
  font-family: A-OTF 丸フォーク Pro, MaruFoPro, A-OTF Maru Folk Pro, tofu;
  font-size: 2.4rem;
  line-height: 1.4166666667em;
  text-align: center;
  font-weight: 500
}

@media screen and (max-width:767px) {
  .top__coupon-promo {
    font-size: 1.7rem
  }
}

.top__coupon-promo span {
  display: block;
  font-size: 3rem;
  line-height: 1.1333333333em
}

@media screen and (max-width:767px) {
  .top__coupon-promo span {
    font-size: 2rem
  }
}

.top__coupon-promo-description {
  font-size: 2rem;
  letter-spacing: .05em;
  font-weight: 400
}

@media screen and (max-width:767px) {
  .top__coupon-promo-description {
    font-size: 1.5rem;
    margin-top: 5px
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .top__coupon-promo-description {
    width: 100%
  }
}

.top__sp {
  position: relative;
  padding: 63px 0 90px;
  background: -ms-linear-gradient(90deg, #bae7f2 0, #dff4f9 50%, #ebf8fb 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#BAE7F2', endColorstr='#EBF8FB' ,GradientType=0)";
  background: -webkit-gradient(linear, left bottom, left top, from(#bae7f2), color-stop(50%, #dff4f9), to(#ebf8fb));
  background: linear-gradient(0deg, #bae7f2, #dff4f9 50%, #ebf8fb);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#EBF8FB", endColorstr="#BAE7F2", GradientType=0)
}

@media screen and (max-width:767px) {
  .top__sp {
    padding: 31.5px 0 45px
  }
}

.top__style {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 1000px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .top__style {
    max-width: 100%;
    padding: 0 3.5%
  }
}

.top__style-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 60px 0 26px
}

@media screen and (max-width:767px) {
  .top__style-list {
    padding: 30px 0 13px
  }
}

.top__style-item {
  height: 310px;
  width: calc(33.33333% - 23.5px);
  margin: 0 35px 38px 0;
  background-color: #e6e6e6
}

@media screen and (max-width:767px) {
  .top__style-item {
    height: 155px;
    width: calc(50% - 8.75px);
    margin: 0 17.5px 19px 0 !important
  }

  .top__style-item:nth-child(2n) {
    margin-right: 0 !important
  }
}

.top__style-item:nth-child(3n) {
  margin-right: 0
}

.top__style-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

.top__style-item a {
  width: 100%;
  height: 100%;
  display: block
}

.top__album {
  padding: 94px 0;
  max-width: 1000px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media screen and (max-width:767px) {
  .top__album {
    max-width: 100%;
    padding: 0 3.5%;
    padding: 47px 0 0
  }
}

.top__album-text {
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .top__album-text {
    margin-top: 12px;
    padding: 0 3.5%
  }
}

.top__album-text>p {
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .top__album-text>p {
    font-size: 1.5rem;
    text-align: center
  }
}

.top__album-list {
  margin-top: 35px
}

.top__album-list .flickity-prev-next-button {
  border-radius: 0;
  width: 26px;
  height: 28px;
  background: url(/img\icon-prev.png) no-repeat !important
}

.top__album-list .flickity-prev-next-button:hover {
  opacity: .7;
  background: url(/img\icon-prev.png) no-repeat !important
}

.top__album-list .flickity-prev-next-button.previous {
  left: -17px
}

@media screen and (max-width:1024px) {
  .top__album-list .flickity-prev-next-button.previous {
    left: 10px
  }
}

.top__album-list .flickity-prev-next-button.next {
  right: -17px;
  -webkit-transform: rotate(-180deg) translateY(50%);
  transform: rotate(-180deg) translateY(50%)
}

@media screen and (max-width:1024px) {
  .top__album-list .flickity-prev-next-button.next {
    right: 10px
  }
}

.top__album-list .flickity-button-:hover,
.top__album-list .flickity-button-icon {
  fill: none
}

.top__album-item {
  width: 220px;
  height: 220px;
  background-color: #e6e6e6;
  border-radius: 10px;
  margin-right: 40px;
  overflow: hidden
}

@media screen and (max-width:767px) {
  .top__album-item {
    margin-right: 20px
  }
}

.top__album-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .top__album-item img {
    height: auto
  }
}

.top__access {
  padding-top: 66px;
  max-width: 1100px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media screen and (max-width:767px) {
  .top__access {
    max-width: 100%;
    padding: 0 3.5%;
    padding: 33px 3.5% 0
  }
}

.top__access-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media screen and (max-width:767px) {
  .top__access-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.top__access-row--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 120px 0 50px
}

@media screen and (max-width:767px) {
  .top__access-row--center {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 60px 0 25px
  }
}

.top__access-details {
  padding: 56px 0 0 37px;
  font-size: 2rem;
  line-height: 1.9em;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .top__access-details {
    padding: 28px 0 0 18.5px;
    font-size: 1.5rem
  }
}

.top__access-label {
  font-family: Frutiger, Montserrat, sans-serif;
  color: #00b6cc;
  font-weight: 700
}

.top__access-text a,
.top__access-text p {
  color: #333;
  font-weight: 400
}

.top__access-map {
  position: relative;
  margin-top: 23px;
  width: 664px;
  height: 356px;
  overflow: hidden
}

@media screen and (max-width:767px) {
  .top__access-map {
    width: 100%
  }
}

.top__access-map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%
}

.top__access-link {
  display: inline-block;
  position: relative;
  font-size: 3rem;
  font-family: Frutiger, Montserrat, sans-serif;
  font-weight: 700;
  letter-spacing: .05em;
  color: #00b6cc;
  line-height: 1em;
  -webkit-transition: .5s;
  transition: .5s
}

@media screen and (max-width:767px) {
  .top__access-link {
    font-size: 2rem
  }
}

.top__access-link:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 100%;
  height: 3px;
  background-color: #00b6cc;
  -webkit-transition: all .5s ease;
  transition: all .5s ease
}

@media screen and (max-width:767px) {
  .top__access-link:after {
    bottom: -5px;
    height: 2px
  }
}

.top__access-link:not(:last-child) {
  margin-right: 89px
}

@media screen and (max-width:767px) {
  .top__access-link:not(:last-child) {
    margin-right: 44.5px
  }
}

.top__access-link:hover:after {
  width: 0
}

.about__title {
  width: 100%;
  max-width: 738px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media screen and (max-width:767px) {
  .about__title {
    max-width: 100%;
    padding: 0 3.5%
  }
}

.about__headline {
  color: #00b6cc;
  font-family: A-OTF 丸フォーク Pro, MaruFoPro, A-OTF Maru Folk Pro, tofu;
  font-size: 3.7rem;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.3em;
  margin-bottom: 45px
}

@media screen and (max-width:767px) {
  .about__headline {
    font-size: 2.35rem;
    margin-bottom: 22.5px;
    text-align: center;
    padding: 0 3%
  }
}

.about__text {
  width: 100%;
  font-family: ヒラギノ角ゴ Std, Hiragino Kaku Gothic Std, Hiragino Kaku Gothic StdN, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Droid Sans Japanese, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  color: #333;
  line-height: 1.9em;
  letter-spacing: .05em;
  max-width: 738px
}

@media screen and (max-width:767px) {
  .about__text {
    max-width: 100%;
    padding: 0 3%;
    font-size: 1.5rem
  }
}

.about__main {
  max-width: 1000px;
  margin: 6rem auto 5rem
}

@media screen and (max-width:767px) {
  .about__main {
    max-width: 100%;
    padding: 0 3.5%;
    margin: 3rem 0 2.5rem
  }
}

.about__collage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.about__collage--text {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap
}

@media screen and (max-width:767px) {
  .about__collage--text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.about__image-tile {
  margin-bottom: 2rem;
  width: calc(33.33333% - 16px);
  height: 31.6rem;
  position: relative
}

@media screen and (max-width:767px) {
  .about__image-tile {
    width: calc(33.33333% - 8px);
    height: 139.04px;
    margin-bottom: 1rem
  }
}

.about__image-tile:before {
  position: absolute;
  top: 15px;
  left: 20px;
  z-index: 1;
  font-size: 2.5rem;
  font-weight: 700;
  color: #54331a
}

@media screen and (max-width:767px) {
  .about__image-tile:before {
    top: 7.5px;
    left: 10px;
    font-size: 1.75rem
  }
}

.about__image-tile img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

.about__image-tile--w469 {
  width: 46.9%;
  height: 25rem
}

@media screen and (max-width:767px) {
  .about__image-tile--w469 {
    width: 100%;
    height: 125px;
    margin-right: 0 !important
  }
}

.about__image-tile--w469:before {
  content: "③"
}

.about__image-tile--w242 {
  width: 24%;
  height: 25rem
}

@media screen and (max-width:767px) {
  .about__image-tile--w242 {
    width: calc(50% - 5px);
    height: 125px
  }
}

.about__image-tile--w258 {
  width: 25.8rem;
  height: 34.3rem
}

@media screen and (max-width:767px) {
  .about__image-tile--w258 {
    width: calc(50% - 5px);
    height: 230px
  }
}

.about__image-tile--w258:before {
  display: none
}

.about__image-tile--h215 {
  width: 25.8rem;
  height: 215px
}

@media screen and (max-width:767px) {
  .about__image-tile--h215 {
    width: 100%;
    height: 200px
  }
}

.about__image-tile:first-child:before {
  content: "①"
}

.about__image-tile:nth-child(2):before {
  content: "②"
}

.about__image-tile:nth-child(5):before {
  content: "④"
}

.about__collage-column {
  margin-left: auto
}

@media screen and (max-width:767px) {
  .about__collage-column {
    margin-left: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

.about__paragraph {
  font-size: 2rem;
  font-weight: 400;
  color: #333;
  line-height: 1.9em;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .about__paragraph {
    font-size: 1.5rem
  }
}

.about__main-content {
  padding: 40px 25px 0 0
}

@media screen and (max-width:767px) {
  .about__main-content {
    padding: 20px 0 0
  }
}

.about__main-item {
  padding-top: 5rem
}

@media screen and (max-width:767px) {
  .about__main-item {
    padding-top: 2.5rem
  }
}

.about__or {
  background: -ms-linear-gradient(90deg, #bae7f2 0, #dff4f9 50%, #ebf8fb 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#BAE7F2', endColorstr='#EBF8FB' ,GradientType=0)";
  background: -webkit-gradient(linear, left bottom, left top, from(#bae7f2), color-stop(50%, #dff4f9), to(#ebf8fb));
  background: linear-gradient(0deg, #bae7f2, #dff4f9 50%, #ebf8fb);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#EBF8FB", endColorstr="#BAE7F2", GradientType=0);
  padding: 100px 0;
  position: relative;
  width: 100%
}

@media screen and (max-width:1024px) and (min-width:768px) {
  .about__or {
    padding: 100px 3%
  }
}

@media screen and (max-width:767px) {
  .about__or {
    padding: 50px 3%
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .about__or {
    overflow: hidden
  }
}

.about__or:before {
  top: -2px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.about__or:after,
.about__or:before {
  pointer-events: none;
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  left: 50%;
  background-image: url(/img\wave.png);
  background-size: contain;
  background-repeat: no-repeat
}

.about__or:after {
  bottom: -2px;
  -webkit-transform: translateX(-50%) rotate(-180deg);
  transform: translateX(-50%) rotate(-180deg)
}

.about__or-content {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto
}

@media screen and (max-width:767px) {
  .about__or-content {
    max-width: 100%
  }
}

.about__or-content:not(:first-child) {
  margin-top: 50px
}

.about__or-title {
  color: #00b6cc;
  margin-bottom: 20px;
  font-family: Frutiger, Montserrat, sans-serif;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.9em;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .about__or-title {
    font-size: 2rem;
    margin-bottom: 10px
  }
}

.about__or-item {
  padding: 7px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #999
}

@media screen and (max-width:767px) {
  .about__or-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.about__or-options,
.about__or-procedure {
  color: #333;
  font-size: 2rem;
  line-height: 1.9em;
  letter-spacing: .05em;
  font-weight: 400
}

@media screen and (max-width:767px) {

  .about__or-options,
  .about__or-procedure {
    font-size: 1.5rem
  }
}

.about__or-procedure {
  width: 145px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.about__or-procedure--center-vertical {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.about__or-options {
  word-break: break-all
}

.about__access {
  padding: 66px 0 105px;
  max-width: 1100px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media screen and (max-width:767px) {
  .about__access {
    max-width: 100%;
    padding: 0 3.5%;
    padding: 33px 3% 52.5px
  }
}

.about__access-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media screen and (max-width:767px) {
  .about__access-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.about__access-details {
  padding: 56px 0 0 37px;
  font-size: 2rem;
  line-height: 1.9em;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .about__access-details {
    padding: 28px 0 0 18.5px;
    font-size: 1.5rem
  }
}

.about__access-label {
  font-family: Frutiger, Montserrat, sans-serif;
  color: #00b6cc;
  font-weight: 700
}

.about__access-text a,
.about__access-text p {
  color: #333;
  font-weight: 400
}

.about__access-map {
  position: relative;
  margin-top: 23px;
  width: 664px;
  height: 356px;
  overflow: hidden
}

@media screen and (max-width:767px) {
  .about__access-map {
    width: 100%
  }
}

.about__access-map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%
}

.about__parking {
  max-width: 1100px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media screen and (max-width:767px) {
  .about__parking {
    max-width: 100%;
    padding: 0 3.5%
  }
}

@media screen and (max-width:1024px) and (min-width:768px) {
  .about__parking {
    padding: 0 3%
  }
}

.about__parking-img-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.about__parking-img {
  margin: 52px 0 126px;
  width: 100%;
  max-width: 1000px;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

@media screen and (max-width:767px) {
  .about__parking-img {
    margin: 26px 0 55.44px
  }
}

.online {
  padding-bottom: 204px;
  max-width: 767px
}

@media screen and (max-width:767px) {
  .online {
    max-width: 100%;
    padding: 0 3.5% 102px
  }
}

.online__text {
  font-size: 1.9rem;
  font-family: Hiragino Sans, ヒラギノ角ゴシック, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, sans-serif;
  font-weight: 500;
  line-height: 2.0555555556em;
  letter-spacing: .025em
}

@media screen and (max-width:767px) {
  .online__text {
    font-size: 1.45rem
  }
}

.online__text--big {
  font-size: 2.9rem
}

@media screen and (max-width:767px) {
  .online__text--big {
    font-size: 1.95rem
  }
}

.online__form {
  padding-top: 76px
}

@media screen and (max-width:767px) {
  .online__form {
    padding-top: 38px
  }
}

.online__form-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 25px
}

@media screen and (max-width:767px) {
  .online__form-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 12.5px
  }
}

.online__form-item--privacy {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 95px
}

@media screen and (max-width:767px) {
  .online__form-item--privacy {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 47.5px
  }
}

.online__form-item:nth-last-child(3) {
  margin-bottom: 61px
}

@media screen and (max-width:767px) {
  .online__form-item:nth-last-child(3) {
    margin-bottom: 30.5px
  }
}

.online__form-label {
  width: 237px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 14px
}

@media screen and (max-width:767px) {
  .online__form-label {
    width: auto;
    min-width: auto
  }
}

.online__form-label label {
  position: relative;
  width: 100%;
  font-size: 1.9rem;
  line-height: 2.5277777778em;
  letter-spacing: .025em;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, HiraKakuProN-W3, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, sans-serif;
  font-weight: 400
}

@media screen and (max-width:767px) {
  .online__form-label label {
    font-size: 1.45rem;
    padding-right: 70px
  }
}

.online__form-label label.required:after {
  content: "必須";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 44px;
  height: 23px;
  background-color: #2168aa;
  font-size: 1.4rem;
  color: #fff;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, HiraKakuProN-W3, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, sans-serif;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.online__form-input {
  width: 513px;
  font-size: 1.9rem;
  letter-spacing: .025em;
  color: #333
}

@media screen and (max-width:767px) {
  .online__form-input {
    width: 100%;
    font-size: 1.45rem
  }
}

.online__form-input--checkbox {
  padding-left: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media screen and (max-width:767px) {
  .online__form-input--checkbox {
    padding-left: 11px
  }
}

.online__form-input--checkbox span.error {
  width: 100%;
  font-size: 1.2rem;
  margin-left: -20px
}

@media screen and (max-width:767px) {
  .online__form-input--checkbox span.error {
    margin-left: -10px
  }
}

.online__form-input--checkbox label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.online__form-input--checkbox label [type=checkbox]:checked,
.online__form-input--checkbox label [type=checkbox]:not(:checked) {
  position: absolute;
  left: -9999px
}

.online__form-input--checkbox label [type=checkbox]:checked+span,
.online__form-input--checkbox label [type=checkbox]:not(:checked)+span {
  cursor: pointer;
  position: relative;
  padding-left: 33px;
  display: inline-block;
  font-size: 1.9rem;
  color: #333;
  letter-spacing: .025em;
  line-height: 1.5em;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, HiraKakuProN-W3, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, sans-serif;
  font-weight: 400
}

@media screen and (max-width:767px) {

  .online__form-input--checkbox label [type=checkbox]:checked+span,
  .online__form-input--checkbox label [type=checkbox]:not(:checked)+span {
    font-size: 1.45rem;
    padding-left: 23px;
    line-height: 1.3em
  }
}

.online__form-input--checkbox label [type=checkbox]:checked+span:before,
.online__form-input--checkbox label [type=checkbox]:not(:checked)+span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
  border: 2px solid #b3b3b3;
  background: #fff;
  border-radius: 5px
}

@media screen and (max-width:767px) {

  .online__form-input--checkbox label [type=checkbox]:checked+span:before,
  .online__form-input--checkbox label [type=checkbox]:not(:checked)+span:before {
    width: 15px;
    height: 15px
  }
}

.online__form-input--checkbox label [type=checkbox]:checked+span:before {
  border-color: #00b6cc;
  background-color: #00b6cc
}

.online__form-input--checkbox label [type=checkbox]:checked+span:after,
.online__form-input--checkbox label [type=checkbox]:not(:checked)+span:after {
  content: "✔︎";
  font-size: 1.9rem;
  color: #fff;
  position: absolute;
  top: -1px;
  left: 6px;
  -webkit-transition: all .2s ease;
  transition: all .2s ease
}

@media screen and (max-width:767px) {

  .online__form-input--checkbox label [type=checkbox]:checked+span:after,
  .online__form-input--checkbox label [type=checkbox]:not(:checked)+span:after {
    left: 3px;
    font-size: 1.45rem
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {

  .online__form-input--checkbox label [type=checkbox]:checked+span:after,
  .online__form-input--checkbox label [type=checkbox]:not(:checked)+span:after {
    top: 1px;
    left: 7px
  }
}

@media screen and (-ms-high-contrast:active) and (max-width:767px),
screen and (-ms-high-contrast:none) and (max-width:767px) {

  .online__form-input--checkbox label [type=checkbox]:checked+span:after,
  .online__form-input--checkbox label [type=checkbox]:not(:checked)+span:after {
    left: 4px
  }
}

.online__form-input--checkbox label [type=checkbox]:not(:checked)+span:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0)
}

.online__form-input--checkbox label [type=checkbox]:checked+span:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1)
}

.online__form-input--checkbox label:not(:first-child) {
  margin-left: 38px
}

@media screen and (max-width:767px) {
  .online__form-input--checkbox label:not(:first-child) {
    margin-left: 19px
  }
}

.online__form-input--postal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.online__form-input--postal span.error {
  width: 100%;
  padding-left: 38px
}

@media screen and (max-width:767px) {
  .online__form-input.sp-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.online__form-input.agree span.error {
  padding-left: 90px;
  margin-left: 0
}

@media screen and (max-width:767px) {
  .online__form-input.agree span.error {
    padding-left: 0;
    margin-left: 0;
    text-align: center
  }
}

.online__form-input.agree label {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

@media screen and (max-width:767px) {
  .online__form-input.agree label {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important
  }
}

.online__input-text {
  font-family: kozuka-gothic-pr6n, sans-serif;
  font-weight: 400;
  padding: 0 12px 0 8px
}

.online__input {
  width: 100%;
  height: 50px;
  padding: 20px;
  outline-color: #00b6cc;
  border: 2px solid #b3b3b3;
  font-size: 1.5rem;
  color: #333;
  letter-spacing: .025em;
  font-weight: 400
}

@media screen and (max-width:767px) {
  .online__input {
    height: 35px;
    padding: 10px;
    font-size: 1.25rem
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .online__input {
    padding: 16px 20px
  }
}

@media screen and (-ms-high-contrast:active) and (max-width:767px),
screen and (-ms-high-contrast:none) and (max-width:767px) {
  .online__input {
    padding: 10px
  }
}

.online__input--postal {
  width: 179px
}

@media screen and (max-width:767px) {
  .online__input--postal {
    width: 100px
  }
}

.online__input--phone {
  width: 366px
}

@media screen and (max-width:767px) {
  .online__input--phone {
    width: 100%
  }
}

.online__input--textarea {
  height: 146px;
  resize: none;
  -ms-overflow-style: none;
  line-height: 1.5333333333em
}

.online__privacy {
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin-bottom: 33px;
  width: 513px;
  height: 195px;
  padding: 20px;
  border: 2px solid #b3b3b3
}

@media screen and (max-width:767px) {
  .online__privacy {
    width: 100%;
    padding: 10px;
    margin-bottom: 16.5px
  }
}

@media screen and (max-width:767px) {
  .online__privacy-wrapper {
    width: 100%
  }
}

.online__privacy-text p {
  font-size: 1.5rem;
  color: #333;
  letter-spacing: .025em;
  line-height: 1.5333333333em;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, HiraKakuProN-W3, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, sans-serif;
  font-weight: 400
}

@media screen and (max-width:767px) {
  .online__privacy-text p {
    font-size: 1.25rem
  }
}

.online__privacy-text p.pt5 {
  padding-top: 5px
}

.online__button-wrapper {
  margin-top: 65px
}

.online__button,
.online__button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.online__button {
  cursor: pointer;
  width: 277px;
  height: 59px;
  background-color: #e6e6e6;
  font-size: 2.1rem;
  color: #000;
  letter-spacing: .2em;
  border: 2px solid #e6e6e6;
  -webkit-transition: all .3s;
  transition: all .3s;
  font-family: Hiragino Sans, ヒラギノ角ゴシック, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, sans-serif;
  font-weight: 400
}

@media screen and (max-width:767px) {
  .online__button {
    font-size: 1.55rem
  }
}

.online__button:hover {
  background-color: #fff;
  color: #00b6cc;
  border-color: #00b6cc
}

.online__button--back {
  background-color: #fff
}

.online__button--back:hover {
  background-color: #00b6cc;
  color: #fff
}

.online--confirm .online__form-input--checkbox label,
.online--confirm .online__form-item--privacy,
.online--confirm .online__input {
  display: none
}

.online--confirm .online__form-input {
  line-height: 2.5277777778em
}

.online--confirm .online__form-input.textarea {
  line-height: 1.5333333333em;
  padding-top: 7px
}

@media screen and (max-width:767px) {
  .online--confirm .online__form-input.textarea {
    padding-top: 0
  }
}

.online--confirm .online__form-input--checkbox {
  padding-left: 0
}

.online--confirm .online__button-wrapper {
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .online--confirm .online__button-wrapper {
    -ms-flex-pack: distribute;
    justify-content: space-around
  }
}

@media screen and (max-width:767px) {
  .online--confirm .online__button {
    margin-top: 15px
  }
}

@media screen and (max-width:767px) {
  .online--thanks .online__text {
    text-align: center
  }
}

.contact .online__form-item:nth-last-child(3) {
  margin-bottom: 25px
}

@media screen and (max-width:767px) {
  .contact .online__form-item:nth-last-child(3) {
    margin-bottom: 12.5px
  }
}

.album {
  margin-bottom: 25px
}

@media screen and (max-width:767px) {
  .album {
    margin-bottom: 12.5px
  }
}

.album__list {
  max-width: 787px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media screen and (max-width:767px) {
  .album__list {
    max-width: 100%;
    padding: 0 3%
  }
}

.album__item {
  width: calc(50% - 35px);
  margin-bottom: 55px
}

@media screen and (max-width:767px) {
  .album__item {
    width: calc(50% - 10px);
    height: 100%;
    margin-bottom: 27.5px
  }
}

.album__item>a.item-link {
  display: block
}

.album__item p {
  font: 400 2rem ヒラギノ角ゴ Std, Hiragino Kaku Gothic Std, Hiragino Kaku Gothic StdN, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Droid Sans Japanese, sans-serif;
  line-height: 1.9em;
  letter-spacing: .05em;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical
}

@media screen and (max-width:767px) {
  .album__item p {
    font-size: 15px
  }
}

.album__item:nth-of-type(odd) {
  margin-right: 70px
}

@media screen and (max-width:767px) {
  .album__item:nth-of-type(odd) {
    margin-right: 20px
  }
}

.album__item-image {
  width: 100%;
  height: 271px;
  margin-bottom: 20px;
  background-color: #e6e6e6
}

@media screen and (max-width:767px) {
  .album__item-image {
    height: 135.5px;
    margin-bottom: 10px
  }
}

.album__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

.news__container {
  padding-bottom: 100px;
  max-width: 50vw;
  margin: 0 auto
}

@media screen and (max-width:767px) {
  .news__container {
    max-width: 100%;
    padding: 0 3.5% 50px
  }
}

.news__item {
  width: 100%;
  height: 100%;
  border-top: 1px solid #e6e6e6;
  padding: 20px 10px
}

@media screen and (max-width:767px) {
  .news__item {
    padding: 13.2px 0
  }
}

.news__item:last-child {
  border-bottom: 1px solid #e6e6e6
}

.news__item a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}

@media screen and (max-width:767px) {
  .news__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.news__item a:hover {
  opacity: .7
}

.news__date {
  margin-right: 40px;
  font-size: 1.6rem;
  color: #00b6cc;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .news__date {
    margin-right: 20px
  }
}

.news__title {
  font-size: 1.6rem;
  letter-spacing: .05em;
  word-break: break-all;
  width: 100%
}

@media screen and (max-width:767px) {
  .news__title {
    font-size: 1.3rem
  }
}

.news--single .news__container {
  max-width: 60vw;
  margin: 0 0 200px;
  padding-bottom: 0
}

@media screen and (max-width:767px) {
  .news--single .news__container {
    max-width: 100%;
    margin-bottom: 50px
  }
}

.news--single .news__title {
  font-size: 3.4rem
}

@media screen and (max-width:767px) {
  .news--single .news__title {
    font-size: 2.4rem
  }
}

.news--single .news__categories {
  margin: 6rem 0 0
}

@media screen and (max-width:767px) {
  .news--single .news__categories {
    margin-top: 3rem
  }
}

.news--single .news__category {
  background-color: #e6e6e6;
  pointer-events: none
}

.news--single .news__category:hover {
  color: unset !important
}

.news__block {
  font-size: 1.6rem;
  color: #000
}

.news__block--border {
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 10px;
  margin-bottom: 60px
}

@media screen and (max-width:767px) {
  .news__block--border {
    margin-bottom: 30px
  }
}

.news__block p {
  word-break: break-all
}

@media screen and (max-width:767px) {
  .news__block p {
    font-size: 1.3rem
  }
}

.news__block p:not(:first-child) {
  padding-top: 30px
}

@media screen and (max-width:767px) {
  .news__block p:not(:first-child) {
    padding-top: 15px
  }
}

.news__categories {
  margin-bottom: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media screen and (max-width:767px) {
  .news__categories {
    margin-bottom: 3rem
  }
}

.news__category {
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .1em;
  position: relative;
  padding: 5px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .news__category {
    font-size: 1.3rem
  }
}

.news__category:not(:last-child) {
  margin-right: 20px
}

.news__category:after {
  width: 0;
  height: 0;
  border-color: #00b6cc transparent transparent;
  border-style: solid;
  border-width: 6px 5px 0;
  position: absolute;
  left: 50%;
  bottom: -8px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.news__category--active {
  color: #00b6cc;
  font-weight: 700;
  border-bottom: 2px solid #00b6cc
}

.news__category--active:after {
  content: ""
}

.news__category:hover {
  color: #00b6cc
}

.menu__container {
  width: 84.02%;
  max-width: 736px
}

@media screen and (max-width:767px) {
  .menu__container {
    width: 100% !important;
    max-width: 100% !important
  }
}

.menu__container--w1000 {
  width: 78.125%;
  max-width: 1000px;
  margin: 0 auto
}

.menu__container--w1100 {
  width: 85.9375%;
  max-width: 1100px;
  margin: 10rem auto;
  border: 3px solid #00b6cc;
  padding: 50px
}

@media screen and (max-width:767px) {
  .menu__container--w1100 {
    margin: 50px auto;
    padding: 0 3.5%;
    border: none
  }
}

.menu__container--w1100 .menu__wrapper {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap
}

@media screen and (max-width:767px) {
  .menu__container--w1100 .menu__wrapper {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: 3px solid #00b6cc;
    padding: 3.5%
  }
}

@media screen and (max-width:767px) {
  .menu__container--w1100 .menu__item {
    padding: 0 !important;
    margin-bottom: 0 !important
  }
}

.menu__container--w1100 .menu__item:last-child {
  -ms-flex-item-align: end;
  align-self: flex-end
}

.menu__container--w1100 .menu__pricing {
  margin-bottom: 0
}

@media screen and (max-width:767px) {
  .menu__container--w1100 .menu__pricing {
    margin-top: 15px
  }
}

.menu__container.last .menu__wrapper .menu__item:last-child {
  margin-top: 5rem
}

@media screen and (max-width:767px) {
  .menu__container.last .menu__wrapper .menu__item:last-child {
    margin-top: 0
  }
}

.menu__wrapper {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.menu__item {
  width: 47%;
  max-width: 470px
}

@media screen and (max-width:767px) {
  .menu__item {
    width: 100%;
    max-width: 100%;
    padding: 0 25px
  }

  .menu__item:nth-child(7) {
    padding: 0 25px 0 0
  }

  .menu__item:nth-child(10) {
    padding: 0
  }

  .menu__item:not(:last-child) {
    margin-bottom: 4rem
  }
}

.menu__item:not(:nth-child(2n)) {
  margin-right: 3.125vw
}

@media screen and (max-width:767px) {
  .menu__item:not(:nth-child(2n)) {
    margin-right: 0
  }
}

.menu__item:not(:nth-last-child(-n+2)) {
  margin-bottom: 8rem
}

@media screen and (max-width:767px) {
  .menu__item:not(:nth-last-child(-n+2)) {
    margin-bottom: 4rem
  }
}

.menu__item--full {
  width: 100%;
  max-width: 736px;
  margin-right: 0 !important;
  margin-bottom: 8rem
}

@media screen and (max-width:767px) {
  .menu__item--full {
    margin-bottom: 4rem
  }
}

.menu__heading {
  font: 700 3rem Frutiger, Montserrat, sans-serif;
  color: #00b6cc;
  line-height: 1em;
  letter-spacing: .05em;
  padding-bottom: 2rem
}

@media screen and (max-width:767px) {
  .menu__heading {
    font-size: 2rem;
    padding-bottom: 1rem
  }
}

.menu__banner-image {
  width: 100%;
  height: 13.2rem;
  margin-bottom: 2.8rem;
  background-color: #e6e6e6
}

@media screen and (max-width:767px) {
  .menu__banner-image {
    margin-bottom: 1.4rem
  }
}

.menu__banner-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

.menu__pricing {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 3rem
}

@media screen and (max-width:767px) {
  .menu__pricing {
    margin-bottom: 15px
  }
}

.menu__pricing-item td {
  vertical-align: bottom;
  background-image: radial-gradient(#000 1px, #fff 0);
  background-size: 8px 8px;
  background-repeat: repeat-x;
  background-position: left bottom 5px
}

.menu__pricing-item td span {
  background-color: #fff;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .menu__pricing-item td span {
    font-size: 1.5rem
  }
}

.menu__pricing-item td:nth-child(2) {
  text-align: right
}

.menu__pricing-item--colspan td {
  background: none;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.9em;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .menu__pricing-item--colspan td {
    font-size: 1.5rem
  }
}

.menu__text {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.9em;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .menu__text {
    font-size: 1.5rem
  }
}

.menu__text--note {
  padding-bottom: 12px;
  text-align: right
}

@media screen and (max-width:767px) {
  .menu__text--note {
    padding-bottom: 6px
  }
}

.menu__text.pb30 {
  padding-bottom: 3rem
}

@media screen and (max-width:767px) {
  .menu__text.pb30 {
    padding-bottom: 1.5rem
  }
}

.menu__text--end {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 37px
}

@media screen and (max-width:767px) {
  .menu__text--end {
    padding-right: 25px;
    margin: 4rem 0 18.5px
  }
}

.menu__image {
  position: absolute;
  left: 0;
  width: 48%;
  height: 55.6rem
}

@media screen and (max-width:767px) {
  .menu__image {
    position: relative;
    width: 100% !important;
    height: 278px
  }
}

.menu__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

.menu__image--right {
  left: auto;
  right: 0;
  width: 49%;
  margin-top: 10rem
}

@media screen and (max-width:767px) {
  .menu__image--right {
    margin-top: 50px;
    padding-left: 25px
  }
}

@media screen and (max-width:767px) {
  .menu__item-inner {
    padding: 0 25px
  }
}

.coupon__container {
  width: 84.02%;
  padding-bottom: 13rem
}

@media screen and (max-width:767px) {
  .coupon__container {
    width: 100%;
    padding: 0 3.5% 6.5rem
  }
}

.coupon__text {
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.9em
}

@media screen and (max-width:767px) {
  .coupon__text {
    font-size: 1.5rem
  }
}

.coupon__wave {
  width: 100%;
  padding: 10.7rem 0 18.7rem;
  position: relative;
  margin-bottom: 9.4rem;
  background: -ms-linear-gradient(90deg, #bae7f2 0, #dff4f9 50%, #ebf8fb 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#BAE7F2', endColorstr='#EBF8FB' ,GradientType=0)";
  background: -webkit-gradient(linear, left bottom, left top, from(#bae7f2), color-stop(50%, #dff4f9), to(#ebf8fb));
  background: linear-gradient(0deg, #bae7f2, #dff4f9 50%, #ebf8fb);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#EBF8FB", endColorstr="#BAE7F2", GradientType=0)
}

@media screen and (max-width:1024px) and (min-width:768px) {
  .coupon__wave {
    padding: 10.7rem 3.5% 18.7rem
  }
}

@media screen and (max-width:767px) {
  .coupon__wave {
    padding: 53.5px 3.5% 93.5px;
    margin-bottom: 4.7rem
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  .coupon__wave {
    overflow: hidden
  }
}

.coupon__wave:before {
  top: -2px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.coupon__wave:after,
.coupon__wave:before {
  pointer-events: none;
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  left: 50%;
  background-image: url(/img\wave.png);
  background-size: contain;
  background-repeat: no-repeat
}

.coupon__wave:after {
  bottom: -2px;
  -webkit-transform: translateX(-50%) rotate(-180deg);
  transform: translateX(-50%) rotate(-180deg)
}

.coupon__list {
  max-width: 1000px;
  margin: 0 auto
}

@media screen and (max-width:767px) {
  .coupon__list {
    max-width: 100%
  }
}

.coupon__item {
  width: 100%;
  background-color: #fff;
  border-radius: 10px;
  padding: 10px 22px 10px 10px;
  margin-bottom: 7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (max-width:767px) {
  .coupon__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 3.5%;
    margin-bottom: 3.5rem
  }
}

.coupon__item-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.coupon__item-col:first-child {
  width: 270px;
  background-color: #00b6cc;
  margin-right: 30px
}

@media screen and (max-width:767px) {
  .coupon__item-col:first-child {
    width: 100%;
    margin: 0 0 15px
  }
}

.coupon__item-col:nth-child(2) {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.coupon__title-wrapper {
  height: 25rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #fff;
  text-align: center;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .coupon__title-wrapper {
    height: 12.5rem
  }
}

.coupon__title-wrapper p {
  font-size: 3.2rem;
  line-height: 1.28125em;
  letter-spacing: -.015em
}

@media screen and (max-width:767px) {
  .coupon__title-wrapper p {
    font-size: 2.1rem
  }
}

.coupon__title-wrapper span {
  font-size: 2.1rem;
  line-height: 2.1428571429em;
  padding-bottom: 15px
}

@media screen and (max-width:767px) {
  .coupon__title-wrapper span {
    font-size: 1.55rem;
    padding-bottom: 7.5px
  }
}

.coupon__reservation {
  height: 6.8rem;
  background-color: #85dce6;
  font-size: 2.3rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.5652173913em;
  letter-spacing: .05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .coupon__reservation {
    height: 3.4rem;
    font-size: 1.65rem
  }
}

.coupon__price {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (max-width:767px) {
  .coupon__price {
    margin-top: 1rem
  }
}

.coupon__price-discount,
.coupon__price-regular {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4615384615em;
  white-space: nowrap
}

@media screen and (max-width:767px) {

  .coupon__price-discount,
  .coupon__price-regular {
    font-size: 1.8rem
  }
}

@media screen and (max-width:375px) {

  .coupon__price-discount,
  .coupon__price-regular {
    font-size: 1.3rem
  }
}

.coupon__price-discount .small,
.coupon__price-regular .small {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.9em
}

@media screen and (max-width:767px) {

  .coupon__price-discount .small,
  .coupon__price-regular .small {
    font-size: 1.5rem
  }
}

@media screen and (max-width:375px) {

  .coupon__price-discount .small,
  .coupon__price-regular .small {
    font-size: 1.4rem
  }
}

.coupon__price-discount .large,
.coupon__price-regular .large {
  font-family: Frutiger, Montserrat, sans-serif;
  font-size: 3.7rem;
  line-height: 1.027027027em
}

@media screen and (max-width:767px) {

  .coupon__price-discount .large,
  .coupon__price-regular .large {
    font-size: 2.35rem
  }
}

@media screen and (max-width:375px) {

  .coupon__price-discount .large,
  .coupon__price-regular .large {
    font-size: 1.8rem
  }
}

.coupon__price-discount .red,
.coupon__price-regular .red {
  color: red
}

.coupon__price-regular:after {
  content: "▶︎";
  display: inline-block;
  vertical-align: top;
  font-size: 2rem;
  color: #00b6cc;
  margin: 0 20px
}

@media screen and (max-width:767px) {
  .coupon__price-regular:after {
    font-size: 1.5rem;
    margin: 0 10px;
    vertical-align: text-top
  }
}

@media screen and (max-width:375px) {
  .coupon__price-regular:after {
    font-size: 1rem;
    margin: 0 5px;
    vertical-align: text-bottom
  }
}

.coupon__print {
  -ms-flex-item-align: end;
  align-self: flex-end;
  cursor: pointer;
  width: 211px;
  height: 3.8rem;
  background-color: #e6e6e6;
  border-radius: 5px;
  font-size: 2rem;
  font-weight: 600;
  -webkit-transition: -webkit-transform .5s ease, -webkit-box-shadow .5s ease;
  transition: -webkit-transform .5s ease, -webkit-box-shadow .5s ease;
  transition: transform .5s ease, box-shadow .5s ease;
  transition: transform .5s ease, box-shadow .5s ease, -webkit-transform .5s ease, -webkit-box-shadow .5s ease;
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .coupon__print {
    width: 100%;
    font-size: 1.5rem;
    height: 3rem;
    margin-top: 2rem;
    -webkit-transform: translateY(1px);
    transform: translateY(1px)
  }
}

.coupon__print:hover {
  -webkit-box-shadow: 0 4px 20px -2px hsla(0, 0%, 90.2%, .5);
  box-shadow: 0 4px 20px -2px hsla(0, 0%, 90.2%, .5);
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px)
}

@media screen and (max-width:767px) {
  .coupon__print:hover {
    -webkit-box-shadow: 0 2px 15px -2px hsla(0, 0%, 90.2%, .5);
    box-shadow: 0 2px 15px -2px hsla(0, 0%, 90.2%, .5);
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px)
  }
}

.coupon__description {
  font-size: 2.3rem;
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1.5652173913em
}

@media screen and (max-width:767px) {
  .coupon__description {
    font-size: 1.65rem
  }
}

.coupon__description--small {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4em;
  padding-top: 1rem;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .coupon__description--small {
    font-size: 1.5rem
  }
}

.coupon__description--xsmall {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6875em;
  padding-top: 1rem;
  letter-spacing: .05em
}

@media screen and (max-width:767px) {
  .coupon__description--xsmall {
    font-size: 1.3rem
  }
}

.white {
  color: #fff
}

.white-bg {
  background: #fff
}

.black {
  color: #000
}

.black-bg {
  background: #000
}

.primary {
  color: #00b6cc
}

.primary-bg {
  background: #00b6cc
}

.secondary-bg {
  background-color: #54331a
}

.inline {
  display: inline
}

.overflow {
  overflow: hidden
}

.nowrap {
  white-space: nowrap
}

@media screen and (max-width:767px) {
  .nowrap {
    white-space: normal
  }
}

.bold {
  font-weight: 700 !important
}

.pc {
  display: block
}

@media screen and (max-width:767px) {
  .pc {
    display: none
  }
}

.sp {
  display: none
}

@media screen and (max-width:767px) {
  .sp {
    display: block
  }
}

.simplebar-track {
  right: 5px !important
}

.simplebar-track.simplebar-vertical {
  top: 20px !important;
  bottom: 20px !important;
  width: 10px !important
}

.simplebar-scrollbar:before {
  background-color: #00b6cc !important;
  border-radius: 0 !important;
  opacity: 1 !important
}

.mw_wp_form .error {
  font-size: 1.2rem !important
}

.wp-pagenavi {
  padding-top: 80px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .wp-pagenavi {
    padding-top: 40px
  }
}

.wp-pagenavi .current,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink,
.wp-pagenavi a.page {
  font-size: 2rem;
  color: #000;
  -webkit-transition: all .3s;
  transition: all .3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:767px) {

  .wp-pagenavi .current,
  .wp-pagenavi .nextpostslink,
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi a.page {
    font-size: 1.5rem;
    margin-bottom: 10px
  }
}

.wp-pagenavi .current,
.wp-pagenavi a.page {
  width: 50px;
  height: 50px;
  border: 1px solid #e6e6e6;
  background-color: #fff;
  margin: 0 5px
}

@media screen and (max-width:767px) {

  .wp-pagenavi .current,
  .wp-pagenavi a.page {
    width: 35px;
    height: 35px;
    margin: 0 3px 10px
  }
}

.wp-pagenavi a.page {
  padding: 0
}

.wp-pagenavi a.page:hover {
  background-color: #00b6cc;
  border-color: #00b6cc;
  color: #fff
}

.wp-pagenavi .current {
  background-color: #e6e6e6;
  border-color: #e6e6e6
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  border-bottom: 1px solid transparent
}

.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .previouspostslink:hover {
  border-bottom: 1px solid #00b6cc;
  color: #00b6cc
}

.wp-pagenavi .previouspostslink {
  margin-right: 20px
}

@media screen and (max-width:767px) {
  .wp-pagenavi .previouspostslink {
    margin-right: 10px
  }
}

.wp-pagenavi .nextpostslink {
  margin-left: 20px
}

@media screen and (max-width:767px) {
  .wp-pagenavi .nextpostslink {
    margin-right: 10px
  }
}

/*# sourceMappingURL=/main.css.map */