/* ----------------------------------------------------
	bg
---------------------------------------------------- */
.bg {
  background-color: rgb(var(--wht));
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

/* ----------------------------------------------------
	kv
---------------------------------------------------- */
.kv {
  background-image: url(../img/kv02.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100vh;
}

/*
	opening
------------------------------ */
.opening {
  background-image: url(../img/op-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1200;
}

.opening__title {
  margin-bottom: min(5rem, 3.66vw);
  width: min(57.7rem, 42.24vw);
}

.opening__date {
  line-height: 3;
  color: rgb(var(--grn));
  font-family: var(--title);
  font-size: min(3.3rem, 2.416vw);
  font-weight: 400;
  text-align: center;
  letter-spacing: min(0.3rem, 0.22vw);
}

.opening__note {
  width: min(35.2rem, 25.769vw);
}

/* 各要素の初期状態 */
.opening__title,
.opening__date,
.opening__note {
  opacity: 0;
  transition: opacity 1s ease;
}

@media screen and (max-width: 768px) {
  .opening {
    background-image: url(../img/op-bg_sp.webp);
  }

  .opening__title {
    margin-bottom: 19.2vw;
    width: 81.333vw;
  }

  .opening__date {
    margin-bottom: 2.667vw;
    line-height: 1.4;
    font-size: 6.933vw;
    letter-spacing: 0.8vw;
  }

  .opening__date small {
    font-size: 4.533vw;
  }

  .opening__note {
    width: 61.333vw;
  }
}

.header,
.main,
.footer {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease;
}

.header.is-visible,
.main.is-visible,
.footer.is-visible {
  opacity: 1;
  visibility: visible;
}

/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
  background: rgba(var(--navBg), 0.8);
  padding-right: min(2.5rem, 1.83vw);
  width: 100%;
  height: min(7.7rem, 5.637vw);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
}

.header__logo {
  width: min(13.9rem, 10.176vw);
  position: absolute;
  top: 50%;
  left: min(3.3rem, 2.416vw);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .header {
    padding-right: 24vw;
    height: 16vw;
  }

  .header__logo {
    width: 25.333vw;
    left: 5.333vw;
  }
}

/*
	gnav
------------------------------ */
.gnav {
  line-height: 1;
  display: flex;
}

.gnav__list {
  display: flex;
}

.gnav__list--item {
  margin-right: min(3.3rem, 2.416vw);
}

.gnav__list--item a {
  color: rgb(var(--brn));
  font-size: min(2rem, 1.464vw);
  font-weight: 700;
  text-decoration: none;
}

/* reserve */
.reserve__list {
  display: none;
}

@media screen and (max-width: 768px) {
  .gnav {
    background-color: rgba(var(--footerBg), 0.93);
    padding-top: 24vw;
    width: 100%;
    height: 100%;
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    transform: translateX(100%);
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  .gnav__list {
    display: block;
  }

  .gnav__list--item {
    margin-left: 16vw;
  }

  .gnav__list--item a {
    line-height: 2.4;
    color: rgb(var(--grn));
    font-size: 6.667vw;
  }

  /* reserve */
  .reserve__link {
    pointer-events: none;
  }

  .reserve__list {
    display: block;
  }

  .reserve__list--item a {
    font-size: 4.8vw;
  }

  .reserve__list--item a::before {
    content: '＞';
  }

  /* is-open */
  body.is-open {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
  }

  .is-open .gnav {
    z-index: 999;
    transform: translateX(0);
  }
}

/*
	toggle
------------------------------ */
.toggle {
  display: none;
}

@media screen and (max-width: 768px) {
  .toggle {
    width: 11.2vw;
    height: 4.533vw;
    display: block;
    position: fixed;
    top: 5.867vw;
    right: 6.667vw;
    z-index: 1000;
  }

  .toggle__inner {
    width: 100%;
    height: 100%;
    position: relative;
    cursor: pointer;
  }

  .toggle__inner--item {
    background: rgb(var(--grn));
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    left: 50%;
    transition: all 0.6s;
  }

  .toggle__inner--item:nth-child(1) {
    top: 0;
    transform: translateX(-50%);
  }

  .toggle__inner--item:nth-child(2) {
    bottom: 0;
    transform: translateX(-50%);
  }

  /* is-open */
  .is-open .toggle__inner--item {
    transform-origin: 0 0;
  }

  .is-open .toggle__inner--item:nth-child(1) {
    top: 50%;
    transform: rotate(30deg) translate(-50%, -50%);
  }

  .is-open .toggle__inner--item:nth-child(2) {
    top: 50%;
    bottom: auto;
    transform: rotate(-30deg) translate(-50%, -50%);
  }
}

/*
	lang
------------------------------ */
.lang {
  background-color: rgb(var(--wht));
  width: min(11.2rem, 8.199vw);
  font-family: var(--mincho);
  font-size: min(1.3rem, 0.952vw);
  position: relative;
}

.lang__title {
  background-image: url(../img/icon-lang.svg);
  background-position: left min(0.6rem, 0.439vw) center;
  background-repeat: no-repeat;
  background-size: min(1.6rem, 1.171vw) auto;
  padding-left: min(2.6rem, 1.903vw);
  height: min(3rem, 2.196vw);
  font-weight: 700;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.lang__title::after {
  background-color: rgb(var(--brn));
  width: min(0.6rem, 0.439vw);
  height: min(0.6rem, 0.439vw);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: 50%;
  right: min(0.6rem, 0.439vw);
  transform: translateY(-50%);
  transition: all 0.5s ease 0s;
  content: '';
}

.lang-active .lang__title::after {
  clip-path: polygon(0 100%, 100% 100%, 50% 0);
}

.lang__select {
  width: 100%;
  display: none;
  position: absolute;
  top: min(3rem, 2.196vw);
}

.lang__list {
  background-color: rgb(var(--wht));
}

.lang__link {
  padding-left: min(2.4rem, 1.757vw);
  height: min(3rem, 2.196vw);
  color: rgb(var(--brn));
  font-weight: 900;
  text-decoration: none;
  display: flex;
  align-items: center;
}

span.lang__link,
.lang__link:hover {
  background-color: #e0e0e0;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .lang {
    width: 16vw;
    font-size: 3.2vw;
  }

  .lang__title {
    background-color: rgb(var(--wht));
    background-position: left 2.667vw center;
    background-size: 6.4vw auto;
    padding-left: 0;
    width: 16vw;
    height: 9.067vw;
  }

  .lang__title::after {
    width: 2.133vw;
    height: 2.133vw;
    right: 2.667vw;
  }

  .lang__title--text {
    display: none;
  }

  .lang__select {
    width: 120%;
    top: 9.067vw;
  }

  .lang__link {
    padding-left: 1.6vw;
    height: 9.067vw;
  }
}

/* ----------------------------------------------------
	section
---------------------------------------------------- */
.section {
  padding: min(10rem, 7.321vw) 0;
  position: relative;
}

.section__title {
  padding-bottom: min(13.5rem, 9.883vw);
  line-height: normal;
  color: rgb(var(--grn));
  font-family: var(--title);
  font-size: min(5rem, 3.66vw);
  font-weight: 400;
  text-align: center;
  position: relative;
}

.section__title::after {
  background-color: rgb(var(--grn));
  width: 1px;
  height: min(6.8rem, 4.978vw);
  position: absolute;
  top: min(8.6rem, 6.296vw);
  left: 50%;
  transform: translateX(-50%);
  content: '';
}

@media screen and (max-width: 768px) {
  .section {
    padding: 21.333vw 0;
  }

  .section__title {
    padding-bottom: 26.667vw;
    font-size: 10.667vw;
  }

  .section__title::after {
    height: 18.133vw;
    top: 14.667vw;
  }
}

/* ----------------------------------------------------
	concept
---------------------------------------------------- */
.concept {
  background-image: url(../img/op-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 0;
}

.concept .section__title {
  background-image: url(../img/concept-bg.svg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: min(68.8rem, 50.366vw) auto;
  padding-bottom: min(19rem, 13.909vw);
}

.concept__content {
  color: rgb(var(--brn));
  text-align: center;
}

.concept__content--title {
  margin-bottom: min(1.6rem, 1.171vw);
  font-size: min(2.8rem, 2.05vw);
  font-weight: 700;
}

.concept__content--lead .text {
  line-height: 2.5;
  font-size: min(2rem, 1.464vw);
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  .concept {
    background-image: url(../img/op-bg.webp);
  }

  .concept .section__title {
    background-image: url(../img/concept-bg_sp.svg);
    background-position: center bottom 2.667vw;
    background-size: 86.4vw auto;
    padding-bottom: 45.333vw;
  }

  .concept__content--title {
    margin-bottom: 4.267vw;
    font-size: 5.333vw;
  }

  .concept__content--lead {
    padding: 0 5.867vw;
    text-align: left;
  }

  .concept__content--lead .text {
    font-size: 4.267vw;
  }

  .concept__content--lead .text:not(:last-of-type) {
    margin-bottom: 1em;
  }
}

/* ----------------------------------------------------
	renewal
---------------------------------------------------- */
.renewal {
  background-color: rgb(var(--wht));
}

.renewal__list {
  margin: 0 auto;
  width: min(120rem, 87.848vw);
  display: flex;
  justify-content: space-between;
}

.renewal__list--item {
  width: min(36.7rem, 26.867vw);
}

.renewal__content--title {
  height: min(9.5rem, 6.955vw);
  line-height: 1.4;
  color: rgb(var(--beg));
  font-size: min(2rem, 1.464vw);
  font-weight: 700;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.renewal__content--detail .text {
  color: rgb(var(--brn));
  font-size: min(1.5rem, 1.098vw);
}

@media screen and (max-width: 768px) {
  .renewal__image {
    margin-bottom: 5.333vw;
  }

  .renewal__list {
    padding: 0 5.867vw;
    width: 100%;
    display: block;
  }

  .renewal__list--item {
    width: 100%;
  }

  .renewal__list--item:not(:last-of-type) {
    margin-bottom: 10.667vw;
  }

  .renewal__content--title {
    margin-bottom: 5.333vw;
    height: auto;
    font-size: 5.333vw;
  }

  .renewal__content--detail .text {
    font-size: 4vw;
  }
}

/* ----------------------------------------------------
	menu
---------------------------------------------------- */
.menu {
  background-color: rgb(var(--footerBg));
}

.menu__list {
  margin: 0 auto min(10rem, 7.321vw);
  width: min(113.5rem, 83.089vw);
  display: flex;
  flex-wrap: wrap;
}

.menu__list--item {
  margin-bottom: min(4rem, 2.928vw);
  width: min(53.4rem, 39.092vw);
  display: flex;
  flex-direction: column;
}

.menu__list--item:nth-child(odd) {
  margin-right: calc(100% - min(53.4rem, 39.092vw) * 2);
}

.menu__list--title {
  height: min(7rem, 5.124vw);
  line-height: normal;
  color: rgb(var(--brn));
  font-family: var(--shippori);
  font-size: min(4.5rem, 3.294vw);
  font-weight: 600;
  display: flex;
  align-items: center;
}

.menu .thumbnail {
  margin-top: min(1rem, 0.732vw);
}

.menu .thumbnail .slick-track {
  display: flex;
  transform: unset !important;
}

.menu .thumbnail .slick-slide {
  width: min(12.6rem, 9.224vw) !important;
  float: none;
  position: relative;
  cursor: pointer;
}

.menu .thumbnail .slick-slide:not(:last-of-type) {
  margin-right: min(1rem, 0.732vw);
}

.menu .thumbnail .slick-slide::before {
  background-color: rgb(var(--wht));
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: all 0.5s ease 0s;
  content: '';
}

.menu .thumbnail .slick-slide:hover::before,
.menu .thumbnail .slick-slide.slick-current::before {
  opacity: 0.7;
}

.menu__content {
  margin: min(1.5rem, 1.098vw) 0 min(3.5rem, 2.562vw);
}

.menu__content--title {
  font-size: min(1.8rem, 1.318vw);
  font-weight: 700;
  display: flex;
}

.menu__content--title::before {
  color: rgb(var(--grn));
  content: '●';
}

.menu__content--detail {
  font-size: min(1.5rem, 1.098vw);
}

.menu__content--detail .title {
  color: rgb(var(--grn));
  font-weight: 700;
  display: flex;
}

.menu__content--detail .title::before {
  content: '・';
}

.menu__list--item .link-button {
  background-color: rgb(var(--grn));
  margin: auto auto 0;
  width: min(28rem, 20.498vw);
  height: min(6rem, 4.392vw);
  color: rgb(var(--wht));
  font-size: min(2rem, 1.464vw);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .menu__list {
    margin-bottom: 13.333vw;
    padding: 0 5.867vw;
    width: 100%;
    display: block;
  }

  .menu__list--item {
    margin-bottom: 0;
    width: 100%;
    display: block;
  }

  .menu__list--item:nth-child(odd) {
    margin-right: 0;
  }

  .menu__list--item:not(:last-of-type) {
    margin-bottom: 12vw;
  }

  .menu__list--title {
    margin-bottom: 1.333vw;
    height: 12vw;
    font-size: 8vw;
  }

  .menu .thumbnail {
    margin-top: 1.333vw;
  }

  .menu .thumbnail .slick-slide {
    width: 20.8vw !important;
  }

  .menu .thumbnail .slick-slide:not(:last-of-type) {
    margin-right: 1.6vw;
  }

  .menu__content {
    margin: 3.467vw 0 8vw;
  }

  .menu__content--title {
    font-size: 4.8vw;
  }

  .menu__content--detail {
    font-size: 4vw;
  }

  .menu__list--item .link-button {
    width: 74.667vw;
    height: 16vw;
    font-size: 4.267vw;
  }
}

/*
	cafe
------------------------------ */
.menu .cafe__list {
  /* margin-top: min(1.5rem, 1.098vw); */
}

.menu .cafe__list--item {
  font-size: min(1.5rem, 1.098vw);
  display: flex;
}

.menu .cafe__list--annotation span {
  font-size: min(1.5rem, 1.098vw);
  background-color: rgb(var(--grn));
  color: rgb(var(--wht));
}

.menu .cafe__list--item::before {
  content: '・';
}

@media screen and (max-width: 768px) {
  .menu .cafe__list {
    /* margin-top: 3.467vw; */
  }

  .menu .cafe__list--item {
    font-size: 4vw;
  }

  .menu .cafe__list--annotation span {
    font-size: 4vw;
  }
}

/*
	breakfast
------------------------------ */
.menu__list--item.breakfast {
  /* padding-top: min(7rem, 5.124vw); */
}

.breakfast__content {
  background-color: #e5d8be;
  padding: min(2rem, 1.464vw) 0 min(5rem, 3.66vw) min(3rem, 2.196vw);
}

.breakfast__content--title {
  line-height: normal;
  color: rgb(var(--brn));
  font-family: var(--shippori);
  font-size: min(4.5rem, 3.294vw);
  font-weight: 600;
}

.breakfast .menu__content {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .menu__list--item.breakfast {
    padding-top: 0;
  }

  .breakfast__content {
    padding: 5.333vw 0 6.4vw 5.333vw;
  }

  .breakfast__content--title {
    margin-bottom: 1.333vw;
    font-size: 8vw;
  }
}

/*
	plan
------------------------------ */
.plan {
  margin: 0 auto;
  width: min(96rem, 70.278vw);
}

.plan__content {
  background-color: rgb(var(--wht));
  margin-bottom: min(7rem, 5.124vw);
  display: flex;
  align-items: center;
}

.plan__image {
  width: min(54rem, 39.531vw);
}

.plan__detail {
  padding: 0 min(4.5rem, 3.294vw) 0 min(5rem, 3.66vw);
  width: calc(100% - min(54rem, 39.531vw));
}

.plan__title {
  margin-bottom: min(2rem, 1.464vw);
  line-height: 1.3;
  color: rgb(var(--grn));
  font-size: min(2.6rem, 1.903vw);
  font-weight: 600;
}

.plan__title.eng {
  line-height: 0.72;
  font-family: var(--title);
  font-size: min(3.2rem, 2.343vw);
  font-weight: 400;
}

.plan__text {
  font-size: min(1.6rem, 1.171vw);
}

.plan__menu {
  margin-top: 1em;
  color: #8e8484;
  font-family: var(--gothic);
  font-size: min(1.4rem, 1.025vw);
  font-weight: 600;
}

.plan__link a {
  font-size: min(1.8rem, 1.318vw);
  font-weight: 700;
  display: inline-flex;
}

.plan__link a::before {
  content: '＞';
}

@media screen and (max-width: 768px) {
  .plan {
    padding: 0 5.867vw;
    width: 100%;
  }

  .plan__content {
    margin-bottom: 0;
    display: block;
  }

  .plan__content:not(:last-of-type) {
    margin-bottom: 13.333vw;
  }

  .plan__image {
    width: 100%;
  }

  .plan__detail {
    padding: 12vw 6.4vw;
    width: 100%;
  }

  .plan__title {
    margin-bottom: 3.2vw;
    font-size: 5.333vw;
  }

  .plan__title.eng {
    font-size: 6.667vw;
  }

  .plan__text {
    font-size: 4vw;
  }

  .plan__menu {
    font-size: 3.733vw;
  }

  .plan__link a {
    font-size: 4.267vw;
  }
}

/* ----------------------------------------------------
	interview
---------------------------------------------------- */
.interview .section__title {
  color: rgb(var(--wht));
}

.interview .section__title::after {
  background-color: rgb(var(--wht));
}

.interview__list {
  margin: 0 auto;
  width: min(96rem, 70.278vw);
}

.interview__list--content {
  background-color: #e5d8be;
  padding: min(4.5rem, 3.294vw) min(5rem, 3.66vw) min(8rem, 5.857vw);
  position: relative;
}

.interview__list--content:not(:last-of-type) {
  margin-bottom: min(10rem, 7.321vw);
}

body.is-interview .bg {
  background-image: url(../img/interview-bg_02.webp);
}

@media screen and (max-width: 768px) {
  .interview__list {
    padding: 0 5.867vw;
    width: 100%;
  }

  .interview__list--content {
    padding: 6.667vw 6.667vw 18.667vw;
  }

  .interview__list--content:not(:last-of-type) {
    margin-bottom: 26.667vw;
  }

  body.is-interview .bg {
    background-image: url(../img/interview-bg_sp_02.webp);
  }
}

/*
	profile
------------------------------ */
.profile {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.profile__image {
  width: min(39rem, 28.551vw);
}

.profile__content {
  width: calc(100% - min(42.5rem, 31.113vw));
}

.profile__job {
  position: relative;
  left: max(-2rem, -1.464vw);
}

.profile__job.chef {
  margin-bottom: min(1rem, 0.732vw);
  width: min(12.4rem, 9.078vw);
}

.profile__job.designer {
  width: min(20.4rem, 14.934vw);
}

.profile__post {
  margin-bottom: 1em;
  line-height: 1.6;
  font-size: min(1.4rem, 1.025vw);
  font-weight: 600;
}

.profile__name {
  margin-bottom: min(1.8rem, 1.318vw);
  line-height: 0.8;
  font-size: min(2.9rem, 2.123vw);
  font-weight: 600;
}

.profile__name .eng {
  margin-top: min(1rem, 0.732vw);
  line-height: 1.6;
  font-size: min(1.4rem, 1.025vw);
  display: block;
}

.profile__content--text {
  line-height: 1.7;
  font-size: min(1.6rem, 1.171vw);
}

@media screen and (max-width: 768px) {
  .profile {
    display: block;
  }

  .profile__image {
    margin-bottom: 4.267vw;
    width: 100%;
  }

  .profile__content {
    width: 100%;
  }

  .profile__job {
    display: none;
  }

  .profile__post {
    font-size: 3.733vw;
  }

  .profile__name {
    margin-bottom: 4.8vw;
    font-size: 7.733vw;
  }

  .profile__name .eng {
    margin-top: 2.667vw;
    font-size: 3.733vw;
  }

  .profile__content--text {
    font-size: 4vw;
  }
}

/*
	accordion
------------------------------ */
.accordion-switch {
  background-color: rgb(var(--grn));
  width: min(24rem, 17.57vw);
  height: min(5.2rem, 3.807vw);
  color: rgb(var(--wht));
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: max(-2.6rem, -1.903vw);
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.5s ease 0s;
  cursor: pointer;
}

.accordion-switch:hover {
  opacity: 0.9;
}

.accordion-switch__text {
  font-size: min(1.4rem, 1.025vw);
  display: inline-flex;
  align-items: center;
  transition: all 0.5s ease 0s;
}

.accordion-switch__text svg {
  margin-left: min(0.5rem, 0.366vw);
  width: min(1.5rem, 1.098vw);
  height: auto;
}

.accordion-content {
  margin-top: min(8rem, 5.857vw);
  display: none;
}

/* is-active */
.is-active.accordion-switch {
  height: min(2.4rem, 1.757vw);
  bottom: max(-1.2rem, -0.878vw);
}

.is-active.accordion-switch i {
  display: none;
}

.is-active.accordion-switch svg {
  margin-left: 0;
  transform: rotate(180deg);
}

.is-active.accordion-content {
  display: block;
}

@media screen and (max-width: 768px) {
  .accordion-switch {
    width: 64vw;
    height: 13.867vw;
    bottom: -6.933vw;
  }

  .accordion-switch__text {
    font-size: 3.733vw;
  }

  .accordion-switch__text svg {
    margin-left: 0.333vw;
    width: 4vw;
  }

  .accordion-content {
    margin-top: 18.667vw;
  }

  /* is-active */
  .is-active.accordion-switch {
    height: 6.4vw;
    bottom: -3.2vw;
  }
}

/*
	faq
------------------------------ */
.faq__question {
  color: rgb(var(--grn));
  font-size: min(1.8rem, 1.318vw);
  font-weight: 700;
  display: flex;
  /* align-items: center; */
}

.faq__question i {
  margin-right: 0.25em;
  font-family: var(--title);
  font-size: min(2.5rem, 1.83vw);
  font-weight: 400;
  display: inline-block;
  position: relative;
  top: -0.2em;
}

.faq__answer {
  font-size: min(1.6rem, 1.171vw);
}

.faq__answer:not(:last-of-type) {
  margin-bottom: min(2.8rem, 2.05vw);
}

.faq__answer::before {
  content: '──';
}

@media screen and (max-width: 768px) {
  .faq__question {
    margin-bottom: 2.667vw;
    line-height: 1.5;
    font-size: 4vw;
  }

  .faq__question i {
    font-size: 4.8vw;
  }

  .faq__answer {
    font-size: 3.733vw;
  }

  .faq__answer:not(:last-of-type) {
    margin-bottom: 6.4vw;
  }
}

/* ----------------------------------------------------
	information
---------------------------------------------------- */
.information {
  background-image: url(../img/op-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
}

.information__content {
  margin: 0 auto min(6rem, 4.392vw);
  padding: min(5rem, 3.66vw) min(6.4rem, 4.685vw) min(2rem, 1.464vw);
  width: min(96rem, 70.278vw);
  border: solid 1px rgb(var(--grn));
  display: flex;
  justify-content: space-between;
}

.information__block {
  width: min(32.2rem, 23.572vw);
}

.information__block.price {
  width: min(45rem, 32.943vw);
}

.information__title {
  margin-bottom: min(1.6rem, 1.171vw);
  color: rgb(var(--grn));
  font-size: min(2.2rem, 1.611vw);
  font-weight: 500;
  border-bottom: solid 1px rgb(var(--grn));
}

.information__detail {
  margin-bottom: min(3rem, 2.196vw);
  font-size: min(1.8rem, 1.318vw);
}

.information__detail .table {
  letter-spacing: -0.005em;
}

.information__detail .table__row {
}

.information__detail .table__th {
  vertical-align: top;
  white-space: nowrap;
}

.information__detail .table__td {
  padding-left: 0.5em;
}

.information__detail .note {
  margin-top: min(2rem, 1.464vw);
}

.information__detail .note li {
  font-size: min(1.2rem, 0.878vw);
  text-align: right;
}

.information__content + .note {
  margin: 0 auto;
  width: min(96rem, 70.278vw);
}

@media screen and (max-width: 768px) {
  .information {
    background-image: url(../img/op-bg_sp.webp);
    padding-right: 5.867vw;
    padding-left: 5.867vw;
  }

  .information__content {
    margin-bottom: 0;
    padding: 0;
    width: 100%;
    border: none;
    display: block;
  }

  .information__block,
  .information__block.price {
    width: 100%;
  }

  .information__title {
    margin-bottom: 2.667vw;
    font-size: 5.867vw;
  }

  .information__detail {
    margin-bottom: 4vw;
    font-size: 4.267vw;
  }

  .price .information__detail {
    margin-bottom: 0;
  }

  .price .information__detail .table,
  .price .information__detail tbody,
  .price .information__detail .table__row,
  .price .information__detail .table__th,
  .price .information__detail .table__td {
    display: block;
  }

  .price .information__detail .table__row:not(:last-of-type) {
    margin-bottom: 1em;
  }

  .price .information__detail .table__td {
    padding-left: 0;
  }

  .information__detail .note {
    margin-top: 8vw;
  }

  .information__detail .note li {
    font-size: 3.2vw;
    text-align: left;
  }

  .information__content + .note {
    width: 100%;
  }
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
  background-color: rgb(var(--footerBg));
  padding: min(11.5rem, 8.419vw) 0 min(5rem, 3.66vw);
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 16vw 0 6vw;
  }
}

/* 
	footer__hotel 
------------------------------ */
.footer__hotel {
  margin-bottom: min(9rem, 6.589vw);
  text-align: center;
}

.footer__hotel--name {
  margin-bottom: min(1rem, 0.732vw);
  line-height: normal;
  color: rgb(var(--grn));
  font-size: min(3rem, 2.196vw);
  font-weight: 600;
}

.footer__hotel--address {
  margin-bottom: min(5rem, 3.66vw);
  font-size: min(1.8rem, 1.318vw);
}

.footer__hotel--map iframe {
  width: min(74.5rem, 54.539vw);
  height: min(40rem, 29.283vw);
}

@media screen and (max-width: 768px) {
  .footer__hotel {
    margin-bottom: 16vw;
  }

  .footer__hotel--name {
    margin-bottom: 2.667vw;
    font-size: 6.667vw;
  }

  .footer__hotel--address {
    margin-bottom: 8vw;
    font-size: 4.8vw;
  }

  .footer__hotel--map iframe {
    width: 100%;
    height: 86.4vw;
  }
}

/* 
	footer__logo 
------------------------------ */
.footer__logo {
  margin: 0 auto min(5rem, 3.66vw);
  width: min(20rem, 14.641vw);
}

@media screen and (max-width: 768px) {
  .footer__logo {
    margin-bottom: 10.667vw;
    width: 38.933vw;
  }
}

/* 
	hotel-nav 
------------------------------ */
.footer .hotel-nav {
  margin-bottom: min(3rem, 2.196vw);
  line-height: 1;
  font-size: min(1.8rem, 1.318vw);
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer .hotel-nav::before,
.footer .hotel-nav__item::after {
  content: '|';
}

.footer .hotel-nav__item a {
  padding: 0 1em;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .footer .hotel-nav {
    margin-bottom: 10.667vw;
    font-size: 4.267vw;
    text-align: center;
    display: block;
  }

  .footer .hotel-nav::before {
    content: '';
  }

  .footer .hotel-nav__item::before,
  .footer .hotel-nav__item::after {
    content: '|';
  }

  .footer .hotel-nav__item:not(:last-of-type) {
    margin-bottom: 1em;
  }
}

/* 
	copy
------------------------------ */
.footer .copy {
  color: #8e8484;
  font-size: min(1.2rem, 0.878vw);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .footer .copy {
    font-size: 2.667vw;
  }
}
