@charset "UTF-8";
/* ==========================================================================//
//　Fonts
// ========================================================================== */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap");

/* ==========================================================
  libs
========================================================== */
/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color: #007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered>.swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
  height: 100%;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
  width: 100%;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

/* ==========================================================================//
// Foundation
// ========================================================================== */
/* stylelint-disable */
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  box-sizing: border-box;
}

html.is-locked {
  overflow-y: scroll;
  position: fixed;
  left: 0;
  width: 100%;
}

body {
  background-color: #fff;
  font-family: "Helvetica", sans-serif;
  font-size: 1rem;
  color: #243e59;
  line-height: 1.4;
  letter-spacing: 0.2em;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  border-radius: 0;
  box-shadow: none;
  background: none;
  font-family: inherit;
  font-size: 100%;
}

textarea {
  resize: none;
}

strong {
  font-weight: 700;
}

sub {
  vertical-align: sub;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: #243e59;
  text-decoration: none;
}

a:hover,
a:active,
a:focus,
a:visited {
  text-decoration: none;
}

/* ==========================================================================//
// Layout
// ========================================================================== */
/* l-contents
---------------------------------------------------------- */
.l-contents {
  width: 100%;
}

/* c-container
---------------------------------------------------------- */
.c-container {
  position: relative;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-container {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-container {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.l-footer {
  position: relative;
  padding-bottom: 78px;
}

.l-footer__top {
  background-color: #fbf9f6;
}

@media all and (max-width: 767px) {
  .l-footer__top {
    padding: 24px 24px 12px;
  }
}

@media all and (max-width: 767px) {
  .l-footer__top .c-nav-global__list {
    padding-bottom: 8px;
  }
}

@media all and (max-width: 767px) {
  .l-footer__top .c-nav-global__inner {
    padding-bottom: 0;
  }
}

.l-footer__bottom {
  max-width: 390px;
  width: 100%;
  margin: 0 auto;
  padding: 64px 24px 40px;
  text-align: center;
}

.l-footer__logo {
  width: 200px;
  margin: 0 auto;
}

.l-footer__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 64px;
}

.l-footer__sns-link {
  display: block;
  width: 30px;
  height: 30px;
}

.l-footer__sns-link>img {
  width: 100%;
  height: 100%;
}

@media all and (min-width: 768px) {
  .l-footer__sns-link {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .l-footer__sns-link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.l-footer__links {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
}

.l-footer__links-item {
  position: relative;
  padding: 0 8px 0 9px;
}

.l-footer__links-item:not(:first-child)::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 16px;
  background-color: #ccc;
}

.l-footer__links-link {
  font-size: 0.6875rem;
  letter-spacing: 0.19em;
}

@media all and (min-width: 768px) {
  .l-footer__links-link {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .l-footer__links-link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.l-footer__copyright {
  margin-top: 60px;
  font-size: 0.6875rem;
  color: #808080;
  letter-spacing: 0.195em;
}

@media all and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: 62px;
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 60px;
  background-color: #a9a9a9;
  z-index: 10011;
  transition: transform 0.4s ease-in-out;
}

.l-header::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 1;
}

.l-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1304px;
  width: 100%;
  margin: 0 auto;
  padding: 14px 64px;
  z-index: 4;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .l-header__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (max-width: 767px) {
  .l-header__inner {
    max-width: 100%;
    padding: 14px 16px;
  }
}

.l-header__logo {
  width: 120px;
}

.l-header__left {
  display: flex;
  align-items: center;
  gap: 16px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .l-header__left {
    gap: 1.1049723757vw;
  }
}

.l-header__menu {
  position: relative;
  width: 32px;
  height: 32px;
  cursor: pointer;
}

@media all and (min-width: 768px) {
  .l-header__menu {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .l-header__menu:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.l-header__menu span {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  width: 22px;
  height: 2px;
  margin: 0 auto;
  background-color: #243e59;
  transition: all 0.4s ease-out;
}

.l-header__menu span:nth-child(1) {
  top: 8px;
}

.l-header__menu span:nth-child(2) {
  top: 15px;
}

.l-header__menu span:nth-child(3) {
  top: 22px;
}

.l-header__menu.is-open span {
  top: 15px;
}

.l-header__menu.is-open span:nth-child(1) {
  transform: rotate(45deg);
}

.l-header__menu.is-open span:nth-child(2) {
  opacity: 0;
}

.l-header__menu.is-open span:nth-child(3) {
  transform: rotate(135deg);
}

.l-header__list {
  display: flex;
}

@media all and (max-width: 767px) {
  .l-header__list {
    display: none;
  }
}

.l-header__item {
  position: relative;
  padding: 0 16px 0 17px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .l-header__item {
    padding-right: 1.1049723757vw;
    padding-left: 1.1740331492vw;
  }
}

.l-header__item:not(:first-child)::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 16px;
  background-color: #ccc;
}

.l-header__link {
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.17em;
}

@media all and (min-width: 768px) {
  .l-header__link {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .l-header__link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.l-header__right {
  display: flex;
  align-items: center;
  gap: 16px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .l-header__right {
    gap: 1.1049723757vw;
  }
}

.l-header__search,
.l-header__account {
  width: 32px;
}

@media all and (min-width: 768px) {

  .l-header__search,
  .l-header__account {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .l-header__search:hover,
  .l-header__account:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.l-header.is-hide {
  transform: translateY(-101%);
}

/* ==========================================================================//
// Components
// ========================================================================== */
/* c-bar-contact
---------------------------------------------------------- */
.c-bar-contact {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 12px 24px;
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.1);
  background: #fff;
  text-align: center;
  z-index: 10;
}

.c-bar-contact__button {
  display: inline-block;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.2em;
  color: #fff;
  text-align: center;
  border-radius: 4px;
  padding: 16px 20px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #333;
}

@media all and (min-width: 768px) {
  .c-bar-contact__button {
    min-width: 400px;
  }
}

@media all and (max-width: 767px) {
  .c-bar-contact__button {
    width: 100%;
  }
}

/* c-box-01
---------------------------------------------------------- */
.c-box-01 {
  display: flex;
  flex-direction: column;
  gap: 128px 0;
}

@media all and (max-width: 767px) {
  .c-box-01 {
    gap: 64px 0;
  }
}

.c-box-01__item {
  display: flex;
  align-items: center;
  gap: 40px 0;
}

@media all and (min-width: 768px) {
  .c-box-01__item {
    gap: 0 32px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-01__item {
    gap: 0 2.4539877301vw;
  }
}

@media all and (max-width: 767px) {
  .c-box-01__item {
    flex-direction: column;
  }
}

@media all and (min-width: 768px) {
  .c-box-01__item:nth-child(odd) .c-box-01__left {
    order: 1;
  }
}

@media all and (max-width: 767px) {
  .c-box-01__item:nth-child(odd) .c-box-01__left {
    order: 2;
  }
}

@media all and (min-width: 768px) {
  .c-box-01__item:nth-child(odd) .c-box-01__right {
    width: 664px;
    order: 2;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-01__item:nth-child(odd) .c-box-01__right {
    width: 50.9202453988vw;
  }
}

@media all and (max-width: 767px) {
  .c-box-01__item:nth-child(odd) .c-box-01__right {
    order: 1;
  }
}

.c-box-01__left {
  order: 2;
}

@media all and (min-width: 768px) {
  .c-box-01__left {
    flex: 1 0 auto;
    width: 480px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-01__left {
    width: 36.8098159509vw;
  }
}

.c-box-01__right {
  order: 1;
}

@media all and (min-width: 768px) {
  .c-box-01__right {
    width: 664px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-01__right {
    width: 50.9202453988vw;
  }
}

.c-box-01__title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-bottom: 16px;
}

.c-box-01__text {
  font-size: 1rem;
  letter-spacing: 0.2em;
}

/* c-box-point
---------------------------------------------------------- */
.c-box-point,
.c-box-rooms {
  position: relative;
  background-color: #f5f0e8;
  padding: 96px 0 136px;
  overflow: hidden;
}

@media all and (max-width: 767px) {

  .c-box-point,
  .c-box-rooms {
    padding: 72px 0;
  }
}

.c-box-point__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-point__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-point__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.c-box-point__heading {
  margin-bottom: 128px;
}

/* c-box-lead
---------------------------------------------------------- */
.c-box-lead {
  background-color: #39638f;
}

.c-box-lead__inner {
  width: 100%;
  padding: 40px 24px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-lead__inner {
    padding: 40px 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .c-box-lead__inner {
    max-width: 928px;
    margin: 0 auto;
    padding: 40px 64px;
  }
}

.c-box-lead__title {
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
  color: #fff;
}

.c-box-lead__text {
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 15;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-box-lead__text.is-show {
  display: block;
}

/* c-box-highlights
---------------------------------------------------------- */
.c-box-highlights {
  position: relative;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.9) 100%), url("/assets/image/destinations/kenya/bg_highlights_02_pc.jpg") top center no-repeat;
  background-size: cover;
  padding: 136px 0 128px;
}

.c-box-highlights::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_03_top.png") top center repeat-x;
  background-size: auto 38px;
}

@media all and (max-width: 767px) {
  .c-box-highlights {
    padding: 88px 0 0;
  }
}

.c-box-highlights__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-highlights__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-highlights__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.c-box-highlights__heading {
  margin-bottom: 128px;
  color: #fff;
}

@media all and (max-width: 767px) {
  .c-box-highlights__heading {
    margin-bottom: 32px;
  }
}

@media all and (min-width: 768px) {

  .c-box-highlights__box,
  .c-box-overview__box {
    display: flex;
    gap: 0 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {

  .c-box-highlights__box,
  .c-box-overview__box {
    gap: 0 4.9079754601vw;
  }
}

@media all and (min-width: 768px) {
  .c-box-highlights__content {
    flex: 1 0 auto;
    width: 500px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-highlights__content {
    width: 38.3435582822vw;
  }
}

@media all and (max-width: 767px) {
  .c-box-highlights__content {
    padding-bottom: 64px;
  }
}

.c-box-highlights__text {
  font-size: 1rem;
  letter-spacing: 0.2em;
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 15;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media all and (max-width: 767px) {
  .c-box-highlights__text {
    -webkit-line-clamp: 10;
  }
}

.c-box-highlights__text.is-show {
  display: block;
}

.c-box-highlights__maps,
.c-box-overview__maps {
  width: 100%;
  overflow: hidden;
}

@media all and (max-width: 767px) {

  .c-box-highlights__maps,
  .c-box-overview__maps {
    width: calc(100% + 48px);
    margin-left: -24px;
    margin-right: -24px;
  }
}

.c-box-highlights__maps iframe,
.c-box-overview__maps iframe {
  position: relative;
  display: block;
  width: 100%;
  height: 390px;
  border: none;
}

.c-box-highlights__maps--full-width {
  width: 100%;
}

/* c-box-place
---------------------------------------------------------- */
.c-box-place {
  position: relative;
  padding-top: 62px;
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .c-box-place {
    padding-top: 4.2817679558vw;
  }
}

@media all and (max-width: 767px) {
  .c-box-place {
    padding-top: 64px;
    background-color: #e6d9c5;
  }
}

.c-box-place__image {
  height: 100%;
}

@media all and (max-width: 767px) {
  .c-box-place__image {
    position: absolute;
    width: 100%;
  }
}

.c-box-place__image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.8) 100%);
}

.c-box-place__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media all and (max-width: 767px) {
  .c-box-place__image img {
    height: 600px;
  }
}

.c-box-place__heading {
  position: relative;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  z-index: 1;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-place__heading {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-place__heading {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (max-width: 767px) {
  .c-box-place__heading {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    color: #243e59;
    padding-top: 24px;
    margin-bottom: 16px;
  }
}

.c-box-place__text {
  font-size: 1rem;
  letter-spacing: 0.2em;
  color: #fff;
}

@media all and (min-width: 768px) {
  .c-box-place__text {
    width: 400px;
    display: none;
  }
}

@media all and (min-width: 768px) and (max-width: 890px) {
  .c-box-place__text {
    width: 44.9438202247vw;
  }
}

@media all and (max-width: 767px) {
  .c-box-place__text {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 600px;
    display: flex;
    align-items: flex-end;
    font-size: 0.875rem;
    padding: 74px 16px 32px;
  }
}

/* c-box-place-tab
---------------------------------------------------------- */
.c-box-place-tab {
  position: relative;
  display: flex;
  justify-content: space-between;
  z-index: 2;
  padding-top: 48px;
  padding-bottom: 64px;
  gap: 0 20px;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-place-tab {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-place-tab {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .c-box-place-tab {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
    padding-bottom: 4.4198895028vw;
  }
}

.c-box-place-tab__list {
  width: 342px;
  min-height: 454px;
}

@media all and (min-width: 768px) and (max-width: 890px) {
  .c-box-place-tab__list {
    width: 38.4269662921vw;
  }
}

.c-box-place-tab__item {
  width: 100%;
}

.c-box-place-tab__item:not(:first-child) {
  border-top: 1px solid #a6a6a6;
}

.c-box-place-tab__item:last-child {
  border-bottom: 1px solid #a6a6a6;
}

.c-box-place-tab__item:last-child:hover {
  border-bottom-color: transparent;
}

.c-box-place-tab__item:last-child.is-current {
  border-bottom-color: transparent;
}

@media all and (min-width: 768px) {
  .c-box-place-tab__item:hover {
    border-top-color: transparent;
  }

  .c-box-place-tab__item:hover+.c-box-place-tab__item {
    border-top-color: transparent;
  }

  .c-box-place-tab__item:hover .c-box-place-tab__button {
    color: #243e59;
    background-color: rgba(255, 255, 255, 0.8);
  }
}

.c-box-place-tab__item.is-current {
  border-top-color: transparent;
}

.c-box-place-tab__item.is-current+.c-box-place-tab__item {
  border-top-color: transparent;
}

.c-box-place-tab__item.is-current .c-box-place-tab__button {
  color: #243e59;
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 8px;
}

.c-box-place-tab__button {
  display: block;
  width: 100%;
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 140%;
  text-align: left;
  color: #fff;
  background-color: transparent;
  border: none;
  border-radius: 8px;
  outline: none;
  padding: 16px 20px 16px 16px;
  transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
  cursor: pointer;
}

.c-box-place-tab__content {
  display: flex;
  align-items: flex-end;
  min-height: 454px;
}

/* c-box-place-tab-image
---------------------------------------------------------- */
.c-box-place-tab-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* c-box-place-accordion
---------------------------------------------------------- */
.c-box-place-accordion__box {
  position: relative;
  min-height: 54px;
}

.c-box-place-accordion__box:last-child .c-box-place-accordion__button>span::before {
  display: none;
}

.c-box-place-accordion__button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 54px;
  display: block;
  background-color: white;
  border: none;
  outline: none;
  text-align: left;
  cursor: pointer;
  padding: 0;
  z-index: 2;
  transition: background-color 0.3s ease-out;
}

.c-box-place-accordion__button>span {
  display: block;
  position: relative;
  font-size: 1rem;
  letter-spacing: 0;
  color: #243e59;
  padding: 18px 20px 18px 16px;
}

.c-box-place-accordion__button>span::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 16px);
  height: 1px;
  bottom: 0;
  right: 0;
  background-color: #ccc;
  z-index: 1;
}

.c-box-place-accordion__button>span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 12px;
  height: 7px;
  background: url(/assets/image/common/ico_arrow_02.svg) center no-repeat;
  background-size: contain;
  transition: transform 0.3s ease-out;
}

.c-box-place-accordion__button.is-open {
  background-color: rgba(255, 255, 255, 0.8);
}

.c-box-place-accordion__button.is-open>span::after {
  transform: translateY(-50%) rotate(-180deg);
}

.c-box-place-accordion__content {
  display: none;
}

/* c-box-related-post
---------------------------------------------------------- */
.c-box-related-post {
  padding: 136px 0;
  background-color: #f5f0e8;
}

@media all and (max-width: 767px) {
  .c-box-related-post {
    padding: 88px 0 72px;
  }
}

.c-box-related-post__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-related-post__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-related-post__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.c-box-related-post__heading {
  margin-bottom: 0 !important;
}

.c-box-related-post__sub {
  padding-top: 128px;
  margin-bottom: 64px;
}

@media all and (max-width: 767px) {
  .c-box-related-post__sub {
    padding-top: 64px;
  }
}

.c-box-related-post__list {
  margin-top: 64px;
}

@media all and (max-width: 767px) {
  .c-box-related-post__button {
    margin-top: 32px !important;
  }
}

@media all and (max-width: 767px) {
  .c-box-related-post__button a {
    padding-left: 18px;
    padding-right: 18px;
  }
}

.c-box-related-post__list-item:not(:first-of-type) {
  margin-top: 20px;
}

/* c-box-rate
---------------------------------------------------------- */
.c-box-rate {
  display: flex;
  gap: 64px;
}

@media all and (min-width: 768px) and (max-width: 1344px) {
  .c-box-rate {
    gap: 4.7619047619vw;
  }
}

@media all and (max-width: 767px) {
  .c-box-rate {
    flex-direction: column;
    gap: 32px;
  }
}

.c-box-rate__box {
  width: calc(50% - 32px);
  flex: 1 0 auto;
}

@media all and (min-width: 768px) and (max-width: 1344px) {
  .c-box-rate__box {
    width: calc(50% - 2.380952381vw);
  }
}

@media all and (max-width: 767px) {
  .c-box-rate__box {
    width: 100%;
  }
}

/* c-box-rate-price
---------------------------------------------------------- */
.c-box-rate-price {
  -webkit-backdrop-filter: blur(25px);
  backdrop-filter: blur(25px);
  background-color: rgba(255, 255, 255, 0.8);
}

.c-box-rate-price__title {
  padding: 33px 10px 14px;
  border-bottom: 1px solid #ccc;
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #808080;
}

@media all and (max-width: 767px) {
  .c-box-rate-price__title {
    padding-top: 25px;
  }
}

.c-box-rate-price__list {
  padding: 0 8px;
}

.c-box-rate-price__list--border-bottom {
  border-bottom: 1px solid #ccc;
}

.c-box-rate-price__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 20px 10px 19px;
}

.c-box-rate-price__item:not(:first-child) {
  border-top: 1px solid #ccc;
}

.c-box-rate-price__season {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 130px;
  letter-spacing: 0.1em;
  color: #808080;
}

.c-box-rate-price__season-text {
  font-size: 0.875rem;
}

.c-box-rate-price__season-month {
  margin-top: 4px;
  font-size: 0.6875rem;
}

.c-box-rate-price__price {
  width: 130px;
  font-size: 1.25rem;
  color: #243e59;
  text-align: center;
  letter-spacing: 0.2em;
}

/* c-box-include
---------------------------------------------------------- */
.c-box-include {
  -webkit-backdrop-filter: blur(25px);
  backdrop-filter: blur(25px);
  background-color: rgba(255, 255, 255, 0.8);
  padding-left: 16px;
}

.c-box-include__box {
  padding: 26px 22px 22px 8px;
}

.c-box-include__box+.c-box-include__box {
  border-top: 1px solid #ccc;
}

.c-box-include__title {
  position: relative;
  margin-bottom: 13px;
  padding-left: 26px;
  font-size: 0.875rem;
  font-weight: 700;
  color: #243e59;
  letter-spacing: 0.07em;
}

.c-box-include__title::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: url("/assets/image/common/ico_check_01.svg") center no-repeat;
  background-size: contain;
}

.c-box-include__title--not-include::before {
  background-image: url("/assets/image/common/ico_minus_01.svg");
}

@media all and (min-width: 768px) {
  .c-box-include--2col-md {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    padding-left: 0;
  }
}

@media all and (min-width: 768px) {
  .c-box-include--2col-md .c-box-include__box {
    padding: 24px;
  }
}

@media all and (min-width: 768px) {
  .c-box-include--2col-md .c-box-include__box+.c-box-include__box {
    border-left: 1px solid #ccc;
    border-top: none;
  }
}

.c-box-include--bg-cream {
  background-color: #f5f0e8;
}

/* c-box-information
---------------------------------------------------------- */
.c-box-information {
  padding: 64px 100px;
  background-color: #f5f0e8;
  border-radius: 24px;
}

@media all and (min-width: 768px) and (max-width: 1344px) {
  .c-box-information {
    padding-left: 6.9060773481vw;
    padding-right: 6.9060773481vw;
  }
}

@media all and (max-width: 767px) {
  .c-box-information {
    padding: 24px 16px;
    border-radius: 12px;
  }
}

.c-box-information__title {
  margin-bottom: 32px !important;
  color: #000;
}

.c-box-information__icon-alert {
  display: block;
  width: 51px;
  margin: 0 auto 17px;
}

.c-box-information+.c-box-information {
  margin-top: 64px;
}

/* c-box-detail
---------------------------------------------------------- */
.c-box-detail {
  padding: 30px 64px;
  background-color: #fff;
}

@media all and (max-width: 767px) {
  .c-box-detail {
    padding: 26px 24px;
  }
}

.c-box-detail__title {
  margin-bottom: 9px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: normal;
}

@media all and (max-width: 767px) {
  .c-box-detail__title {
    margin-bottom: 10px;
    font-size: 1rem;
  }
}

/* c-box-tour-options
---------------------------------------------------------- */
.c-box-tour-options {
  position: relative;
  padding: 136px 0 64px;
  background-color: #e6d9c5;
}

@media all and (max-width: 767px) {
  .c-box-tour-options {
    padding: 88px 0 56px;
  }
}

.c-box-tour-options::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url(/assets/image/common/bg_wave_line_01.png) top center repeat-x;
  background-size: 2400px 38px;
}

.c-box-tour-options--wave-brown-top::before {
  background-image: url("/assets/image/common/bg_wave_line_06.png");
}

.c-box-tour-options__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-tour-options__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-tour-options__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.c-box-tour-options__heading-sub {
  margin-top: 16px;
}

.c-box-tour-options__box {
  display: flex;
  flex-direction: column;
  gap: 64px 0;
}

/* c-box-overview
---------------------------------------------------------- */
.c-box-overview {
  padding: 96px 0 136px;
  background-color: #f5f0e8;
}

@media all and (max-width: 767px) {
  .c-box-overview {
    padding: 72px 0;
  }
}

.c-box-overview__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-overview__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-overview__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.c-box-overview__text {
  font-size: 0.875rem;
  letter-spacing: 0.2em;
}

.c-box-overview__maps {
  margin-top: 64px;
}

.c-box-overview__caption {
  font-size: 1rem;
  color: #808080;
  letter-spacing: 0.2em;
  text-align: center;
  margin-top: 12px;
}

/* c-box-rooms
---------------------------------------------------------- */
.c-box-rooms {
  position: relative;
  background: #e6d9c5 top center no-repeat;
  background-size: cover;
  padding: 136px 0 64px;
}

.c-box-rooms::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_03_top.png") top center repeat-x;
  background-size: auto 38px;
}

.c-box-rooms__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-rooms__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-rooms__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.c-box-rooms__heading {
  margin-bottom: 128px;
}

/* c-box-service
---------------------------------------------------------- */
.c-box-service {
  background-color: #e6d9c5;
  padding-bottom: 102px;
  position: relative;
}

.c-box-service::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_04.png") #243e59 top center repeat-x;
  background-size: auto 38px;
}

.c-box-service__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-box-service__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-box-service__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.c-box-service__title {
  margin-bottom: 128px !important;
}

@media all and (max-width: 767px) {
  .c-box-service__title {
    margin-bottom: 64px !important;
  }
}

.c-breadcrumbs {
  padding: 16px 0;
  background-color: #fff;
}

.c-breadcrumbs__list {
  display: flex;
  gap: 31px;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-breadcrumbs__list {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-breadcrumbs__list {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.c-breadcrumbs__item {
  position: relative;
}

.c-breadcrumbs__item:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -19px;
  display: block;
  width: 7px;
  height: 13px;
  -webkit-mask: url("/assets/image/common/ico_arrow_01.svg") no-repeat;
  mask: url("/assets/image/common/ico_arrow_01.svg") no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #243e59;
  transform: translateY(-50%);
}

.c-breadcrumbs__item:last-child .c-breadcrumbs__text {
  font-weight: bold;
}

.c-breadcrumbs__text {
  font-size: 1rem;
  letter-spacing: normal;
}

/* c-button-01
---------------------------------------------------------- */
.c-button-01 {
  display: block;
  margin-top: 64px;
  text-align: center;
}

.c-button-01__button {
  display: inline-block;
  border: 1px solid #243e59;
  border-radius: 4px;
  padding: 16px 20px 13px;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: rgba(255, 255, 255, 0.3);
  text-align: center;
}

@media all and (min-width: 768px) {
  .c-button-01__button {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-button-01__button:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (min-width: 768px) {
  .c-button-01__button {
    min-width: 400px;
  }
}

@media all and (max-width: 767px) {
  .c-button-01__button {
    max-width: 280px;
  }
}

.c-button-01__button>span {
  position: relative;
  font-size: 1rem;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  color: #243e59;
  padding-right: 17px;
}

@media all and (max-width: 767px) {
  .c-button-01__button>span {
    max-width: 260px;
  }
}

.c-button-01__button>span::before {
  content: "";
  position: absolute;
  bottom: 3px;
  right: 0;
  display: block;
  width: 7px;
  height: 13px;
  -webkit-mask: url("/assets/image/common/ico_arrow_01.svg") no-repeat;
  mask: url("/assets/image/common/ico_arrow_01.svg") no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #243e59;
}

.c-button-01--white .c-button-01__button {
  background-color: rgba(255, 255, 255, 0.3);
  border-color: #fff;
}

.c-button-01--white .c-button-01__button>span {
  color: #fff;
}

.c-button-01--white .c-button-01__button>span::before {
  background-color: #fff;
}

.c-button-01--black .c-button-01__button {
  background-color: #243e59;
  border-color: #243e59;
}

.c-button-01--black .c-button-01__button>span {
  color: #fff;
}

.c-button-01--black .c-button-01__button>span::before {
  background-color: #fff;
}

/* c-button-readmore
---------------------------------------------------------- */
.c-button-readmore {
  margin-top: 20px;
  text-align: right;
}

.c-button-readmore>span {
  position: relative;
  padding-right: 24px;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #fff;
  cursor: pointer;
}

@media all and (max-width: 767px) {
  .c-button-readmore>span {
    padding-right: 20px;
  }
}

.c-button-readmore>span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 9px;
  -webkit-mask: url("/assets/image/common/ico_arrow_02.svg") center no-repeat;
  mask: url("/assets/image/common/ico_arrow_02.svg") center no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #fff;
  transition: all 0.3s ease-out;
}

@media all and (max-width: 767px) {
  .c-button-readmore>span::after {
    width: 12px;
    height: 7px;
  }
}

.c-button-readmore.is-close>span::after {
  transform: translateY(-50%) rotate(-180deg);
}

/* c-card-01
---------------------------------------------------------- */
@media all and (min-width: 768px) {
  .c-card-01[href] {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-card-01[href]:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-card-01__image {
  height: 270px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-card-01__image {
    height: 20.7055214724vw;
  }
}

@media all and (max-width: 767px) {
  .c-card-01__image {
    height: 41.7948717949vw;
  }
}

.c-card-01__image img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-card-01__title {
  font-size: 1rem;
  letter-spacing: 0.2em;
  margin-top: 13px;
  color: #243e59;
}

.c-card-01__continent,
.c-card-01__time,
.c-card-01__address {
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: #808080;
  margin-top: 8px;
}

.c-card-01__category {
  display: inline-flex;
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  color: #808080;
  text-align: center;
  padding: 3px 6px;
  border: 1px solid #808080;
  margin-top: 6px;
}

/* c-card-tour-dates
---------------------------------------------------------- */
.c-card-tour-dates__day {
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  margin-bottom: 12px;
}

@media all and (max-width: 767px) {
  .c-card-tour-dates__day {
    font-size: 1.125rem;
  }
}

.c-card-tour-dates__title {
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  margin-bottom: 4px;
}

@media all and (max-width: 767px) {
  .c-card-tour-dates__title {
    font-size: 0.875rem;
  }
}

.c-card-tour-dates__content {
  padding: 4px 0 4px 16px;
  border-left: 1px solid #ccc;
}

.c-card-tour-dates__text {
  font-size: 0.875rem;
  letter-spacing: 0.2em;
}

@media all and (max-width: 767px) {
  .c-card-tour-dates__text {
    font-size: 0.75rem;
  }
}

.c-card-tour-dates__tag {
  margin-top: 12px;
}

.c-card-tour-dates__type {
  display: flex;
  align-items: center;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  gap: 0 8px;
  margin-top: 12px;
}

@media all and (max-width: 767px) {
  .c-card-tour-dates__type {
    font-size: 0.625rem;
  }
}

.c-card-tour-dates__type::before {
  content: "";
  display: block;
  width: 18px;
  height: 13px;
  background: url("/assets/image/common/ico_bed_01.svg") no-repeat;
}

@media all and (max-width: 767px) {
  .c-card-tour-dates__type::before {
    width: 16px;
    height: 11px;
  }
}

/* c-card-tour-options
---------------------------------------------------------- */
.c-card-tour-options {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
}

@media all and (max-width: 767px) {
  .c-card-tour-options {
    border-radius: 12px;
  }
}

.c-card-tour-options__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.c-card-tour-options__image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.c-card-tour-options__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-card-tour-options__content {
  position: relative;
  padding: 32px;
}

@media all and (max-width: 767px) {
  .c-card-tour-options__content {
    padding: 24px;
  }
}

.c-card-tour-options__heading {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #fff;
}

@media all and (max-width: 767px) {
  .c-card-tour-options__heading {
    font-size: 1.5rem;
    text-align: center;
  }
}

.c-card-tour-options__heading>span {
  display: block;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0;
}

@media all and (max-width: 767px) {
  .c-card-tour-options__heading>span {
    font-size: 0.875rem;
  }
}

.c-card-tour-options__heading+* {
  margin-top: 40px;
}

@media all and (max-width: 767px) {
  .c-card-tour-options__heading+* {
    margin-top: 50px;
  }
}

.c-card-tour-options__box {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.c-card-tour-options__text {
  max-width: 400px;
  font-size: 0.875rem;
  letter-spacing: 0;
  color: #fff;
}

.c-card-tour-options__button {
  max-width: 400px;
}

@media all and (max-width: 767px) {
  .c-card-tour-options__button {
    width: 100%;
    margin-top: 20px;
  }
}

@media all and (max-width: 767px) {
  .c-card-tour-options__button a {
    max-width: 100%;
    width: 100%;
  }
}

@media all and (max-width: 767px) {
  .c-card-tour-options__button span {
    letter-spacing: 0.1em;
  }
}

/* c-contact
---------------------------------------------------------- */
.c-contact {
  background: #f5f0e8;
  padding-bottom: 136px;
}

@media all and (max-width: 767px) {
  .c-contact {
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 72px;
  }
}

.c-contact__inner {
  max-width: 600px;
  margin: 0 auto;
}

.c-contact__content-text {
  font-weight: 400;
  font-size: 1rem;
  line-height: 140%;
  letter-spacing: 0.2em;
  color: #243e59;
  text-align: center;
}

@media all and (min-width: 768px) {
  .c-contact__content-text a:hover {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-contact__content-text a:hover:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-contact__content-button {
  border-radius: 4px;
  margin: 12px auto 0;
  cursor: pointer;
}

@media all and (min-width: 768px) {
  .c-contact__content-button {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-contact__content-button:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-contact__content-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
}

.c-contact__content-top {
  padding: 96px 136px 64px;
}

@media all and (max-width: 767px) {
  .c-contact__content-top {
    padding: 72px 0 64px;
  }
}

.c-contact__content-top .c-heading-01 {
  margin-bottom: 32px;
}

.c-contact__content-button-whatsapp {
  border: 1px solid #243e59;
  border-radius: 10px;
  padding: 16px 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.c-contact__content-button-whatsapp-text {
  font-weight: 700;
  font-size: 1rem;
  line-height: 140%;
  letter-spacing: 0.2em;
  text-align: center;
  color: #243e59;
}

.c-contact__line-button {
  width: 172px;
  height: 38px;
  position: relative;
}

.c-contact__line-button iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

.c-contact__top {
  background: transparent;
  padding: 0;
}

.c-contact__top .c-list-form-nav {
  background: rgb(255, 255, 255);
}

.c-contact__top .c-list-form-nav::after {
  content: "";
  width: 20px;
  height: 20px;
  background: rgb(255, 255, 255);
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  bottom: -10px;
}

.c-contact__top .c-list-form-nav__item.is-current {
  background: #e5e5e5;
}

.c-contact__top .c-contact__content-text,
.c-contact__top .c-contact__content-text a {
  color: #fff;
}

@media all and (min-width: 768px) {
  .c-contact__top .c-contact__content-text a:hover {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-contact__top .c-contact__content-text a:hover:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-contact__top .c-contact__content-button {
  border-radius: 6px;
}

.c-contact__top .c-contact__content-button.is-whatsapp {
  border-radius: 10px;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #fff;
}

.c-contact__top .c-input-note {
  color: #fff;
}

.c-contact__top .c-input__button {
  background: #fff;
  color: #243e59;
}

.c-contact__top .c-input__button-text {
  color: #243e59;
}

.c-contact__top .is-hidden {
  display: none;
}

.c-contact__top .c-contact-note {
  color: #fff;
}

.c-contact-note {
  margin-top: 44px;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 140%;
  letter-spacing: 0.2em;
  color: #808080;
}

/* c-filter-box
---------------------------------------------------------- */
.c-filter-box {
  padding-top: 16px;
  padding-bottom: 16px;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-filter-box {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-filter-box {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (max-width: 767px) {
  .c-filter-box {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* c-filter-heading
---------------------------------------------------------- */
.c-filter-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 8px;
}

.c-filter-heading__title {
  position: relative;
  flex: 0 0 auto;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  padding-left: 24px;
}

.c-filter-heading__title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  background: url("/assets/image/common/ico_filter_01.svg") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-filter-heading__reset {
  position: relative;
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  color: #243e59;
  padding: 0 0 0 24px;
  border: none;
  outline: none;
  cursor: pointer;
}

.c-filter-heading__reset::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  background: url("/assets/image/common/ico_reset_01.svg") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

/* c-filter-button
---------------------------------------------------------- */
.c-filter-button__group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.c-filter-button__group:nth-child(n+2) {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #ccc;
}

.c-filter-button__button {
  position: relative;
  border-radius: 8px;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  text-align: center;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.15), 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  background: #f5f0e8;
  padding: 6px 16px;
  border: none;
  outline: none;
  cursor: pointer;
}

.c-filter-button__button>span {
  position: relative;
  display: inline-block;
}

.c-filter-button__button::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(73, 69, 79, 0.08);
  opacity: 0;
  transition: opacity 0.2s ease-out;
  content: "";
}

@media all and (min-width: 768px) {
  .c-filter-button__button:hover::after {
    opacity: 1;
  }
}

.c-filter-button__button.is-active {
  padding-left: 8px;
  background-color: #92acc8;
}

.c-filter-button__button.is-active>span {
  padding-left: 24px;
}

.c-filter-button__button.is-active>span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  background: url(/assets/image/common/ico_true_01.svg) no-repeat;
  background-size: contain;
  transform: translateY(-50%);
  content: "";
}

/* c-filter-content
---------------------------------------------------------- */
.c-filter-content {
  padding-top: 72px;
  background-color: #f5f0e8;
}

.c-filter-content__section {
  padding-bottom: 112px;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .c-filter-content__section {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-filter-content__section {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (max-width: 767px) {
  .c-filter-content__section {
    padding-bottom: 72px;
  }
}

.c-filter-content__section:nth-child(n+2) {
  position: relative;
  padding-top: 112px;
  background: url("/assets/image/common/bg_wavy_01_pc.png") no-repeat center top;
  background-size: 1120px 35px;
}

@media all and (max-width: 767px) {
  .c-filter-content__section:nth-child(n+2) {
    padding-top: 88px;
  }
}

.c-filter-content__section.no-border {
  padding-top: 0;
  background: none;
}

.c-filter-content__section.is-border {
  padding-top: 112px;
  background: url("/assets/image/common/bg_wavy_01_pc.png") no-repeat center top;
  background-size: 1120px 35px;
}

@media all and (max-width: 767px) {
  .c-filter-content__section.is-border {
    padding-top: 88px;
  }
}

.c-filter-content__not-found {
  width: 100%;
  padding: 0 24px 72px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-filter-content__not-found {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .c-filter-content__not-found {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 64px 112px;
  }
}

.c-filter-content__not-found--category {
  margin-top: -112px;
}

@media all and (max-width: 767px) {
  .c-filter-content__not-found--category {
    margin-top: -72px;
  }
}

.c-filter-content__not-found .c-heading-01 {
  text-transform: capitalize;
}

.c-filter-content__text {
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  text-align: center;
}

.c-filter-content .c-heading-01 {
  margin-bottom: 72px;
}

/* c-form
---------------------------------------------------------- */
.c-form {
  margin-top: 46px;
}

.c-form__row:not(:first-of-type) {
  margin-top: 20px;
}

.c-form__checkbox {
  margin: 15px 0 30px;
}

.c-form__checkbox .wpcf7-list-item:not(:first-of-type) {
  margin-left: 15px;
}

.c-form__checkbox .wpcf7-list-item .wpcf7-list-item-label {
  margin-left: 5px;
}

.c-form-tab {
  display: block;
}

.c-list-form-nav {
  display: flex;
  justify-content: space-between;
  max-width: 500px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 8px;
  padding: 16px 72px;
  position: relative;
}

@media all and (max-width: 767px) {
  .c-list-form-nav {
    padding: 16px;
  }
}

.c-list-form-nav::after {
  content: "";
  width: 20px;
  height: 20px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  bottom: -10px;
}

.c-list-form-nav__item {
  border-radius: 8px;
  padding: 12px 0px;
  width: 90px;
  height: 92px;
  background: transparent;
  transition: background 0.3s ease-out;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.c-list-form-nav__item.is-current {
  background: #fff;
}

.c-list-form-nav__item.is-current .c-list-form-nav__text {
  font-weight: 700;
}

.c-list-form-nav__item:hover {
  background: #fff;
}

.c-list-form-nav__item:hover .c-list-form-nav__text {
  font-weight: 700;
}

.c-list-form-nav__text {
  font-family: "Helvetica", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  line-height: 140%;
  letter-spacing: 0.2em;
  color: #243e59;
  transition: font-weight 0.3s ease-in-out;
}

.c-list-form-nav__link {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border: 0;
  padding: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

.c-list-form-nav__icon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.c-box-form-button {
  display: flex;
  justify-content: center;
  position: relative;
}

.c-box-form-button .wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #23282d;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  position: absolute;
}

/* c-gallery-01
---------------------------------------------------------- */
.c-gallery-01 {
  position: relative;
  padding: 80px 0;
  background-color: #243e59;
}

@media all and (max-width: 767px) {
  .c-gallery-01 {
    padding: 40px 0 60px;
  }
}

.c-gallery-01::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_03_bottom.png") top center repeat-x;
  background-size: auto 38px;
}

.c-gallery-01--wave-brown-bottom::before {
  background-image: url("/assets/image/common/bg_wave_line_05.png");
}

.c-gallery-01--wave-no-bottom::before {
  display: none;
}

.c-gallery-01__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

@media all and (max-width: 767px) {
  .c-gallery-01__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-gallery-01__item:nth-child(n+9) {
  display: none;
}

.c-gallery-01 [href] {
  display: block;
}

@media all and (min-width: 768px) {
  .c-gallery-01 [href] {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-gallery-01 [href]:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-gallery-01__button {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: absolute;
  bottom: 80px;
  left: 0;
  width: 100%;
  height: 170px;
  padding-bottom: 24px;
  text-align: center;
  z-index: 3;
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .c-gallery-01__button {
    height: 11.7403314917vw;
    padding-bottom: 1.6574585635vw;
  }
}

@media all and (max-width: 767px) {
  .c-gallery-01__button {
    bottom: 56px;
    height: 124px;
  }
}

.c-gallery-01__button::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(36, 62, 89, 0) 0%, #243e59 50%);
}

.c-gallery-01__button>span {
  position: relative;
  display: inline-block;
  padding-right: 28px;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.2em;
  cursor: pointer;
  z-index: 4;
}

@media all and (min-width: 768px) {
  .c-gallery-01__button>span {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-gallery-01__button>span:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .c-gallery-01__button>span {
    padding-right: 20px;
    font-size: 0.875rem;
  }
}

.c-gallery-01__button>span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 11px;
  -webkit-mask: url("/assets/image/common/ico_arrow_02.svg") center no-repeat;
  mask: url("/assets/image/common/ico_arrow_02.svg") center no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #fff;
}

@media all and (max-width: 767px) {
  .c-gallery-01__button>span::after {
    width: 12px;
    height: 7px;
  }
}

/* c-heading-01
---------------------------------------------------------- */
.c-heading-01 {
  font-size: 3.5rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-align: center;
  margin-bottom: 64px;
}

@media all and (max-width: 767px) {
  .c-heading-01 {
    font-size: 2.5rem;
  }
}

.c-heading-01__sub {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  gap: 0 8px;
  color: #243e59;
}

.c-heading-01__sub[href] {
  color: #243e59;
}

@media all and (min-width: 768px) {
  .c-heading-01__sub[href] {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-heading-01__sub[href]:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .c-heading-01__sub {
    font-size: 1rem;
    margin-top: 9px;
  }
}

.c-heading-01__medium {
  font-size: 2.5rem;
  font-weight: 400;
}

@media all and (max-width: 767px) {
  .c-heading-01__medium {
    font-size: 1.5rem;
  }
}

.c-heading-01__medium.c-heading-01__sub {
  font-size: 1.25rem;
}

@media all and (max-width: 767px) {
  .c-heading-01__medium.c-heading-01__sub {
    font-size: 1rem;
  }
}

.c-heading-01__small {
  display: block;
  padding-top: 13px;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.2em;
}

.c-heading-01--top {
  margin-bottom: 32px;
}

@media all and (max-width: 767px) {
  .c-heading-01--top {
    margin-bottom: 24px;
    font-size: 2rem;
  }
}

.c-heading-01--medium {
  font-size: 2.5rem;
  margin-bottom: 64px;
}

@media all and (max-width: 767px) {
  .c-heading-01--medium {
    font-size: 2rem;
    margin-bottom: 32px;
  }
}

.c-heading-01--icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px 0;
}

/* c-image-01
---------------------------------------------------------- */
.c-image-01--single img {
  width: 100%;
}

.c-image-01--double {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}

.c-image-01--double img {
  height: 100%;
  width: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-image-01--triple {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: 66.26506% 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 4px;
  grid-template-areas: "area1 area2" "area1 area3";
  width: 100%;
}

@media all and (max-width: 767px) {
  .c-image-01--triple {
    grid-template-columns: 63.157895% 1fr;
    grid-template-rows: 148px 148px;
  }
}

.c-image-01--triple img {
  height: 100%;
  width: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-image-01--triple>img:nth-child(1),
.c-image-01--triple>picture:nth-child(1),
.c-image-01--triple>figure:nth-child(1) {
  grid-area: area1;
}

.c-image-01--triple>img:nth-child(2),
.c-image-01--triple>picture:nth-child(2),
.c-image-01--triple>figure:nth-child(2) {
  grid-area: area2;
}

.c-image-01--triple>img:nth-child(3),
.c-image-01--triple>picture:nth-child(3),
.c-image-01--triple>figure:nth-child(3) {
  grid-area: area3;
}

/* c-info-01
---------------------------------------------------------- */
.c-info-01 {
  border-top: 1px solid #ccc;
}

.c-info-01__box {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 19px 0;
  border-bottom: 1px solid #ccc;
}

.c-info-01__title {
  width: 128px;
  flex: 1 0 auto;
  padding: 0 8px;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  color: #808080;
}

.c-info-01__text {
  width: 100%;
  font-size: 0.875rem;
}

.c-info-01__text>span {
  display: block;
  font-size: 0.6875rem;
  color: #808080;
}

@media all and (min-width: 768px) {
  .c-info-01--full .c-info-01__box {
    padding: 20px 32px;
  }
}

.c-info-01--full .c-info-01__title {
  padding: 0 0 0 8px;
}

@media all and (min-width: 768px) {
  .c-info-01--full .c-info-01__title {
    width: 120px;
    padding: 0;
  }
}

/* c-input
---------------------------------------------------------- */
.c-input__text {
  border: 0;
  border-bottom: 1px solid #808080;
  background-color: #ffffff;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-weight: 400;
  font-size: 1rem;
  line-height: 150%;
  letter-spacing: 0.03em;
  color: #808080;
  border-radius: 4px 4px 0 0;
  width: 100%;
  padding: 16px;
}

.c-input__text::-moz-placeholder {
  color: #808080;
}

.c-input__text::placeholder {
  color: #808080;
}

.c-input__text.wpcf7-not-valid {
  background-color: #fcf8f9;
  border-bottom: 3px solid #941b23;
}

.c-input__box-input {
  position: relative;
}

.c-input__box-input::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #243e59;
}

.c-input__select {
  border: 0;
  border-bottom: 1px solid #808080;
  background-color: #ffffff;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-weight: 400;
  font-size: 1rem;
  line-height: 150%;
  letter-spacing: 0.03em;
  color: #808080;
  border-radius: 4px 4px 0 0;
  width: 100%;
  padding: 16px;
  position: relative;
}

.c-input__select::-moz-placeholder {
  color: #808080;
}

.c-input__select::placeholder {
  color: #808080;
}

.c-input__select.wpcf7-not-valid {
  background-color: #fcf8f9;
  border-bottom: 3px solid #941b23;
}

.c-input__textarea {
  border: 0;
  border-bottom: 1px solid #808080;
  background-color: #ffffff;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-weight: 400;
  font-size: 1rem;
  line-height: 150%;
  letter-spacing: 0.03em;
  color: #808080;
  border-radius: 4px 4px 0 0;
  width: 100%;
  padding: 16px;
}

.c-input__textarea::-moz-placeholder {
  color: #808080;
}

.c-input__textarea::placeholder {
  color: #808080;
}

.c-input__textarea::-moz-placeholder {
  color: #808080;
}

.c-input__textarea::placeholder {
  color: #808080;
}

.c-input__textarea.wpcf7-not-valid {
  background-color: #fcf8f9;
  border-bottom: 3px solid #941b23;
}

.c-input__accept {
  margin-right: 10px;
}

.c-input__button[type=submit] {
  border: 1px solid #243e59;
  border-radius: 4px;
  padding: 16px 20px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #333;
  width: 400px;
  margin: 44px auto 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  line-height: 140%;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
  text-indent: -17px;
}

@media all and (min-width: 768px) {
  .c-input__button[type=submit] {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-input__button[type=submit]:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .c-input__button[type=submit] {
    width: 128px;
  }
}

.c-input__button-text {
  font-weight: 700;
  font-size: 1rem;
  line-height: 140%;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
}

.c-input__button-deco {
  width: 7px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(50%, 50%);
  margin-top: 6px;
  margin-left: 34px;
}

.c-input-note,
.wpcf7-not-valid-tip {
  font-weight: 400;
  font-size: 0.75rem !important;
  line-height: 133%;
  letter-spacing: 0.03em;
  padding-left: 16px;
  color: #808080;
  margin-top: 4px;
}

.wpcf7-form #contact-submit[type=submit]:not(.fusion-button-span-yes),
.wpcf7-form input[type=submit]:not(.fusion-button-span-yes) {
  border: 1px solid #243e59;
  border-radius: 4px;
  padding: 16px 20px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #333;
  width: 400px;
  margin: 44px auto 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  line-height: 140%;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
  text-indent: -17px;
}

#wpcf7-f12-p9-o1 .wpcf7-form .wpcf7-text:focus {
  border-color: transparent !important;
  border-radius: 4px 4px 0 0 !important;
}

#wpcf7-f12-p9-o1 .wpcf7-form .wpcf7-textarea:focus {
  border-color: transparent !important;
  border-radius: 4px 4px 0 0 !important;
}

#wpcf7-f12-p9-o1 .wpcf7-spinner {
  position: absolute;
}

.wpcf7-not-valid-tip {
  color: #941b23 !important;
}

/* c-list-01
---------------------------------------------------------- */
.c-list-01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 16px;
}

@media all and (min-width: 768px) {
  .c-list-01 {
    gap: 40px 32px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-list-01 {
    gap: 3.0674846626vw 2.4539877301vw;
  }
}

.c-list-01__item {
  width: calc(25% - 24px);
}

@media all and (max-width: 767px) {
  .c-list-01__item {
    width: calc(50% - 8px);
  }
}

/* c-list-tour-dates
---------------------------------------------------------- */
.c-list-tour-dates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin: 0 auto;
}

@media all and (max-width: 767px) {
  .c-list-tour-dates {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.c-list-tour-dates--1col {
  grid-template-columns: 1fr;
}

/* c-list-detail
---------------------------------------------------------- */
.c-list-detail__item {
  position: relative;
  padding-left: 21px;
  font-size: 0.875rem;
  color: #243e59;
  letter-spacing: normal;
  line-height: 1.43;
}

.c-list-detail__item::before {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: 9px;
  width: 3px;
  height: 3px;
  background-color: #243e59;
  border-radius: 10px;
}

/* c-list-tag
---------------------------------------------------------- */
.c-list-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* c-modal
---------------------------------------------------------- */
.c-modal,
.c-modal-staff {
  display: none;
  width: 100vw;
  height: 100dvh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.5);
  transform: translateZ(0);
}

.c-modal__in,
.c-modal-staff__in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  max-width: 990px;
  height: 100%;
  margin: 0 auto;
}

@media all and (max-width: 767px) {

  .c-modal__in,
  .c-modal-staff__in {
    max-width: calc(100% - 48px);
  }
}

.c-modal__box {
  position: relative;
  width: 100%;
  max-height: calc(100vh - 92px);
  padding: 60px 64px 40px;
  border-radius: 12px;
  background-color: #fff;
}

@media all and (min-width: 768px) {
  .c-modal__box {
    min-height: 400px;
  }
}

@media all and (max-width: 767px) {
  .c-modal__box {
    padding: 60px 24px 40px;
  }
}

.c-modal__content {
  max-height: calc(100vh - 100px - 154px);
  overflow-y: auto;
}

@media (pointer: coarse) and (max-width: 896px) {
  .c-modal__content {
    max-height: calc(100vh - 30px - 154px);
  }
}

@media all and (max-width: 767px) {
  .c-modal__content {
    max-height: calc(100vh - 30px - 154px);
  }
}

.c-modal__section+.c-modal__section {
  margin-top: 64px;
}

.c-modal__section--space {
  display: flex;
  flex-direction: column;
  gap: 32px 0;
}

.c-modal__title {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 64px;
}

@media all and (max-width: 767px) {
  .c-modal__title {
    font-size: 2rem;
  }
}

.c-modal__lead {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.1em;
  text-align: center;
}

@media all and (max-width: 767px) {
  .c-modal__lead {
    font-size: 1.5rem;
  }
}

.c-modal__text {
  font-size: 1rem;
  letter-spacing: 0.2em;
}

@media all and (min-width: 768px) {
  .c-modal__image {
    margin-top: 10px;
  }
}

.c-modal__image img {
  width: auto;
  max-height: calc(100vh - 300px);
  margin: 0 auto;
}

@media all and (max-width: 767px) {
  .c-modal__image img {
    max-height: calc(100vh - 140px);
  }
}

.c-modal__image-title {
  position: absolute;
  left: 64px;
  top: 24px;
  width: calc(100% - 165px);
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media all and (max-width: 767px) {
  .c-modal__image-title {
    font-size: 1rem;
    width: calc(100% - 75px);
    left: 24px;
  }
}

.c-modal__close {
  position: absolute;
  top: 24px;
  right: 64px;
  display: block;
  width: 20px;
  height: 20px;
  background: url("/assets/image/common/ico_close_modal.svg") no-repeat;
  background-size: contain;
  padding: 0;
  border: none;
  outline: none;
  z-index: 1;
  cursor: pointer;
}

@media all and (min-width: 768px) {
  .c-modal__close {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-modal__close:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .c-modal__close {
    right: 24px;
  }
}

.c-modal-staff__in {
  max-width: 100%;
}

.c-modal-staff__close {
  position: absolute;
  top: 24px;
  right: 24px;
  display: block;
  width: 44px;
  height: 44px;
  background-image: url("/assets/image/common/ico_close_modal.svg");
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: center;
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding: 0;
  border: none;
  outline: none;
  cursor: pointer;
}

@media all and (min-width: 768px) {
  .c-modal-staff__close {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-modal-staff__close:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .c-modal-staff__close {
    border-radius: 50%;
  }
}

.c-modal-staff__box {
  position: relative;
  width: 100%;
  max-width: 600px;
  border-radius: 12px;
  background-color: #fff;
}

@media all and (min-width: 768px) {
  .c-modal-staff__box {
    min-height: 400px;
  }
}

@media all and (max-width: 767px) {
  .c-modal-staff__box {
    max-width: 100%;
    max-height: 100%;
    height: 100dvh;
    border-radius: 0;
  }
}

.c-modal-staff__container {
  overflow-y: auto;
  max-height: calc(100vh - 128px);
}

@media all and (min-width: 768px) {
  .c-modal-staff__container {
    min-height: 400px;
  }
}

@media all and (max-width: 767px) {
  .c-modal-staff__container {
    max-width: 100%;
    max-height: 100%;
    height: 100dvh;
    border-radius: 0;
  }
}

.c-modal-staff__figure {
  display: flex;
  justify-content: center;
}

.c-modal-staff__figure>img {
  width: 390px;
}

.c-modal-staff__content {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
  padding: 32px;
}

.c-modal-staff__heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 16px;
}

.c-modal-staff__title {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #243e59;
  margin: 0;
}

@media all and (max-width: 767px) {
  .c-modal-staff__title {
    font-size: 2rem;
  }
}

.c-modal-staff__subtitle {
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #243e59;
}

@media all and (max-width: 767px) {
  .c-modal-staff__subtitle {
    font-size: 1.5rem;
  }
}

.c-modal-staff__tags {
  display: flex;
  -moz-column-gap: 8px;
  column-gap: 8px;
}

.c-modal-staff__tags>.c-tag-01 {
  font-size: 0.625rem;
  color: #243e59;
}

.c-modal-staff__text {
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  color: #243e59;
}

.c-modal-staff__sns {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 12px;
}

.c-modal-staff-sns__title {
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #243e59;
}

.c-modal-staff-sns__list {
  display: flex;
  -moz-column-gap: 32px;
  column-gap: 32px;
}

.c-modal-staff-sns__link {
  width: 40px;
  height: 40px;
}

.c-modal-staff-sns__link img {
  width: 100%;
  height: 100%;
}

@media all and (min-width: 768px) {
  .c-modal-staff-sns__link {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-modal-staff-sns__link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

/* c-mv
---------------------------------------------------------- */
.c-mv {
  position: relative;
}

.c-mv__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-mv__image>img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-mv__content {
  position: relative;
  width: 100%;
  min-height: 29.1436464088vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 5px 0;
  padding: 100px 20px 40px;
}

@media all and (max-width: 767px) {
  .c-mv__content {
    min-height: 108.2051282051vw;
  }
}

.c-mv__content--center {
  justify-content: center;
}

.c-mv__heading {
  max-width: 55.2486187845vw;
  font-size: 4.1436464088vw;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #fff;
  text-align: center;
  margin: 0;
}

@media all and (max-width: 767px) {
  .c-mv__heading {
    max-width: none;
    font-size: 10.2564102564vw;
  }
}

.c-mv__sub-heading {
  max-width: 55.2486187845vw;
  font-size: 1.3812154696vw;
  letter-spacing: 0.2em;
  font-weight: 400;
  color: #fff;
}

@media all and (min-width: 768px) {
  .c-mv__sub-heading {
    text-align: center;
  }
}

@media all and (max-width: 767px) {
  .c-mv__sub-heading {
    max-width: none;
    font-size: 4.1025641026vw;
  }
}

.c-mv__small-heading {
  font-size: 2.2099447514vw;
  color: #fff;
}

@media all and (max-width: 767px) {
  .c-mv__small-heading {
    font-size: 5.1282051282vw;
  }
}

/* c-mv-detail
---------------------------------------------------------- */
.c-mv-detail {
  position: relative;
}

.c-mv-detail__image>img {
  width: 100%;
}

@media all and (max-width: 767px) {
  .c-mv-detail__image>img {
    height: 844px;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

.c-mv-detail__image::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 0;
}

.c-mv-detail__content {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  padding: 0 20px;
  transform: translate(-50%, -50%);
  z-index: 1;
}

@media all and (min-width: 768px) {
  .c-mv-detail__content {
    max-width: 58.0110497238vw;
  }
}

.c-mv-detail__info {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
  gap: 0 10px;
}

@media all and (max-width: 767px) {
  .c-mv-detail__info {
    font-size: 1rem;
    margin-top: 9px;
  }
}

@media all and (min-width: 768px) {
  .c-mv-detail__info[href] {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-mv-detail__info[href]:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-mv-detail__info+* {
  margin-top: 2.7624309392vw;
}

.c-mv-detail__box-heading {
  display: flex;
  flex-direction: column;
  gap: 0.5524861878vw 0;
}

@media all and (max-width: 767px) {
  .c-mv-detail__box-heading {
    gap: 2.0512820513vw 0;
  }
}

.c-mv-detail__box-heading+* {
  position: relative;
  padding-top: 2.7624309392vw;
  margin-top: 2.7624309392vw;
}

@media all and (max-width: 767px) {
  .c-mv-detail__box-heading+* {
    padding-top: 10.2564102564vw;
    margin-top: 10.2564102564vw;
  }
}

.c-mv-detail__box-heading+*::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  display: block;
  width: 150px;
  height: 1px;
  background-color: #fff;
  transform: translateX(-50%);
}

.c-mv-detail__heading {
  font-size: 4.1436464088vw;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #fff;
}

@media all and (max-width: 767px) {
  .c-mv-detail__heading {
    font-size: 10.2564102564vw;
  }
}

.c-mv-detail__sub-heading {
  font-size: 1.3812154696vw;
  letter-spacing: 0.2em;
  font-weight: 400;
  color: #fff;
}

@media all and (max-width: 767px) {
  .c-mv-detail__sub-heading {
    font-size: 4.1025641026vw;
  }
}

.c-mv-detail__sub-heading a {
  color: #fff;
}

@media all and (min-width: 768px) {
  .c-mv-detail__sub-heading a {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-mv-detail__sub-heading a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-mv-detail__lead {
  font-weight: 700;
  font-size: 1.6574585635vw;
  line-height: 0.92;
  letter-spacing: 0.1em;
  color: #fff;
}

@media all and (max-width: 767px) {
  .c-mv-detail__lead {
    font-size: 5.1282051282vw;
    line-height: 1.1;
  }
}

.c-mv-detail__text {
  font-size: 1.3812154696vw;
  line-height: 1.1;
  letter-spacing: 0.2em;
  color: #fff;
  margin-top: 1.6574585635vw;
}

@media all and (max-width: 767px) {
  .c-mv-detail__text {
    font-size: 3.5897435897vw;
    line-height: 1.57;
    margin-top: 4.1025641026vw;
  }
}

.c-mv-detail__share {
  position: absolute;
  top: 90px;
  right: 24px;
  width: 32px;
  height: 32px;
}

@media all and (min-width: 768px) {
  .c-mv-detail__share {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-mv-detail__share:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-nav-global {
  display: none;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  width: 100%;
  border-top: 1px solid #ccc;
  z-index: 5;
}

@media all and (max-width: 1240px) {
  .c-nav-global {
    height: 510px;
  }
}

@media all and (max-width: smpx) {
  .c-nav-global {
    height: calc(100vh - 60px);
  }
}

.c-nav-global::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: calc(100vh - 60px);
  background-color: rgba(0, 0, 0, 0.3);
  z-index: -1;
}

.c-nav-global__close {
  position: absolute;
  top: 15px;
  left: 82.5641025641vw;
  width: 32px;
  height: 32px;
}

@media all and (min-width: 768px) {
  .c-nav-global__close {
    display: none;
  }
}

.c-nav-global__close span {
  display: block;
  position: absolute;
  top: 15px;
  left: 0;
  right: 0;
  width: 22px;
  height: 2px;
  margin: 0 auto;
  background-color: #fff;
  transition: all 0.4s ease-out;
}

.c-nav-global__close span:nth-child(1) {
  transform: rotate(45deg);
}

.c-nav-global__close span:nth-child(2) {
  transform: rotate(135deg);
}

.c-nav-global__mega {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #a9a9a9;
}

@media all and (max-width: 767px) {
  .c-nav-global__mega {
    width: 79.4871794872vw;
    height: calc(100vh - 60px);
  }
}

.c-nav-global__mega::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 1;
}

@media all and (max-width: 1240px) {
  .c-nav-global__box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 510px;
    overflow-y: auto;
  }
}

@media all and (max-width: 1240px) {
  .c-nav-global__box {
    height: calc(100vh - 60px);
  }
}

@media all and (max-width: 767px) {
  .c-nav-global__box {
    height: calc(100vh - 60px);
  }
}

.c-nav-global__inner {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-gap: 32px;
  max-width: 1304px;
  width: 100%;
  margin: 0 auto;
  padding: 34px 64px 64px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-nav-global__inner {
    grid-column-gap: 2.2099447514vw;
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (max-width: 1240px) {
  .c-nav-global__inner {
    grid-template-columns: repeat(2, 1fr);
    padding-bottom: 130px;
  }
}

@media all and (max-width: 767px) {
  .c-nav-global__inner {
    display: block;
    max-width: 100%;
    margin: 0;
    padding: 0 0 130px;
  }
}

.c-nav-global__list {
  position: relative;
  z-index: 4;
}

@media all and (max-width: 767px) {
  .c-nav-global__list:not(:first-child) {
    border-top: 1px solid #ccc;
  }
}

@media all and (max-width: 767px) {
  .c-nav-global__item--bdt {
    border-top: 1px solid #ccc;
  }
}

.c-nav-global__link {
  display: flex;
  align-items: center;
  position: relative;
  padding: 12px 0 0 32px;
}

@media all and (max-width: 767px) {
  .c-nav-global__link {
    padding: 15px 0 11px 48px;
  }
}

@media all and (min-width: 768px) {
  .c-nav-global__link[href] {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-nav-global__link[href]:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-nav-global__icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 24px;
}

@media all and (max-width: 767px) {
  .c-nav-global__icon {
    left: 16px;
  }
}

.c-nav-global__icon+.c-nav-global__text {
  font-weight: 700;
}

.c-nav-global__text {
  display: block;
  width: 100%;
  padding: 1px 0 9px;
  border-bottom: 1px solid #ccc;
  line-height: 1.2;
}

@media all and (max-width: 767px) {
  .c-nav-global__text {
    border-bottom: none;
    padding-bottom: 0;
  }
}

.c-nav-global__text--lts-small {
  letter-spacing: 0.1em;
}

.c-nav-local {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 16px 20px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .c-nav-local {
    padding: 1.1049723757vw 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .c-nav-local {
    padding: 16px 64px;
  }
}

.c-nav-local__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.c-nav-local__link {
  display: flex;
  align-items: center;
  font-size: 0.75rem;
  letter-spacing: 0;
  gap: 0 5px;
}

@media all and (min-width: 768px) {
  .c-nav-local__link {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-nav-local__link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-nav-local__link::after {
  content: "";
  display: block;
  width: 8px;
  height: 5px;
  background: url("/assets/image/common/ico_arrow_02.svg") no-repeat;
}

.c-pagetop {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px 0;
  position: fixed;
  right: 24px;
  bottom: 95px;
  width: 60px;
  height: 60px;
  border-radius: 100px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.8);
  z-index: 10;
}

@media all and (min-width: 768px) {
  .c-pagetop {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .c-pagetop:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.c-pagetop__text {
  font-size: 0.625rem;
  line-height: 1.1;
  text-align: center;
  letter-spacing: 0;
}

/* p-slider-01
---------------------------------------------------------- */
.p-slider-01 {
  position: relative;
  overflow: hidden;
}

@media all and (min-width: 768px) {
  .p-slider-01::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 80px;
    height: calc(100% - 56px);
    background: linear-gradient(270deg, rgba(245, 240, 232, 0) 0%, rgb(245, 240, 232) 100%);
    z-index: 10;
  }

  .p-slider-01::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 80px;
    height: calc(100% - 56px);
    background: linear-gradient(90deg, rgba(245, 240, 232, 0) 0%, rgb(245, 240, 232) 100%);
    z-index: 10;
  }
}

@media all and (max-width: 767px) {
  .p-slider-01 {
    width: 100vw;
  }
}

.p-slider-01__slide {
  text-align: center;
  transition: transform 0.3s ease;
}

@media all and (max-width: 767px) {
  .p-slider-01__slide {
    width: 342px;
  }
}

.p-slider-01__slide:not(.swiper-slide-active) {
  transform: scale(0.875);
}

@media all and (max-width: 767px) {
  .p-slider-01__slide:not(.swiper-slide-active) {
    transform: scale(0.90644);
  }
}

.p-slider-01__slide.swiper-slide-active {
  transform: scale(1);
}

.p-slider-01__navigation-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 352px;
  width: 100%;
  margin: 24px auto 0;
}

@media all and (max-width: 767px) {
  .p-slider-01__navigation-wrap {
    justify-content: center;
  }
}

.p-slider-01__navigation {
  width: 32px;
  height: 32px;
  z-index: 10;
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media all and (min-width: 768px) {
  .p-slider-01__navigation {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .p-slider-01__navigation:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .p-slider-01__navigation {
    display: none;
  }
}

.p-slider-01__navigation--next {
  background-image: url("/assets/image/top/ico_slider_next.svg");
  right: 0;
  left: auto;
}

.p-slider-01__navigation--prev {
  background-image: url("/assets/image/top/ico_slider_prev.svg");
  left: 0;
  right: auto;
}

.p-slider-01__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  gap: 4px;
}

.p-slider-01 .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background: #ccc;
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .p-slider-01 .swiper-pagination-bullet {
  cursor: pointer;
}

.p-slider-01 .swiper-pagination-bullet:only-child {
  display: none !important;
}

.p-slider-01 .swiper-pagination-bullet-active {
  width: 12px;
  height: 12px;
  background: #243e59;
}

@media all and (min-width: 768px) {
  .p-slider-01--bg-cream-dark::before {
    background: linear-gradient(270deg, rgba(230, 217, 197, 0) 0%, #e6d9c5 100%);
  }

  .p-slider-01--bg-cream-dark::after {
    background: linear-gradient(90deg, rgba(230, 217, 197, 0) 0%, #e6d9c5 100%);
  }
}

/* c-tag-01
---------------------------------------------------------- */
.c-tag-01 {
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-align: center;
  padding: 4px 7px 4px 8px;
  background-color: #e5e5e5;
}

@media all and (max-width: 767px) {
  .c-tag-01 {
    font-size: 0.625rem;
  }
}

/* c-text-intro
---------------------------------------------------------- */
.c-text-intro {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.2em;
  text-align: center;
}

@media all and (max-width: 767px) {
  .c-text-intro {
    font-size: 1rem;
  }
}

.c-text-intro--medium {
  font-size: 1.25rem;
}

.c-text-intro--small {
  font-size: 1rem;
}

@media all and (max-width: 767px) {
  .c-text-intro--sm-large {
    font-size: 1.25rem;
  }
}

/* ==========================================================================//
// Pages
// ========================================================================== */
/* p-detail-contact
---------------------------------------------------------- */
.p-detail-contact {
  position: relative;
  background: url("/assets/image/contact/DSC02806.jpg") center no-repeat;
  background-size: cover;
}

@media all and (max-width: 767px) {
  .p-detail-contact {
    background-image: url("/assets/image/contact/DSC02806.jpg");
  }
}

.p-detail-contact::before,
.p-detail-contact::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background-position: top center;
  background-repeat: repeat-x;
  background-size: 2400px 38px;
  z-index: 3;
}

.p-detail-contact::before {
  top: 0;
  background-image: url("/assets/image/common/bg_wave_line_03_top.png");
}

.p-detail-contact::after {
  bottom: 0;
  background-image: url("/assets/image/common/bg_wave_line_03_bottom.png");
}

.p-detail-contact--wave-brown-top::before {
  background-image: url("/assets/image/common/bg_wave_line_04.png");
}

.p-detail-contact--wave-blue-top::before {
  background-image: url("/assets/image/common/bg_wave_line_02.png");
}

.p-detail-contact__bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-detail-contact__bg-overlay::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.p-detail-contact__inner {
  position: relative;
  padding-top: 136px;
  padding-bottom: 136px;
  color: #fff;
  z-index: 3;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-contact__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-contact__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-detail-contact__inner {
    max-width: 828px;
  }
}

@media all and (max-width: 767px) {
  .p-detail-contact__inner {
    padding-top: 88px;
    padding-bottom: 72px;
  }
}

.p-detail-contact__heading {
  margin-bottom: 32px;
  color: #fff;
}

.p-detail-contact__button {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 72px;
}

.p-detail-contact__button .c-button-01 {
  margin-top: 0;
}

@media all and (max-width: 767px) {
  .p-detail-contact__button .c-button-01__button {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
}

.p-detail-contact .c-text-intro {
  line-height: 1.4;
}

/* p-detail-general
---------------------------------------------------------- */
.p-detail-general {
  position: relative;
  padding: 136px 0;
  background-color: #f5f0e8;
}

@media all and (max-width: 767px) {
  .p-detail-general {
    padding: 88px 0 72px;
  }
}

.p-detail-general__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-general__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-general__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.p-detail-general__heading {
  margin-bottom: 128px;
}

@media all and (max-width: 767px) {
  .p-detail-general__heading {
    margin-bottom: 64px;
  }
}

.p-detail-general__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-gap: 128px 64px;
}

@media all and (max-width: 767px) {
  .p-detail-general__grid {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 64px;
  }
}

.p-detail-general__info {
  border-top: 1px solid #ccc;
}

.p-detail-general__info-box {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 19px 0;
  border-bottom: 1px solid #ccc;
}

.p-detail-general__info-title {
  width: 128px;
  flex: 1 0 auto;
  padding: 0 8px;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  color: #808080;
}

.p-detail-general__info-text {
  width: 100%;
  font-size: 0.875rem;
}

.p-detail-general__trivia {
  position: relative;
  padding: 24px 16px 76px;
  background-color: #fff;
  text-align: center;
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .p-detail-general__trivia {
    padding-bottom: 5.2486187845vw;
  }
}

@media all and (max-width: 767px) {
  .p-detail-general__trivia {
    padding-bottom: 36px;
  }
}

.p-detail-general__trivia.is-showall {
  padding-bottom: 40px;
}

.p-detail-general__trivia-item {
  padding: 16px 10px 22px 8px;
  border-bottom: 1px solid #ccc;
  text-align: left;
}

.p-detail-general__trivia-item:nth-child(n+3) {
  display: none;
}

.p-detail-general__trivia-text {
  position: relative;
  padding-left: 32px;
  font-size: 0.875rem;
  letter-spacing: normal;
  line-height: 1.45;
}

.p-detail-general__trivia-text::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  background: url("/assets/image/common/ico_information_01.svg") center no-repeat;
  background-size: contain;
}

.p-detail-general__trivia-readmore {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 132px;
  padding-bottom: 24px;
  z-index: 2;
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .p-detail-general__trivia-readmore {
    height: 9.1160220994vw;
    padding-bottom: 1.6574585635vw;
  }
}

@media all and (max-width: 767px) {
  .p-detail-general__trivia-readmore {
    height: 124px;
  }
}

.p-detail-general__trivia-readmore::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 50%);
}

.p-detail-general__trivia-readmore>span {
  position: relative;
  padding-right: 24px;
  margin-top: 24px;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  z-index: 3;
}

@media all and (min-width: 768px) {
  .p-detail-general__trivia-readmore>span {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .p-detail-general__trivia-readmore>span:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .p-detail-general__trivia-readmore>span {
    padding-right: 20px;
    font-size: 0.875rem;
  }
}

.p-detail-general__trivia-readmore>span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 9px;
  background: url("/assets/image/common/ico_arrow_02.svg") center no-repeat;
  background-size: contain;
}

@media all and (max-width: 767px) {
  .p-detail-general__trivia-readmore>span::after {
    width: 12px;
    height: 7px;
  }
}

.p-detail-general__heading-small {
  margin-bottom: 32px;
}

.p-detail-general__box-text p {
  font-size: 0.875rem;
  color: #243e59;
  line-height: 1.45;
  letter-spacing: 0.2em;
}

.p-detail-general__box-text p+p {
  margin-top: 30px;
}

.p-detail-general__seasons {
  background-color: #fff;
  padding-left: 16px;
}

.p-detail-general__seasons-item:first-child .p-detail-general__seasons-title {
  border-top: none;
}

.p-detail-general__seasons-title {
  position: relative;
  padding: 17px 44px 14px 0;
  border-top: 1px solid #ccc;
  font-size: 1rem;
  letter-spacing: normal;
  cursor: pointer;
}

@media all and (min-width: 768px) {
  .p-detail-general__seasons-title {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .p-detail-general__seasons-title:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.p-detail-general__seasons-title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 12px;
  height: 7px;
  background: url("/assets/image/common/ico_arrow_02.svg") center no-repeat;
  background-size: contain;
  transition: transform 0.3s ease-out;
}

.p-detail-general__seasons-title.is-open::after {
  transform: translateY(-50%) rotate(-180deg);
}

.p-detail-general__seasons-box {
  display: none;
  padding: 16px 24px 23px 8px;
  border-top: 1px solid #ccc;
}

.p-detail-general__seasons-text {
  font-size: 0.875rem;
  letter-spacing: normal;
  line-height: 1.43;
}

/* p-detail-tour-dates
---------------------------------------------------------- */
.p-detail-tour-dates {
  position: relative;
  padding-top: 136px;
  background-color: #f5f0e8;
}

@media all and (max-width: 767px) {
  .p-detail-tour-dates {
    padding-top: 88px;
  }
}

.p-detail-tour-dates::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background-image: url("/assets/image/common/bg_wave_line_03_top.png");
  background-position: top center;
  background-repeat: repeat-x;
  background-size: 2400px 38px;
  z-index: 3;
}

.p-detail-tour-dates__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-tour-dates__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-tour-dates__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.p-detail-tour-dates__heading {
  margin-bottom: 128px;
}

@media all and (max-width: 767px) {
  .p-detail-tour-dates__heading {
    margin-bottom: 64px;
  }
}

.p-detail-tour-dates__list {
  max-width: 990px;
}

/* p-detail-hotel
---------------------------------------------------------- */
.p-detail-hotel {
  padding: 128px 0 136px;
  background-color: #f5f0e8;
}

@media all and (max-width: 767px) {
  .p-detail-hotel {
    padding: 64px 0 72px;
  }
}

.p-detail-hotel__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-hotel__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-hotel__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (max-width: 767px) {
  .p-detail-hotel__heading {
    margin-bottom: 32px;
  }
}

@media all and (max-width: 767px) {
  .p-detail-hotel__button {
    margin-top: 32px;
  }
}

/* p-detail-hotel-other
---------------------------------------------------------- */
.p-detail-hotel-other {
  max-width: 700px;
  margin: 64px auto 0;
  background-color: #fff;
}

.p-detail-hotel-other__item {
  position: relative;
}

.p-detail-hotel-other__item:not(:first-child)::after {
  position: absolute;
  top: 0;
  left: 16px;
  right: 0;
  height: 1px;
  background-color: #ccc;
  content: "";
}

.p-detail-hotel-other__link {
  position: relative;
  display: block;
  padding: 16px 39px 16px 16px;
  color: #243e59;
  font-size: 1rem;
  letter-spacing: normal;
  line-height: 1.4;
}

@media all and (min-width: 768px) {
  .p-detail-hotel-other__link {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .p-detail-hotel-other__link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.p-detail-hotel-other__link::before {
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 7px;
  height: 13px;
  -webkit-mask: url("/assets/image/common/ico_arrow_01.svg") no-repeat;
  mask: url("/assets/image/common/ico_arrow_01.svg") no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #243e59;
  transform: translateY(-50%);
  content: "";
}

/* p-detail-rate
---------------------------------------------------------- */
.p-detail-rate {
  position: relative;
  padding: 136px 0 220px;
  background: url("/assets/image/tours/kenya/bg_travel_rate_01_pc.png") top center no-repeat;
  background-size: cover;
}

@media all and (max-width: 767px) {
  .p-detail-rate {
    padding: 88px 0 122px;
    background-image: url("/assets/image/tours/kenya/bg_travel_rate_01_sp.png");
  }
}

.p-detail-rate::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_03_top.png") top center repeat-x;
  background-size: auto 38px;
}

.p-detail-rate__inner {
  position: relative;
  color: #fff;
  z-index: 2;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-rate__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-rate__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-detail-rate__inner {
    max-width: 1118px;
  }
}

.p-detail-rate__heading {
  margin-bottom: 32px;
  letter-spacing: 0.19em;
  color: #fff;
}

.p-detail-rate__intro {
  width: 100%;
  margin: 0 auto 128px;
}

@media all and (min-width: 768px) {
  .p-detail-rate__intro {
    max-width: 990px;
  }
}

@media all and (max-width: 767px) {
  .p-detail-rate__intro {
    margin-bottom: 64px;
    line-height: 1.4;
  }
}

/* p-detail-rate-infor
---------------------------------------------------------- */
.p-detail-rate-infor {
  background-color: #ccb189;
  margin-top: -90px;
  padding-bottom: 64px;
}

@media all and (max-width: 767px) {
  .p-detail-rate-infor {
    margin-top: -58px;
    padding-bottom: 56px;
  }
}

.p-detail-rate-infor__inner {
  position: relative;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-rate-infor__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-rate-infor__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

/* p-detail-cruise-info
---------------------------------------------------------- */
.p-detail-cruise-info {
  background-color: #f5f0e8;
  padding: 96px 0 136px;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-info {
    background: #f5f0e8 url("/assets/image/tours/cruise-detail/bg_info_01.png") center center;
    background-size: cover;
    padding: 72px 0;
  }
}

.p-detail-cruise-info__inner {
  position: relative;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-cruise-info__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-cruise-info__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.p-detail-cruise-info__heading {
  margin-bottom: 0;
}

.p-detail-cruise-info__sub {
  padding-top: 128px;
  margin-bottom: 32px;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-info__sub {
    padding-top: 64px;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-info__plan {
    margin-left: -24px;
    margin-right: -24px;
  }
}

/* p-detail-cruise-cabin
---------------------------------------------------------- */
.p-detail-cruise-cabin {
  display: flex;
  gap: 32px;
}

@media all and (min-width: 768px) {
  .p-detail-cruise-cabin {
    align-items: center;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-cabin {
    flex-direction: column;
  }
}

@media all and (min-width: 768px) {
  .p-detail-cruise-cabin__detail {
    flex: 1 0 auto;
    width: 520px;
  }
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .p-detail-cruise-cabin__detail {
    width: 35.9116022099vw;
  }
}

.p-detail-cruise-cabin__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-cruise-cabin__list {
    width: 100%;
  }
}

.p-detail-cruise-cabin__room {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
}

.p-detail-cruise-cabin__quantity {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-cabin__quantity {
    font-size: 0.875rem;
  }
}

*+.p-detail-cruise-cabin__image {
  margin-top: 10px;
}

/* p-detail-cruise-schedule
---------------------------------------------------------- */
.p-detail-cruise-schedule {
  padding: 136px 0 64px;
  background-color: #e6d9c5;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule {
    padding: 88px 0 56px;
  }
}

.p-detail-cruise-schedule__inner {
  width: 100%;
  padding-left: 16px;
  padding-right: 16px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-cruise-schedule__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-detail-cruise-schedule__inner {
    max-width: 1448px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) {
  .p-detail-cruise-schedule__heading {
    margin-bottom: 128px;
  }
}

@media all and (min-width: 768px) {
  .p-detail-cruise-schedule__sub-heading {
    margin-bottom: 32px;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__sub-heading {
    font-size: 1.5rem;
    letter-spacing: 0.2em;
    margin-bottom: 24px;
  }
}

@media all and (min-width: 768px) {
  .p-detail-cruise-schedule__tab {
    border-radius: 24px;
    background-color: #f5f0e8;
  }
}

.p-detail-cruise-schedule__tab-heading {
  padding: 32px 20px 24px;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__tab-heading {
    position: relative;
    border-radius: 8px;
    padding: 16px;
    background-color: rgba(255, 255, 255, 0.5);
  }

  .p-detail-cruise-schedule__tab-heading::before {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: rgba(255, 255, 255, 0.5) transparent transparent transparent;
    transform: rotate(0deg) translateX(-50%);
    z-index: 1;
  }
}

.p-detail-cruise-schedule__list-tab {
  display: flex;
}

@media all and (min-width: 768px) {
  .p-detail-cruise-schedule__list-tab {
    justify-content: center;
    gap: 4px;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__list-tab {
    flex-direction: column;
  }
}

.p-detail-cruise-schedule__list-item {
  position: relative;
}

.p-detail-cruise-schedule__list-item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 0;
  display: block;
  width: 1px;
  height: calc(100% - 32px);
  background-color: #ccc;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__list-item:not(:first-child)::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
  }
}

@media all and (min-width: 768px) {
  .p-detail-cruise-schedule__list-item:hover::before {
    background-color: transparent;
  }

  .p-detail-cruise-schedule__list-item:hover+.p-detail-cruise-schedule__list-item::before {
    background-color: transparent;
  }

  .p-detail-cruise-schedule__list-item:hover .p-detail-cruise-schedule__button {
    color: #fff;
    background-color: #a17b42;
  }
}

.p-detail-cruise-schedule__list-item.is-current::before {
  background-color: transparent;
}

.p-detail-cruise-schedule__list-item.is-current+.p-detail-cruise-schedule__list-item::before {
  background-color: transparent;
}

.p-detail-cruise-schedule__list-item.is-current .p-detail-cruise-schedule__button {
  color: #fff;
  background-color: #a17b42;
}

.p-detail-cruise-schedule__button {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 16px 20px;
  border: none;
  outline: none;
  background-color: transparent;
  gap: 4px 0;
  color: #243e59;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
  cursor: pointer;
}

@media all and (min-width: 768px) {
  .p-detail-cruise-schedule__button {
    max-width: 165px;
    flex-direction: column;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__button {
    padding: 16px;
  }
}

.p-detail-cruise-schedule__days {
  font-size: 1.25rem;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__days {
    width: 90px;
    flex: 1 0 auto;
    font-weight: 700;
    font-size: 1rem;
    text-align: left;
  }
}

.p-detail-cruise-schedule__description {
  font-size: 0.875rem;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__description {
    width: 100%;
    text-align: left;
    font-size: 0.75rem;
  }
}

.p-detail-cruise-schedule__box {
  padding: 64px;
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .p-detail-cruise-schedule__box {
    padding: 4.4198895028vw;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__box {
    padding: 32px 24px;
    border-radius: 8px 8px 0 0;
    background-color: #f5f0e8;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__box:last-child {
    border-radius: 0 0 8px 8px;
  }
}

.p-detail-cruise-schedule__box+.p-detail-cruise-schedule__box {
  border-top: 1px solid #ccc;
}

.p-detail-cruise-schedule__lead {
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  text-align: center;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__lead {
    font-size: 0.875rem;
  }
}

.p-detail-cruise-schedule__rate {
  margin-top: 64px;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__rate {
    margin-top: 32px;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__place {
    padding-top: 32px;
    margin-bottom: 32px;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-schedule__place .c-box-place-accordion {
    border-radius: 8px;
    overflow: hidden;
  }
}

/* p-detail-cruise-tour
---------------------------------------------------------- */
.p-detail-cruise-tour {
  display: flex;
  gap: 0 64px;
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .p-detail-cruise-tour {
    gap: 0 4.4198895028vw;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-tour {
    flex-direction: column;
  }
}

@media all and (min-width: 768px) {
  .p-detail-cruise-tour__image {
    flex: 1 0 auto;
    width: 678px;
  }
}

@media all and (min-width: 768px) and (max-width: 1448px) {
  .p-detail-cruise-tour__image {
    width: 46.8232044199vw;
  }
}

@media all and (max-width: 767px) {
  .p-detail-cruise-tour__image {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    overflow: hidden;
    margin: -32px -24px 0;
  }
}

.p-detail-cruise-tour__detail {
  width: 100%;
}

@media all and (max-width: 767px) {
  .p-detail-cruise-tour__detail {
    padding-top: 32px;
  }
}

/* p-detail-notice
---------------------------------------------------------- */
.p-detail-notice {
  position: relative;
  padding: 136px 0;
  background-color: #f5f0e8;
}

.p-detail-notice::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background-image: url("/assets/image/common/bg_wave_line_04.png");
  background-position: top center;
  background-repeat: repeat-x;
  background-size: 2400px 38px;
  z-index: 3;
}

@media all and (max-width: 767px) {
  .p-detail-notice {
    padding: 88px 0 72px;
  }
}

.p-detail-notice__inner {
  position: relative;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-detail-notice__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-detail-notice__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-detail-notice__heading {
    margin-bottom: 128px;
  }
}

.p-detail-notice__info {
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}

.p-detail-notice__info-detail {
  max-width: 990px;
  margin: 0 auto;
}

.p-staff-section {
  padding: 96px 0 136px;
  background-color: #f5f0e8;
  position: relative;
}

.p-staff-section::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_04.png") top center repeat-x;
  background-size: auto 38px;
}

.p-staff-section:not(.p-staff-section ~ .p-staff-section)::before {
  display: none;
}

@media all and (max-width: 767px) {
  .p-staff-section {
    padding: 72px 0;
  }
}

.p-staff-section__inner {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-staff-section__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-staff-section__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.p-staff-section--dark {
  background-color: #e6d9c5;
}

.p-staff-section--dark::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_03_top.png") top center repeat-x;
  background-size: auto 38px;
}

.p-staff-grid {
  display: grid;
  grid-template-columns: repeat(4, fit-content(270px));
  gap: 1.5rem 1rem;
  padding: 0 24px;
  margin-top: 64px;
}

@media all and (max-width: 767px) {
  .p-staff-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 16px;
    padding: 0;
  }
}

/* p-top-mv
---------------------------------------------------------- */
.p-top-mv {
  position: relative;
  height: 100vh;
  overflow-x: hidden;
}

.p-top-mv::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.p-top-mv__box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  color: #fff;
  z-index: 2;
  text-align: center;
}

.p-top-mv__heading {
  position: relative;
  margin-bottom: 64px;
  padding-bottom: 64px;
  z-index: 3;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-mv__heading {
    margin-bottom: 4.9079754601vw;
    padding-bottom: 4.9079754601vw;
  }
}

@media all and (max-width: 767px) {
  .p-top-mv__heading {
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
}

.p-top-mv__heading::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 1px;
  background-color: #fff;
}

.p-top-mv__heading img {
  display: block;
  margin: 0 auto;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-mv__heading img {
    width: 52.3006134969vw;
  }
}

@media all and (max-width: 767px) {
  .p-top-mv__heading img {
    width: 100%;
    max-width: 341px;
  }
}

.p-top-mv__heading-small {
  margin-bottom: 15px;
  display: block;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-mv__heading-small {
    font-size: 2.4539877301vw;
  }
}

@media all and (max-width: 767px) {
  .p-top-mv__heading-small {
    font-size: 1rem;
  }
}

.p-top-mv__title {
  position: relative;
  z-index: 3;
}

.p-top-mv__heading-title {
  display: block;
  font-size: 3.75rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-mv__heading-title {
    font-size: 4.6012269939vw;
  }
}

@media all and (max-width: 767px) {
  .p-top-mv__heading-title {
    font-size: 1.875rem;
  }
}

.p-top-mv__title-text {
  display: block;
  margin-bottom: 17px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-mv__title-text {
    font-size: 2.4539877301vw;
  }
}

@media all and (max-width: 767px) {
  .p-top-mv__title-text {
    font-size: 1rem;
    line-height: 1.8;
  }
}

.p-top-mv__title-description {
  display: block;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-mv__title-description {
    font-size: 1.5337423313vw;
  }
}

@media all and (max-width: 767px) {
  .p-top-mv__title-description {
    font-size: 0.75rem;
  }
}

.p-top-mv video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 1;
}

/* p-top-luxury
---------------------------------------------------------- */
.p-top-luxury {
  position: relative;
  padding: 118px 0 201px;
  background: url("/assets/image/top/bg_luxurious_01_pc.png") top center no-repeat;
  background-size: cover;
  color: #fff;
}

@media all and (max-width: 767px) {
  .p-top-luxury {
    padding: 76px 0 150px;
    background-image: url("/assets/image/top/bg_luxurious_01_sp.png");
  }
}

.p-top-luxury::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  background: url("/assets/image/top/bg_luxurious_top_pc.png") top center repeat-x;
  background-size: 1448px 250px;
  z-index: 1;
}

@media all and (max-width: 767px) {
  .p-top-luxury::before {
    background-position: bottom left;
  }
}

.p-top-luxury__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-top-luxury__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-luxury__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-top-luxury__inner {
    max-width: 928px;
  }
}

.p-top-luxury__heading {
  margin-bottom: 69px;
  line-height: 1.2;
}

@media all and (max-width: 767px) {
  .p-top-luxury__heading {
    margin-bottom: 71px;
  }
}

.p-top-luxury__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-gap: 24px;
  margin-top: 62px;
}

@media all and (max-width: 767px) {
  .p-top-luxury__list {
    margin-top: 60px;
  }
}

.p-top-luxury__button {
  display: block;
  padding: 24px 16px;
  background-color: #333;
  border-radius: 12px;
}

@media all and (min-width: 768px) {
  .p-top-luxury__button {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .p-top-luxury__button:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.p-top-luxury__button-icon {
  display: block;
  width: 60px;
  margin: 0 auto 17px;
}

.p-top-luxury__button-text {
  display: block;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
}

@media all and (max-width: 767px) {
  .p-top-luxury__button-text {
    font-size: 0.875rem;
  }
}

/* p-top-content
---------------------------------------------------------- */
.p-top-content {
  background-color: #ccb189;
  padding-bottom: 62px;
}

@media all and (max-width: 767px) {
  .p-top-content {
    padding-bottom: 56px;
  }
}

.p-top-content__inner {
  position: relative;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-top-content__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-content__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-top-content__inner {
    max-width: 1448px;
  }
}

@media all and (max-width: 767px) {
  .p-top-content__inner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.p-top-content__note {
  position: absolute;
  top: -42px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1448px;
  width: 100%;
  padding-left: 64px;
  padding-right: 64px;
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.2em;
  text-align: right;
}

@media all and (max-width: 767px) {
  .p-top-content__note {
    top: -39px;
    right: 22px;
    left: inherit;
    transform: none;
    max-width: 100%;
    padding: 0;
    font-size: 0.6875rem;
  }
}

.p-top-content--blue {
  background-color: #243e59;
}

/* p-top-slider-box
---------------------------------------------------------- */
.p-top-slider-box {
  margin-top: -90px;
  position: relative;
  z-index: 3;
}

.p-top-slider-box__row {
  overflow: hidden;
  position: relative;
  padding: 64px 0px;
  background-color: #f5f0e8;
  border-radius: 24px;
}

@media all and (max-width: 767px) {
  .p-top-slider-box__row {
    padding: 56px 0;
    border-radius: 12px;
  }
}

.p-top-slider-box__row+.p-top-slider-box__row {
  margin-top: 64px;
}

.p-top-slider-box__row::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  background: url("/assets/image/top/bg_luxurious_bottom_pc.png") bottom center repeat-x;
  background-size: 1320px 250px;
}

@media all and (max-width: 767px) {
  .p-top-slider-box__row::before {
    background-position: bottom left;
  }
}

.p-top-slider-box__heading {
  max-width: 848px;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}

.p-top-slider-box--blue {
  margin-top: -160px;
}

@media all and (max-width: 767px) {
  .p-top-slider-box--blue {
    margin-top: -150px;
  }
}

.p-top-slider-box--blue .p-top-slider-box__row {
  background-color: #39638f;
  color: #fff;
}

.p-top-slider-box--blue .p-top-slider-box__row a {
  color: #fff;
}

.p-top-slider-box--blue .p-top-slider-box__row::before {
  background-image: url("/assets/image/top/bg_hotels_bottom.png");
}

/* p-top-slider
---------------------------------------------------------- */
.p-top-slider {
  position: relative;
  margin-top: 62px;
}

@media all and (max-width: 767px) {
  .p-top-slider {
    margin-top: 60px;
  }
}

.p-top-slider__link {
  display: block;
}

@media all and (min-width: 768px) {
  .p-top-slider__link {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .p-top-slider__link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.p-top-slider__slide {
  width: 350px;
  text-align: center;
}

@media all and (max-width: 767px) {
  .p-top-slider__slide {
    width: 262px;
  }
}

.p-top-slider__slide.swiper-slide-active .p-top-slider__box {
  width: 430px;
  margin-top: 13px;
}

@media all and (max-width: 767px) {
  .p-top-slider__slide.swiper-slide-active .p-top-slider__box {
    width: 310px;
  }
}

.p-top-slider__slide.swiper-slide-active .p-top-slider__title {
  font-size: 2rem;
}

@media all and (max-width: 767px) {
  .p-top-slider__slide.swiper-slide-active .p-top-slider__title {
    font-size: 1.25rem;
  }
}

.p-top-slider__slide.swiper-slide-active .p-top-slider__text {
  font-size: 1.25rem;
}

@media all and (max-width: 767px) {
  .p-top-slider__slide.swiper-slide-active .p-top-slider__text {
    font-size: 0.875rem;
  }
}

.p-top-slider__image {
  aspect-ratio: 430/300;
}

.p-top-slider__image>img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-top-slider__box {
  margin-top: 10px;
}

.p-top-slider__title {
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media all and (max-width: 767px) {
  .p-top-slider__title {
    font-size: 1rem;
  }
}

.p-top-slider__text {
  margin-top: 7px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media all and (max-width: 767px) {
  .p-top-slider__text {
    font-size: 0.75rem;
  }
}

.p-top-slider__navigation-wrap {
  position: absolute;
  top: 130px;
  left: 0;
  right: 0;
  max-width: 470px;
  width: 100%;
  margin: 0 auto;
}

@media all and (max-width: 767px) {
  .p-top-slider__navigation-wrap {
    top: 90px;
    max-width: 340px;
  }
}

.p-top-slider__navigation {
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 10;
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media all and (min-width: 768px) {
  .p-top-slider__navigation {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .p-top-slider__navigation:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .p-top-slider__navigation {
    width: 32px;
    height: 32px;
  }
}

.p-top-slider__navigation--next {
  background-image: url("/assets/image/top/ico_slider_next.svg");
  right: 0;
  left: auto;
}

.p-top-slider__navigation--prev {
  background-image: url("/assets/image/top/ico_slider_prev.svg");
  left: 0;
  right: auto;
}

.p-top-slider .is-changing,
.p-top-slider .is-changed {
  transform: translateX(-40px);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

@media all and (max-width: 767px) {

  .p-top-slider .is-changing,
  .p-top-slider .is-changed {
    transform: translateX(-25px);
  }
}

.p-top-slider .is-changing {
  transition: all 0.4s;
  pointer-events: none;
}

.p-top-slider .is-changed {
  transition: none;
}

.p-top-slider .is-changing.swiper-slide-active,
.p-top-slider .is-changed.swiper-slide-active {
  transform: translateX(-40px);
}

@media all and (max-width: 767px) {

  .p-top-slider .is-changing.swiper-slide-active,
  .p-top-slider .is-changed.swiper-slide-active {
    transform: translateX(-25px);
  }
}

.p-top-slider .swiper-slide-active~.is-changing,
.p-top-slider .swiper-slide-active~.is-changed {
  transform: translateX(40px);
}

@media all and (max-width: 767px) {

  .p-top-slider .swiper-slide-active~.is-changing,
  .p-top-slider .swiper-slide-active~.is-changed {
    transform: translateX(25px);
  }
}

.p-top-slider .is-changing .p-top-slider__image,
.p-top-slider .is-changed .p-top-slider__image {
  transform-origin: center top;
}

.p-top-slider .is-changing .p-top-slider__image {
  transition: all 0.4s;
}

.p-top-slider .is-changed .p-top-slider__image {
  transition: none;
}

.p-top-slider .is-changing.swiper-slide-active .p-top-slider__image,
.p-top-slider .is-changed.swiper-slide-active .p-top-slider__image {
  width: 430px;
}

@media all and (max-width: 767px) {

  .p-top-slider .is-changing.swiper-slide-active .p-top-slider__image,
  .p-top-slider .is-changed.swiper-slide-active .p-top-slider__image {
    width: 310px;
  }
}

/* p-top-relax
---------------------------------------------------------- */
.p-top-relax {
  position: relative;
  padding: 112px 0 395px;
  background: url("/assets/image/top/bg_relax_01_pc.png") top center no-repeat;
  background-size: cover;
  color: #fff;
}

@media all and (max-width: 767px) {
  .p-top-relax {
    padding: 88px 0 380px;
    background-image: url("/assets/image/top/bg_relax_01_sp.png");
  }
}

.p-top-relax::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_01.png") top center repeat-x;
  background-size: 2400px 38px;
}

.p-top-relax__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-top-relax__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-relax__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-top-relax__inner {
    max-width: 928px;
  }
}

@media all and (max-width: 767px) {
  .p-top-relax__inner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media all and (max-width: 767px) {
  .p-top-relax__heading {
    margin-bottom: 13px;
  }
}

/* p-top-local
---------------------------------------------------------- */
.p-top-local {
  position: relative;
  padding: 112px 0;
  background: #f5f0e8 url("/assets/image/top/bg_map_local_01.png") top 14px center no-repeat;
  background-size: 100% auto;
}

@media all and (max-width: 767px) {
  .p-top-local {
    padding: 88px 0 72px;
  }
}

.p-top-local::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_02.png") top center repeat-x;
  background-size: 2400px 38px;
}

.p-top-local__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-top-local__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-local__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-top-local__inner {
    max-width: 1118px;
  }
}

@media all and (max-width: 767px) {
  .p-top-local__inner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.p-top-local__heading {
  margin-bottom: 32px;
  letter-spacing: 0.19em;
}

.p-top-local__image {
  margin-top: 88px;
}

@media all and (max-width: 767px) {
  .p-top-local__image {
    margin: 61px -16px 0;
  }
}

.p-top-local__image img {
  width: 100%;
}

@media all and (min-width: 768px) {
  .p-top-local__button {
    margin-top: 86px;
  }
}

/* .p-top-activity
---------------------------------------------------------- */
.p-top-activity {
  position: relative;
  background: #f5f0e8;
}

.p-top-activity::before,
.p-top-activity::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background-position: top center;
  background-repeat: repeat-x;
  background-size: 2400px 38px;
  z-index: 3;
}

.p-top-activity::before {
  top: 0;
  background-image: url("/assets/image/common/bg_wave_line_03_top.png");
}

.p-top-activity::after {
  bottom: 0;
  background-image: url("/assets/image/common/bg_wave_line_03_bottom.png");
}

.p-top-activity-slider {
  position: relative;
  overflow: hidden;
}

.p-top-activity-slider__slide {
  display: flex;
  height: 100%;
}

.p-top-activity-slider__navigation {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  z-index: 10;
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media all and (min-width: 768px) {
  .p-top-activity-slider__navigation {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }

  .p-top-activity-slider__navigation:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .p-top-activity-slider__navigation {
    top: inherit;
    bottom: 40px;
    transform: none;
    width: 32px;
    height: 32px;
  }
}

.p-top-activity-slider__navigation--next {
  background-image: url("/assets/image/top/ico_slider_next.svg");
  right: 64px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-activity-slider__navigation--next {
    right: 4.9079754601vw;
  }
}

@media all and (max-width: 767px) {
  .p-top-activity-slider__navigation--next {
    right: 24px;
  }
}

.p-top-activity-slider__navigation--prev {
  background-image: url("/assets/image/top/ico_slider_prev.svg");
  left: 64px;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-activity-slider__navigation--prev {
    left: 4.9079754601vw;
  }
}

@media all and (max-width: 767px) {
  .p-top-activity-slider__navigation--prev {
    left: 24px;
  }
}

.p-activity-card {
  display: block;
  overflow: hidden;
}

.p-activity-card__image {
  position: relative;
}

.p-activity-card__image::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

.p-activity-card__image img {
  width: 100%;
}

.p-activity-card__box {
  position: absolute;
  bottom: 114px;
  left: 50%;
  transform: translateX(-50%);
  width: 990px;
  padding: 0 25px;
  color: #fff;
  text-align: center;
  z-index: 4;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-activity-card__box {
    bottom: 8.7423312883vw;
    width: 75.9202453988vw;
    padding: 0 1.9171779141vw;
  }
}

@media all and (max-width: 767px) {
  .p-activity-card__box {
    width: 100%;
    top: calc(50% + 8px);
    left: 0;
    bottom: inherit;
    transform: translateY(-50%);
  }
}

.p-activity-card__heading-sub {
  display: block;
  font-size: 2.5rem;
  font-weight: 400;
  text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
  letter-spacing: 0.2em;
}

@media all and (max-width: 767px) {
  .p-activity-card__heading-sub {
    font-size: 1.5rem;
  }
}

.p-activity-card__heading-title {
  display: block;
  font-size: 5rem;
  font-weight: 400;
  line-height: 1;
  text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
  letter-spacing: 0.2em;
}

@media all and (max-width: 767px) {
  .p-activity-card__heading-title {
    font-size: 3.5rem;
  }
}

.p-activity-card__text {
  margin-top: 33px;
  font-size: 1.25rem;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-activity-card__text {
    margin-top: 2.5306748466vw;
  }
}

@media all and (max-width: 767px) {
  .p-activity-card__text {
    font-size: 1rem;
  }
}

.p-activity-card__description {
  margin-top: 23px;
  font-size: 0.875rem;
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-activity-card__description {
    margin-right: 1.763803681vw;
  }
}

@media all and (max-width: 767px) {
  .p-activity-card__description {
    font-size: 0.75rem;
  }
}

/* .p-top-sns
---------------------------------------------------------- */
.p-top-sns {
  padding: 112px 0;
  background-color: #f5f0e8;
}

@media all and (max-width: 767px) {
  .p-top-sns {
    padding: 88px 0;
  }
}

.p-top-sns__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-top-sns__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-sns__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

@media all and (min-width: 768px) {
  .p-top-sns__inner {
    max-width: 960px;
  }
}

.p-top-sns__icon {
  display: block;
  width: 80px;
  margin: 0 auto 33px;
}

.p-top-sns__icon img {
  width: 100%;
}

.p-top-sns__heading {
  margin-bottom: 32px;
  letter-spacing: 0.19em;
}

.p-top-sns__feed {
  width: 100%;
}

/* p-top-contact
---------------------------------------------------------- */
.p-top-contact {
  position: relative;
  padding: 112px 0;
  background: url("/assets/image/top/bg_contact_01_pc.png") top center no-repeat;
  background-size: cover;
}

@media all and (max-width: 767px) {
  .p-top-contact {
    padding: 88px 0 72px;
    background-image: url("/assets/image/top/bg_contact_01_sp.png");
  }
}

.p-top-contact::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 38px;
  background: url("/assets/image/common/bg_wave_line_03_top.png") top center repeat-x;
  background-size: auto 38px;
}

.p-top-contact__inner {
  position: relative;
  color: #fff;
  z-index: 2;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

@media all and (min-width: 768px) {
  .p-top-contact__inner {
    max-width: 1304px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media all and (min-width: 768px) and (max-width: 1304px) {
  .p-top-contact__inner {
    padding-left: 4.4198895028vw;
    padding-right: 4.4198895028vw;
  }
}

.p-top-contact__heading {
  margin-bottom: 32px;
  letter-spacing: 0.19em;
}

.p-top-contact__intro {
  width: 100%;
  margin: 0 auto;
}

@media all and (min-width: 768px) {
  .p-top-contact__intro {
    max-width: 800px;
  }
}

@media all and (max-width: 767px) {
  .p-top-contact__intro {
    line-height: 1.4;
  }
}

.p-top-contact__form {
  max-width: 600px;
  width: 100%;
  margin: 85px auto 0;
}

@media all and (max-width: 767px) {
  .p-top-contact__form {
    max-width: 100%;
    margin-top: 63px;
  }
}

.js-animated-content {
  visibility: hidden;
}

.js-animated-content.is-animated {
  visibility: visible;
  animation: fadeAnimated 1s forwards;
}

@keyframes fadeAnimated {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================================================//
// Utility
// ========================================================================== */
.u-d-none {
  display: none !important;
}

.u-v-hidden {
  visibility: hidden !important;
}

@media all and (max-width: 767px) {
  .u-d-sm-none {
    display: none !important;
  }

  .u-v-sm-hidden {
    visibility: hidden !important;
  }
}

@media all and (min-width: 768px) {
  .u-d-md-none {
    display: none !important;
  }

  .u-v-md-hidden {
    visibility: hidden !important;
  }
}

.u-mt-0 {
  margin-top: 0px !important;
}

.u-pt-0 {
  padding-top: 0px !important;
}

.u-mb-0 {
  margin-bottom: 0px !important;
}

.u-pb-0 {
  padding-bottom: 0px !important;
}

.u-ml-0 {
  margin-left: 0px !important;
}

.u-pl-0 {
  padding-left: 0px !important;
}

.u-mr-0 {
  margin-right: 0px !important;
}

.u-pr-0 {
  padding-right: 0px !important;
}

.u-mt-5 {
  margin-top: 5px !important;
}

.u-pt-5 {
  padding-top: 5px !important;
}

.u-mb-5 {
  margin-bottom: 5px !important;
}

.u-pb-5 {
  padding-bottom: 5px !important;
}

.u-ml-5 {
  margin-left: 5px !important;
}

.u-pl-5 {
  padding-left: 5px !important;
}

.u-mr-5 {
  margin-right: 5px !important;
}

.u-pr-5 {
  padding-right: 5px !important;
}

.u-mt-10 {
  margin-top: 10px !important;
}

.u-pt-10 {
  padding-top: 10px !important;
}

.u-mb-10 {
  margin-bottom: 10px !important;
}

.u-pb-10 {
  padding-bottom: 10px !important;
}

.u-ml-10 {
  margin-left: 10px !important;
}

.u-pl-10 {
  padding-left: 10px !important;
}

.u-mr-10 {
  margin-right: 10px !important;
}

.u-pr-10 {
  padding-right: 10px !important;
}

@media all and (max-width: 767px) {
  .u-mt-sm-0 {
    margin-top: 0px !important;
  }

  .u-pt-sm-0 {
    padding-top: 0px !important;
  }

  .u-mb-sm-0 {
    margin-bottom: 0px !important;
  }

  .u-pb-sm-0 {
    padding-bottom: 0px !important;
  }

  .u-ml-sm-0 {
    margin-left: 0px !important;
  }

  .u-pl-sm-0 {
    padding-left: 0px !important;
  }

  .u-mr-sm-0 {
    margin-right: 0px !important;
  }

  .u-pr-sm-0 {
    padding-right: 0px !important;
  }

  .u-mt-sm-5 {
    margin-top: 5px !important;
  }

  .u-pt-sm-5 {
    padding-top: 5px !important;
  }

  .u-mb-sm-5 {
    margin-bottom: 5px !important;
  }

  .u-pb-sm-5 {
    padding-bottom: 5px !important;
  }

  .u-ml-sm-5 {
    margin-left: 5px !important;
  }

  .u-pl-sm-5 {
    padding-left: 5px !important;
  }

  .u-mr-sm-5 {
    margin-right: 5px !important;
  }

  .u-pr-sm-5 {
    padding-right: 5px !important;
  }

  .u-mt-sm-10 {
    margin-top: 10px !important;
  }

  .u-pt-sm-10 {
    padding-top: 10px !important;
  }

  .u-mb-sm-10 {
    margin-bottom: 10px !important;
  }

  .u-pb-sm-10 {
    padding-bottom: 10px !important;
  }

  .u-ml-sm-10 {
    margin-left: 10px !important;
  }

  .u-pl-sm-10 {
    padding-left: 10px !important;
  }

  .u-mr-sm-10 {
    margin-right: 10px !important;
  }

  .u-pr-sm-10 {
    padding-right: 10px !important;
  }
}

@media all and (min-width: 768px) {
  .u-mt-md-0 {
    margin-top: 0px !important;
  }

  .u-pt-md-0 {
    padding-top: 0px !important;
  }

  .u-mb-md-0 {
    margin-bottom: 0px !important;
  }

  .u-pb-md-0 {
    padding-bottom: 0px !important;
  }

  .u-ml-md-0 {
    margin-left: 0px !important;
  }

  .u-pl-md-0 {
    padding-left: 0px !important;
  }

  .u-mr-md-0 {
    margin-right: 0px !important;
  }

  .u-pr-md-0 {
    padding-right: 0px !important;
  }

  .u-mt-md-5 {
    margin-top: 5px !important;
  }

  .u-pt-md-5 {
    padding-top: 5px !important;
  }

  .u-mb-md-5 {
    margin-bottom: 5px !important;
  }

  .u-pb-md-5 {
    padding-bottom: 5px !important;
  }

  .u-ml-md-5 {
    margin-left: 5px !important;
  }

  .u-pl-md-5 {
    padding-left: 5px !important;
  }

  .u-mr-md-5 {
    margin-right: 5px !important;
  }

  .u-pr-md-5 {
    padding-right: 5px !important;
  }

  .u-mt-md-10 {
    margin-top: 10px !important;
  }

  .u-pt-md-10 {
    padding-top: 10px !important;
  }

  .u-mb-md-10 {
    margin-bottom: 10px !important;
  }

  .u-pb-md-10 {
    padding-bottom: 10px !important;
  }

  .u-ml-md-10 {
    margin-left: 10px !important;
  }

  .u-pl-md-10 {
    padding-left: 10px !important;
  }

  .u-mr-md-10 {
    margin-right: 10px !important;
  }

  .u-pr-md-10 {
    padding-right: 10px !important;
  }
}

/*# sourceMappingURL=style.css.map */
