.txt-upper {
    text-transform: uppercase;
}

.box-pagination {
    display: flex;
    justify-content: center;
    padding: 5px 0;
}

.box-pagination .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}

.box-pagination .pagination li,
.box-pagination .pagination a,
.box-pagination .pagination span {
    width: 35px;
    height: 35px;
    display: block;
    line-height: 35px;
    text-align: center;
    margin: 0 5px;
    text-decoration: none !important;
    box-sizing: border-box;
    font-size: 24px;
}


/* 

.box-pagination .pagination li.off {
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 8px;
}

.box-pagination .pagination li a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: all 0.4s ease;
  font-size: 24px;
  border-radius: 0px;
  font-style: normal;
  color: #000;
  box-sizing: border-box;
}

.box-pagination .pagination li.arrow a {
  color: #000;
} */

.box-pagination .pagination .current,
.box-pagination .pagination a:hover {
    font-size: 24px;
    box-sizing: border-box;
    color: #FFF;
    background: #c6a26e;
    border-radius: 5px;
    text-align: center;
    width: 35px;
}

.box-pagination .pagination .dots {
    width: 20px;
    margin: 0;
}


/* 

.box-pagination .pagination li.arrow {
  margin: 0;
}

.box-pagination .pagination li.arrow a {
  border: none;
  background: none;
  transition: all 0.4s ease;
  transform: scaleY(1.4);
  color: #000;
}

.box-pagination .pagination li.arrow:hover a {
  opacity: 0.7;
}

.box-pagination .pagination li.off {
  display: none !important;
} */

.blog .lst .item {
    margin-bottom: 2.5rem;
}

@media only screen and (max-width: 767px) {
    .box-pagination {
        padding: 20px 0 25px;
    }
    .box-pagination .pagination li {
        margin: 0 1px;
    }
    .box-pagination .pagination li a,
    .box-pagination .pagination li a.active,
    .box-pagination .pagination li a:hover,
    .page-numbers.current {
        font-size: 18px !important;
    }
}

#header .active-videos span:before {
    opacity: 1;
    left: 0;
    right: 0;
}

