@charset "UTF-8";

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
::before,
::after {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ==============================================
font-face
※下記は言語選択プルダウン用です。言語選択プルダウン内の文字のみサブセットしています。
================================================= */
@font-face {
  font-family: 'Noto Serif JP';
  src: url('/fonts/NotoSerifJP-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Serif SC';
  src: url('/fonts/NotoSerifSC-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Serif TC';
  src: url('/fonts/NotoSerifTC-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Serif KR';
  src: url('/fonts/NotoSerifKR-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Serif';
  src: url('/fonts/NotoSerif-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Serif Thai';
  src: url('/fonts/NotoSerifThai-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* @font-face {
  font-family: 'Noto Naskh Arabic';
  src: url('/fonts/NotoNaskhArabic-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
} */




/* =========================================================
舞浜フォント
========================================================= */
/* 舞浜の「Ⅰ」だけ 游明朝にする */
.roman-one {
  font-family: 'YuMincho', '游明朝', serif;
  font-weight: 400;
  /* margin-left: .2em; */
}

@font-face {
  font-family: 'Lunasima';
  src: url('/fonts/Lunasima-Regular.woff2') format('woff2'),
    url('/fonts/Lunasima-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Premium MONday 浅草Ⅰの「Ⅰ」だけ 指定フォントににする */
.asakusa-one-font {
  font-family: 'Lunasima', 'YuMincho', '游明朝', serif;
  font-weight: 400;
  font-size: 115%;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*----calenDar----*/
.book.is_show .flatpickr-calendar {
  display: block !important;
  opacity: 1;
  height: auto;
}

.calendar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background: #fff;
  width: 100%;
  padding: 20px 0 40px;
  margin: 20px 0 0;
}

@media (max-width: 767px) {
  .calendar {
    overflow: hidden;
    width: auto;
    padding: 20px 20px 40px;
    margin: 10px -5.4% 0;
  }
}

.calendar .flatpickr-input {
  display: none;
}

.calendar .flatpickr-calendar {
  display: none !important;
  opacity: 0;
  height: 0;
  background: none !important;
  width: 90% !important;
  border: none;
  background: none !important;
  height: auto !important;
  box-shadow: none !important;
}

.calendar::before {
  content: "";
  display: block;
  position: absolute;
  top: 110px;
  left: 0;
  background: #CACACA;
  width: 100%;
  height: 1px;
}

.flatpickr-current-month {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  font-size: 14px;
  font-weight: 600 !important;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  display: none;
}

.flatpickr-search {
  display: none;
}

.flatpickr-calendar {
  margin: 0;
  box-shadow: none;
}

.flatpickr-months .flatpickr-month {
  margin-bottom: 1em;
  height: 35px;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  top: 80px !important;
  bottom: 0;
  height: 40px;
  width: 40px;
  margin: auto;
  cursor: pointer;
  opacity: 1;
}

@media (min-width: 768px) and (max-width: 1024px) {

  .flatpickr-months .flatpickr-prev-month,
  .flatpickr-months .flatpickr-next-month {
    height: 40px;
    width: 40px;
  }
}

@media (max-width: 767px) {

  .flatpickr-months .flatpickr-prev-month,
  .flatpickr-months .flatpickr-next-month {
    top: 70px;
    width: 40px;
    height: 40px;
  }
}

.flatpickr-months .flatpickr-prev-month.ui-state-disabled,
.flatpickr-months .flatpickr-next-month.ui-state-disabled {
  opacity: 0.35;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  border: none;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  fill: #AB8D4B !important;
  width: 20px !important;
  height: 20px !important;
  stroke-width: 0.2px;
}

.flatpickr-months .flatpickr-prev-month {
  left: -40px !important;
}

@media (max-width: 767px) {
  .flatpickr-months .flatpickr-prev-month {
    left: -35px !important;
  }
}

.flatpickr-months .flatpickr-next-month {
  right: -40px !important;
}

@media (max-width: 767px) {
  .flatpickr-months .flatpickr-next-month {
    right: -35px !important;
  }
}

.flatpickr-rContainer,
.flatpickr-days {
  width: 100% !important;
}

.flatpickr-weekdays {
  height: auto !important;
  margin-bottom: 1em;
}

.dayContainer,
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  padding: 0;
  max-width: 100% !important;
  min-width: auto !important;
  width: 100% !important;
}

.flatpickr-weekdaycontainer {
  width: 100% !important;
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {

  .dayContainer,
  .flatpickr-weekdays .flatpickr-weekdaycontainer {
    min-width: 100% !important;
    width: 100% !important;
  }
}

.flatpickr-weekdays .flatpickr-weekdaycontainer+.flatpickr-weekdaycontainer {
  margin-left: 17px;
  padding-left: 12px;
}

@media only screen and (max-width: 767px) {
  .flatpickr-weekdays .flatpickr-weekdaycontainer+.flatpickr-weekdaycontainer {
    margin-left: 0;
    padding-left: 0;
  }
}

.dayContainer+.dayContainer {
  box-shadow: none !important;
  margin-left: 15px;
  padding-left: 15px;
  box-shadow: none;
}

@media only screen and (max-width: 767px) {
  .dayContainer+.dayContainer {
    margin-left: 0;
    padding-left: 0;
    width: 100% !important;
  }
}

span.flatpickr-weekday {
  color: #000 !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
}

@media (max-width: 767px) {
  span.flatpickr-weekday {
    font-size: 1.3rem !important;
  }
}

span.flatpickr-weekday:nth-child(7n) {
  color: #29A9E0 !important;
}

span.flatpickr-weekday:nth-child(7n+1) {
  color: #FF0000 !important;
}

.flatpickr-day {
  position: relative;
  z-index: 1 !important;
  margin: 0;
  max-width: 14.2857142857% !important;
  width: 14.2857142857% !important;
  height: 50px !important;
  line-height: 42px !important;
  border-radius: 5px;
  padding: 4px 0;
  color: #000;
  font-size: 1.5rem !important;
  font-weight: 600;
}

.flatpickr-day:nth-child(7n) {
  color: #29A9E0;
}

.flatpickr-day:nth-child(7n+1) {
  color: #FF0000;
}

@media only screen and (max-width: 767px) {
  .rangeMode .flatpickr-day {
    height: 42px !important;
    line-height: 42px !important;
    padding: 0 0;
    font-size: 13px !important;
  }
}

.rangeMode .flatpickr-day span {
  font-size: 10px !important;
  position: absolute;
  bottom: 0.25em;
  right: 0.25em;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: none;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange {
  background: none;
  border: none;
  box-shadow: none;
}

.flatpickr-day:hover {
  color: #032784;
  background: none;
  border: none;
  box-shadow: none;
}

.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
  color: rgb(45, 175, 185) !important;
  background: rgb(255, 255, 255) !important;
  border: 1px solid rgba(3, 39, 132, 0.2) !important;
  box-shadow: none;
  border-radius: 0 !important;
}

.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  background: rgba(45, 175, 185, 0.1);
  border: 1px solid rgba(3, 39, 132, 0.2);
  box-shadow: none;
}

.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  color: #032784;
  background: rgb(255, 255, 255);
  border: 1px solid rgba(3, 39, 132, 0.2);
}

.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: none !important;
  border: none;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1),
.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)) {
  box-shadow: none !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: none;
  border: none !important;
}

.flatpickr-day.selected::before,
.flatpickr-day.startRange::before,
.flatpickr-day.endRange::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  border: none !important;
  background: #F7F4ED !important;
  box-shadow: none !important;
  width: 20px;
  height: 50px;
  margin: auto;
}

@media screen and (max-width: 1200px) {

  .flatpickr-day.selected::before,
  .flatpickr-day.startRange::before,
  .flatpickr-day.endRange::before {
    height: 40px;
  }
}

.flatpickr-day.selected::after,
.flatpickr-day.startRange::after,
.flatpickr-day.endRange::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 50%;
  background: #AB8D4B;
  width: 50px;
  height: 50px;
  margin: auto;
}

@media screen and (max-width: 1200px) {

  .flatpickr-day.selected::after,
  .flatpickr-day.startRange::after,
  .flatpickr-day.endRange::after {
    width: 40px;
    height: 40px;
  }
}

.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  border: none;
  background: none;
}

.flatpickr-day.selected span,
.flatpickr-day.startRange span,
.flatpickr-day.endRange span {
  position: absolute;
  top: -40px;
  left: -120px;
  right: -120px;
  bottom: auto;
  border-radius: 8px;
  background: none;
  width: 240px;
  height: 50px;
  line-height: 50px;
  margin: auto;
  text-align: center;
  white-space: nowrap;
  font-size: 1.4rem !important;
  font-weight: 400;
  color: #fff;
}

.flatpickr-day.selected span::after,
.flatpickr-day.startRange span::after,
.flatpickr-day.endRange span::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  border: 10px solid transparent;
  border-top: 10px solid rgba(0, 0, 0, 0.5);
  width: 0;
  height: 0;
  margin: 0 auto;
}

.flatpickr-day.inRange {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.flatpickr-day.inRange::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #F7F4ED;
  width: 100%;
  height: 50px;
  margin: auto;
}

@media screen and (max-width: 1200px) {
  .flatpickr-day.inRange::before {
    height: 40px;
  }
}

.flatpickr-day.inRange:hover {
  border: none;
  background: none;
}

.flatpickr-day.endRange {
  background: none;
  color: #fff !important;
}

.flatpickr-day.endRange::before {
  left: 0;
  right: auto;
}

.flatpickr-day.endRange::after {
  background: #AB8D4B;
}

.flatpickr-day.endRange:hover {
  border: none;
  background: none;
}

.flatpickr-day.endRange.selected {
  color: #000;
}

.flatpickr-day.today {
  font-weight: bold;
  border: 1px solid rgba(3, 39, 132, 0.2);
  border-radius: 5px !important;
}

.flatpickr-day.today:hover {
  color: #393939 !important;
  background: rgb(255, 255, 255) !important;
  border: 1px solid rgba(3, 39, 132, 0.2);
  box-shadow: none;
  border-radius: 5px !important;
}

/*--sat_sun--*/
.dayContainer span:nth-child(7n-6).nextMonthDay,
.dayContainer span:nth-child(7n).nextMonthDay,
.dayContainer span:nth-child(7n-6).prevMonthDay,
.dayContainer span:nth-child(7n).prevMonthDay,
.dayContainer span:nth-child(7n-6).disabled,
.dayContainer span:nth-child(7n).disabled {
  color: rgba(57, 57, 57, 0.3);
}

.flatpickr-day.disabled,
.flatpickr-day.disabled:hover,
.flatpickr-disabled {
  cursor: not-allowed;
  color: rgba(57, 57, 57, 0.3) !important;
}

/*common*/
.flatpickr-current-month .numInputWrapper {
  padding: 0 !important;
  width: auto !important;
  overflow: hidden;
  font-size: 1.7rem;
  font-weight: 600 !important;
}

@media (max-width: 767px) {
  .flatpickr-current-month .numInputWrapper {
    font-size: 1.5rem !important;
  }
}

.flatpickr-current-month .numInputWrapper::after {
  content: ".";
}

.flatpickr-current-month input.cur-year {
  pointer-events: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding: 0 !important;
  width: 2.4em !important;
  font-weight: 600 !important;
  font-size: 1.7rem;
  cursor: none;
}

.flatpickr-current-month input.cur-year:hover,
.flatpickr-current-month input.cur-year:focus {
  background: none !important;
}

@media only screen and (max-width: 767px) {
  .flatpickr-current-month input.cur-year {
    width: 2.85em !important;
  }
}

.flatpickr-current-month span.cur-month {
  margin-left: 2px !important;
  position: relative;
  font-weight: 600 !important;
  font-size: 1.7rem;
}

@media (max-width: 767px) {
  .flatpickr-current-month span.cur-month {
    font-size: 1.5rem;
  }
}

.flatpickr-current-month .arrowUp,
.flatpickr-current-month .arrowDown {
  display: none;
}

.flatpickr-calendar.animate.open {
  background: #fff !important;
  z-index: 2 !important;
  width: 440px !important;
  padding: 20px 40px !important;
}

.flatpickr-calendar.animate.open .flatpickr-prev-month {
  left: 10px !important;
}

.flatpickr-calendar.animate.open .flatpickr-next-month {
  right: 10px !important;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  display: none;
}

/* =========================================================
見出し、テキスト
========================================================= */
.secTitle01 {
  margin: 0 0 50px;
  color: #142335;
  font-size: 1.9rem;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media (max-width: 1024px) {
  .secTitle01 {
    margin: 0 0 20px;
    font-size: 1.5rem;
  }
}

.secTitle01 .ja {
  display: block;
}

.secTitle01 .en {
  display: block;
  line-height: 1;
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  font-weight: 600;
  font-size: 6.5rem;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  .secTitle01 .en {
    font-size: 3.6rem;
  }
}

.secTitle01.right {
  text-align: right;
}

.secTitle01.center {
  text-align: center;
}

.secTitle01.center .enExc {
  text-transform: capitalize;
}

@media (max-width: 767px) {
  .secTitle01.center.spLeft {
    text-align: left;
  }
}

.secTitle01:only-child {
  margin-bottom: 0;
}

.secTitle01+.secTitle02 {
  margin-top: -10px;
}

.secTitle02 {
  color: #142335;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 300;
  font-size: 1.9rem;
}

@media (max-width: 767px) {
  .secTitle02 {
    font-size: 1.5rem;
  }
}

.secTitle02:first-child {
  margin-top: 0;
}

.secTitle03 {
  margin: 20px 0 40px;
  line-height: 1.75;
  font-weight: 700;
  font-size: 3.8rem;
}

@media (max-width: 767px) {
  .secTitle03 {
    margin: 15px 0;
    font-size: 2.7rem;
  }
}

.secTitle03.bgRed {
  padding: 30px 40px;
  margin: 30px 0;
}

@media (max-width: 767px) {
  .secTitle03.bgRed {
    margin: 20px 0;
    padding: 10px 20px;
  }
}

.secTitle03:first-child {
  margin-top: 0;
}

.leadText {
  text-align: center;
}

@media (max-width: 767px) {
  .leadText {
    text-align: left;
  }
}

.c_gold {
  color: #AB8D4B;
}

strong {
  font-weight: 700;
}

/* =========================================================
block
========================================================= */
.bg_beige {
  background: #F7F4ED;
}

.bg_white {
  background: #fff;
}

.bg_navy {
  background: #142335;
  color: #fff;
}

section .wrapper {
  position: relative;
}

.flex {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .flex {
    display: block;
  }
}

.contentsBlock {
  background: #fff;
  padding: 55px 55px 55px;
  margin: 50px 0;
  box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2);
  color: #4D4D4D;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .contentsBlock {
    padding: 30px 6% 30px;
  }
}

