@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@500&display=swap");
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

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

ul[role=list],
ol[role=list],
li {
  list-style: none;
}

button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

html {
  scrollbar-gutter: stable;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
  background-color: #fffcf4;
}
body.is-fixed {
  position: fixed;
  left: 0;
  right: 0;
  overflow: hidden;
}

body * {
  transition: all 0.5s 0s ease;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 1120px) {
  .is-pc {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 1119px) {
  .is-pc {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}

.is-tab {
  display: none;
}
@media (min-width: 768px) and (max-width: 1119px) {
  .is-tab {
    display: block !important;
  }
}

.is-sp {
  display: none;
}
@media (max-width: 767px) {
  .is-sp {
    display: block !important;
  }
}

.js-fade {
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
}

.js-fade.is-show {
  opacity: 1;
}

.js-fadeUp {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}

.js-fadeUp.is-show {
  opacity: 1;
  transform: translateY(0);
}

.delay2 {
  transition-delay: 0.2s;
}

.delay3 {
  transition-delay: 0.4s;
}

.delay4 {
  transition-delay: 0.8s;
}

.contents-header {
  width: 100%;
  height: 480px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  flex-direction: column;
}
@media (max-width: 767px) {
  .contents-header {
    height: 280px;
  }
}
.contents-header--room {
  background: url(../img/room/img_hero_rooms.jpg) no-repeat center center;
  background-size: cover;
}
@media (max-width: 767px) {
  .contents-header--room {
    background: url(../img/room/img_hero_rooms_sp.jpg) no-repeat center center;
  }
}
.contents-header--price {
  background: url(../img/price/img_hero_price.jpg) no-repeat center center;
  background-size: cover;
}
@media (max-width: 767px) {
  .contents-header--price {
    background: url(../img/price/img_hero_price_sp.jpg) no-repeat center center;
  }
}
.contents-header--flow {
  background: url(../img/flow/img_hero_flow.jpg) no-repeat center center;
  background-size: cover;
}
@media (max-width: 767px) {
  .contents-header--flow {
    background: url(../img/flow/img_hero_flow_sp.jpg) no-repeat center center;
  }
}
.contents-header--faq {
  background: url(../img/faq/img_hero_faq.jpg) no-repeat center center;
  background-size: cover;
}
@media (max-width: 767px) {
  .contents-header--faq {
    background: url(../img/faq/img_hero_faq_sp.jpg) no-repeat center center;
  }
}
.contents-header--news {
  background: url(../img/news/img_hero_news.jpg) no-repeat center center;
  background-size: cover;
}
@media (max-width: 767px) {
  .contents-header--news {
    background: url(../img/news/img_hero_news_sp.jpg) no-repeat center center;
  }
}
.contents-header__heading {
  font-family: "Cormorant Garamond", serif;
  font-size: 96px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media (max-width: 767px) {
  .contents-header__heading {
    font-size: 56px;
  }
}
.contents-header__sub-heading {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-top: 24px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767px) {
  .contents-header__sub-heading {
    margin-top: 22px;
    font-size: 20px;
  }
}

.contents {
  padding: 80px 0 328px;
}
@media (max-width: 1119px) {
  .contents {
    padding: 80px 80px 308px;
  }
}
@media (max-width: 767px) {
  .contents {
    padding: 40px 24px 220px;
  }
}
.contents--no-kv {
  padding-top: 220px;
}
@media (max-width: 767px) {
  .contents--no-kv {
    padding: 120px 24px 220px;
  }
}
.contents__inner {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}

@media (max-width: 1119px) {
  .anchor-nav {
    display: flex;
    justify-content: center;
  }
}
.anchor-nav__list {
  display: flex;
  gap: 16px 16px;
}
@media (max-width: 1119px) {
  .anchor-nav__list {
    width: 608px;
    flex-wrap: wrap;
    gap: 16px 16px;
  }
}
@media (max-width: 767px) {
  .anchor-nav__list {
    width: auto;
    gap: 12px 7px;
  }
}
.anchor-nav__list--faq {
  flex-wrap: wrap;
}
.anchor-nav__list--faq .anchor-nav__item {
  width: calc(16.666% - 13.4px);
  flex: inherit;
}
@media (max-width: 1119px) {
  .anchor-nav__list--faq .anchor-nav__item {
    width: auto;
  }
}
@media (max-width: 1119px) {
  .anchor-nav__list--faq .anchor-nav__item > a {
    height: 64px;
    border-radius: 32px;
  }
}
@media (max-width: 767px) {
  .anchor-nav__list--faq .anchor-nav__item > a {
    height: 57px;
    border-radius: 28.5px;
  }
}
.anchor-nav__item {
  flex: 1;
}
@media (max-width: 1119px) {
  .anchor-nav__item {
    flex: inherit;
  }
}
@media (max-width: 767px) {
  .anchor-nav__item {
    flex: 0 0 calc(50% - 3.5px) !important;
  }
}
.anchor-nav__item > a {
  height: 100%;
  padding: 11px 16px 33px;
  border: 1px solid #222;
  border-radius: 6px;
  text-align: center;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 700;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1119px) {
  .anchor-nav__item > a {
    width: 192px;
    height: 57px;
    padding: 0 50px 0 24px;
    text-align: left;
    border-radius: 28.5px;
    justify-content: flex-start;
  }
}
@media (max-width: 767px) {
  .anchor-nav__item > a {
    width: auto;
    height: 40px;
    padding: 0 42px 0 24px;
    font-size: 11px;
  }
}
.anchor-nav__item > a:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .anchor-nav__item > a:hover {
    opacity: 1;
  }
}
.anchor-nav__item > a:after {
  content: "";
  width: 10px;
  height: 6px;
  margin-left: -5px;
  background: url(../img/common/arrow_flow_down.svg) no-repeat center center;
  background-size: 10px 6px;
  display: block;
  position: absolute;
  left: 50%;
  bottom: 16px;
}
@media (max-width: 1119px) {
  .anchor-nav__item > a:after {
    width: 10px;
    height: 6px;
    margin-top: -3px;
    margin-left: auto;
    background: url(../img/common/arrow_flow_down.svg) no-repeat center center;
    background-size: 10px 6px;
    top: 50%;
    bottom: auto;
    right: 24px;
    left: auto;
  }
}
@media (max-width: 767px) {
  .anchor-nav__item > a:after {
    right: 16px;
  }
}

.page-header {
  width: 100%;
  position: absolute;
  top: 10px;
  left: 0;
  z-index: 2;
  background: rgba(255, 252, 244, 0);
  transition: background-color 0.5s ease;
}
@media (max-width: 767px) {
  .page-header {
    top: 0;
  }
}
.page-header--black-text > *, .page-header--fixed > * {
  transition: all 0.5s 0s ease;
}
.page-header--black-text .page-header__inner, .page-header--fixed .page-header__inner {
  background: rgb(255, 252, 244);
}
.page-header--black-text .page-header__logo, .page-header--fixed .page-header__logo {
  background: url(../img/common/logo_header_bk.svg) no-repeat center center;
  background-size: 178px 32px;
}
.page-header--black-text .page-header__nav-item > a, .page-header--fixed .page-header__nav-item > a {
  color: #222;
}
.page-header--black-text .page-header__nav-item > a:before, .page-header--fixed .page-header__nav-item > a:before {
  background: #222;
}
.page-header--black-text .h-menu-btn, .page-header--fixed .h-menu-btn {
  background: url(../img/common/icon_menu_bk_sp.svg) no-repeat center center;
  background-size: 40px 20px;
}
.page-header--fixed {
  position: fixed;
  top: 0;
  left: 0;
  transform: translate(0, -80px);
  transition: all 0.3s 0s ease;
}
@media (max-width: 767px) {
  .page-header--fixed {
    padding-top: 0;
  }
}
.page-header--fixed.is-show {
  transform: translate(0);
}
.page-header__inner {
  padding: 16px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  .page-header__inner {
    padding: 16px 24px;
  }
}
.page-header__logo {
  width: 200px;
  height: 36px;
  background: url(../img/common/logo_header_wt.svg) no-repeat center center;
  background-size: 200px 36px;
  z-index: 1;
  display: block;
}
@media (max-width: 767px) {
  .page-header__logo {
    width: 178px;
    height: 32px;
    background-size: 178px 32px;
  }
}
.page-header__logo:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .page-header__logo:hover {
    opacity: 1;
  }
}
.page-header__logo > a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  overflow: hidden;
  line-height: 0;
}
.page-header__contents {
  display: flex;
  gap: 0 32px;
  align-items: center;
  z-index: 1;
}
.page-header__nav-list {
  display: flex;
  gap: 0 32px;
}
@media (max-width: 1229px) {
  .page-header__nav-list {
    display: none;
  }
}
.page-header__nav-item > a {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  position: relative;
}
.page-header__nav-item > a:before {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  width: 0%;
  height: 1px;
  margin-left: -12px;
  background: #fff;
  transition: all 0.3s;
}
.page-header__nav-item > a:hover:before {
  width: 24px;
}
.page-header__nav-item.is-current > a:before {
  width: 24px;
}
.page-header__btn-list {
  display: flex;
  gap: 0 8px;
}
@media (max-width: 767px) {
  .page-header__btn-list {
    display: none;
  }
}
.page-header__btn-item {
  width: 180px;
}