h1 em,
h2 em,
h3 em,
h4 em,
h5 em,
h6 em {
    font-family: "BauerBodni BT", sans-serif, serif;
    font-style: italic;
}
@keyframes preloader {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
html {
  font-size: 15px;
}
@media (max-width: 1600px) {
  html {
    font-size: 13px;
  }
}
@media (max-width: 1280px) {
  html {
    font-size: 11px;
  }
}
@media (max-width: 1080px) {
  html {
    font-size: 13px;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 11px;
  }
}
html.auto--scroll {
  overflow: hidden !important;
}
html.auto--scroll body {
  overflow: hidden !important;
}

body {
  color: #000;
  font-size: 1.25rem;
  font-weight: 300;
  font-family: "Baskerville BT", sans-serif, serif;
  line-height: 1.4;
  background: #fff;
}
@media (max-width: 1600px) {
  body {
    font-size: 1.125rem;
  }
}
@media (max-width: 1080px) {
  body {
    font-size: 1rem;
  }
}

a {
  text-decoration: none;
}

.btn-lnk {
  padding: 0.4375rem 0.75rem;
  color: #FFF;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  background-color: #c6a26e;
  border: none;
}
.btn-lnk:hover {
  color: #FFF;
}

.toggle-display {
  display: none;
}
.toggle-display.active {
  display: block;
}

dl {
  margin: 0;
}

.fnt-basker {
  font-family: "Baskerville BT", sans-serif, serif;
}

.fnt-bodoni {
  font-family: "BauerBodni BT", sans-serif, serif;
}

.fnt-std {
  font-family: "BauerBodni BT", sans-serif, serif;
  font-style: italic;
}

.pc-only {
  display: block;
}
@media (max-width: 1080px) {
  .pc-only {
    display: none;
  }
}

.ipc-only {
  display: inline-block;
}
@media (max-width: 1080px) {
  .ipc-only {
    display: none;
  }
}

.xpc-only {
  display: flex;
}
@media (max-width: 1080px) {
  .xpc-only {
    display: none;
  }
}

.zpc-only {
  display: inline-flex;
}
@media (max-width: 1080px) {
  .zpc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media (max-width: 1080px) {
  .sp-only {
    display: block;
  }
}

.isp-only {
  display: none;
}
@media (max-width: 1080px) {
  .isp-only {
    display: inline-block;
  }
}

.xsp-only {
  display: none;
}
@media (max-width: 1080px) {
  .xsp-only {
    display: flex;
  }
}

.zsp-only {
  display: none;
}
@media (max-width: 1080px) {
  .zsp-only {
    display: inline-flex;
  }
}

.tablet-only {
  display: none;
}
@media (max-width: 768px) {
  .tablet-only {
    display: block;
  }
}

.itablet-only {
  display: none;
}
@media (max-width: 768px) {
  .itablet-only {
    display: inline-block;
  }
}

.xtablet-only {
  display: none;
}
@media (max-width: 768px) {
  .xtablet-only {
    display: flex;
  }
}

.ztablet-only {
  display: none;
}
@media (max-width: 768px) {
  .ztablet-only {
    display: inline-flex;
  }
}

@media (min-width: 1081px) {
  .auto-ellipsis--content {
    height: unset !important;
  }
}
@media (max-width: 1080px) {
  .auto-ellipsis--content {
    max-height: 6.5rem;
    overflow: hidden;
  }
  .auto-ellipsis--content.active {
    max-height: unset;
  }
  .auto-ellipsis--content.active ~ .auto-ellipsis--more {
    display: none;
  }
}
.auto-ellipsis--more {
  cursor: pointer;
  display: none;
  margin-top: 0.25rem;
  color: #A37E4E;
  font-style: italic;
  font-weight: 300;
  text-align: center;
}
@media (max-width: 1080px) {
  .auto-ellipsis--more {
    display: block;
  }
}

textarea,
input:not([type=radio]):not([type=checkbox]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  padding: 0.375rem 0.75rem;
  color: #212529;
  font-size: 1rem;
  font-weight: 400;
  font-family: "Baskerville BT", sans-serif, serif;
  line-height: 1.5;
  background-color: #FFF;
  width: 100%;
  border: 1px solid #000;
  border-radius: 0;
  outline: none;
}

button {
  padding: 0.4375rem;
  color: #FFF;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  background-color: #C6A26E;
  border: none;
}

.i-checkbox {
  cursor: pointer;
  display: flex;
  align-items: center;
}
.i-checkbox [type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-print-color-adjust: exact;
          color-adjust: exact;
  width: 1.125rem;
  height: 1.125rem;
  border: 1px solid #000;
}
.i-checkbox [type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
}

.wrap {
  margin: auto;
  width: 100%;
  max-width: 1750px;
}
.wrap-1 {
  margin: auto;
  width: 100%;
  max-width: 1400px;
}
@media (max-width: 1600px) {
  .wrap-1 {
    max-width: 1250px;
  }
}
@media (max-width: 1280px) {
  .wrap-1 {
    max-width: 1100px;
  }
}
.wrap-2 {
  margin: auto;
  width: 100%;
  max-width: 1400px;
}
@media (max-width: 1600px) {
  .wrap-2 {
    max-width: 1250px;
  }
}
@media (max-width: 1280px) {
  .wrap-2 {
    max-width: 1100px;
  }
}
.wrap-3 {
  margin: auto;
  width: 100%;
  max-width: 918px;
}
.wrap-4 {
  margin: auto;
  width: 100%;
  max-width: 1550px;
}
.wrap-5 {
  margin: auto;
  width: 100%;
  max-width: 1490px;
}
.wrap-6 {
  margin: auto;
  width: 100%;
  max-width: 800px;
}
.wrap-7 {
  margin: auto;
  width: 100%;
  max-width: 1920px;
}

.fit-height {
  min-height: calc(100vh - 7.5rem);
}
@media (max-width: 1600px) {
  .fit-height {
    min-height: calc(100vh - 6.5625rem);
  }
}
@media (max-width: 1280px) {
  .fit-height {
    min-height: calc(100vh - 5.8594rem);
  }
}
@media (max-width: 1080px) {
  .fit-height {
    min-height: unset;
  }
}

.fit-height-y {
  height: calc(100vh - 7.5rem);
}
@media (max-width: 1600px) {
  .fit-height-y {
    height: calc(100vh - 6.5625rem);
  }
}
@media (max-width: 1280px) {
  .fit-height-y {
    height: calc(100vh - 5.8594rem);
  }
}
@media (max-width: 1080px) {
  .fit-height-y {
    height: unset;
  }
}

.ttl {
  color: #A37E4D;
  font-size: 2.5rem;
  font-weight: 300;
}
@media (max-width: 1600px) {
  .ttl {
    font-size: 2.15rem;
  }
}
@media (max-width: 1280px) {
  .ttl {
    font-size: 2rem;
  }
}
@media (max-width: 1080px) {
  .ttl {
    font-size: 1.625rem;
  }
}
.ttl i,
.ttl em {
  font-family: "BauerBodni BT", sans-serif, serif;
  font-style: italic;
}

.bg-slider {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.bg-slider .slide {
  background-color: #C9DDEE;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100% !important;
}
.bg-slider .slide:not(.fp-slide) {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.bg-slider.faded {
  width: 100%;
  height: 100%;
  position: relative;
}
.bg-slider.faded .fp-slides {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.bg-slider.faded .fp-slidesContainer {
  width: 100% !important;
  transform: none !important;
  position: relative;
}
.bg-slider.faded .slide {
  opacity: 0;
  width: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: opacity 0.5s ease;
}
.bg-slider.faded .slide.active {
  opacity: 1;
}

.fp-controlArrow {
  cursor: pointer;
  width: 2.1575rem !important;
  height: 3.9156rem;
}
@media (max-width: 1080px) {
  .fp-controlArrow {
    width: 1.25rem !important;
    height: 1.75rem;
  }
}
.fp-controlArrow.fp-prev, .fp-controlArrow.fp-next {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border: none;
}
.fp-controlArrow.fp-prev {
  background-image: url(../images/btn-prev.svg);
  left: 4.5%;
}
@media (max-width: 1080px) {
  .fp-controlArrow.fp-prev {
    left: 3.5%;
  }
}
.fp-controlArrow.fp-next {
  background-image: url(../images/btn-next.svg);
  right: 4.5%;
}
@media (max-width: 1080px) {
  .fp-controlArrow.fp-next {
    right: 3.5%;
  }
}

.fp-slidesNav {
  display: none;
  text-align: center;
}
.fp-slidesNav li {
  margin: 0 0.5rem !important;
  width: 1rem !important;
  height: 1rem !important;
}
.fp-slidesNav span {
  margin: 0 !important;
  background: transparent !important;
  width: 100% !important;
  height: 100% !important;
  border: 1px solid #A37E4D !important;
  top: 0 !important;
  left: 0 !important;
}
.fp-slidesNav a.active span {
  background: #A37E4D !important;
}

section,
.section {
  max-width: 100vw;
}

@media (max-width: 1080px) {
  .section-scroll.keep > .section:not(#footer):not(.section.slides) {
    padding-top: 0;
    height: calc(100vh - 7.5rem) !important;
    /*
    [style*='--header-height'] & {
    	height: calc(100vh - var(--header-height)) !important;
    }
    [style*='--header-height'][style*='--footer-height'] & {
    	height: calc(100vh - var(--header-height) - var(--footer-height)) !important;
    }
    */
  }
}
@media (max-width: 1080px) {
  .section-scroll.keep > .section.section.slides {
    padding-top: 0;
  }
}
@media (max-width: 1080px) {
  .section-scroll:not(.keep) > .section {
    padding-top: unset;
    height: unset !important;
  }
  .section-scroll:not(.keep) > .section .fp-tableCell,
.section-scroll:not(.keep) > .section .fp-scrollable {
    height: unset !important;
  }
}
.section-scroll > .section {
  padding-top: 7.5rem;
  background: #FFF;
}
@media (max-width: 1600px) {
  .section-scroll > .section {
    padding-top: 6.5625rem;
  }
}
@media (max-width: 1280px) {
  .section-scroll > .section {
    padding-top: 5.8594rem;
  }
}
@media (max-width: 1080px) {
  .section-scroll > .section .iScrollLoneScrollbar {
    display: none;
  }
}
.section-scroll > .section .wrap:not(.no-centered) {
  display: flex;
  align-items: center;
}
.section-scroll > .section > .bg-slider {
  top: 7.5rem;
}
@media (max-width: 1600px) {
  .section-scroll > .section > .bg-slider {
    top: 6.5625rem;
  }
}
@media (max-width: 1280px) {
  .section-scroll > .section > .bg-slider {
    top: 5.8594rem;
  }
}
.section-scroll img {
  display: block;
  max-width: 100%;
}

#preloader {
  cursor: wait;
  margin: auto;
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 9;
}
html.site--loaded #preloader {
  opacity: 0;
  visibility: hidden;
}
#preloader:before {
  content: "";
  margin: auto;
  width: 4rem;
  height: 4rem;
  border: 0.375rem solid #FFF;
  border-color: #FFF transparent #FFF transparent;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  animation: preloader 1s linear infinite;
}

#header {
  height: 7.5rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  transition: box-shadow 0.3s ease;
  z-index: 3;
  overflow: hidden;
}
@media (max-width: 1600px) {
  #header {
    height: 6.5625rem;
  }
}
@media (max-width: 1280px) {
  #header {
    height: 5.8594rem;
  }
}
@media (max-width: 1080px) {
  #header {
    height: 7.5rem;
    z-index: 2;
  }
}
#homepage #header:not(.active), #branded #header:not(.active) {
  box-shadow: none;
}
#header:before {
  content: "";
  pointer-events: none;
  margin: auto;
  background: url(/wp-content/uploads/2025/04/keyvisual-bg.jpg) no-repeat center top/cover;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