@media (max-width: 767px) {
  .contentsBlock {
    padding: 30px 20px;
    margin: 30px 0;
  }
}

.contentsBlock:last-child {
  margin-bottom: 0;
}

hr.rule {
  border: none;
  border-top: 1px solid #F7F4ED;
  width: 100px;
  margin: 50px 0;
}

@media (max-width: 767px) {
  hr.rule {
    margin: 25px 0;
  }
}

/* =========================================================
リンクボタン
========================================================= */
a {
  color: inherit;
  text-decoration: none;
  transition: all 0.2s;
}

a:hover {
  opacity: 0.8;
}

@media (max-width: 767px) {
  a:hover {
    opacity: 1;
  }
}

@media (min-width: 1025px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

a svg {
  transition: all 0.25s;
}

.icon_link {
  display: inline-block;
  vertical-align: middle;
  width: 7px;
  height: 12px;
  margin: 0 0 2px 7px;
}

@media (max-width: 767px) {
  .icon_link {
    width: 5px;
    height: 10px;
  }
}

.icon_ex {
  display: inline-block;
  vertical-align: middle;
  width: 17px;
  height: 13px;
  margin: 0 0 2px 5px;
}

@media (max-width: 767px) {
  .icon_ex {
    width: 16px;
    height: 12px;
  }
}

.contents a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.contents a:hover {
  color: #AB8D4B;
  text-decoration: none;
}

.contents a:hover svg {
  fill: #AB8D4B;
}

.contents a .icon_link,
.contents a .icon_ex,
.contents a .icon_pdf {
  fill: #4D4D4D;
}

.contents a.c_green {
  color: #A72A2E;
}

.icon_arrow02 {
  display: inline-block;
  vertical-align: middle;
  width: 13px;
  height: 10px;
  margin: 0 0 3px 10px;
}

.btn {
  margin: 30px 0;
}

@media (max-width: 767px) {
  .btn {
    margin: 20px 0;
  }
}

.btn a,
.btn .btnLink {
  position: relative;
  border-radius: 4px;
  background: #142335;
  max-width: 100%;
  width: 335px;
  height: 65px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s;
  line-height: 1.2;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

@media (max-width: 767px) {

  .btn a,
  .btn .btnLink {
    width: 100%;
    height: 55px;
    padding: 0 35px;
  }
}

.btn a .mark,
.btn .btnLink .mark {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #fff;
  width: 18px;
  height: 18px;
  margin: auto;
}

@media (max-width: 767px) {

  .btn a .mark,
  .btn .btnLink .mark {
    width: 15px;
    height: 15px;
  }
}

.btn a .mark .icon_link,
.btn .btnLink .mark .icon_link {
  width: 5px;
  height: 10px;
  margin: 0;
}

.btn a .arrow_mark02,
.btn .btnLink .arrow_mark02 {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #000;
  width: 33px;
  height: 33px;
  margin-left: 20px;
}

.btn a .arrow_mark02 .icon_arrow,
.btn .btnLink .arrow_mark02 .icon_arrow {
  display: block;
  fill: #fff;
  width: 13px;
  height: 10px;
}

.btn a:hover,
.btn .btnLink:hover {
  color: #fff;
}

.btn a .icon_ex,
.btn .btnLink .icon_ex {
  fill: #A72A2E;
  display: inline-block;
  vertical-align: middle;
  width: 17px;
  height: 12px;
  margin: 0 0 3px 7px;
}

.btn.clear a {
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: none;
}

.btn.gold a,
.btn.gold .btnLink {
  background: #AB8D4B;
}

.btn.white a,
.btn.white .btnLink {
  background: #fff;
  width: 210px;
  height: 55px;
  color: #000;
  line-height: 1.2;
}

.btn.white a .mark,
.btn.white .btnLink .mark {
  background: #142335;
}

.btn.white a .mark svg,
.btn.white .btnLink .mark svg {
  fill: #fff;
}

.btn.center {
  text-align: center;
}

.btn:last-child {
  margin-bottom: 0;
}

.bgLink {
  position: relative;
}

.bgLink .photo {
  -o-object-fit: cover;
  object-fit: cover;
  min-width: 100%;
}

.bgLink a {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.5) no-repeat center/cover;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

@media (max-width: 767px) {
  .bgLink a {
    padding: 0 5%;
  }
}

.bgLinkTitle {
  color: #fff;
}

.bgLinkTitle .en {
  color: #fff;
}

.bgLink .secTitle02 {
  margin-top: 0;
  color: inherit;
}

.bgLink .btn {
  width: 100%;
  margin-bottom: 0;
}

.bgLink .btn .btnLink {
  color: inherit;
  border-color: inherit;
}

.bgLink .btn .btnLink::before {
  background: #fff;
}

.bgLink .btn .btnLink::after {
  border-color: inherit;
}

/* =========================================================
リスト
========================================================= */
.disc li::before {
  content: "●";
  display: inline-block;
  color: #AB8D4B;
  margin-right: 5px;
}

.tabList {
  display: flex;
  gap: 25px;
  margin: 10px 0 60px;
}

@media (max-width: 767px) {
  .tabList {
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px 15px;
    width: 240px;
    margin: 20px auto 25px;
    font-size: 1.3rem;
  }
}

.tabList li a {
  color: #AB8D4B;
  text-decoration: none;
}

@media (max-width: 767px) {
  .tabList li a {
    display: block;
  }
}

.tabList li.active a {
  text-decoration: underline;
  font-weight: 600;
}

.tabList.style02 {
  display: flex;
  width: 96%;
  max-width: 1250px;
  margin: 0 auto 85px;
  gap: 10px;
}

@media (max-width: 767px) {
  .tabList.style02 {
    width: 100%;
    margin-bottom: 40px;
    justify-content: center;
    gap: 0;
    line-height: 1;
  }
}

.tabList.style02 li {
  width: 33%;
  text-align: center;
}

@media (max-width: 767px) {
  .tabList.style02 li {
    width: auto;
    margin-bottom: 15px;
  }

  .tabList.style02 li+li {
    border-left: 1px solid #CACACA;
  }
}

.tabList.style02 li a {
  display: block;
  padding: 20px 5px;
  background: #fff;
  border: 1px solid #fff;
  color: #4D4D4D;
}

@media (max-width: 767px) {
  .tabList.style02 li a {
    padding: 0 20px;
    background: none;
    border: none;
  }
}

.tabList.style02 li.active a {
  background: #efe9dd;
  color: #AB8D4B;
  border-color: #AB8D4B;
  font-weight: inherit;
  text-decoration: none;
}

@media (max-width: 767px) {
  .tabList.style02 li.active a {
    background: none;
    text-decoration: underline;
  }
}

/* =========================================================
画像
========================================================= */
.photo img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: auto;
}

/* =========================================================
table
========================================================= */
.table01 {
  border-top: 1px solid #DFDFDF;
  width: 100%;
  margin: 40px 0;
}

@media (max-width: 767px) {
  .table01 {
    border-top: none;
    margin: 30px 0;
  }
}

.table01:first-child {
  margin-top: 0;
}

.table01:last-child {
  margin-bottom: 0;
}

.table01 th,
.table01 td {
  border-bottom: 1px solid #DFDFDF;
  padding: 20px 20px;
  text-align: left;
}

@media (min-width: 768px) and (max-width: 1024px) {

  .table01 th,
  .table01 td {
    padding: 12px 15px;
  }
}

@media (max-width: 767px) {

  .table01 th,
  .table01 td {
    display: block;
    border-top: none;
    border-bottom: none;
    width: 100%;
    padding: 12px 0;
  }
}

.table01 th a,
.table01 td a {
  text-decoration: underline;
}

.table01 th a:hover,
.table01 td a:hover {
  text-decoration: none;
}

@media (min-width: 1025px) {

  .table01 th a[href^=tel],
  .table01 td a[href^=tel] {
    color: inherit;
    text-decoration: none;
  }
}

.table01 th {
  border-bottom: 1px solid #142335;
  width: 20%;
  padding: 20px 20px;
  color: #142335;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .table01 th {
    padding: 12px 10px;
  }
}