.h-menu-btn {
  display: none;
  cursor: pointer;
  background: url(../img/common/icon_menu_wt_sp.svg) no-repeat center center;
  background-size: 40px 20px;
}
@media (max-width: 1229px) {
  .h-menu-btn {
    width: 40px;
    height: 20px;
    display: block;
  }
  .h-menu-btn > img {
    width: 100%;
  }
}
.h-menu-btn:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .h-menu-btn:hover {
    opacity: 1;
  }
}

@media (min-width: 1120px) {
  .h-menu {
    display: none;
  }
}
@media (max-width: 1229px) {
  .h-menu {
    opacity: 0;
    visibility: hidden;
    display: none;
    position: fixed;
    z-index: 2;
    right: 0;
  }
}
@media (max-width: 1229px) and (max-width: 767px) {
  .h-menu {
    width: 100%;
    right: auto;
  }
}
@media (max-width: 1229px) {
  .h-menu:before {
    content: "";
    background: rgba(0, 0, 0, 0.6);
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
  }
  .h-menu.is-show {
    opacity: 1;
    visibility: visible;
    display: flex;
  }
  .h-menu__inner {
    background: #fffcf4;
    width: 375px;
    height: 100lvh;
    flex-direction: column;
    padding: 26px 40px;
  }
}
@media (max-width: 1229px) and (max-width: 767px) {
  .h-menu__inner {
    width: 100%;
    padding: 16px 24px;
  }
}
@media (max-width: 1229px) {
  .h-menu__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .h-menu__logo {
    width: 178px;
    height: 32px;
    background: url(../img/common/logo_header_bk.svg) no-repeat center center;
    background-size: 178px 32px;
    z-index: 1;
    display: none;
  }
}
@media (max-width: 1229px) and (max-width: 767px) {
  .h-menu__logo {
    display: block;
  }
}
@media (max-width: 1229px) {
  .h-menu__logo:hover {
    opacity: 0.5;
  }
}
@media (max-width: 1229px) and (max-width: 767px) {
  .h-menu__logo:hover {
    opacity: 1;
  }
}
@media (max-width: 1229px) {
  .h-menu__logo > a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    overflow: hidden;
    line-height: 0;
  }
  .h-menu__nav-list {
    margin-top: 120px;
    display: flex;
    gap: 22px 0;
    flex-direction: column;
  }
}
@media (max-width: 1229px) and (max-width: 767px) {
  .h-menu__nav-list {
    margin-top: 64px;
  }
}
@media (max-width: 1229px) {
  .h-menu__nav-item > a {
    font-size: 16px;
    font-weight: 500;
    display: inline-block;
    line-height: 1;
  }
  .h-menu__nav-item > a:hover {
    opacity: 0.5;
  }
}
@media (max-width: 1229px) and (max-width: 767px) {
  .h-menu__nav-item > a:hover {
    opacity: 1;
  }
}
@media (max-width: 1229px) {
  .h-menu__nav-item > a:before {
    content: "-";
    width: 12px;
    display: inline-block;
  }
}
.h-menu .h-menu-btn {
  position: absolute;
  top: 30px;
  right: 40px;
  background: url(../img/common/icon_menu_close_sp.svg) no-repeat center center;
  background-size: 40px 20px;
}
@media (max-width: 767px) {
  .h-menu .h-menu-btn {
    top: 22px;
    right: 24px;
  }
}