#header:after {
  content: "";
  pointer-events: none;
  opacity: 0.3;
  background: #259AA6;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
#header ~ #container #fullpage #stay {
  padding-top: 7.5rem;
}
@media (max-width: 1600px) {
  #header ~ #container #fullpage #stay {
    padding-top: 6.5625rem;
  }
}
@media (max-width: 1280px) {
  #header ~ #container #fullpage #stay {
    padding-top: 5.8594rem;
  }
}
#header .logo {
  display: none;
  width: 12rem;
  height: 3.875rem;
  transform: translateY(1.75rem);
}
@media (max-width: 1080px) {
  #header .logo {
    display: block;
    margin: auto;
    position: relative;
    z-index: 3;
  }
}
#header .wrap {
  position: relative;
}
#header .language {
  display: flex;
  align-items: center;
  margin: 0 -0.25rem;
  font-size: 1rem;
  height: 7.5rem;
  position: absolute;
  top: 0;
  left: 2.5%;
  transform: translateY(0.15rem);
  z-index: 1;
}
@media (max-width: 1600px) {
  #header .language {
    height: 6.5625rem;
  }
}
@media (max-width: 1280px) {
  #header .language {
    height: 5.8594rem;
  }
}
@media (max-width: 1080px) {
  #header .language {
    font-size: 1.5rem;
    height: unset;
    position: fixed;
    top: 2.5rem;
    left: 1.5rem;
    z-index: 3;
  }
}
#header .language a {
  display: inline-block;
  margin: 0 0.25rem;
  color: #FFF;
  font-weight: 500;
  position: relative;
}
@media (max-width: 1080px) {
  #header .language a {
    display: block;
  }
}
#header .language a ~ a {
  padding-left: 0.5rem;
}
#header .language a ~ a:before {
  content: "";
  background: #FFF;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