@media (max-width: 767px) {
  .table01 th {
    border-top: 1px solid #142335;
    border-bottom-color: #DFDFDF;
    width: 100%;
    padding: 10px 20px;
    -moz-text-align-last: center;
    text-align-last: center;
  }
}

.table01 tr:first-child th {
  border-top: 1px solid #142335;
}

/* =========================================================
colorbox
========================================================= */
/* スクロールバー */
#cboxOverlay {
  opacity: 0.95 !important;
  background: #F7F4ED !important;
}

#colorbox,
#cboxOverlay,
#cboxWrapper {
  overflow: visible !important;
}

#cboxCurrent,
#cboxTopRight,
#cboxTopLeft,
#cboxTopCenter,
#cboxMiddleLeft,
#cboxMiddleRight,
#cboxBottomCenter,
#cboxBottomLeft,
#cboxBottomRight {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

#cboxContent {
  float: none !important;
  overflow: visible !important;
  background: none !important;
}

#cboxLoadedContent {
  overflow: visible !important;
  background: #fff;
  padding: 50px;
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  #cboxLoadedContent {
    padding: 20px;
  }
}

#cboxClose {
  display: block;
  right: -10px !important;
  top: -50px !important;
  bottom: auto;
  width: 55px !important;
  height: 55px !important;
  text-align: left !important;
  text-indent: -9999px !important;
}

#cboxClose::before,
#cboxClose::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #000;
  width: 30px;
  height: 2px;
  margin: auto;
  transform: rotate(45deg);
}

#cboxClose::after {
  transform: rotate(-45deg);
}

.colorBoxContentsWrap {
  display: none;
}

/* =========================================================
SLICK
========================================================= */
@media (max-width: 767px) {
  .slick-slider .slick-slide .pc {
    display: none;
  }
}

@media (min-width: 1025px) {
  .slick-slider .slick-slide .sp {
    display: none;
  }
}

.slick-slider .slick-arrow {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  top: 10px;
  bottom: 0;
  z-index: 1;
  border: none;
  background: none;
  width: 100px;
  height: 100px;
  margin: auto;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s;
}

@media (max-width: 767px) {
  .slick-slider .slick-arrow {
    top: auto;
    bottom: -5px;
    z-index: 10;
    width: 25px;
    height: 25px;
  }
}

.slick-slider .slick-arrow svg {
  width: 7px;
  height: 12px;
}

.slick-slider .slick-prev {
  left: -150px;
  transform: scale(-1, 1);
}

@media (max-width: 767px) {
  .slick-slider .slick-prev {
    left: -10px;
  }
}

.slick-slider .slick-next {
  right: -150px;
}

@media (max-width: 767px) {
  .slick-slider .slick-next {
    right: -10px;
  }
}

.slick-slider .slick-dots {
  position: static;
  text-align: center;
  font-size: 0;
}

@media (max-width: 767px) {
  .slick-slider .slick-dots {
    width: calc(100% - 60px);
    margin: 30px auto 0;
    text-align: center;
  }
}

.slick-slider .slick-dots li {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 10px;
  font-size: 12px;
}

.slick-slider .slick-dots li:only-child {
  display: none;
  margin-top: -30px;
}

.slick-slider .slick-dots li button {
  border: none;
  border-radius: 50%;
  background: #C5C5C5;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  text-indent: -9999px;
  cursor: pointer;
}

.slick-slider .slick-dots li.slick-active button {
  background: #A72A2E;
}

.arrows {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
}

.arrows .slick-arrow {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid #142335;
  background: none;
  width: 100px;
  height: 100px;
  margin: auto;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s;
}

@media (max-width: 767px) {
  .arrows .slick-arrow {
    top: auto;
    bottom: -5px;
    z-index: 10;
    width: 25px;
    height: 25px;
    margin: 0;
  }
}

.arrows .slick-arrow svg {
  width: 7px;
  height: 12px;
}

.arrows .slick-prev {
  transform: scale(-1, 1);
}

/* =========================================================
layout.css
========================================================= */
html,
body {
  font-size: 62.5%;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  html {
    scroll-padding-top: 90px;
  }
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 55px;
  }
}

body {
  position: relative;
  background: #f6f3ed;
  color: #4D4D4D;
  font-size: 15px;
  font-family: 'maihama one', YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  font-weight: 500;
  line-height: 2;
  min-width: 1250px;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  /* フォントレンダリング設定: 1x解像度ではsubpixel、2x以上の解像度ではgrayscale */
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  /*Chrome,Safari*/
  -ms-text-size-adjust: 100%;
  /*EgdeMobile*/
  -moz-text-size-adjust: 100%;
  /*firefox*/
}

body.fixed {
  overflow: hidden;
}

body.navOn::before {
  opacity: 0.3;
  z-index: 1;
}

@media screen and (max-width: 1250px) {
  body {
    overflow-x: hidden;
    min-width: 0;
  }
}

@media (max-width: 767px) {
  body {
    line-height: 1.8;
    font-size: 1.3rem;
  }
}