.h-menu-links {
  width: 100%;
  padding-top: 16px;
  margin-top: 56px;
  display: flex;
  gap: 0 24px;
  justify-content: end;
  border-top: 1px solid #ccc;
}
.h-menu-links__list {
  display: flex;
  gap: 0 8px;
}
.h-menu-links__sns {
  width: 48px;
  height: 48px;
  display: block;
}
.h-menu-links__sns--line {
  background: url(../img/common/btn_line_bk.svg) no-repeat center center;
  background-size: 48px 48px;
}
.h-menu-links__sns--line:hover {
  background: url(../img/common/btn_line_wt.svg) no-repeat center center;
  background-size: 48px 48px;
}
@media (max-width: 767px) {
  .h-menu-links__sns--line:hover {
    background: url(../img/common/btn_line_bk.svg) no-repeat center center;
    background-size: 48px 48px;
  }
}
.h-menu-links__sns--instagram {
  background: url(../img/common/btn_instagram_bk.svg) no-repeat center center;
  background-size: 48px 48px;
}
.h-menu-links__sns--instagram:hover {
  background: url(../img/common/btn_instagram_wt.svg) no-repeat center center;
  background-size: 48px 48px;
}
@media (max-width: 767px) {
  .h-menu-links__sns--instagram:hover {
    background: url(../img/common/btn_instagram_bk.svg) no-repeat center center;
    background-size: 48px 48px;
  }
}