#header .menu {
  display: none;
  padding: 10px 13.5px;
  background: none;
  border: none;
  position: absolute;
  top: 3rem;
  right: 1.5rem;
  z-index: 3;
}
@media (max-width: 1080px) {
  #header .menu {
    display: block;
  }
}
#header .menu:before, #header .menu:after {
  content: "";
  background: #FBEDCA;
  height: 2px;
  border-radius: 1px;
  position: absolute;
  left: 0;
  right: 0;
  transition: transform 0.5s cubic-bezier(0.75, 0.25, 0.05, 1), background 0.5s cubic-bezier(0.75, 0.25, 0.05, 1), opacity 0.55s ease;
}
.open--nav #header .menu:before, .open--nav #header .menu:after {
  opacity: 1;
  background: #FFF;
}
#header .menu:before {
  top: 0;
  transform-origin: 0% 0%;
}
.open--nav #header .menu:before {
  transform: rotate(45deg) translate(-1px, -1px);
}
#header .menu:after {
  bottom: 0;
  transform-origin: 0% 100%;
}
.open--nav #header .menu:after {
  transform: rotate(-45deg) translate(0, -1px);
}
#header .menu span {
  margin: auto 0;
  background: #FBEDCA;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 1px;
  transform-origin: 1px 0;
  transition: transform 0.5s cubic-bezier(0.75, 0.25, 0.05, 1), background 0.5s cubic-bezier(0.75, 0.25, 0.05, 1), opacity 0.55s ease;
}
.open--nav #header .menu span {
  opacity: 0;
  transform: rotate(0deg) scale(0.25, 0.25);
}

