@charset "UTF-8";
/*---------------------------------------
メディアクエリ関連
---------------------------------------*/
/*---------------------------------------
レイアウト関連
---------------------------------------*/
/*---------------------------------------
テキスト関連
---------------------------------------*/
/*---------------------------------------
コンポーネント関連
---------------------------------------*/
/*自動でベンダープレフィックスをつける*/
/*		基本設定
-----------------------------------------------------*/
/* html {
  scroll-behavior: smooth;
} */
body {
  font-family: "BIZ UDPMincho", serif;
  color: var(--color-black);
  line-height: 1.75;
  letter-spacing: 4px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 600px) {
  body {
    font-size: 1.4rem;
    line-height: 2.8;
  }
}

.lang_jp {
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-style: normal;
}

.lang_en {
  font-family: "Sorts Mill Goudy", serif;
  font-weight: 400;
  font-style: normal;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
a[target=_blank].is-external::after {
  content: "";
  display: inline-block;
  height: 1.2rem;
  width: 1.2rem;
  vertical-align: middle;
  margin-left: 0.3em;
}

.pcnone {
  display: none !important;
}
@media screen and (max-width: 600px) {
  .pcnone {
    display: block !important;
  }
}

.spnone {
  display: block !important;
}
@media screen and (max-width: 600px) {
  .spnone {
    display: none !important;
  }
}

input {
  font-size: 1.6rem;
}

textarea {
  font-size: 1.6rem;
  resize: vertical;
}

*:focus {
  outline: none;
}

@media (min-width: 601px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
figure {
  will-change: transform; /*safariのoverflow不具合対策*/
}

/* Margin Classes */
.m-0 {
  margin: 0px;
}

.mt-0 {
  margin-top: 0px;
}

.mb-0 {
  margin-top: 0px;
}

.m-10 {
  margin: 10px;
}

.mt-10 {
  margin-top: 10px;
}

.mb-10 {
  margin-top: 10px;
}

.m-15 {
  margin: 15px;
}

.mt-15 {
  margin-top: 15px;
}

.mb-15 {
  margin-top: 15px;
}

.m-20 {
  margin: 20px;
}

.mt-20 {
  margin-top: 20px;
}

.mb-20 {
  margin-top: 20px;
}

.m-30 {
  margin: 30px;
}

.mt-30 {
  margin-top: 30px;
}

.mb-30 {
  margin-top: 30px;
}

.m-40 {
  margin: 40px;
}

.mt-40 {
  margin-top: 40px;
}

.mb-40 {
  margin-top: 40px;
}

.m-50 {
  margin: 50px;
}

.mt-50 {
  margin-top: 50px;
}

.mb-50 {
  margin-top: 50px;
}

.m-80 {
  margin: 80px;
}

.mt-80 {
  margin-top: 80px;
}

.mb-80 {
  margin-top: 80px;
}

.m-100 {
  margin: 100px;
}

.mt-100 {
  margin-top: 100px;
}

.mb-100 {
  margin-top: 100px;
}

/* Padding Classes */
.p-0 {
  padding: 0px;
}

.pt-0 {
  padding-top: 0px;
}

.pb-0 {
  padding-top: 0px;
}

.p-10 {
  padding: 10px;
}

.pt-10 {
  padding-top: 10px;
}

.pb-10 {
  padding-top: 10px;
}

.p-15 {
  padding: 15px;
}

.pt-15 {
  padding-top: 15px;
}

.pb-15 {
  padding-top: 15px;
}

.p-20 {
  padding: 20px;
}

.pt-20 {
  padding-top: 20px;
}

.pb-20 {
  padding-top: 20px;
}

.p-30 {
  padding: 30px;
}

.pt-30 {
  padding-top: 30px;
}

.pb-30 {
  padding-top: 30px;
}

.p-40 {
  padding: 40px;
}

.pt-40 {
  padding-top: 40px;
}

.pb-40 {
  padding-top: 40px;
}

.p-50 {
  padding: 50px;
}

.pt-50 {
  padding-top: 50px;
}

.pb-50 {
  padding-top: 50px;
}

.p-80 {
  padding: 80px;
}

.pt-80 {
  padding-top: 80px;
}

.pb-80 {
  padding-top: 80px;
}

.p-100 {
  padding: 100px;
}

.pt-100 {
  padding-top: 100px;
}

.pb-100 {
  padding-top: 100px;
}

/*==========フェードイン==========*/
.js-scroll-up {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.js-scroll-up.is-show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

/*		ヘッダー
-----------------------------------------------------*/
#header {
  position: fixed;
  top: 0;
  z-index: 999;
  width: 100%;
}

/* END #header */
.l-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 600px) {
  .l-header_logo {
    padding: 10px;
  }
}
.l-header_logo a {
  display: block;
  position: relative;
  width: 271px;
}
@media screen and (max-width: 600px) {
  .l-header_logo a {
    width: 181.89px;
    height: 38px;
  }
}
.l-header_logo a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .l-header.p-30 {
    padding: 10px;
  }
}