.fixed-btn {
  display: none;
}
@media (max-width: 767px) {
  .fixed-btn {
    width: 100%;
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 2;
  }
  .fixed-btn__btn-list {
    display: flex;
  }
  .fixed-btn__btn-item {
    width: 50%;
  }
  .fixed-btn .btn {
    height: auto;
    border-radius: 0;
    padding: 14px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));
  }
}

.page-footer {
  position: relative;
  background: #222;
}
.page-footer__inner {
  width: 100%;
  max-width: 1120px;
  padding: 228px 0 144px;
  margin: 0 auto;
}
@media (max-width: 1119px) {
  .page-footer__inner {
    padding: 228px 80px 144px;
  }
}
@media (max-width: 767px) {
  .page-footer__inner {
    padding: 196px 24px 136px;
  }
}
.page-footer__contents {
  padding-bottom: 56px;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1119px) {
  .page-footer__contents {
    flex-direction: column;
    gap: 56px 0;
  }
}
@media (max-width: 767px) {
  .page-footer__contents {
    padding-bottom: 40px;
  }
}

.page-footer-left {
  display: flex;
  flex-direction: column;
  gap: 56px 0;
}
.page-footer-left__logo {
  width: 354px;
}
@media (max-width: 767px) {
  .page-footer-left__logo {
    width: 293px;
  }
}
.page-footer-left__logo > img {
  width: 100%;
}
.page-footer-left__detail {
  line-height: 1.6;
}
.page-footer-left__tel {
  color: #fff;
  font-size: 13px;
}
@media (max-width: 767px) {
  .page-footer-left__tel {
    font-size: 12px;
  }
}
.page-footer-left__tel > span {
  font-size: 26px;
}
@media (max-width: 767px) {
  .page-footer-left__tel > span {
    font-size: 24px;
  }
}
.page-footer-left__table {
  width: 100%;
  margin-top: 6px;
  color: #fff;
  font-size: 12px;
  text-align: left;
  vertical-align: top;
}
@media (max-width: 767px) {
  .page-footer-left__table {
    margin-top: 18px;
  }
}
@media (max-width: 767px) {
  .page-footer-left__table th,
  .page-footer-left__table td {
    width: 100%;
    display: block;
  }
}
@media (max-width: 767px) {
  .page-footer-left__table tr:first-child th {
    padding-top: 0;
  }
}
.page-footer-left__table th {
  width: 72px;
  padding-top: 12px;
  font-weight: 700;
  vertical-align: top;
}
@media (max-width: 767px) {
  .page-footer-left__table th {
    padding-top: 24px;
  }
}
.page-footer-left__table td {
  padding-top: 12px;
}
.page-footer-left__table td > span {
  font-size: 10px;
}