@media screen and (min-width: 1250px) {
  body {
    overflow-x: hidden;
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

img,
svg {
  vertical-align: top;
  max-width: 100%;
}

@media (max-width: 1024px) {

  img,
  svg {
    height: auto;
  }
}

.wrapper {
  width: 96%;
  max-width: 1250px;
  margin: 0 auto;
  padding: 70px 0;
}

@media screen and (max-width: 1250px) {
  .wrapper {
    max-width: 94%;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .wrapper {
    max-width: 94%;
    padding: 50px 0;
  }
}

@media (max-width: 767px) {
  .wrapper {
    max-width: 90%;
    padding: 30px 0;
  }
}

@media (max-width: 1024px) {
  .pc {
    display: none;
  }
}

@media (min-width: 1025px) {
  .sp {
    display: none;
  }
}

@media screen and (min-width: 376px) {
  .exsp {
    display: none;
  }
}

.snsList {
  display: flex;
  align-items: center;
  gap: 20px;
}

@media (max-width: 1024px) {
  .snsList {
    justify-content: center;
    margin: 10px 0 20px;
  }

  .snsList img {
    width: 20px;
    height: 20px;
  }
}

.snsList li a {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 767px) {
  .snsList li:nth-child(2) img {
    width: 17px;
    height: 17px;
  }
}

/* =========================================================
globalHeader
========================================================= */
.globalHeader {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  background: #fff;
  color: #fff;
  width: 100%;
}

@media (max-width: 767px) {
  .globalHeader {
    transition: all 0.3s;
  }
}

.globalHeader.is_animation {
  position: fixed;
  animation: headerAnime 0.4s ease;
}

.globalHeader.is_animation .headerTop .wrapper {
  margin-right: 0;
  border-bottom: none;
}

.globalHeader.is_animation .menuBtnList .bookBtn span {
  width: 140px;
}

@media (max-width: 1024px) {
  .globalHeader.is_animation .menuBtnList .bookBtn span {
    width: 55px;
    text-align: center;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .globalHeader.is_animation .menuBtnList .bookBtn span {
    width: 80px;
  }
}

.globalHeader.is_animation .menuBtnList .gnavBtn {
  display: flex;
  display: none;
}

@media (max-width: 1024px) {
  .globalHeader.is_animation .menuBtnList .gnavBtn {
    display: flex;
    flex-direction: column;
  }
}

.globalHeader.is_animation .headerBtm {
  display: none;
}

/* .globalHeader.is_animation .menuBtnList .bookBtn {
  margin-right: 20px;
} */

.globalHeader .headerTop {
  position: relative;
  background: #142335;
  font-family: "BIZ UDPMincho", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  z-index: 12;
  text-transform: capitalize;
}

.globalHeader .wrapper {
  display: flex;
  align-items: center;
  max-width: 96%;
  height: 82px;
  padding: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

@media (max-width: 1024px) {
  .globalHeader .wrapper {
    width: 100%;
    max-width: 100%;
    height: 56px;
    padding: 0 0 0 20px;
    border: none;
  }
}

.globalHeader a {
  color: inherit;
  transition: opacity 0.3s;
}

@media (max-width: 767px) {
  .globalHeader .siteLogo {
    width: 120px;
  }
}

.globalHeader .siteLogo a {
  display: block;
}

.globalHeader .siteLogo a img {
  display: block;
}

.globalHeader .headerNav {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-left: auto;
  margin-right: 30px;
  justify-content: flex-end;
}

@media screen and (max-width: 1280px) {
  .globalHeader .headerNav {
    margin-right: 10px;
  }
}

@media screen and (max-width: 1100px) {
  .globalHeader .headerNav {
    gap: 20px;
  }
}

@media (max-width: 767px) {
  .globalHeader .headerNav {
    margin-right: 10px;
  }
}

.globalHeader .headerNavMenu {
  display: flex;
  justify-content: flex-end;
  gap: 5px 20px;
  letter-spacing: 0.1em;
  flex-wrap: wrap;
}

.globalHeader .headerNavMenu li {
  position: relative;
  margin-bottom: 2px;
}

.globalHeader .headerNavMenu li:hover {
  border-bottom: 1px solid;
  margin-bottom: 0;
}

.globalHeader .headerNavMenu li:first-of-type a {
  display: inline-block;
}

.lang_en .englishOnly.contact {
  display: none;
}

@media screen and (max-width: 1280px) {
  .globalHeader .headerNavMenu {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 1100px) {
  .globalHeader .headerNavMenu {
    font-size: 1.3rem;
    letter-spacing: 0.025em;
  }
}

@media (max-width: 1024px) {
  .globalHeader .headerNavMenu {
    display: none;
  }
}

/* メニューアイテムのホバースタイル */
.globalHeader .headerNavMenu .drop-menu:hover .drop-menu-list {
  transform: scaleY(1);
  background: #fff;
  padding: 20px 30px;
}

/* ドロップダウンメニュー */
.globalHeader .headerNavMenu .drop-menu {
  position: relative;
}

.globalHeader .headerNavMenu .drop-menu-list {
  top: 55px !important;
  left: -40px;
  position: absolute;
  top: 100%;
  transform: scaleY(0);
  transform-origin: center top;
  transition: transform 0.3s;
  width: -moz-max-content;
  width: max-content;
  z-index: 1;
}

.lang_en .globalHeader .headerNavMenu .drop-menu-list {
  left: -48px;
}

.lang_zh-CHS .globalHeader .headerNavMenu .drop-menu-list,
.lang_zh-CHT .globalHeader .headerNavMenu .drop-menu-list,
.lang_es .globalHeader .headerNavMenu .drop-menu-list,
.lang_th .globalHeader .headerNavMenu .drop-menu-list {
  left: -17px;
}

.lang_ko .globalHeader .headerNavMenu .drop-menu-list,
.lang_fr .globalHeader .headerNavMenu .drop-menu-list {
  left: -33px;
}

.lang_de .globalHeader .headerNavMenu .drop-menu-list {
  left: -62px;
}

.lang_it .globalHeader .headerNavMenu .drop-menu-list {
  left: -4px;
}

.lang_vi .globalHeader .headerNavMenu .drop-menu-list {
  left: -27px;
}

.globalHeader .headerNavMenu .drop-menu-list::before {
  content: "";
  border-bottom: 17px solid #fff;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  position: absolute;
  top: -17px;
  margin: auto;
  left: 50%;
  transform: translateX(-50%);
}

.globalHeader .headerNavMenu .drop-menu-item {
  transition: opacity 0.3s;
  line-height: 1.8;
}

.globalHeader .headerNavMenu .drop-menu-item a {
  color: #142335;
  padding: 0 0 0 5px;
  position: relative;
  margin-left: 10px;
  text-decoration: none;
  margin-bottom: 2px;
}

.globalHeader .headerNavMenu .drop-menu-item a:hover {
  border-bottom: 1px solid #142335;
}

.globalHeader .headerNavMenu .drop-menu-item a::before {
  content: "";
  margin-right: 10px;
  background: #142335;
  width: 5px;
  height: 1px;
  margin: auto;
  top: 0;
  bottom: 0;
  position: absolute;
  left: -10px;
}

.globalHeader .headerNav .lang {
  position: relative;
  font-family: 'Noto Serif', serif;
}

.globalHeader .headerNav .lang dt {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  letter-spacing: .07em;
  min-width: 130px;

}

@media (max-width: 1024px) {
  .globalHeader .headerNav .lang dt {
    min-width: 75px;
  }
}

@media (max-width: 767px) {
  .globalHeader .headerNav .lang dt {
    gap: 5px;
  }
}

.globalHeader .headerNav .lang dt .icon_link {
  width: 8px;
  height: 8px;
  transform: rotate(90deg);
  margin: 0;
  fill: currentColor;
}

.globalHeader .headerNav .lang dt.on .icon_link {
  transform: rotate(-90deg);
}

.globalHeader .headerNav .lang dt.on+dd {
  opacity: 1;
  visibility: visible;
  height: auto;
}

.globalHeader .headerNav .lang dd {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: -10px;
  right: -10px;
  transition: opacity 0.2s;
  border: 1px solid #CACACA;
  background: #fff;
  color: #000;
  height: 0;
  padding: 10px;
  width: 153px;
}

@media (max-width: 1024px) {
  .globalHeader .headerNav .lang dd {
    width: 135px;
  }
}

.globalHeader .headerNav .lang dd a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Noto Serif', serif;

}

.globalHeader .headerNav .lang dd a.jaja {
  font-family: 'Noto Serif JP', serif;
}

.globalHeader .headerNav .lang dd a.zh-CHSzh-CHS {
  font-family: 'Noto Serif SC', serif;
}

.globalHeader .headerNav .lang dd a.zh-CHTzh-CHT {
  font-family: 'Noto Serif TC', serif;
}

.globalHeader .headerNav .lang dd a.koko {
  font-family: 'Noto Serif KR', serif;
}

.globalHeader .headerNav .lang dd a.thth {
  font-family: 'Noto Serif Thai', serif;
}

/* .globalHeader .headerNav .lang dd a.arar {
  font-family: 'Noto Naskh Arabic', serif;
} */

.globalHeader .menuBtnList {
  display: flex;
}

@media (max-width: 1024px) {
  .globalHeader .menuBtnList {
    line-height: 1;
    font-size: 1rem;
  }
}

.globalHeader .menuBtnList .bookBtn {
  cursor: pointer;
}

.globalHeader .menuBtnList .bookBtn span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  width: 110px;
  height: 80px;
  color: currentColor;
}

@media (max-width: 1024px) {
  .globalHeader .menuBtnList .bookBtn span {
    flex-direction: column;
    gap: 5px;
    width: 55px;
    height: 55px;
    text-align: center;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .globalHeader .menuBtnList .bookBtn span {
    width: 80px;
    height: 80px;
  }
}

.globalHeader .menuBtnList .bookBtn span svg {
  display: block;
  fill: currentColor;
  width: 28px;
  height: 26px;
}

@media (max-width: 767px) {
  .globalHeader .menuBtnList .bookBtn span svg {
    width: 21px;
    height: 19px;
    margin: 0 auto;
  }
}

.globalHeader .menuBtnList .gnavBtn {
  position: relative;
  width: 82px;
  height: 82px;
  border-left: 1px solid #233142;
  font-size: 1.3rem;
  line-height: 1.2;
  cursor: pointer;
  text-align: center;
  display: none;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 1024px) {
  .globalHeader .menuBtnList .gnavBtn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    font-size: 1rem;
    border-left: none;
    color: #fff;
    font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .globalHeader .menuBtnList .gnavBtn {
    width: 80px;
    height: 80px;
  }
}

.globalHeader .menuBtnList .gnavBtn.navOn .bar {
  background: transparent;
}

.globalHeader .menuBtnList .gnavBtn.navOn .bar::before {
  transform: rotate(45deg) translate(5px, 5px);
}

.globalHeader .menuBtnList .gnavBtn.navOn .bar::after {
  transform: rotate(-45deg) translate(5px, -5px);
}

.globalHeader .menuBtnList .gnavBtn .bar {
  position: relative;
  top: -2px;
  display: block;
  background: #fff;
  width: 23px;
  height: 2px;
  margin: 11px auto;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .globalHeader .menuBtnList .gnavBtn .bar {
    width: 28px;
    margin: 17px auto 13px;
  }
}

.globalHeader .menuBtnList .gnavBtn .bar::before,
.globalHeader .menuBtnList .gnavBtn .bar::after {
  content: "";
  display: block;
  position: absolute;
  top: -7px;
  background: #fff;
  width: 100%;
  height: 2px;
}

@media (min-width: 768px) and (max-width: 1024px) {

  .globalHeader .menuBtnList .gnavBtn .bar::before,
  .globalHeader .menuBtnList .gnavBtn .bar::after {
    top: -9px;
  }
}

.globalHeader .menuBtnList .gnavBtn .bar::after {
  top: auto;
  bottom: -7px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .globalHeader .menuBtnList .gnavBtn .bar::after {
    bottom: -9px;
  }
}

.globalHeader .headerBtm {
  background: #fff;
  color: #000;
}

.globalHeader .headerBtm .headerBtmNav {
  display: flex;
  width: 100%;
  gap: 40px;
  font-size: 1.7rem;
  font-family: "BIZ UDPMincho", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  line-height: 1.2;
  letter-spacing: 0.1em;
  align-items: center;
  justify-content: center;
  text-transform: capitalize;
}

.globalHeader .headerBtm .headerBtmNav li .nolink {
  display: inline-block;
  cursor: pointer;
}

@keyframes headerAnime {
  0% {
    opacity: 0;
    top: -80px;
  }

  100% {
    opacity: 1;
    top: 0;
  }
}

/* =========================================================
globalNav
========================================================= */
.gnavCloseBtn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  width: 82px;
  height: 82px;
  cursor: pointer;
  text-indent: -9999px;
}

@media (max-width: 767px) {
  .gnavCloseBtn {
    width: 55px;
    height: 55px;
  }
}

.gnavCloseBtn span {
  position: absolute;
  inset: 0;
  display: block;
}

.gnavCloseBtn span::before,
.gnavCloseBtn span::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: #000;
  width: 30px;
  height: 2px;
  margin: auto;
  transform: rotate(45deg);
}

.gnavCloseBtn span::after {
  transform: rotate(-45deg);
}

.globalNav {
  opacity: 0;
  visibility: hidden;
  height: 0;
  position: fixed;
  top: 10px;
  left: 0;
  z-index: 11;
  background: rgba(255, 255, 255, 0.95);
  width: 100%;
  max-height: 100%;
  color: #4D4D4D;
  transition: all 0.15s;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1024px) {
  .globalNav {
    background: rgba(246, 243, 237, 0.97);
    z-index: 15;
  }
}

.navOn .globalNav {
  opacity: 1;
  visibility: visible;
  top: 0;
  height: auto;
}

.globalNav .wrapper {
  display: block;
  height: auto;
  padding: 120px 20px 60px;
}

@media (max-width: 767px) {
  .globalNav .wrapper {
    padding: 60px 20px 80px;
  }
}

.globalNav .logo {
  text-align: center;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .globalNav .logo {
    display: none;
  }
}

.globalNav .gnavList {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px 12px;
  text-transform: capitalize;
}

@media (max-width: 1024px) {
  .globalNav .gnavList {
    margin-top: 40px;
    border-top: 1px solid #CACACA;
    gap: 0;
    font-family: "BIZ UDPMincho", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  }
}

.globalNav .gnavList>li {
  width: calc(33.333% - 8px);
  border-bottom: 1px solid #CACACA;
}

@media (max-width: 1024px) {
  .globalNav .gnavList>li {
    width: 100%;
  }
}

.globalNav .gnavList>li a,
.globalNav .gnavList>li .nolink {
  position: relative;
  display: block;
  padding: 15px 0;
  color: #AB8D4B;
  cursor: pointer;
}

@media (max-width: 1024px) {

  .globalNav .gnavList>li a,
  .globalNav .gnavList>li .nolink {
    padding: 11px;
    color: #4D4D4D;
  }
}

.globalNav .gnavList>li .icon {
  position: absolute;
  left: 4%;
  top: 50%;
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-top: -12px;
  line-height: 25px;
  text-align: center;
}

.globalNav .gnavList>li .icon img {
  vertical-align: middle;
}

@media (max-width: 1024px) {
  .globalNav .gnavList>li .icon img {
    scale: 0.7;
  }
}

@media (max-width: 1024px) {
  .gnavList .accordion-menu .title_btn {
    padding: 11px;
    position: relative;
  }

  .gnavList .accordion-menu .title_btn:before,
  .gnavList .accordion-menu .title_btn:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 2.5px;
    right: 15px;
    background: #4d4d4d;
    width: 9px;
    height: 1px;
    margin: auto;
  }

  .gnavList .accordion-menu .title_btn:before {
    content: none;
  }

  .gnavList .accordion-menu .title_btn.open:before {
    content: "";
    right: 19px;
    width: 1px;
    height: 9px;
  }

  .gnavList .accordion-menu .text_box {
    padding: 11px 0 11px 0;
    border-top: 1px solid #CACACA;
  }

  .gnavList .accordion-menu .text_box li a {
    padding: 0 0 0 30px;
    position: relative;
    display: block;
    width: 100%;
  }

  .gnavList .accordion-menu .text_box li a::before {
    content: "";
    margin-right: 10px;
    background: #142335;
    width: 5px;
    height: 1px;
    margin: auto;
    top: 0;
    bottom: 0;
    position: absolute;
    left: 12px;
  }
}

.globalNav .contact a {
  text-decoration: underline;
}

.globalNav .subNav {
  display: flex;
  margin-top: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .globalNav .subNav {
    margin-top: 30px;
  }
}

.globalNav .subNavSp {
  display: none;
  flex-wrap: wrap;
  letter-spacing: 0.03em;
  line-height: 1.3;
  text-transform: capitalize;
}

@media (max-width: 767px) {
  .globalNav .subNavSp {
    display: flex;
  }
}

.globalNav .subNavSp li {
  position: relative;
  width: 50%;
  margin-bottom: 15px;
  padding-left: 25px;
}

.globalNav .subNavSp li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 17px;
  height: 0;
  border-top: 1px solid #CACACA;
}

.globalNav .subNavList {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  color: #666;
  line-height: 1;
}

@media (max-width: 767px) {
  .globalNav .subNavList {
    margin-top: 20px;
    justify-content: center;
    text-align: center;
  }
}

.globalNav .subNavList a {
  color: currentColor;
}

.globalNav .subNavList li {
  margin-top: 20px;
  padding-right: 20px;
  text-transform: capitalize;
}

@media (max-width: 767px) {
  .globalNav .subNavList li {
    margin-top: 12px;
    padding-right: 0;
  }

  .globalNav .subNavList li:nth-of-type(1),
  .globalNav .subNavList li:nth-of-type(2) {
    width: 100%;
  }
}

.globalNav .subNavList li+li {
  padding-left: 20px;
  border-left: 1px solid currentColor;
}

@media (max-width: 767px) {
  .globalNav .subNavList li+li {
    padding-left: 0;
    border-left: none;
  }
}

.globalNav .subNavList li a {
  display: inline-block;
}

@media (max-width: 767px) {
  .globalNav .subNavList li a {
    padding: 0 10px;
  }
}

.globalNav .subNavList .icon_ex {
  margin-left: 10px;
  fill: #666;
}

.globalNav .snsListWrap {
  display: flex;
  margin-left: auto;
  margin-top: 20px;
  align-items: center;
  order: 10;
}

@media (max-width: 767px) {
  .globalNav .snsListWrap {
    display: block;
    width: 100%;
    margin-left: 0;
    order: 0;
    text-align: center;
  }
}

.globalNav .snsListWrap p {
  margin-right: 15px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .globalNav .snsListWrap p {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.globalNav .snsList {
  margin: 0;
}

/* =========================================================
SIGN IN UP
========================================================= */
.headerNav .signbtn {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: center;
}


.headerNav .signbtn li a {
  border: 1px solid rgba(255, 255, 255, 0.5);
  min-width: 93px;
  padding: 6px 10px;
  display: block;
  text-align: center;
  letter-spacing: 1.2px;
  font-size: 1.3rem;
  line-height: 1.1;
}

@media (max-width: 1024px) {
  .headerNav .signbtn {
    display: none !important;
  }

  .globalNav .signbtn {
    display: flex;
    gap: 10px 8px;
    justify-content: center;
    margin-top: 30px;
    flex-wrap: wrap;
  }

  .globalNav .signbtn li a {
    border: 1px solid rgba(102, 102, 102, 0.3);
    padding: 6px 10px;
    font-family: "BIZ UDPMincho", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    letter-spacing: 1px;
  }
}

/* =========================================================
hotelSearch
========================================================= */
.hotelSearch {
  position: fixed;
  left: 0;
  top: 40px;
  z-index: 100;
  background: rgba(246, 243, 237, 0.97);
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  text-align: center;
  transition: all 0.15s;
  opacity: 0;
  visibility: hidden;
}

.hotelSearch.is_show {
  top: 0;
  transition-delay: 0s;
  opacity: 1;
  visibility: visible;
}

.hotelSearch a {
  color: inherit;
}

.hotelSearch h2 {
  color: #AB8D4B;
  font-size: 2.3rem;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .hotelSearch h2 {
    margin-bottom: 20px;
    font-size: 1.7rem;
  }
}

.hotelSearch .wrapper {
  max-width: 505px;
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 767px) {
  .hotelSearch .wrapper {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 90px 20px 20px;
  }
}

.hotelSearch .closeBtn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 55px;
  height: 55px;
  text-align: left;
  text-indent: -9999px;
  cursor: pointer;
}

@media (max-width: 767px) {
  .hotelSearch .closeBtn {
    top: 0;
    right: 0;
  }
}

.hotelSearch .closeBtn::before,
.hotelSearch .closeBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #000;
  width: 30px;
  height: 2px;
  margin: auto;
  transform: rotate(-45deg);
}

.hotelSearch .closeBtn::after {
  transform: rotate(45deg);
}

.hotelGroup {
  display: none;
  padding: 0 20px 20px;
  background: #fff;
}

.hotelGroup p {
  margin-bottom: 15px;
}

.hotelGroup p:nth-child(3) {
  margin-top: 50px;
}

@media (max-width: 767px) {
  .hotelGroup p:nth-child(3) {
    margin-top: 20px;
  }
}

.hotelGroup ul {
  max-height: 330px;
  padding-top: 20px;
  overflow-y: scroll;
}

@media (max-width: 767px) {
  .hotelGroup ul {
    max-height: calc(100svh - 380px);
  }
}

.hotelGroup ul li {
  display: flex;
}

.hotelGroup ul li::before {
  content: "・";
}

.hotelGroup ul li.hotelBrand::before {
  content: inherit;
}

.hotelGroup ul li a {
  padding-left: 15px;
}

.hotelGroup ul li a:hover {
  text-decoration: underline;
  opacity: 1;
}

body.lang_zh-CHT .hotelGroup ul li .zh-CHTExc {
  display: none !important;
}

body.lang_zh-CHS .hotelGroup ul li .zh-CHSExc {
  display: none !important;
}

body.lang_ko .hotelGroup ul li .koExc {
  display: none !important;
}

.hotelGroup ul li small {
  font-size: 1.2rem;
}

:not(:lang(ja)) .hotelGroup ul li small {
  display: block;
  line-height: 1.5;
}

.hotelSearch_box {
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .hotelSearch_box {
    margin-bottom: 15px;
  }
}

.hotelSearch_box select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/common/nav_icon05.svg) no-repeat left 20px center, url(../img/common/bg_select.svg) no-repeat right 20px center;
  background-size: 23px, 8px;
  border: none;
  border-bottom: 1px solid #CACACA;
  width: 100%;
  height: 70px;
  line-height: 70px;
  padding: 0 30px 0 55px;
  font-size: 1.6rem;
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  color: #4D4D4D;
  cursor: pointer;
}