/* END &.l-header */
.--c-white .l-header.is-active .l-nav {
  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;
  gap: 30px;
  margin-left: auto;
  margin-right: 50px;
}
.--c-white .l-header.is-active .l-nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
}
.--c-white .l-header.is-active .l-nav_item a {
  display: block;
  padding: 10px 15px;
  border: 1px solid var(--c-white);
  overflow: hidden;
  color: transparent;
  text-shadow: 0 1.5em 0 var(--c-white), 0 0 0 var(--c-white);
  -webkit-transition: text-shadow 0.5s;
  transition: text-shadow 0.5s;
}
.--c-white .l-header.is-active .l-nav_item a:hover {
  text-shadow: 0 0 0 var(--c-white), 0 -1.5em 0 var(--c-white);
}
.--c-white .l-header.is-active .l-nav_item a span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  overflow: hidden;
}
.--c-white .l-header.is-active .l-nav_item a svg {
  fill: var(--c-accent);
  stroke: var(--c-accent);
}
.--c-white .l-header.is-active .l-nav_item a svg .icon {
  fill: var(--c-white);
  stroke: var(--c-white);
}
.--c-white .l-header.is-active .l-nav .lang-select_item {
  position: relative;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  display: block;
  padding: 12px 15px;
  color: var(--c-white);
}
.--c-white .l-header.is-active .l-nav .lang-select_item:after {
  content: "";
  display: block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  height: 1px;
  border-bottom: 1px solid var(--c-white);
  width: 100%;
}
.--c-white .l-header.is-active .l-nav .lang-select_item svg {
  fill: var(--c-white);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.--c-white .l-header.is-active .hamburger span {
  background-color: var(--c-white);
}
.--c-white .l-header .through {
  opacity: 1;
}
.--c-white .l-nav {
  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;
  gap: 30px;
  margin-left: auto;
  margin-right: 50px;
}
.--c-white .l-nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
}
.--c-white .l-nav_item a {
  display: block;
  padding: 10px 15px;
  border: 1px solid var(--c-accent);
  overflow: hidden;
  color: transparent;
  text-shadow: 0 1.5em 0 var(--c-accent), 0 0 0 var(--c-accent);
  -webkit-transition: text-shadow 0.5s;
  transition: text-shadow 0.5s;
}
.--c-white .l-nav_item a:hover {
  text-shadow: 0 0 0 var(--c-accent), 0 -1.5em 0 var(--c-accent);
}
.--c-white .l-nav_item a span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  overflow: hidden;
}
.--c-white .l-nav_item a svg {
  fill: var(--c-accent);
  stroke: var(--c-accent);
}
.--c-white .l-nav_item a svg .icon {
  fill: var(--c-accent);
  stroke: var(--c-accent);
}
.--c-white .l-nav .lang-select_item {
  position: relative;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  display: block;
  padding: 12px 15px;
  color: var(--c-accent);
}
.--c-white .l-nav .lang-select_item:after {
  content: "";
  display: block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  height: 1px;
  border-bottom: 1px solid var(--c-accent);
  width: 100%;
}
.--c-white .l-nav .lang-select_item svg {
  fill: var(--c-accent);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.--c-white .hamburger span {
  background-color: var(--c-accent);
}
.--c-white .contents-type_header {
  height: 450px;
}
@media screen and (max-width: 920px) {
  .--c-white .contents-type_header {
    height: 400px;
  }
}
@media screen and (max-width: 600px) {
  .--c-white .contents-type_header {
    height: 270px;
  }
}
.--c-white .contents-type_header_title span {
  color: var(--c-text);
}
.--c-white .contents-type_header_title span.lang_jp span {
  color: var(--c-accent);
}

/*		グローバルナビゲーション
-----------------------------------------------------*/
.l-nav {
  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;
  gap: 30px;
  margin-left: auto;
  margin-right: 30px;
}
@media screen and (max-width: 920px) {
  .l-nav {
    display: none !important;
  }
}
.l-nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
}
.l-nav_item a {
  display: block;
  padding: 10px 15px;
  border: 1px solid var(--c-white);
  overflow: hidden;
  color: transparent;
  text-shadow: 0 1.5em 0 #FFF, 0 0 0 #FFF;
  -webkit-transition: text-shadow 0.5s;
  transition: text-shadow 0.5s;
}
.l-nav_item a:hover {
  text-shadow: 0 0 0 #FFF, 0 -1.5em 0 #FFF;
}
.l-nav_item a span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  overflow: hidden;
}
.l-nav_item a svg {
  fill: var(--c-white);
  stroke: var(--c-white);
}
.l-nav_item a svg .icon {
  fill: var(--c-white);
  stroke: var(--c-white);
}
.l-nav .lang-select_item {
  position: relative;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  display: block;
  padding: 12px 15px;
  color: var(--c-white);
}
.l-nav .lang-select_item:focus {
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .l-nav .lang-select_item:hover {
    cursor: pointer;
  }
}
.l-nav .lang-select_item:after {
  content: "";
  display: block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  height: 1px;
  border-bottom: 1px solid var(--c-white);
  width: 100%;
}
.l-nav .lang-select_item svg {
  fill: var(--c-white);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.l-nav .lang-select_item.is-active .lang-select_child-list {
  opacity: 1;
  visibility: visible;
}
.l-nav .lang-select_child-list {
  position: absolute;
  top: 50px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/* END .l-nav */
@media screen and (max-width: 600px) {
  .lang-select_menu {
    font-size: 1.4rem;
  }
}
.lang-select_menu_list {
  margin-bottom: 0 !important;
}
.lang-select_menu_list p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px;
}
.lang-select_menu_item {
  position: relative;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  display: block;
  color: var(--c-white);
}
.lang-select_menu_item:after {
  content: "";
  display: block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  height: 1px;
  border-bottom: 1px solid var(--c-white);
  width: 100%;
}
.lang-select_menu_item svg {
  fill: var(--c-white);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.lang-select_menu_item .lang-select_menu_child-list {
  gap: 0;
}
.lang-select_menu_child-list {
  margin-bottom: 0 !important;
}
.lang-select_menu_child-item {
  border-top: 1px solid #e0e0e0;
}
.lang-select_menu_child-item a {
  display: block;
  padding: 10px;
}
.lang-select_menu.--menu {
  display: none;
  margin-bottom: 20px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (max-width: 920px) {
  .lang-select_menu.--menu {
    display: block;
    width: 100%;
  }
}
.lang-select_menu.--menu .lang-select_menu_item.is-active svg {
  -webkit-transform: rotateZ(180deg);
          transform: rotateZ(180deg);
}

.header-menu-container {
  max-width: 1540px;
  width: 100%;
  height: 100vh;
  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;
  gap: 0 5%;
  margin: 0 auto;
  padding: 0 5%;
}
@media screen and (max-width: 920px) {
  .header-menu-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0px;
    height: 100%;
    padding-top: 80px;
    overflow: scroll;
  }
}
@media screen and (max-width: 820px) {
  .header-menu-container {
    padding-top: 120px;
  }
}
@media screen and (max-width: 600px) {
  .header-menu-container {
    padding-top: 80px;
  }
}
.header-menu-container .header-menu-contents a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5%;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E1E1E1;
}
@media screen and (max-width: 600px) {
  .header-menu-container .header-menu-contents a {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}
.header-menu-container .header-menu-contents a:focus {
  opacity: 0.5;
}
@media (hover: hover) and (pointer: fine) {
  .header-menu-container .header-menu-contents a:hover {
    opacity: 0.5;
  }
}
.header-menu-container .header-menu-contents_img {
  width: 240px;
}
@media screen and (max-width: 414px) {
  .header-menu-container .header-menu-contents_img {
    width: 150px;
  }
}
.header-menu-container .header-menu-contents_text_name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px 0;
  color: var(--c-white);
}
@media screen and (max-width: 600px) {
  .header-menu-container .header-menu-contents_text_name {
    line-height: 1;
  }
}
.header-menu-container .header-menu-contents_text_name .lang_en {
  font-size: 2rem;
}
@media screen and (max-width: 600px) {
  .header-menu-container .header-menu-contents_text_name .lang_en {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .header-menu-container .header-menu-contents_text_name .lang_jp {
    font-size: 1.4rem;
  }
}

.header-menu-guest-room {
  width: 625px;
}
@media screen and (max-width: 600px) {
  .header-menu-guest-room {
    width: 100%;
  }
}

.header-menu-list {
  width: 395px;
}
@media screen and (max-width: 920px) {
  .header-menu-list {
    width: 625px;
  }
}
@media screen and (max-width: 600px) {
  .header-menu-list {
    width: 100%;
  }
}
.header-menu-list ul {
  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;
  gap: 28px 0;
  margin-bottom: 30px;
}
@media screen and (max-width: 920px) {
  .header-menu-list ul {
    gap: 15px 0;
  }
}
.header-menu-list ul li a {
  color: var(--c-white);
}
.header-menu-list ul li a .lang_en {
  font-size: 2rem;
}
@media screen and (max-width: 600px) {
  .header-menu-list ul li a .lang_en {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .header-menu-list ul li a .lang_jp {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 920px) {
  .header-contactBtn {
    margin-bottom: 20px;
  }
}
.header-contactBtn a {
  border: 1px solid var(--c-white);
  color: var(--c-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  padding: 20px;
}
@media screen and (max-width: 920px) {
  .header-contactBtn a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    line-height: 1.3;
  }
}
@media screen and (max-width: 920px) and (max-width: 600px) {
  .header-contactBtn a {
    font-size: 1.4rem;
  }
}
.header-contactBtn.--reserve {
  display: none;
}
@media screen and (max-width: 920px) {
  .header-contactBtn.--reserve {
    display: block;
  }
}

/*		メニューボタン
-----------------------------------------------------*/
.hamburger {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  width: 40px;
  height: 44px;
}
@media screen and (max-width: 600px) {
  .hamburger {
    position: absolute;
    top: 20px;
    right: 20px;
  }
}
.hamburger:focus {
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .hamburger:hover {
    cursor: pointer;
  }
}
.hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--c-white);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

/*		ページトップ
-----------------------------------------------------*/
#page_top {
  position: fixed;
  bottom: 2%;
  right: 3%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 10;
  /*  END & > a  */
}
#page_top > a {
  background: #000;
  width: auto;
  height: auto;
  padding: 12px 20px;
  color: var(--color-theme-base);
  font-weight: bold;
}
#page_top > a:hover {
  text-decoration: none;
}