.page-footer-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
@media (max-width: 1119px) {
  .page-footer-right {
    align-items: flex-start;
    gap: 56px 0;
  }
}
@media (max-width: 767px) {
  .page-footer-right {
    align-items: flex-start;
    border-top: 1px solid #666;
    padding-top: 24px;
    gap: 40px 0;
  }
}
.page-footer-right__nav-list {
  height: 100%;
  display: flex;
  gap: 0 24px;
  align-items: flex-end;
  height: 63px;
}
@media (max-width: 1119px) {
  .page-footer-right__nav-list {
    height: auto;
  }
}
@media (max-width: 767px) {
  .page-footer-right__nav-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px 0;
  }
}
.page-footer-right__nav-item {
  display: flex;
  justify-content: end;
}
.page-footer-right__nav-item > a {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}
@media (max-width: 767px) {
  .page-footer-right__nav-item > a {
    font-size: 14px;
    line-height: 1;
  }
}
.page-footer-right__nav-item > a:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .page-footer-right__nav-item > a:hover {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .page-footer-right__nav-item > a:before {
    content: "-";
    width: 12px;
    display: inline-block;
  }
}

.page-footer-links {
  display: flex;
  gap: 0 24px;
  align-items: end;
}
@media (max-width: 767px) {
  .page-footer-links {
    width: 100%;
    flex-direction: column;
    gap: 16px 0;
  }
}
.page-footer-links__list {
  display: flex;
  gap: 0 8px;
}
@media (max-width: 767px) {
  .page-footer-links__list {
    gap: 16px 8px;
  }
}
@media (max-width: 767px) {
  .page-footer-links__list:not(.page-footer-links__list--sns) {
    width: 100%;
    flex-direction: column;
  }
}
.page-footer-links__btn {
  width: 196px;
  height: 48px;
  padding: 0 16px;
  background: #666;
  border: 1px solid #666;
  color: #fff;
  font-size: 11px;
  line-height: 1.4;
  display: flex;
  position: relative;
  align-items: center;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .page-footer-links__btn {
    width: 100%;
  }
}
.page-footer-links__btn:hover {
  background: #222;
  border: 1px solid #666;
}
@media (max-width: 767px) {
  .page-footer-links__btn:hover {
    background: #666;
  }
}
.page-footer-links__btn:after {
  content: "";
  width: 10px;
  height: 10px;
  margin-top: -5px;
  background: url(../img/common/icon_newtab.svg) no-repeat center center;
  background-size: 10px 10px;
  position: absolute;
  right: 16px;
  top: 50%;
}
@media (max-width: 767px) {
  .page-footer-links__btn > span {
    display: inherit;
  }
}
.page-footer-links__btn > span span {
  font-size: 13px;
  display: block;
}
@media (max-width: 767px) {
  .page-footer-links__btn > span span {
    font-size: 12px;
  }
}
.page-footer-links__sns {
  width: 48px;
  height: 48px;
  display: block;
}
.page-footer-links__sns--line {
  background: url(../img/common/btn_line_wt.svg) no-repeat center center;
  background-size: 48px 48px;
}
.page-footer-links__sns--line:hover {
  background: url(../img/common/btn_line_bk.svg) no-repeat center center;
  background-size: 48px 48px;
}
@media (max-width: 767px) {
  .page-footer-links__sns--line:hover {
    background: url(../img/common/btn_line_wt.svg) no-repeat center center;
    background-size: 48px 48px;
  }
}
.page-footer-links__sns--instagram {
  background: url(../img/common/btn_instagram_wt.svg) no-repeat center center;
  background-size: 48px 48px;
}
.page-footer-links__sns--instagram:hover {
  background: url(../img/common/btn_instagram_bk.svg) no-repeat center center;
  background-size: 48px 48px;
}
@media (max-width: 767px) {
  .page-footer-links__sns--instagram:hover {
    background: url(../img/common/btn_instagram_wt.svg) no-repeat center center;
    background-size: 48px 48px;
  }
}