#nav {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  padding-top: 1.25rem;
  padding-bottom: 0.375rem;
  font-size: 1.125rem;
  line-height: 1.1875;
  text-transform: uppercase;
  max-width: 1600px;
}
@media (max-width: 1600px) {
  #nav {
    padding-top: 1rem;
  }
}
@media (max-width: 1080px) {
  #nav {
    opacity: 0;
    flex-direction: column;
    padding: 0;
    background: #2E6F83;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    visibility: hidden;
    z-index: 1;
  }
  html.open--nav #nav {
    opacity: 1;
    visibility: visible;
  }
}
#nav nav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40%;
}
@media (max-width: 1080px) {
  #nav nav {
    flex-direction: column;
    width: unset;
  }
}
#nav a {
  display: inline-block;
  margin: 0 0.85rem;
  color: #EDE0A4;
  font-size: 1rem;
  white-space: nowrap;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0);
  text-align: center;
  max-width: 10rem;
  transform: translateY(0.5rem);
  transition: color 0.3s ease;
}
@media (max-width: 1600px) {
  #nav a {
    margin: 0 0.75rem;
    transform: none;
  }
}
@media (max-width: 1080px) {
  #nav a {
    margin: 1.5rem 0;
    font-size: 1.375rem;
    max-width: unset;
  }
}
#nav a:hover {
  color: #fff;
}
#nav a span {
  display: inline-block;
  position: relative;
}
#nav a span:before {
  content: "";
  opacity: 0;
  background: url(../images/mask-logo.jpg) repeat center;
  height: 4px;
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -0.75rem;
  transition: opacity 0.3s ease, left 0.3s ease, right 0.3s ease;
}
@media (max-width: 1600px) {
  #nav a span:before {
    bottom: -0.5rem;
  }
}
@media (max-width: 1280px) {
  #nav a span:before {
    height: 2px;
    bottom: -0.35rem;
  }
}
#nav a span strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (min-width: 1081px) {
  #nav a:hover {
    color: #E2DBAB;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.35);
  }
  #nav a:hover span:before {
    opacity: 1;
    left: 0;
    right: 0;
  }
}
#nav a.logo {
  max-width: unset;
}
#nav a.active {
  opacity: 1;
}
#nav a.active span:before {
  opacity: 1;
  left: 0;
  right: 0;
}
#nav .logo {
  display: block;
  width: 20%;
  text-align: center;
  transform: translateY(-0.75rem) scale(1);
  transition: transform 0.3s ease;
}
@media (max-width: 1600px) {
  #nav .logo {
    width: 16%;
  }
}
@media (max-width: 1280px) {
  #nav .logo {
    width: 13.5%;
  }
}
@media (max-width: 1080px) {
  #nav .logo {
    display: none;
  }
}
body:not(#homepage) #nav .logo {
  transform: translateY(-0.35rem) scale(0.75);
}
#header.active #nav .logo {
  transform: translateY(-0.35rem) scale(0.75);
}

#sns {
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 1;
}
@media (max-width: 1080px) {
  #sns {
    flex-direction: row;
    align-items: center;
    margin: auto;
    padding-top: 3.5rem;
    padding-bottom: 1.5rem;
    width: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    overflow: hidden;
  }
  html.open--nav #sns {
    opacity: 1;
    visibility: visible;
  }
}
#sns:before {
  content: "";
  opacity: 0.36;
  display: none;
  background: rgba(0, 0, 0, 0.15);
  background: linear-gradient(0deg, #000 0%, #392B11 0.138%, transparent 100%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: opacity 0.3s ease;
}
@media (max-width: 1080px) {
  #sns:before {
    display: block;
  }
}
#sns a {
  pointer-events: visible;
  margin: 0.375rem;
  padding: 0.25rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 1080px) {
  #sns a {
    flex: 1 0 0%;
  }
}
#sns a img {
  display: block;
  margin: auto;
}
@media (max-width: 1080px) {
  #sns a img {
    max-width: 1.625rem;
    max-height: 2.0625rem;
  }
}