/*  END #page_top  */
/*		フッター
-----------------------------------------------------*/
.footer-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
  padding: 140px 2%;
}
@media screen and (max-width: 600px) {
  .footer-container {
    gap: 30px;
    padding: 60px 5%;
  }
}
.footer-container .footer-contents {
  width: 100%;
  max-width: 100%;
  height: 488px;
  margin: 0 auto;
  border: 1px solid var(--c-accent);
}
@media screen and (max-width: 820px) {
  .footer-container .footer-contents {
    height: auto;
  }
}
.footer-container .footer-contents a {
  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;
  height: 100%;
  padding: 25px 25px 25px 110px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 820px) {
  .footer-container .footer-contents a {
    padding: 50px 25px 50px 110px;
  }
}
@media screen and (max-width: 600px) {
  .footer-container .footer-contents a {
    padding: 60px 20px;
  }
}
.footer-container .footer-contents a:focus {
  background-color: #F4F2EF;
}
@media (hover: hover) and (pointer: fine) {
  .footer-container .footer-contents a:hover {
    background-color: #F4F2EF;
  }
}
.footer-container .footer-contents_img {
  max-width: 740px;
  width: 100%;
}
@media screen and (max-width: 920px) {
  .footer-container .footer-contents_img {
    display: none;
  }
}
.footer-container .footer-contents_img ul {
  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;
  gap: 20px;
}
@media screen and (max-width: 600px) {
  .footer-container .footer-contents .c-more-btn {
    margin-bottom: 0;
  }
}