.page-footer-foot {
  padding-top: 24px;
  border-top: 1px solid #666;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1119px) {
  .page-footer-foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px 0;
  }
}
@media (max-width: 767px) {
  .page-footer-foot {
    gap: 30px 0;
  }
}
.page-footer-foot__copy {
  color: #999;
  font-size: 12px;
}
@media (max-width: 1119px) {
  .page-footer-foot__copy {
    order: 1;
  }
}
@media (max-width: 767px) {
  .page-footer-foot__copy {
    font-size: 11px;
  }
}
.page-footer-foot__link-list {
  display: flex;
  gap: 0 32px;
}
@media (max-width: 1119px) {
  .page-footer-foot__link-list {
    order: 0;
  }
}
@media (max-width: 767px) {
  .page-footer-foot__link-list {
    flex-wrap: wrap;
    gap: 0;
  }
}
.page-footer-foot__item {
  position: relative;
}
@media (max-width: 767px) {
  .page-footer-foot__item {
    padding-left: 16px;
  }
}
.page-footer-foot__item:before {
  content: "";
  width: 1px;
  height: 8px;
  margin-top: -2px;
  background: #666;
  display: block;
  position: absolute;
  top: 50%;
  left: -16px;
}
@media (max-width: 767px) {
  .page-footer-foot__item:before {
    left: 8px;
  }
}
@media (max-width: 767px) {
  .page-footer-foot__item:first-child {
    padding-left: 0;
  }
}
.page-footer-foot__item:first-child:before {
  display: none;
}
.page-footer-foot__item > a {
  color: #fff;
  font-size: 12px;
}
@media (max-width: 767px) {
  .page-footer-foot__item > a {
    font-size: 11px;
  }
}
.page-footer-foot__item > a:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .page-footer-foot__item > a:hover {
    opacity: 1;
  }
}

.page-footer-banner__link {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  height: 296px;
  display: block;
  position: absolute;
  top: -148px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 16px;
  overflow: hidden;
  color: #fff;
  line-height: 1;
}
@media (max-width: 1119px) {
  .page-footer-banner__link {
    width: calc(100% - 160px);
    left: 80px;
    transform: inherit;
  }
}
@media (max-width: 767px) {
  .page-footer-banner__link {
    width: calc(100% - 48px);
    height: 280px;
    left: 24px;
  }
}
.page-footer-banner__link > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 1s 0s ease;
}
.page-footer-banner__link:hover > img {
  transform: scale(1.09);
}
@media (max-width: 767px) {
  .page-footer-banner__link:hover > img {
    transform: scale(1);
  }
}
.page-footer-banner__link:hover:after {
  right: 92px;
}
@media (max-width: 1119px) {
  .page-footer-banner__link:hover:after {
    right: 52px;
  }
}
@media (max-width: 767px) {
  .page-footer-banner__link:hover:after {
    right: 44px;
  }
}
.page-footer-banner__link:before {
  content: "";
  width: 56px;
  height: 56px;
  margin-top: -28px;
  background: #fff;
  display: block;
  border-radius: 28px;
  position: absolute;
  right: 80px;
  top: 50%;
  z-index: 1;
}
@media (max-width: 1119px) {
  .page-footer-banner__link:before {
    right: 40px;
  }
}
@media (max-width: 767px) {
  .page-footer-banner__link:before {
    top: auto;
    right: 24px;
    bottom: 24px;
  }
}
.page-footer-banner__link:after {
  content: "";
  width: 16px;
  height: 8px;
  margin-top: -4px;
  background: url(../img/common/arrow_bk.svg) no-repeat center center;
  background-size: 16px 8px;
  display: block;
  position: absolute;
  right: 100px;
  top: 50%;
  transition: all 0.5s 0s ease;
  z-index: 1;
}
@media (max-width: 1119px) {
  .page-footer-banner__link:after {
    right: 60px;
  }
}
@media (max-width: 767px) {
  .page-footer-banner__link:after {
    top: auto;
    right: 44px;
    bottom: 48px;
  }
}
.page-footer-banner__contents {
  width: 100%;
  height: 100%;
  padding: 80px;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  pointer-events: none;
}
@media (max-width: 1119px) {
  .page-footer-banner__contents {
    padding: 40px;
  }
}
@media (max-width: 767px) {
  .page-footer-banner__contents {
    padding: 40px 32px;
    justify-content: start;
  }
}
.page-footer-banner__logo {
  width: 173px;
}
.page-footer-banner__logo > img {
  width: 100%;
}
.page-footer-banner__heading {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-top: 12px;
  font-size: 42px;
}
@media (max-width: 767px) {
  .page-footer-banner__heading {
    font-size: 24px;
  }
}
.page-footer-banner__text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-top: 40px;
  font-size: 16px;
}
@media (max-width: 767px) {
  .page-footer-banner__text {
    margin-top: 33px;
    font-size: 14px;
    line-height: 1.8;
  }
}