#footer {
  padding: 1rem 1.875rem;
  color: #FFF;
  font-size: 0.75rem;
  background: url(/wp-content/uploads/2025/04/footer-bg.jpg) no-repeat center/cover;
}
@media (max-width: 1600px) {
  #footer {
    padding: 1.5rem;
  }
}
@media (max-width: 1080px) {
  #footer {
    padding: 3.375rem 0;
    padding-bottom: 5rem;
    font-size: 0.85rem;
    line-height: 1.5;
    background-image: url(../img/common/footer-bg-sp.jpg);
  }
}
#footer p {
  margin-bottom: 0;
}
#footer .wrap {
  display: flex;
  align-items: center;
}
@media (max-width: 1080px) {
  #footer .wrap {
    display: block;
    margin: auto;
    max-width: 90%;
  }
}
#footer .info {
  width: 40.5%;
  transform: translateX(2.97%);
}
@media (max-width: 1080px) {
  #footer .info {
    font-weight: 600;
    width: 100%;
    transform: none;
  }
}
#footer .disclaimer {
  width: 50.9%;
  transform: translateX(-3.08%);
}
@media (max-width: 1080px) {
  #footer .disclaimer {
    margin-top: 1.5rem;
    width: 100%;
    transform: none;
  }
}

#container > *:first-child:not(#fullpage) {
  margin-top: 7.5rem;
}
@media (max-width: 1600px) {
  #container > *:first-child:not(#fullpage) {
    margin-top: 6.5625rem;
  }
}
@media (max-width: 1280px) {
  #container > *:first-child:not(#fullpage) {
    margin-top: 5.8594rem;
  }
}
@media (max-width: 1080px) {
  #container > *:first-child:not(#fullpage) {
    margin-top: 7.5rem;
  }
}

@media (max-width: 1080px) {
  #fullpage > *:first-child:not(#keyvisual) {
    margin-top: 7.5rem;
  }
}

#stay {
  padding-top: 3.125rem;
  font-size: 0.875rem;
  text-align: center;
}
@media (max-width: 1080px) {
  #stay {
    padding-top: 2.625rem;
    padding-bottom: 5.125rem;
  }
}
#gallery #stay .wrap, #sales #stay .wrap {
  padding-bottom: 2.5rem;
  min-height: unset !important;
}
#stay .ttl {
  margin-bottom: 0.625rem;
  font-size: 1.875rem;
}
@media (max-width: 1600px) {
  #stay .ttl {
    font-size: 2.25rem;
  }
}
@media (max-width: 1280px) {
  #stay .ttl {
    font-size: 1.35rem;
  }
}
#stay h2 {
  margin-bottom: 2rem;
  text-align: center;
  text-transform: uppercase;
}
#stay .contact {
  margin: auto;
  margin-bottom: 3.5rem;
  width: 100%;
  max-width: 100rem;
}
@media (max-width: 1600px) {
  #stay .contact {
    margin-bottom: 3rem;
  }
}
@media (max-width: 1280px) {
  #stay .contact {
    margin-bottom: 1rem;
  }
  html[lang=vi] #stay .contact {
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 1080px) {
  #stay .contact {
    max-width: 90%;
  }
}
#stay .contact h2 {
  margin-bottom: 2rem;
}
#stay .contact dt {
  font-size: 1.375rem;
}
@media (max-width: 1600px) {
  #stay .contact dt {
    font-size: 1.875rem;
  }
}
@media (max-width: 1280px) {
  #stay .contact dt {
    font-size: 1.35rem;
  }
}
#stay .lst {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1080px) {
  #stay .lst {
    display: block;
  }
}
#stay a {
  color: #000;
}
#stay dl {
  padding: 0.625rem 1.5rem;
  width: 25%;
  position: relative;
}
@media (max-width: 1080px) {
  #stay dl {
    margin-top: 1.5rem;
  }
}
@media (max-width: 1600px) {
  #stay dl {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (max-width: 1280px) {
  html[lang=vi] #stay dl {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
}
@media (max-width: 1080px) {
  #stay dl {
    padding-top: 1.5rem;
    padding-left: unset;
    padding-right: unset;
    width: 100%;
  }
}
#stay dl ~ dl:before {
  content: "";
  background: #A37E4E;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