.footer-access {
  margin-bottom: clamp(10rem, 17.578125vw, 18rem);
  padding: 0 5%;
}
.footer-access_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 50px;
  margin: 0 auto;
}
@media screen and (max-width: 920px) {
  .footer-access_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
.footer-access_text {
  max-width: 500px;
  width: 100%;
}
@media screen and (max-width: 920px) {
  .footer-access_text {
    max-width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .footer-access_text {
    max-width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .footer-access_text .c-more-btn {
    width: auto;
  }
}
.footer-access_text .c-heading_h2 {
  margin-bottom: 56px;
}
@media screen and (max-width: 600px) {
  .footer-access_text .c-heading_h2 {
    margin-bottom: 20px;
  }
}
.footer-access_text h3 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}
.footer-access_text p {
  font-size: 16px;
  line-height: 1.75;
}
.footer-access_text address {
  margin-bottom: 41px;
  font-style: normal;
}
@media screen and (max-width: 600px) {
  .footer-access_text address {
    margin-bottom: 20px;
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.footer-access_text .about-access {
  max-width: 450px;
  margin-top: 56px;
  padding: 40px 5%;
  background-color: var(--c-base-02);
  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: 920px) {
  .footer-access_text .about-access {
    max-width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .footer-access_text .about-access {
    max-width: 100%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 0;
  }
  .footer-access_text .about-access p {
    font-size: 1.4rem;
  }
}
.footer-access_map {
  width: 70%;
  margin-top: 30px;
}
@media screen and (max-width: 920px) {
  .footer-access_map {
    width: 100%;
  }
}
.footer-access_map_inner iframe {
  width: 100%;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 600px) {
  .footer-access_map_inner iframe {
    height: 263px;
  }
}
.footer-access_map_inner iframe:hover {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
}

.l-footer {
  padding: 125px 5% 25px;
  background-color: var(--c-base-01);
  color: var(--c-white);
}
@media screen and (max-width: 600px) {
  .l-footer {
    padding: 65px 5% 25px;
  }
}
.l-footer_main {
  width: 100%;
  margin: 0 auto;
}
.l-footer_name {
  margin-bottom: 65px;
  padding-bottom: 20px;
  font-size: clamp(2rem, 2.8333333333vw, 3.4rem);
  font-weight: bold;
  border-bottom: 1px solid var(--c-white);
}
@media screen and (max-width: 600px) {
  .l-footer_name {
    margin-bottom: 45px;
  }
  .l-footer_name img {
    max-width: 232px;
  }
}
.l-footer_copyright {
  text-align: center;
}
.l-footer_nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 920px) {
  .l-footer_nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px 0;
  }
}
@media screen and (max-width: 600px) {
  .l-footer_nav-list {
    gap: 30px 0;
  }
  .l-footer_nav-list a {
    background-size: 100% 0px !important;
  }
}
.l-footer_nav-list a {
  font-weight: bold;
}
.l-footer_nav_guest {
  max-width: 600px;
  width: 100%;
  margin-right: clamp(2rem, 4.8958333333vw, 9.4rem);
}
.l-footer_nav_guest dt {
  margin-bottom: 25px;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .l-footer_nav_guest dt {
    margin-bottom: 0px;
  }
}
.l-footer_nav_guest dd {
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .l-footer_nav_guest dd {
    margin-bottom: 0px;
  }
  .l-footer_nav_guest dd a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 20px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-size: 100% 0px !important;
  }
  .l-footer_nav_guest dd a .lang_en {
    line-height: 1;
  }
}
@media screen and (max-width: 600px) {
  .l-footer_nav_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 2%;
  }
  .l-footer_nav_menu.pcnone {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-footer_nav_menu.pcnone li {
    width: auto !important;
  }
  .l-footer_nav_menu.pcnone li a {
    background-size: 100% 0px !important;
  }
}
.l-footer_nav_menu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .l-footer_nav_menu li {
    width: 48%;
    margin-left: 0;
    margin-bottom: 10px;
  }
  .l-footer_nav_menu li a {
    font-weight: bold;
  }
}
.l-footer_nav_link {
  width: 260px;
  margin-left: auto;
}
@media screen and (max-width: 920px) {
  .l-footer_nav_link {
    margin-left: 0;
  }
}
@media screen and (max-width: 600px) {
  .l-footer_nav_link {
    width: 100%;
  }
}
.l-footer_nav_link li {
  margin-bottom: 20px;
}
.l-footer_nav_link li a {
  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;
  gap: 10px;
  padding: 20px 5%;
  border: 1px solid var(--c-white);
}
.l-footer_main {
  margin-bottom: 28.5px;
  padding-bottom: 28.5px;
    border-bottom: 1px solid var(--c-white);
}
.l-footer_address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 3%;
  /* margin-bottom: 28.5px;
  padding-bottom: 28.5px;
  border-bottom: 1px solid var(--c-white); */
}
@media screen and (max-width: 600px) {
  .l-footer_address {
    margin-top: 25px;
  }
}
.l-footer_address address {
  font-style: normal;
}
@media screen and (max-width: 600px) {
  .l-footer_address address {
    font-size: 1.4rem;
  }
}

