@font-face {
  font-family: "Gotu";
  src: url("../fonts/Gotu-Regular.woff2") format("woff2"), url("../fonts/Gotu-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("../../../fonts/ZenKakuGothicNew-Regular.woff2") format("woff2"), url("../../../fonts/ZenKakuGothicNew-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("../../../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2"), url("../../../fonts/ZenKakuGothicNew-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("../../../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2"), url("../../../fonts/ZenKakuGothicNew-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lustria";
  src: url("../fonts/Lustria-Regular.woff") format("woff"), url("../fonts/Lustria-Regular.woff2") format("woff2");
  font-weight: 400 500 600 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Minion Variable Concept";
  src: url("../fonts/MinionVariableConcept-Roman.woff") format("woff");
  font-weight: 400 500 600 700 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ShipporiMinchoB1";
  src: url("../../../fonts/ShipporiMincho-Regular.woff") format("woff"), url("../../../fonts/ShipporiMincho-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
html {
  scroll-padding-top: 156px;
}
@media (max-width: 1024px) {
  html {
    scroll-padding-top: 76px;
  }
}

body {
  padding-top: 156px;
}
@media (max-width: 1024px) {
  body {
    padding-top: 76px;
  }
}

.book .tabList li:nth-child(2),
.book .tabList li:nth-child(3),
.bookArea .bookModule .tabList li:nth-child(2),
.bookArea .bookModule .tabList li:nth-child(3) {
  display: none !important;
}

.book .tabList li:nth-child(1),
.bookArea .bookModule .tabList li:nth-child(1) {
  pointer-events: none !important;
}

.book .dynamicPackagingWrap {
  display: none !important;
}

/* =========================================================
globalHeader
========================================================= */
.globalHeader {
  background: rgba(255, 255, 255, 0.75);
  height: 156px;
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
}
@media (max-width: 1024px) {
  .globalHeader {
    border-bottom: 1px solid #e9e7df;
    height: 76px;
    box-shadow: none;
  }
}
.globalHeader .wrapper {
  position: relative;
  display: block;
  height: 100%;
  padding-inline: 45px;
}
@media (max-width: 767px) {
  .globalHeader .wrapper {
    padding-inline: 15px;
  }
}
.globalHeader .siteLogo {
  display: none;
}
.globalHeader .headerNav {
  flex-direction: column;
  justify-content: center;
  height: 100%;
  margin-inline: 0;
}
.globalHeader .headerNav .hotelName {
  display: none;
}
.globalHeader .headerNav .gnavList {
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 45px;
  width: 100%;
  color: #231815;
}
@media (max-width: 1024px) {
  .globalHeader .headerNav .gnavList {
    display: block;
  }
}
@media (max-width: 1024px) {
  .globalHeader .headerNav .gnavList li {
    display: none;
  }
}
.globalHeader .headerNav .gnavList li:first-child {
  border-bottom: 1px solid;
  width: 100%;
  padding-bottom: 10px;
  margin-bottom: 15px;
  text-align: center;
}
@media (max-width: 1024px) {
  .globalHeader .headerNav .gnavList li:first-child {
    display: block;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
.globalHeader .headerNav .gnavList li:first-child a {
  display: block;
  width: 20%;
  min-width: 100px;
  margin-inline: auto;
}
.globalHeader .headerNav .gnavList li:first-child img {
  display: none;
  width: 121px;
  height: 65px;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .globalHeader .headerNav .gnavList li:first-child img {
    width: 97px;
    height: 52px;
  }
}
.globalHeader .headerNav .gnavList li:first-child .logo01 {
  display: block;
}
.globalHeader .headerNav .insta {
  display: none;
}
.globalHeader .headerNav .lang {
  position: absolute;
  top: 30px;
  right: 215px;
  color: inherit;
  font-family: "Zen Kaku Gothic New";
}
@media (min-width: 1025px) {
  body.lang_es .globalHeader .headerNav .lang, body.lang_vi .globalHeader .headerNav .lang {
    right: 310px;
  }
  body.lang_it .globalHeader .headerNav .lang, body.lang_id .globalHeader .headerNav .lang, body.lang_ms .globalHeader .headerNav .lang {
    right: 280px;
  }
  body.lang_ru .globalHeader .headerNav .lang {
    right: 345px;
  }
}
@media (max-width: 1024px) {
  .globalHeader .headerNav .lang {
    top: 20px;
    right: 15px;
    font-size: 1.2rem;
  }
  .globalHeader .headerNav .lang .pc {
    display: block !important;
  }
  .globalHeader .headerNav .lang .sp {
    display: none !important;
  }
}
.globalHeader .headerNav .lang dt > img {
  display: none;
}
@media (max-width: 1024px) {
  .globalHeader .headerNav .lang dd {
    left: auto;
  }
}
.globalHeader .menuBtnList {
  position: absolute;
  top: 30px;
  right: 45px;
}
@media (max-width: 1024px) {
  .globalHeader .menuBtnList {
    top: 10px;
    right: auto;
    left: 10px;
  }
}
@media (max-width: 1024px) {
  .globalHeader .menuBtnList .bookBtn {
    display: none;
  }
}
.globalHeader .menuBtnList .bookBtn a,
.globalHeader .menuBtnList .bookBtn span {
  border-radius: 100vmax;
  width: auto;
  min-width: 130px;
  height: 40px;
  padding-inline: 0.5em;
}
.globalHeader .menuBtnList .bookBtn a svg,
.globalHeader .menuBtnList .bookBtn span svg {
  display: none;
}
@media (max-width: 1024px) {
  .globalHeader .menuBtnList .gnavBtn {
    background: none;
    text-indent: -9999px;
  }
  .globalHeader .menuBtnList .gnavBtn span {
    background: #f09869;
    width: 30px;
  }
  .globalHeader .menuBtnList .gnavBtn span::before, .globalHeader .menuBtnList .gnavBtn span::after {
    background: #f09869;
  }
  .globalHeader .menuBtnList .gnavBtn span::before {
    top: -8px;
  }
  .globalHeader .menuBtnList .gnavBtn span::after {
    bottom: -8px;
  }
}
@media (max-width: 1024px) {
  .navOn .globalHeader {
    border-bottom: none;
    background: #f09869;
  }
  .navOn .globalHeader .headerNav .lang {
    z-index: 12;
  }
  .navOn .globalHeader .headerNav .lang dt {
    color: #fff;
  }
  .navOn .globalHeader .headerNav .lang dt svg {
    fill: currentColor;
  }
  .navOn .globalHeader .headerNav .gnavList li:first-child .logo01 {
    display: none;
  }
  .navOn .globalHeader .headerNav .gnavList li:first-child .logo03 {
    display: block;
  }
  .navOn .globalHeader .gnavBtn span {
    background: none;
  }
  .navOn .globalHeader .gnavBtn span::before, .navOn .globalHeader .gnavBtn span::after {
    inset: 0;
    background: #fff;
    rotate: 45deg;
  }
  .navOn .globalHeader .gnavBtn span::after {
    rotate: -45deg;
  }
}

.footerOnly {
  display: none;
}

/* =========================================================
globalNav
========================================================= */
.globalNav {
  top: 76px;
  background: #f09869;
  max-height: calc(100vh - 76px);
  padding-top: 5px;
  color: #fff;
}
.navOn .globalNav {
  overflow: visible;
  top: 76px;
}
.navOn .globalNav::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-color: #f09869;
  background-image: url("/resort/maihama/img/common/bg_leaf@2x.png");
}
@supports (background-image: url("/resort/maihama/img/common/bg_leaf@2x.webp")) {
  .navOn .globalNav::after {
    background-image: url("/resort/maihama/img/common/bg_leaf@2x.webp");
  }
}
.navOn .globalNav::after {
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 60% auto;
}
.globalNav .gnavCloseBtn {
  display: none;
}
.globalNav .logo {
  display: none;
}
.globalNav .hotelName {
  max-width: 180px;
  margin-bottom: 40px;
  margin-inline: auto;
  text-align: center;
  font-family: "Gotu";
  font-size: 1.4rem;
  line-height: 1.7;
}
.globalNav .gnavList {
  border-top: none;
  margin: 0 0 0 8%;
  color: #fff;
}
.globalNav .gnavList li {
  border-bottom: none;
  text-align: left;
  font-size: 1.5rem;
}
.globalNav .gnavList li a {
  padding: 4px 0;
}
.globalNav .gnavList li:first-child {
  display: none;
}
.globalNav .insta {
  position: absolute;
  bottom: 72px;
  right: 7%;
  width: 124px;
  text-align: center;
  font-family: "Lustria";
  line-height: 1;
  font-size: 1.4rem;
}
.globalNav .insta a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  letter-spacing: 0.1em;
}
body.lang_es .globalNav .insta, body.lang_ru .globalNav .insta {
  bottom: 33px;
}
.globalNav .contact {
  position: absolute;
  bottom: 110px;
  right: 7%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  min-width: 124px;
  margin-left: auto;
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
}
.globalNav .contact .slash {
  display: none;
}
.globalNav .contact a[href$="/contact/"] {
  padding: 4px 1.6em;
  border: 1px solid;
  border-radius: 100vmax;
  width: 100%;
  text-decoration: none;
}
.globalNav .contact a[href$="/contact/"] svg {
  fill: currentColor;
}
.globalNav .contact a[href$="/contact/"]:hover {
  background-color: #fff;
  color: #f09869;
}
body.lang_es .globalNav .contact, body.lang_ru .globalNav .contact {
  bottom: 71px;
}
.globalNav .bd,
.globalNav .bd + p,
.globalNav .snsList,
.globalNav .subNav,
.globalNav .member,
.globalNav .instaList,
.globalNav .btn {
  display: none;
}

.pageTitleArea h1 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* =========================================================
bookMenu
========================================================= */
.bookMenu {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 4;
  width: 100%;
  display: flex;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.bookMenu li {
  background: #fff;
  width: 50%;
  line-height: 1.4;
  font-size: 1.2rem;
}
.bookMenu li a,
.bookMenu li span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 46px;
  text-align: center;
}
.bookMenu li a .en,
.bookMenu li span .en {
  display: block;
  font-family: "Gotu";
}
.bookMenu li a .ja,
.bookMenu li span .ja {
  display: block;
  font-weight: 500;
}
.bookMenu li.member a {
  background: #e9e7df;
  color: #467ba1;
}
.bookMenu li.booknow a,
.bookMenu li.booknow span {
  background: rgba(70, 123, 161, 0.7);
  color: #fff;
}

@media (max-width: 1024px) {
  .cookie {
    bottom: 46px;
  }
}

/* =========================================================
maihamaFooter
========================================================= */
.globalFooter,
.shareBtn,
.recruit {
  display: none;
}

.maihamaFooter {
  display: flex;
}
@media (max-width: 1024px) {
  .maihamaFooter {
    display: block;
    padding-bottom: 46px;
  }
}
.maihamaFooter .hotelInfo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #f09869;
  width: 28%;
  text-align: center;
  color: #fff;
}
@media (max-width: 1024px) {
  .maihamaFooter .hotelInfo {
    width: 100%;
    padding: 30px 0;
  }
}
.maihamaFooter .hotelInfo .logo {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .maihamaFooter .hotelInfo .logo {
    width: 163px;
    height: 88px;
    margin-bottom: 15px;
  }
}
.maihamaFooter .hotelInfo .hotelName {
  max-width: 190px;
  line-height: 1.7;
  font-family: "Gotu";
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .maihamaFooter .hotelInfo .hotelName {
    max-width: 190px;
    font-size: 1.4rem;
  }
}
.maihamaFooter .hotelInfo .insta {
  margin-top: 20%;
  font-family: "Lustria";
  line-height: 1;
  font-size: 1.8rem;
}
@media (max-width: 1024px) {
  .maihamaFooter .hotelInfo .insta {
    margin-top: 24px;
    font-size: 1.2rem;
  }
}
.maihamaFooter .hotelInfo .insta a {
  display: flex;
  align-items: center;
  gap: 15px;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .maihamaFooter .hotelInfo .insta a {
    gap: 10px;
  }
}
@media (max-width: 767px) {
  .maihamaFooter .hotelInfo .insta a img {
    width: 16px;
    height: 16px;
  }
}
.maihamaFooter .navWrap {
  display: grid;
  background: url(../img/common/footer_photo@2x.jpg) no-repeat center/cover;
  width: 72%;
  min-height: 520px;
  padding: 50px 70px;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
}
@media (max-width: 1024px) {
  .maihamaFooter .navWrap {
    width: 100%;
    min-height: 0;
    padding: 50px 5%;
  }
}
.maihamaFooter .navWrap .footerNav {
  grid-row: 1/2;
  grid-column: 1/4;
  display: flex;
  gap: 70px;
}
@media (max-width: 1024px) {
  .maihamaFooter .navWrap .footerNav {
    display: none;
  }
}
.maihamaFooter .navWrap .footerNavList li + li {
  margin-top: 5px;
}
.maihamaFooter .navWrap .footerNav .gnavList {
  gap: 70px;
  column-count: 2;
}
.maihamaFooter .navWrap .footerNav .gnavList li {
  margin-bottom: 5px;
}
.maihamaFooter .navWrap .footerNav .gnavList li:first-child {
  display: none;
}
.maihamaFooter .navWrap .footerNav .gnavList li.sp {
  display: list-item !important;
}
.maihamaFooter .navWrap .footerNav .gnavList .footerOnly {
  display: list-item;
}
.maihamaFooter .navWrap .footerNavList02 {
  grid-row: 2/3;
  grid-column: 1/3;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  margin-top: auto;
}
@media (max-width: 1024px) {
  .maihamaFooter .navWrap .footerNavList02 {
    grid-row: 1/1;
    grid-column: 1/2;
    display: block;
    font-size: 1.1rem;
  }
}
.maihamaFooter .navWrap .logoArea {
  grid-row: 2/3;
  grid-column: 3/4;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 1024px) {
  .maihamaFooter .navWrap .logoArea {
    grid-row: 1/1;
    grid-column: 2/3;
  }
}
@media (max-width: 1024px) {
  .maihamaFooter .navWrap .logoArea .logo_grand img {
    width: 100px;
    height: auto;
  }
}
.maihamaFooter .navWrap .logoArea .logo {
  margin-top: 50px;
}
@media (max-width: 1024px) {
  .maihamaFooter .navWrap .logoArea .logo {
    margin-top: 20px;
  }
  .maihamaFooter .navWrap .logoArea .logo img {
    width: 133px;
    height: auto;
  }
}

@media (min-width: 1025px) {
  .copyright {
    display: none;
  }
}
@media (max-width: 1024px) {
  .copyright {
    position: absolute;
    bottom: 55px;
    left: 0;
    background: none;
    height: auto;
    padding-left: 5%;
    color: #fff;
    font-size: 1rem;
  }
}

/* =========================================================
book
========================================================= */
.book {
  background: rgba(227, 235, 241, 0.95);
}
.book .bookTitle {
  color: #467ba1;
}
.book .tabList li {
  color: #467ba1;
}
.book .tabList li a {
  border-bottom-color: #467ba1;
  color: inherit;
}
.book .tabList li a svg {
  fill: currentColor;
}
.book .tabList li.active a {
  border-color: #467ba1;
  background: rgb(203, 218, 229);
}
.book .formList .icon {
  fill: #467ba1;
}
.book .formList li.form_brand img {
  filter: invert(45%) sepia(30%) saturate(500%) hue-rotate(170deg) brightness(85%) contrast(90%);
}
.book .formList .calendarWrap .checkinWrap .reloadBtn {
  background: rgb(126, 163, 189);
  color: #fff;
}

.flatpickr-day.selected::after,
.flatpickr-day.startRange::after,
.flatpickr-day.endRange::after {
  background: #467ba1;
}/*# sourceMappingURL=style_404_news.css.map */