@media (max-width: 767px) {
  .hotelSearch_box select {
    height: 60px;
    line-height: 60px;
    padding-right: 15px;
    padding-left: 45px;
    background: url(../img/common/nav_icon05.svg) no-repeat left 20px center, url(../img/common/bg_select.svg) no-repeat right 20px center;
    background-size: 15px, 8px;
    letter-spacing: 0;
  }
}

.hotelSearch .selectBtn {
  height: 64px;
  line-height: 64px;
  width: 263px;
  color: #fff;
  background: #142335 url(../img/common/icon_search.svg) no-repeat left 22px center/23px auto;
  border-radius: 4px;
  font-size: 1.5rem;
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  font-weight: 500;
  letter-spacing: 0.03em;
  cursor: pointer;
  border: none;
}

@media (max-width: 767px) {
  .hotelSearch .selectBtn {
    width: 100%;
    height: 55px;
    line-height: 55px;
  }
}

.hotelResult {
  margin-top: 25px;
  text-align: left;
}

@media (max-width: 767px) {
  .hotelResult {
    margin-top: 15px;
  }
}

/* ブランド絞り込みモーダル */
.modal-open {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 64px;
  margin: auto;
  padding-left: 20px;
  border-bottom: 1px solid #CACACA;
  color: #142335;
  cursor: pointer;
  background: url(../img/common/icon_select.svg) no-repeat left calc(50% - 62px) center/17px;
  text-align: center;
  line-height: 64px;
}

@media (max-width: 767px) {
  .modal-open {
    height: 54px;
    line-height: 54px;
  }
}

.modal-open img {
  margin-right: 10px;
}

.modal-open.selected {
  background: url(../img/common/icon_select_gold.svg) no-repeat left calc(50% - 62px) center/17px;
  color: #AB8D4B;
}

.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(246, 243, 237, 0.8);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
  z-index: 20;
}

.modal-container:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.modal-container.active {
  opacity: 1;
  visibility: visible;
}

.modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 263px;
  width: 90%;
}

.modal-close {
  position: absolute;
  top: 21px;
  right: 21px;
  width: 15px;
  height: 15px;
  text-align: left;
  text-indent: -9999px;
  cursor: pointer;
}

.modal-close::before,
.modal-close::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  width: 14px;
  height: 2px;
  margin: auto;
  transform: rotate(-45deg);
}

.modal-close::after {
  transform: rotate(45deg);
}

.modal-content {
  background: #fff;
  text-align: left;
  color: #000;
}

.modal-content ul {
  max-height: none;
  padding-top: 0;
  text-align: center;
  overflow: hidden;
}

.modal-content ul li {
  padding: 15px 20px;
  margin-bottom: 0;
  cursor: pointer;
  display: block;
}

.modal-content ul li::before {
  content: inherit;
}

.modal-content ul li:nth-of-type(odd) {
  background-color: #efe9db;
}

.modal-content ul li.select {
  color: #a28137;
  background-image: url(../img/common/icon_check.svg);
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 17px;
}

.modal-content ul li:nth-of-type(1) {
  background: #142335;
  color: #fff;
}

/* =========================================================
hotelAreaRsv
========================================================= */
.hotelAreaRsv {
  position: fixed;
  left: 0;
  top: 40px;
  z-index: 100;
  background: rgba(246, 243, 237, 0.97);
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  text-align: center;
  transition: all 0.15s;
  opacity: 0;
  visibility: hidden;
}

.hotelAreaRsv.is_show {
  top: 0;
  transition-delay: 0s;
  opacity: 1;
  visibility: visible;
}

.hotelAreaRsv a {
  color: inherit;
}

.hotelAreaRsv h2 {
  color: #AB8D4B;
  font-size: 2.3rem;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .hotelAreaRsv h2 {
    margin-bottom: 20px;
    font-size: 1.7rem;
  }
}

.hotelAreaRsv .wrapper {
  max-width: 505px;
  padding-top: 120px;
  padding-bottom: 120px;
}

@media (max-width: 767px) {
  .hotelAreaRsv .wrapper {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 90px 20px;
  }
}

.hotelAreaRsv .closeBtn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 55px;
  height: 55px;
  text-align: left;
  text-indent: -9999px;
  cursor: pointer;
}

@media (max-width: 767px) {
  .hotelAreaRsv .closeBtn {
    right: 0;
    top: 0;
  }
}

.hotelAreaRsv .closeBtn::before,
.hotelAreaRsv .closeBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #000;
  width: 30px;
  height: 2px;
  margin: auto;
  transform: rotate(-45deg);
}

.hotelAreaRsv .closeBtn::after {
  transform: rotate(45deg);
}

.hotelAreaRsv select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/common/nav_icon05.svg) no-repeat left 20px center, url(../img/common/bg_select.svg) no-repeat right 20px center;
  background-size: 23px, 8px;
  border: none;
  border-bottom: 1px solid #CACACA;
  width: 100%;
  height: 70px;
  line-height: 70px;
  padding: 0 30px 0 55px;
  font-size: 1.6rem;
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  cursor: pointer;
}

@media (max-width: 767px) {
  .hotelAreaRsv select {
    height: 60px;
    line-height: 60px;
    padding-right: 15px;
    padding-left: 45px;
    background: url(../img/common/nav_icon05.svg) no-repeat left 20px center, url(../img/common/bg_select.svg) no-repeat right 20px center;
    background-size: 15px, 8px;
    letter-spacing: 0;
  }
}

.hotelAreaRsv .areaSelectBtn {
  height: 64px;
  line-height: 64px;
  width: 263px;
  color: #fff;
  margin-top: 20px;
  background: #142335 url(../img/common/icon_cal.svg) no-repeat left 22px center/19px auto;
  border-radius: 4px;
  font-size: 1.5rem;
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  font-weight: 500;
  letter-spacing: 0.03em;
  cursor: pointer;
  border: none;
}

@media (max-width: 767px) {
  .hotelAreaRsv .areaSelectBtn {
    width: 100%;
    height: 55px;
    margin-top: 15px;
    line-height: 55px;
  }
}