.c-arrow-link.footer__nav-link {
  padding: 0 !important;
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--c-white)), to(var(--c-white))) !important;
  background-image: linear-gradient(var(--c-white), var(--c-white)) !important;
  font-size: 1.6rem !important;
  background-size: 0% 1px;
  background-position: bottom right;
}
@media screen and (max-width: 600px) {
  .c-arrow-link.footer__nav-link {
    font-size: 1.3rem !important;
  }
}
.c-arrow-link.footer__nav-link:hover {
  background-position: bottom left;
  background-size: 100% 1px;
}
.c-arrow-link.footer__nav-link span {
  margin-right: 2rem;
}

.contact_reservation{
  position: absolute;
  right: 40px;
  bottom: 80px;
  width: fit-content;
}
.contact_reservation li a{
  display: flex;
  align-items: center;
  gap: 10px 10px;
  border: 1px solid #3b4043;
  padding: 5px 20px;
  font-size: 1vw;
}
@media screen and (max-width: 820px) {
    .contact_reservation li a{
      font-size: 14px;
    }
  }
  @media screen and (max-width: 600px) {
    .contact_reservation{
      left: 20px;
      right: 0;
    }
    .contact_reservation li a{
      font-size: 12px;

    }
  }


/*予約ボタンリンク切 - アニメーション停止追記*/
a.no_transition{
  transition: none !important;
}
a.no_transition span{
  transition: none !important;
}