.btn {
  width: 100%;
  margin: 0 auto;
  color: #fff;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn:before, .btn:after {
  transition: all 0.5s 0s ease;
}
.btn--white {
  font-family: "Cormorant Garamond", serif;
  height: 64px;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 32px;
  color: #222;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  position: relative;
}
@media (max-width: 767px) {
  .btn--white {
    height: 56px;
    border-radius: 28px;
  }
}
.btn--white:after {
  content: "";
  width: 16px;
  height: 6px;
  margin-top: -3px;
  background: url(../img/common/arrow_bk.svg) no-repeat center center;
  background-size: 16px 6px;
  display: block;
  position: absolute;
  right: 24px;
  top: 50%;
}
.btn--white:hover {
  background: #222;
  border: 1px solid #222;
  color: #fff;
}
@media (max-width: 767px) {
  .btn--white:hover {
    background: #fff;
    border: 1px solid #fff;
    color: #222;
  }
}
.btn--white:hover:after {
  background: url(../img/common/arrow_wt.svg) no-repeat center center;
  background-size: 16px 6px;
  right: 16px;
}
@media (max-width: 767px) {
  .btn--white:hover:after {
    background: url(../img/common/arrow_bk.svg) no-repeat center center;
    background-size: 16px 6px;
    right: 24px;
  }
}
.btn--black {
  font-family: "Cormorant Garamond", serif;
  height: 64px;
  background: #222;
  border: 1px solid #222;
  border-radius: 32px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  position: relative;
}
@media (max-width: 767px) {
  .btn--black {
    height: 56px;
    border-radius: 28px;
  }
}
.btn--black:after {
  content: "";
  width: 16px;
  height: 6px;
  margin-top: -3px;
  background: url(../img/common/arrow_wt.svg) no-repeat center center;
  background-size: 16px 6px;
  display: block;
  position: absolute;
  right: 24px;
  top: 50%;
}
.btn--black:hover {
  background: #fff;
  border: 1px solid #222;
  color: #222;
}
@media (max-width: 767px) {
  .btn--black:hover {
    background: #222;
    border: 1px solid #222;
    color: #fff;
  }
}
.btn--black:hover:after {
  background: url(../img/common/arrow_bk.svg) no-repeat center center;
  background-size: 16px 6px;
  right: 16px;
}
@media (max-width: 767px) {
  .btn--black:hover:after {
    background: url(../img/common/arrow_wt.svg) no-repeat center center;
    background-size: 16px 6px;
    right: 24px;
  }
}
.btn--small {
  height: 48px;
  border-radius: 24px;
  font-size: 12px;
}
.btn--reservation {
  background: #fff;
  color: #222;
}
.btn--reservation:hover {
  background: #222;
  color: #fff;
}
@media (max-width: 767px) {
  .btn--reservation:hover {
    background: #fff;
    color: #222;
  }
}
.btn--reservation:hover:before {
  background: url(../img/common/icon_btn_reserve_wt.svg) no-repeat center center;
  background-size: 16px 16px;
}
@media (max-width: 767px) {
  .btn--reservation:hover:before {
    background: #222;
    color: #fff;
  }
}
.btn--reservation:before {
  content: "";
  width: 16px;
  height: 16px;
  margin: 0;
  background: url(../img/common/icon_btn_reserve_bk.svg) no-repeat center center;
  background-size: 16px 16px;
  display: block;
  margin-right: 8px;
}
.btn--reservation--black {
  background: #222;
  color: #fff;
}
.btn--reservation--black:hover {
  background: #fff;
  color: #222;
  border: 1px solid #222;
}
@media (max-width: 767px) {
  .btn--reservation--black:hover {
    background: #222;
    color: #fff;
  }
}
.btn--reservation--black:hover:before {
  background: url(../img/common/icon_btn_reserve_bk.svg) no-repeat center center;
  background-size: 16px 16px;
}
@media (max-width: 767px) {
  .btn--reservation--black:hover:before {
    background: url(../img/common/icon_btn_reserve_bk.svg) no-repeat center center;
    background-size: 16px 16px;
  }
}
.btn--reservation--black:before {
  background: url(../img/common/icon_btn_reserve_wt.svg) no-repeat center center;
  background-size: 16px 16px;
}
.btn--reservation--large {
  height: 56px;
  background: #222;
  color: #fff;
  font-size: 16px;
  border-radius: 28px;
}
.btn--reservation--large:hover {
  background: #fff;
  color: #222;
  border: 1px solid #222;
}
@media (max-width: 767px) {
  .btn--reservation--large:hover {
    background: #222;
    color: #fff;
  }
}
.btn--reservation--large:hover:before {
  background: url(../img/common/icon_btn_reserve_bk.svg) no-repeat center center;
  background-size: 24px 24px;
}
@media (max-width: 767px) {
  .btn--reservation--large:hover:before {
    background: url(../img/common/icon_btn_reserve_bk.svg) no-repeat center center;
    background-size: 24px 24px;
  }
}
.btn--reservation--large:before {
  width: 24px;
  height: 24px;
  background: url(../img/common/icon_btn_reserve_wt.svg) no-repeat center center;
  background-size: 24px 24px;
}
.btn--line {
  background: #3fa445;
}
.btn--line:hover {
  background: #fff;
  color: #3fa445;
  border: 1px solid #3fa445;
}
@media (max-width: 767px) {
  .btn--line:hover {
    background: #3fa445;
    color: #fff;
  }
}
.btn--line:hover:before {
  background: url(../img/common/icon_btn_line_active.svg) no-repeat center center;
  background-size: 16px 16px;
}
@media (max-width: 767px) {
  .btn--line:hover:before {
    background: url(../img/common/icon_btn_line.svg) no-repeat center center;
    background-size: 16px 16px;
  }
}
.btn--line:before {
  content: "";
  width: 16px;
  height: 16px;
  margin: 0;
  background: url(../img/common/icon_btn_line.svg) no-repeat center center;
  background-size: 16px 16px;
  display: block;
  margin-right: 8px;
}
.btn--line--large {
  height: 56px;
  font-size: 16px;
  border-radius: 28px;
}
.btn--line--large:hover:before {
  background: url(../img/common/icon_btn_line_active.svg) no-repeat center center;
  background-size: 24px 24px;
}
@media (max-width: 767px) {
  .btn--line--large:hover:before {
    background: url(../img/common/icon_btn_line_active.svg) no-repeat center center;
    background-size: 24px 24px;
  }
}
.btn--line--large:before {
  width: 24px;
  height: 24px;
  background: url(../img/common/icon_btn_line.svg) no-repeat center center;
  background-size: 24px 24px;
}
.btn--back {
  font-family: inherit;
  border: 1px solid #222;
  font-size: 16px;
}
.btn--back:after {
  left: 24px;
  transform: rotate(180deg);
}
.btn--back:hover:after {
  left: 16px;
}
@media (max-width: 767px) {
  .btn--back:hover:after {
    left: 24px;
  }
}