/* =========================================================
contents
========================================================= */
.contents {
  position: relative;
  display: block;
  padding-top: 82px;
  overflow: hidden;
}

@media (max-width: 767px) {
  .contents {
    padding-top: 56px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .contents {
    padding-top: 80px;
  }
}

.pageTitleArea {
  padding: 100px 0 50px;
  background-image: url(/img/common/bg_gray.png);
  background-size: cover;
}

@media (max-width: 767px) {
  .pageTitleArea {
    padding: 70px 0 30px;
  }
}

.pageTitleArea:has(.en) {
  padding: 120px 0 50px;
}

@media (max-width: 767px) {
  .pageTitleArea:has(.en) {
    padding: 70px 0 30px;
  }
}

.pageTitleArea:has(.en) .pageTitle {
  font-size: 2.3rem;
  font-weight: 500;
}

@media (max-width: 767px) {
  .pageTitleArea:has(.en) .pageTitle {
    font-size: 1.5rem;
  }
}

.pageTitleArea .pageTitle {
  color: #142335;
  text-align: center;
  font-size: 4.5rem;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: bold;
  max-width: 1250px;
  margin: 0 auto;
  width: 90%;
}

@media (max-width: 767px) {
  .pageTitleArea .pageTitle {
    font-size: 2.4rem;
  }
}

.pageTitleArea .pageTitle .en {
  display: block;
  font-size: 8.1rem;
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  line-height: 1;
  letter-spacing: 0.02em;
}

@media (max-width: 767px) {
  .pageTitleArea .pageTitle .en {
    margin-bottom: 10px;
    font-size: 3.9rem;
  }
}

.pageTitleArea .pageTitle .enExc {
  text-transform: capitalize;
}

.breadcrumbs {
  padding: 20px 0 30px;
  color: #666;
}

@media (max-width: 767px) {
  .breadcrumbs {
    padding: 0 0 20px;
  }
}

.breadcrumbsList {
  padding: 4px 0;
  font-size: 1.3rem;
  text-transform: capitalize;
}

@media (max-width: 767px) {
  .breadcrumbsList {
    padding: 10px 0;
    padding-left: 20px;
    line-height: 1.6;
  }
}

.breadcrumbsList li {
  display: inline;
}

@media (max-width: 767px) {
  .breadcrumbsList li:first-child {
    margin-left: -18px;
  }
}

.breadcrumbsList li.hotel {
  text-transform: initial;
}

.breadcrumbsList li a {
  color: inherit;
}

.breadcrumbsList li a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid;
  border-right: 1px solid;
  color: #4D4D4D;
  margin: 0 10px 1px 8px;
  transform: rotate(45deg);
}

.breadcrumbsList li a .icon_home {
  fill: #666;
  width: 12px;
  height: 13px;
  vertical-align: middle;
  margin: 0 7px 3px 0;
}

.slide_on .breadcrumbs {
  border-bottom: none;
  padding-bottom: 0;
}

@media (max-width: 767px) {
  .slide_on .breadcrumbs {
    display: none;
  }
}

/* =========================================================
shareBtn
========================================================= */
.shareBtn .wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 40px 0;
  letter-spacing: 0.09em;
  color: #142335;
}

@media (max-width: 767px) {
  .shareBtn .wrapper {
    display: block;
    padding: 30px 0;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .shareBtn .snsList {
    margin-bottom: 0;
  }
}

/* =========================================================
recruit
========================================================= */
.recruit {
  background: #F3EEE4;
  text-align: center;
}

.recruit .linkList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

/* =========================================================
globalFooter
========================================================= */
.globalFooter {
  overflow: hidden;
  position: relative;
  background: #142335 url("/img/common/bg_footer.jpg") repeat top left/554px auto;
  color: #fff;
}

@media (max-width: 767px) {
  .globalFooter {
    background-size: 300px auto;
  }
}

.globalFooter a {
  color: inherit;
}

.globalFooter .wrapper {
  position: relative;
  padding: 135px 0 140px;
}

@media (max-width: 767px) {
  .globalFooter .wrapper {
    padding: 40px 0 80px;
  }
}

.globalFooter .footerHotelList {
  display: flex;
  gap: 40px;
  line-height: 1.8;
}

@media (max-width: 767px) {
  .globalFooter .footerHotelList {
    display: block;
  }
}

.globalFooter .footerHotelList .hotellist01 {
  width: 100%;
}

.globalFooter .footerHotelList .hotellist01 dt {
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 5px 0;
  margin: 0 0 20px;
  text-align: center;
  font-size: 1.7rem;
  font-weight: 600;
}

@media (max-width: 767px) {
  .globalFooter .footerHotelList .hotellist01 dt {
    margin-bottom: 15px;
    font-size: 1.5rem;
  }
}

.globalFooter .footerHotelList .hotellist01 dd p {
  margin: 0 0 10px;
  font-family: "BIZ UDPMincho", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 1.7rem;
  text-transform: capitalize;
}

@media (max-width: 767px) {
  .globalFooter .footerHotelList .hotellist01 dd p {
    margin: 0 0 5px;
    font-size: 1.5rem;
  }
}

.globalFooter .footerHotelList .hotellist01 dd ul {
  margin: 0 0 20px;
}

.globalFooter .footerHotelList .hotellist01 dd ul li {
  margin-left: 1em;
  text-indent: -1em;
}

.globalFooter .footerHotelList .hotellist01 dd ul li::before {
  content: "・";
  margin-right: 10px;
}

.globalFooter .footerHotelList .hotellist01 dd ul li small {
  display: block;
  margin-top: -5px;
  opacity: 0.7;
  font-size: 1.3rem;
  text-indent: 0;
}

@media (max-width: 767px) {
  .globalFooter .footerHotelList .hotellist01 dd ul li small {
    font-size: 1.2rem;
  }
}

.globalFooter .footerLine {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  margin: 50px 0;
}

@media (max-width: 767px) {
  .globalFooter .footerLine {
    margin: 40px 0;
  }
}

.globalFooter .logo {
  margin: 0 0 30px;
  text-align: center;
}

@media (max-width: 767px) {
  .globalFooter .logo {
    margin-bottom: 30px;
  }
}

.globalFooter .footerNav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-transform: capitalize;
}

@media (max-width: 767px) {
  .globalFooter .footerNav {
    gap: 10px 20px;
  }
}

.globalFooter .footerNav li {
  line-height: 1;
  margin-top: 10px;
}

@media (max-width: 767px) {
  .globalFooter .footerNav li {
    text-align: center;
    margin-top: 0;
  }

  .globalFooter .footerNav li:nth-child(-n+3) {
    width: 100%;
  }
}

.globalFooter .footerNav li a {
  padding: 0 20px;
}

@media (max-width: 767px) {
  .globalFooter .footerNav li a {
    display: block;
    padding: 0;
  }
}

.globalFooter .footerNav li a p {
  display: inline-block;
}

.globalFooter .footerNav li+li {
  border-left: 1px solid;
}

@media (max-width: 767px) {
  .globalFooter .footerNav li+li {
    border: none;
  }
}

.globalFooter .footerNav .icon_ex {
  fill: #fff;
}

/* .globalFooter .btnWrap {
  display: flex;
  justify-content: center;
  gap: 44.5px;
}

@media (max-width: 1024px) {
  .globalFooter .btnWrap {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
}

.globalFooter .btnWrap .title {
  margin-bottom: 20px;
  font-family: "BIZ UDPMincho", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 1.7rem;
  text-align: center;
}

@media (max-width: 767px) {
  .globalFooter .btnWrap .title {
    margin-bottom: 15px;
    font-size: 1.5rem;
  }
}

.globalFooter .btnWrap .btn {
  width: 30.96%;
  margin: 0;
}

@media (max-width: 1024px) {
  .globalFooter .btnWrap .btn {
    width: 387px;
  }

  .globalFooter .btnWrap .btn+.btn {
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .globalFooter .btnWrap .btn+.btn {
    margin-top: 15px;
  }
}

.globalFooter .btnWrap .btn.clear {
  width: 267px;
}

@media (max-width: 767px) {
  .globalFooter .btnWrap .btn.clear {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .globalFooter .btnWrap .snsBtn {
    width: 100%;
  }
}

.globalFooter .btnWrap .snsBtn a {
  background: rgba(255, 255, 255, 0.9);
  width: 387px;
  color: #142335;
}

@media (max-width: 767px) {
  .globalFooter .btnWrap .snsBtn a {
    width: 100%;
  }
}

.globalFooter .btnWrap .snsBtn a img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  margin: auto;
}

.globalFooter .btnWrap .snsBtn a+a {
  margin-top: 20px;
}

@media (max-width: 767px) {
  .globalFooter .btnWrap .snsBtn a+a {
    margin-top: 10px;
  }
} */
.globalFooter .snsWrap {
  display: flex;
  gap: 45px;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .globalFooter .snsWrap {
    gap: 20px 25px;
  }
}

.globalFooter .snsWrap a {
  text-align: center;
}

.globalFooter .snsWrap a img {
  width: 30px;
  height: 30px;
}

.globalFooter .snsWrap a img.icon_x {
  width: 25px;
  height: 25px;
  margin-top: 2px;
}

.globalFooter .snsWrap a p {
  line-height: 1.4;
  font-size: 1.3rem;
  margin-top: 15px;
}

@media (max-width: 767px) {
  .globalFooter .snsWrap a p {
    font-size: 1.2rem;
  }
}

.copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  height: 90px;
  color: #142335;
}

@media (max-width: 767px) {
  .copyright {
    height: 73px;
    padding-left: 20px;
    line-height: 1.7;
    font-size: 1.2rem;
  }
}

.pagetop {
  position: fixed;
  bottom: 220px;
  right: 35px;
  z-index: 1;
  width: 80px;
  height: 80px;
  margin: -80px 0 0 auto;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
}

@media (max-width: 767px) {
  .pagetop {
    /* position: static; */
    width: 48px;
    height: 48px;
    margin: -70px auto 30px;
    bottom: 70px;
    left: 10px;
    right: initial;
  }
}

.pagetop a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #AB8D4B;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 1.5;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  transition: all 0.3s;
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 200;
}

@media (max-width: 767px) {
  .pagetop a {
    font-size: 1.3rem;
  }
}

.pagetop a span {
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
}

.pagetop a .icon_arrow {
  fill: #000;
  width: 16px;
  height: 32px;
  transform: rotate(-90deg);
}

.pagetop.is_animation {
  opacity: 1;
  visibility: visible;

}

@media (max-width: 767px) {
  .pagetop.is_animation {
    /* bottom: 43px; */
    left: 10px;
    right: initial;
  }
}

#tripla-app {
  z-index: 2 !important;
}

@media (max-width: 767px) {
  .pagetop.is_animation.has-cookie-banner {
    bottom: 40px !important;
  }

  .pagetop.is_animation {
    bottom: -25px !important;
  }

}


/* =========================================================
cookie
========================================================= */
.cookie {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 4;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  color: #fff;
}

@media (max-width: 767px) {
  .cookie {
    width: 80%;
    padding: 12px 0;
    font-size: 1.2rem;
  }
}

.cookie .wrapper {
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 77px;
}

@media (max-width: 767px) {
  .cookie .wrapper {
    height: auto;
    padding: 0;
    gap: 10px;
  }
}

@media (max-width: 767px) {
  .cookie .text {
    margin-bottom: 0;
    font-feature-settings: inherit;

  }
}