@media (max-width: 1080px) {
  #stay dl ~ dl:before {
    display: none;
  }
}
#stay dt {
  margin: 0;
  font-weight: 500;
}
@media (max-width: 1080px) {
  #stay dt {
    margin-bottom: 0.25rem !important;
  }
}
#stay dd {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}
@media (max-width: 1080px) {
  #stay .area {
    margin: auto;
    margin-top: 1.5rem;
    max-width: 90%;
  }
}
#gallery #stay .area .ttl, #sales #stay .area .ttl {
  margin-top: 1rem;
}
@media (max-width: 1080px) {
  #stay .address {
    margin: auto;
    width: 20rem;
  }
}
#stay .form {
  margin: auto;
  max-width: 38.5rem;
}
@media (max-width: 1080px) {
  #stay .form {
    margin-top: 2.25rem;
    max-width: 90%;
  }
}
#gallery #stay .form .ttl, #sales #stay .form .ttl {
  margin-top: 1rem;
}
#stay .form label {
  font-size: 0.8125rem;
}
#stay .form textarea,
#stay .form input {
  font-size: 0.8125rem;
}
#stay .form button {
  padding-left: 2.8125rem;
  padding-right: 2.8125rem;
  font-size: 1.125rem;
  font-weight: 600;
}
@media (max-width: 1600px) {
  #stay .form button {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
    font-size: 1rem;
  }
}
#stay .txt {
  margin-bottom: 1.25rem;
  font-size: 1rem;
}
@media (max-width: 1280px) {
  html[lang=vi] #stay .txt {
    margin-bottom: 0.5rem;
  }
}

.slider {
  margin-bottom: 3rem;
  padding: 0 5.375rem;
}
@media (max-width: 1600px) {
  .slider {
    margin-bottom: 2.5rem;
  }
}
@media (max-width: 1280px) {
  .slider {
    margin-bottom: 2rem;
  }
}
.slider .slide-item {
  height: 70vh;
  position: relative;
  overflow: hidden;
}
.slider .slide-item > * {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.slider .slide-item p {
  display: block;
  margin: 0;
}
.slider .slide-item img {
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
}
.slider .slide-item video,
.slider .slide-item iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.slider .slide-item .video-wrap {
  background: #EEE;
  overflow: hidden;
}
.slider .slide-item .video-wrap.ratio-16-9 {
  padding-top: 56.25%;
  width: 100%;
  position: relative;
}
.slider .slide-item .video-wrap video,
.slider .slide-item .video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.slick-slide > * {
  display: block;
}

.slick-nav .slick-slide {
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
.slick-nav .slick-slide:hover, .slick-nav .slick-slide.slick-current {
  opacity: 1;
}

.slick-arrow {
  cursor: pointer;
  margin: auto;
  padding: 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 2.25rem;
  height: 4rem;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.slick-arrow.slick-prev {
  background-image: url(../img/common/arrow-left.svg);
  left: 0;
}
.slick-arrow.slick-next {
  background-image: url(../img/common/arrow-right.svg);
  right: 0;
}

.slick-dots {
  list-style: none outside none;
  margin: 0;
  padding: 0;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2.625rem;
}
@media (max-width: 1080px) {
  .slick-dots {
    bottom: -1.5rem;
  }
}
.slick-dots > * {
  display: inline-block;
}
.slick-dots > * button {
  cursor: pointer;
  display: block;
  margin: 0 0.5rem;
  padding: 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
  background: transparent;
  width: 1rem;
  height: 1rem;
  border: 1px solid #A37E4D;
  border-radius: 100%;
  outline: none;
  transition: opacity 0.3s ease, background 0.3s ease;
}
@media (max-width: 1080px) {
  .slick-dots > * button {
    width: 0.625rem;
    height: 0.625rem;
  }
}
.slick-dots > *:hover button {
  opacity: 0.5;
  background: #A37E4D;
}
@media (max-width: 1080px) {
  .slick-dots > *:hover button {
    opacity: 1;
  }
}
.slick-dots > *.slick-active button {
  background: #A37E4D;
}

.x-slider {
  position: relative;
}
.x-slider--main {
  overflow: hidden;
}
.x-slider--pager {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.x-slider--pager > * {
  cursor: pointer;
  display: block;
  margin: 0 0.75rem;
  background: transparent;
  width: 1rem;
  height: 1rem;
  border: 1px solid #FFF;
  border-radius: 100%;
  transition: background 0.3s ease;
}
.x-slider--pager > *:hover, .x-slider--pager > *.active {
  background: #FFF;
}

.wpcf7-response-output {
  text-align: left;
}
.wpcf7-response-output p {
  margin: 0.5rem 0;
}