.cookie .text a {
  text-decoration: underline;
}

.cookie .text a:hover {
  text-decoration: none;
}

.cookie .text a svg {
  fill: #fff;
}

.cookie .btn {
  margin: 0;
}

@media (max-width: 767px) {
  .cookie .btn {
    width: 25%;
  }

  .cookie .btn a {
    width: 100%;
    height: 40px;
    line-height: 40px;
  }
}

@media (max-width: 1024px) {
  .cookie .btn a img {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
}

@media (max-width: 767px) {
  .cookie .btn a .mark.pc {
    display: none !important;
  }

  #tripla-chat-circle-icon {
    bottom: 18px !important;
    right: 10px !important;
  }

  #tripla-icon-message {
    bottom: 90px !important;
    right: 10px !important;
  }
}



/* =========================================================
多言語
========================================================= */
body.lang_en .globalHeader .app_link,
body.lang_en .globalHeader .recruit_link,
body.lang_en .globalHeader .company_link,
body.lang_en .globalHeader .snsBtn.other,
body.lang_en .globalFooter .app_link,
body.lang_en .globalFooter .recruit_link,
body.lang_en .globalFooter .company_link,
body.lang_en .globalFooter .snsBtn.other,
body.lang_zh-CHS .globalHeader .app_link,
body.lang_zh-CHS .globalHeader .recruit_link,
body.lang_zh-CHS .globalHeader .company_link,
body.lang_zh-CHS .globalHeader .snsBtn.other,
body.lang_zh-CHS .globalFooter .app_link,
body.lang_zh-CHS .globalFooter .recruit_link,
body.lang_zh-CHS .globalFooter .company_link,
body.lang_zh-CHS .globalFooter .snsBtn.other,
body.lang_zh-CHT .globalHeader .app_link,
body.lang_zh-CHT .globalHeader .recruit_link,
body.lang_zh-CHT .globalHeader .company_link,
body.lang_zh-CHT .globalHeader .snsBtn.other,
body.lang_zh-CHT .globalFooter .app_link,
body.lang_zh-CHT .globalFooter .recruit_link,
body.lang_zh-CHT .globalFooter .company_link,
body.lang_zh-CHT .globalFooter .snsBtn.other,
body.lang_ko .globalHeader .app_link,
body.lang_ko .globalHeader .recruit_link,
body.lang_ko .globalHeader .company_link,
body.lang_ko .globalHeader .snsBtn.other,
body.lang_ko .globalFooter .app_link,
body.lang_ko .globalFooter .recruit_link,
body.lang_ko .globalFooter .company_link,
body.lang_ko .globalFooter .snsBtn.other,
body.lang_fr .globalHeader .app_link,
body.lang_fr .globalHeader .recruit_link,
body.lang_fr .globalHeader .company_link,
body.lang_fr .globalHeader .snsBtn.other,
body.lang_fr .globalFooter .app_link,
body.lang_fr .globalFooter .recruit_link,
body.lang_fr .globalFooter .company_link,
body.lang_fr .globalFooter .snsBtn.other,
body.lang_de .globalHeader .app_link,
body.lang_de .globalHeader .recruit_link,
body.lang_de .globalHeader .company_link,
body.lang_de .globalHeader .snsBtn.other,
body.lang_de .globalFooter .app_link,
body.lang_de .globalFooter .recruit_link,
body.lang_de .globalFooter .company_link,
body.lang_de .globalFooter .snsBtn.other,
body.lang_es .globalHeader .app_link,
body.lang_es .globalHeader .recruit_link,
body.lang_es .globalHeader .company_link,
body.lang_es .globalHeader .snsBtn.other,
body.lang_es .globalFooter .app_link,
body.lang_es .globalFooter .recruit_link,
body.lang_es .globalFooter .company_link,
body.lang_es .globalFooter .snsBtn.other,
body.lang_th .globalHeader .app_link,
body.lang_th .globalHeader .recruit_link,
body.lang_th .globalHeader .company_link,
body.lang_th .globalHeader .snsBtn.other,
body.lang_th .globalFooter .app_link,
body.lang_th .globalFooter .recruit_link,
body.lang_th .globalFooter .company_link,
body.lang_th .globalFooter .snsBtn.other,
body.lang_vi .globalHeader .app_link,
body.lang_vi .globalHeader .recruit_link,
body.lang_vi .globalHeader .company_link,
body.lang_vi .globalHeader .snsBtn.other,
body.lang_vi .globalFooter .app_link,
body.lang_vi .globalFooter .recruit_link,
body.lang_vi .globalFooter .company_link,
body.lang_vi .globalFooter .snsBtn.other,
body.lang_it .globalHeader .app_link,
body.lang_it .globalHeader .recruit_link,
body.lang_it .globalHeader .company_link,
body.lang_it .globalHeader .snsBtn.other,
body.lang_it .globalFooter .app_link,
body.lang_it .globalFooter .recruit_link,
body.lang_it .globalFooter .company_link,
body.lang_it .globalFooter .snsBtn.other,
body.lang_ms .globalHeader .app_link,
body.lang_ms .globalHeader .recruit_link,
body.lang_ms .globalHeader .company_link,
body.lang_ms .globalHeader .snsBtn.other,
body.lang_ms .globalFooter .app_link,
body.lang_ms .globalFooter .recruit_link,
body.lang_ms .globalFooter .company_link,
body.lang_ms .globalFooter .snsBtn.other,
body.lang_id .globalHeader .app_link,
body.lang_id .globalHeader .recruit_link,
body.lang_id .globalHeader .company_link,
body.lang_id .globalHeader .snsBtn.other,
body.lang_id .globalFooter .app_link,
body.lang_id .globalFooter .recruit_link,
body.lang_id .globalFooter .company_link,
body.lang_id .globalFooter .snsBtn.other,
body.lang_ar .globalHeader .app_link,
body.lang_ar .globalHeader .recruit_link,
body.lang_ar .globalHeader .company_link,
body.lang_ar .globalHeader .snsBtn.other,
body.lang_ar .globalFooter .app_link,
body.lang_ar .globalFooter .recruit_link,
body.lang_ar .globalFooter .company_link,
body.lang_ar .globalFooter .snsBtn.other,
body.lang_ru .globalHeader .app_link,
body.lang_ru .globalHeader .recruit_link,
body.lang_ru .globalHeader .company_link,
body.lang_ru .globalHeader .snsBtn.other,
body.lang_ru .globalFooter .app_link,
body.lang_ru .globalFooter .recruit_link,
body.lang_ru .globalFooter .company_link,
body.lang_ru .globalFooter .snsBtn.other {
  display: none !important;
}

body.lang_ja .jaExc {
  display: none !important;
}

body.lang_ja .englishOnly {
  display: none !important;
}

body.lang_ja .enOnly,
body.lang_ja .zh-CHTOnly,
body.lang_ja .zh-CHSOnly,
body.lang_ja .koOnly,
body.lang_ja .frOnly,
body.lang_ja .deOnly,
body.lang_ja .esOnly,
body.lang_ja .thOnly,
body.lang_ja .viOnly,
body.lang_ja .itOnly,
body.lang_ja .msOnly,
body.lang_ja .idOnly,
body.lang_ja .arOnly,
body.lang_ja .ruOnly {
  display: none !important;
}

body.lang_en .enExc {
  display: none !important;
}

body.lang_en .jaOnly,
body.lang_en .zh-CHTOnly,
body.lang_en .zh-CHSOnly,
body.lang_en .koOnly,
body.lang_en .frOnly,
body.lang_en .deOnly,
body.lang_en .esOnly,
body.lang_en .thOnly,
body.lang_en .viOnly,
body.lang_en .itOnly,
body.lang_en .msOnly,
body.lang_en .idOnly,
body.lang_en .arOnly,
body.lang_en .ruOnly {
  display: none !important;
}

body.lang_en .globalHeader .menuBtnList .bookBtn span {
  width: 140px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_en .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 98px;
  }
}

body.lang_en .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_zh-CHT .jaOnly,
body.lang_zh-CHT .enOnly,
body.lang_zh-CHT .zh-CHSOnly,
body.lang_zh-CHT .koOnly,
body.lang_zh-CHT .frOnly,
body.lang_zh-CHT .deOnly,
body.lang_zh-CHT .esOnly,
body.lang_zh-CHT .thOnly,
body.lang_zh-CHT .viOnly,
body.lang_zh-CHT .itOnly,
body.lang_zh-CHT .msOnly,
body.lang_zh-CHT .idOnly,
body.lang_zh-CHT .arOnly,
body.lang_zh-CHT .ruOnly {
  display: none !important;
}

body.lang_zh-CHT .englishOnly {
  display: none !important;
}

body.lang_zh-CHS .jaOnly,
body.lang_zh-CHS .enOnly,
body.lang_zh-CHS .zh-CHTOnly,
body.lang_zh-CHS .koOnly,
body.lang_zh-CHS .frOnly,
body.lang_zh-CHS .deOnly,
body.lang_zh-CHS .esOnly,
body.lang_zh-CHS .thOnly,
body.lang_zh-CHS .viOnly,
body.lang_zh-CHS .itOnly,
body.lang_zh-CHS .msOnly,
body.lang_zh-CHS .idOnly,
body.lang_zh-CHS .arOnly,
body.lang_zh-CHS .ruOnly {
  display: none !important;
}

body.lang_zh-CHS .englishOnly {
  display: none !important;
}

body.lang_ko .jaOnly,
body.lang_ko .enOnly,
body.lang_ko .zh-CHTOnly,
body.lang_ko .zh-CHSOnly,
body.lang_ko .frOnly,
body.lang_ko .deOnly,
body.lang_ko .esOnly,
body.lang_ko .thOnly,
body.lang_ko .viOnly,
body.lang_ko .itOnly,
body.lang_ko .msOnly,
body.lang_ko .idOnly,
body.lang_ko .arOnly,
body.lang_ko .ruOnly {
  display: none !important;
}

body.lang_ko .englishOnly {
  display: none !important;
}

body.lang_fr .jaOnly,
body.lang_fr .enOnly,
body.lang_fr .zh-CHTOnly,
body.lang_fr .zh-CHSOnly,
body.lang_fr .koOnly,
body.lang_fr .deOnly,
body.lang_fr .esOnly,
body.lang_fr .thOnly,
body.lang_fr .viOnly,
body.lang_fr .itOnly,
body.lang_fr .msOnly,
body.lang_fr .idOnly,
body.lang_fr .arOnly,
body.lang_fr .ruOnly {
  display: none !important;
}

body.lang_fr .globalHeader .menuBtnList .bookBtn span {
  width: 140px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_fr .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 70px;
  }
}

body.lang_fr .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_de .jaOnly,
body.lang_de .enOnly,
body.lang_de .zh-CHTOnly,
body.lang_de .zh-CHSOnly,
body.lang_de .koOnly,
body.lang_de .frOnly,
body.lang_de .esOnly,
body.lang_de .thOnly,
body.lang_de .viOnly,
body.lang_de .itOnly,
body.lang_de .msOnly,
body.lang_de .idOnly,
body.lang_de .arOnly,
body.lang_de .ruOnly {
  display: none !important;
}

body.lang_de .globalHeader .menuBtnList .bookBtn span {
  width: 200px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_de .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: auto;
    padding: 0 4px;
  }
}

body.lang_de .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_de .globalHeader .menuBtnList .gnavBtn {
  font-size: 1.2rem;
  width: 90px;
}

@media (max-width: 1024px) {
  body.lang_de .globalHeader .menuBtnList .gnavBtn {
    width: 75px;
    font-size: 1rem;
  }
}

@media (max-width: 376px) {
  body.lang_de .globalHeader .siteLogo a img {
    width: 100px;
  }

  body.lang_de .globalHeader .wrapper {
    padding: 0 0 0 2%;
  }
}

@media (max-width: 767px) {
  body.lang_de .pagetop a {
    font-size: 1rem;
  }
}

@media (max-width: 767px) {
  body.lang_de .pagetop a span {
    font-size: 1.3rem;
  }
}

body.lang_es .jaOnly,
body.lang_es .enOnly,
body.lang_es .zh-CHTOnly,
body.lang_es .zh-CHSOnly,
body.lang_es .koOnly,
body.lang_es .frOnly,
body.lang_es .deOnly,
body.lang_es .thOnly,
body.lang_es .viOnly,
body.lang_es .itOnly,
body.lang_es .msOnly,
body.lang_es .idOnly,
body.lang_es .arOnly,
body.lang_es .ruOnly {
  display: none !important;
}

body.lang_es .globalHeader .menuBtnList .bookBtn span {
  width: 140px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_es .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 75px;
  }
}

body.lang_es .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

@media (max-width: 767px) {
  body.lang_es .pagetop a {
    font-size: 1rem;
  }
}

@media (max-width: 767px) {
  body.lang_es .pagetop a span {
    font-size: 1.3rem;
  }
}

body.lang_th .jaOnly,
body.lang_th .enOnly,
body.lang_th .zh-CHTOnly,
body.lang_th .zh-CHSOnly,
body.lang_th .koOnly,
body.lang_th .frOnly,
body.lang_th .deOnly,
body.lang_th .esOnly,
body.lang_th .viOnly,
body.lang_th .itOnly,
body.lang_th .msOnly,
body.lang_th .idOnly,
body.lang_th .arOnly,
body.lang_th .ruOnly {
  display: none !important;
}

body.lang_th .globalHeader .menuBtnList .bookBtn span {
  width: 140px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_th .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 65px;
  }
}

body.lang_th .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_vi .jaOnly,
body.lang_vi .enOnly,
body.lang_vi .zh-CHTOnly,
body.lang_vi .zh-CHSOnly,
body.lang_vi .koOnly,
body.lang_vi .frOnly,
body.lang_vi .deOnly,
body.lang_vi .esOnly,
body.lang_vi .thOnly,
body.lang_vi .itOnly,
body.lang_vi .msOnly,
body.lang_vi .idOnly,
body.lang_vi .arOnly,
body.lang_vi .ruOnly {
  display: none !important;
}

body.lang_vi .globalHeader .menuBtnList .bookBtn span {
  width: 140px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_vi .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 70px;
  }
}

body.lang_vi .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_vi .pagetop a {
  font-size: 1.1rem;
}

@media (max-width: 767px) {
  body.lang_vi .pagetop a {
    font-size: .7rem;
  }
}

body.lang_vi .pagetop a span {
  font-size: 1.5rem;
}

@media (max-width: 767px) {
  body.lang_vi .pagetop a span {
    font-size: 1.3rem;
  }
}

body.lang_it .jaOnly,
body.lang_it .enOnly,
body.lang_it .zh-CHTOnly,
body.lang_it .zh-CHSOnly,
body.lang_it .koOnly,
body.lang_it .frOnly,
body.lang_it .deOnly,
body.lang_it .esOnly,
body.lang_it .thOnly,
body.lang_it .viOnly,
body.lang_it .msOnly,
body.lang_it .idOnly,
body.lang_it .arOnly,
body.lang_it .ruOnly {
  display: none !important;
}

body.lang_it .globalHeader .menuBtnList .bookBtn span {
  width: 140px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_it .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 72px;
  }
}

body.lang_it .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_it .pagetop a {
  font-size: 1.1rem;
}

@media (max-width: 767px) {
  body.lang_it .pagetop a {
    font-size: .7rem;
  }
}

body.lang_it .pagetop a span {
  font-size: 1.5rem;
}

@media (max-width: 767px) {
  body.lang_it .pagetop a span {
    font-size: 1.3rem;
  }
}

body.lang_ja .frDeEsItOnly,
body.lang_en .frDeEsItOnly,
body.lang_zh-CHS .frDeEsItOnly,
body.lang_zh-CHT .frDeEsItOnly,
body.lang_ko .frDeEsItOnly,
body.lang_th .frDeEsItOnly,
body.lang_vi .frDeEsItOnly,
body.lang_ar .frDeEsItOnly,
body.lang_ru .frDeEsItOnly {
  display: none !important;
}

body.lang_fr .frDeEsItExc,
body.lang_de .frDeEsItExc,
body.lang_es .frDeEsItExc,
body.lang_it .frDeEsItExc,
body.lang_ms .frDeEsItExc,
body.lang_id .frDeEsItExc {
  display: none !important;
}

body.lang_fr .pageTitleArea .pageTitle .en,
body.lang_de .pageTitleArea .pageTitle .en,
body.lang_es .pageTitleArea .pageTitle .en,
body.lang_it .pageTitleArea .pageTitle .en,
body.lang_ms .pageTitleArea .pageTitle .en,
body.lang_id .pageTitleArea .pageTitle .en {
  display: none;
}

body.lang_fr .pageTitleArea .pageTitle .enExc,
body.lang_de .pageTitleArea .pageTitle .enExc,
body.lang_es .pageTitleArea .pageTitle .enExc,
body.lang_it .pageTitleArea .pageTitle .enExc,
body.lang_ms .pageTitleArea .pageTitle .enExc,
body.lang_id .pageTitleArea .pageTitle .enExc {
  display: block;
  font-size: 8.1rem;
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

@media (max-width: 767px) {

  body.lang_fr .pageTitleArea .pageTitle .enExc,
  body.lang_de .pageTitleArea .pageTitle .enExc,
  body.lang_es .pageTitleArea .pageTitle .enExc,
  body.lang_it .pageTitleArea .pageTitle .enExc,
  body.lang_ms .pageTitleArea .pageTitle .enExc,
  body.lang_id .pageTitleArea .pageTitle .enExc {
    margin-bottom: 10px;
    font-size: 3.9rem;
  }
}

body.lang_fr .secTitle01 .en,
body.lang_de .secTitle01 .en,
body.lang_es .secTitle01 .en,
body.lang_it .secTitle01 .en,
body.lang_ms .secTitle01 .en,
body.lang_id .secTitle01 .en {
  display: none;
}

body.lang_fr .secTitle01 .enExc,
body.lang_de .secTitle01 .enExc,
body.lang_es .secTitle01 .enExc,
body.lang_it .secTitle01 .enExc,
body.lang_ms .secTitle01 .enExc,
body.lang_id .secTitle01 .enExc {
  display: block;
  line-height: 1;
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  font-size: 6.5rem;
  letter-spacing: 0;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {

  body.lang_fr .secTitle01 .enExc,
  body.lang_de .secTitle01 .enExc,
  body.lang_es .secTitle01 .enExc,
  body.lang_it .secTitle01 .enExc,
  body.lang_ms .secTitle01 .enExc,
  body.lang_id .secTitle01 .enExc {
    font-size: 3.6rem;
  }
}

/* MSマレー語、IDインドネシア語追加 */
body.lang_ms .jaOnly,
body.lang_ms .enOnly,
body.lang_ms .zh-CHTOnly,
body.lang_ms .zh-CHSOnly,
body.lang_ms .koOnly,
body.lang_ms .frOnly,
body.lang_ms .deOnly,
body.lang_ms .esOnly,
body.lang_ms .itOnly,
body.lang_ms .thOnly,
body.lang_ms .viOnly,
body.lang_ms .idOnly,
body.lang_ms .arOnly,
body.lang_ms .ruOnly {
  display: none !important;
}

body.lang_ms .globalHeader .menuBtnList .bookBtn span {
  width: 135px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_ms .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 72px;
  }
}

body.lang_ms .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_id .jaOnly,
body.lang_id .enOnly,
body.lang_id .zh-CHTOnly,
body.lang_id .zh-CHSOnly,
body.lang_id .koOnly,
body.lang_id .frOnly,
body.lang_id .deOnly,
body.lang_id .esOnly,
body.lang_id .itOnly,
body.lang_id .thOnly,
body.lang_id .viOnly,
body.lang_id .msOnly,
body.lang_id .arOnly,
body.lang_id .ruOnly {
  display: none !important;
}

body.lang_id .globalHeader .menuBtnList .bookBtn span {
  width: 135px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_id .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 72px;
  }
}

body.lang_id .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

/* ARアラビア語、RUロシア語追加 */
body.lang_ar .jaOnly,
body.lang_ar .enOnly,
body.lang_ar .zh-CHTOnly,
body.lang_ar .zh-CHSOnly,
body.lang_ar .koOnly,
body.lang_ar .frOnly,
body.lang_ar .deOnly,
body.lang_ar .esOnly,
body.lang_ar .itOnly,
body.lang_ar .thOnly,
body.lang_ar .viOnly,
body.lang_ar .msOnly,
body.lang_ar .idOnly,
body.lang_ar .ruOnly {
  display: none !important;
}

body.lang_ar .globalHeader .menuBtnList .bookBtn span {
  width: 100px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_ar .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 72px;
  }
}

body.lang_ar .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_ru .jaOnly,
body.lang_ru .enOnly,
body.lang_ru .zh-CHTOnly,
body.lang_ru .zh-CHSOnly,
body.lang_ru .koOnly,
body.lang_ru .frOnly,
body.lang_ru .deOnly,
body.lang_ru .esOnly,
body.lang_ru .itOnly,
body.lang_ru .thOnly,
body.lang_ru .viOnly,
body.lang_ru .msOnly,
body.lang_ru .idOnly,
body.lang_ru .arOnly {
  display: none !important;
}

body.lang_ru .globalHeader .menuBtnList .bookBtn span {
  width: 215px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  body.lang_ru .globalHeader .menuBtnList .bookBtn span {
    line-height: initial;
    width: 120px;
  }
}

body.lang_ru .globalHeader .menuBtnList .bookBtn span svg {
  min-width: 28px;
}

body.lang_ru .pagetop a {
  font-size: 1.1rem;
}

@media (max-width: 767px) {
  body.lang_ru .pagetop a {
    font-size: .7rem;
  }
}

body.lang_ru .pagetop a span {
  font-size: 1.5rem;
}

@media (max-width: 767px) {
  body.lang_ru .pagetop a span {
    font-size: 1.3rem;
  }
}

/* -- ページトップ非表示 2026.02 -- */
:is(p, div):has(> a[href="#top"]):not(#pagetop) {
  display: none !important;
}

.btnS.toTop+.areaTitle {
  margin-top: calc(50px + 30px + 1lh) !important;
}

@media (max-width: 767px) {
  .btnS.toTop+.areaTitle {
    margin-top: calc(50px + 20px + 1lh) !important;
  }
}

.hotelList:has(+ .btnS) {
  margin-bottom: calc(30px + 1lh) !important;
}

@media (max-width: 767px) {
  .hotelList:has(+ .btnS) {
    margin-bottom: calc(20px + 1lh) !important;
  }
}

/* -- ページトップ非表示 2026.02end -- */