@charset "UTF-8";
/*---------------------------------------
コンポーネント関連
---------------------------------------*/

:root {
  --c-accent: #878a63;
  --c-text: #3b4043;
  --c-base-01: #646865;
  --c-base-02: #f4f2ef;
  --c-base-03: #e1e1e1;
  --c-white: #fff;
}
/*---------------------------------------
common関連
---------------------------------------*/
a {
  word-break: break-all;
}
.bg-primary {
  background-color: var(--theme-color, #ccbc9d);
}

.btn-primary {
  --bs-btn-bg: var(--theme-color, #ccbc9d);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-secondary {
  background-color: #867439;
}

.btn-secondary {
  --bs-btn-bg: #867439;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-light {
  background-color: #f8f7f3;
}

.btn-light {
  --bs-btn-bg: #f8f7f3;
}

.bg-dark {
  background-color: #000;
}

.btn-dark {
  --bs-btn-bg: #000;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-white {
  background-color: #fff;
}

.btn-white {
  --bs-btn-bg: #fff;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-orange {
  background-color: #dd5e25;
}

.btn-orange {
  --bs-btn-bg: #dd5e25;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-gold {
  background-color: #ad9a5c;
}

.btn-gold {
  --bs-btn-bg: #ad9a5c;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

h1 {
  font-size: 4.8rem;
}

.fs-1 {
  font-size: 4.8rem;
}

h2 {
  font-size: 4.2rem;
}

.fs-2 {
  font-size: 4.2rem;
}

h3 {
  font-size: 3.6rem;
}

.fs-3 {
  font-size: 3.6rem;
}

h4 {
  font-size: 3.2rem;
}

.fs-4 {
  font-size: 3.2rem;
}

h5 {
  font-size: 2.8rem;
}

.fs-5 {
  font-size: 2.8rem;
}

h6 {
  font-size: 2.4rem;
}

.fs-6 {
  font-size: 2.4rem;
}

.mt-auto {
  margin-top: auto !important;
}

.mt-sm {
  margin-top: 4rem !important;
}

.pt-sm {
  padding-top: 4rem !important;
}

.mt-md {
  margin-top: 6rem !important;
}

.pt-md {
  padding-top: 6rem !important;
}

.mt-lg {
  margin-top: 10rem !important;
}

.pt-lg {
  padding-top: 10rem !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.mt-1 {
  margin-top: 0.8rem !important;
}

.pt-1 {
  padding-top: 0.8rem !important;
}

.mt-2 {
  margin-top: 1.6rem !important;
}

.pt-2 {
  padding-top: 1.6rem !important;
}

.mt-3 {
  margin-top: 2.4rem !important;
}

.pt-3 {
  padding-top: 2.4rem !important;
}

.mt-4 {
  margin-top: 3.2rem !important;
}

.pt-4 {
  padding-top: 3.2rem !important;
}

.mt-5 {
  margin-top: 4rem !important;
}

.pt-5 {
  padding-top: 4rem !important;
}

.mt-6 {
  margin-top: 4.8rem !important;
}

.pt-6 {
  padding-top: 4.8rem !important;
}

.mt-7 {
  margin-top: 6.4rem !important;
}

.pt-7 {
  padding-top: 6.4rem !important;
}

.mt-8 {
  margin-top: 8rem !important;
}

.pt-8 {
  padding-top: 8rem !important;
}

.mt-9 {
  margin-top: 9.6rem !important;
}

.pt-9 {
  padding-top: 9.6rem !important;
}

.mt-10 {
  margin-top: 11.2rem !important;
}

.pt-10 {
  padding-top: 11.2rem !important;
}

.mt-11 {
  margin-top: 12.8rem !important;
}

.pt-11 {
  padding-top: 12.8rem !important;
}

.mt-12 {
  margin-top: 14.4rem !important;
}

.pt-12 {
  padding-top: 14.4rem !important;
}

.mt-13 {
  margin-top: 16rem !important;
}

.pt-13 {
  padding-top: 16rem !important;
}

.mt-14 {
  margin-top: 17.6rem !important;
}

.pt-14 {
  padding-top: 17.6rem !important;
}

.mt-15 {
  margin-top: 19.2rem !important;
}

.pt-15 {
  padding-top: 19.2rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.mb-sm {
  margin-bottom: 4rem !important;
}

.pb-sm {
  padding-bottom: 4rem !important;
}

.mb-md {
  margin-bottom: 6rem !important;
}

.pb-md {
  padding-bottom: 6rem !important;
}

.mb-lg {
  margin-bottom: 10rem !important;
}

.pb-lg {
  padding-bottom: 10rem !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.8rem !important;
}

.pb-1 {
  padding-bottom: 0.8rem !important;
}

.mb-2 {
  margin-bottom: 1.6rem !important;
}

.pb-2 {
  padding-bottom: 1.6rem !important;
}

.mb-3 {
  margin-bottom: 2.4rem !important;
}

.pb-3 {
  padding-bottom: 2.4rem !important;
}

.mb-4 {
  margin-bottom: 3.2rem !important;
}

.pb-4 {
  padding-bottom: 3.2rem !important;
}

.mb-5 {
  margin-bottom: 4rem !important;
}

.pb-5 {
  padding-bottom: 4rem !important;
}

.mb-6 {
  margin-bottom: 4.8rem !important;
}

.pb-6 {
  padding-bottom: 4.8rem !important;
}

.mb-7 {
  margin-bottom: 6.4rem !important;
}

.pb-7 {
  padding-bottom: 6.4rem !important;
}

.mb-8 {
  margin-bottom: 8rem !important;
}

.pb-8 {
  padding-bottom: 8rem !important;
}

.mb-9 {
  margin-bottom: 9.6rem !important;
}

.pb-9 {
  padding-bottom: 9.6rem !important;
}

.mb-10 {
  margin-bottom: 11.2rem !important;
}

.pb-10 {
  padding-bottom: 11.2rem !important;
}

.mb-11 {
  margin-bottom: 12.8rem !important;
}

.pb-11 {
  padding-bottom: 12.8rem !important;
}

.mb-12 {
  margin-bottom: 14.4rem !important;
}

.pb-12 {
  padding-bottom: 14.4rem !important;
}

.mb-13 {
  margin-bottom: 16rem !important;
}

.pb-13 {
  padding-bottom: 16rem !important;
}

.mb-14 {
  margin-bottom: 17.6rem !important;
}

.pb-14 {
  padding-bottom: 17.6rem !important;
}

.mb-15 {
  margin-bottom: 19.2rem !important;
}

.pb-15 {
  padding-bottom: 19.2rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.ms-sm {
  margin-left: 4rem !important;
}

.ps-sm {
  padding-left: 4rem !important;
}

.ms-md {
  margin-left: 6rem !important;
}

.ps-md {
  padding-left: 6rem !important;
}

.ms-lg {
  margin-left: 10rem !important;
}

.ps-lg {
  padding-left: 10rem !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ms-1 {
  margin-left: 0.8rem !important;
}

.ps-1 {
  padding-left: 0.8rem !important;
}

.ms-2 {
  margin-left: 1.6rem !important;
}

.ps-2 {
  padding-left: 1.6rem !important;
}

.ms-3 {
  margin-left: 2.4rem !important;
}

.ps-3 {
  padding-left: 2.4rem !important;
}

.ms-4 {
  margin-left: 3.2rem !important;
}

.ps-4 {
  padding-left: 3.2rem !important;
}

.ms-5 {
  margin-left: 4rem !important;
}

.ps-5 {
  padding-left: 4rem !important;
}

.ms-6 {
  margin-left: 4.8rem !important;
}

.ps-6 {
  padding-left: 4.8rem !important;
}

.ms-7 {
  margin-left: 6.4rem !important;
}

.ps-7 {
  padding-left: 6.4rem !important;
}

.ms-8 {
  margin-left: 8rem !important;
}

.ps-8 {
  padding-left: 8rem !important;
}

.ms-9 {
  margin-left: 9.6rem !important;
}

.ps-9 {
  padding-left: 9.6rem !important;
}

.ms-10 {
  margin-left: 11.2rem !important;
}

.ps-10 {
  padding-left: 11.2rem !important;
}

.ms-11 {
  margin-left: 12.8rem !important;
}

.ps-11 {
  padding-left: 12.8rem !important;
}

.ms-12 {
  margin-left: 14.4rem !important;
}

.ps-12 {
  padding-left: 14.4rem !important;
}

.ms-13 {
  margin-left: 16rem !important;
}

.ps-13 {
  padding-left: 16rem !important;
}

.ms-14 {
  margin-left: 17.6rem !important;
}

.ps-14 {
  padding-left: 17.6rem !important;
}

.ms-15 {
  margin-left: 19.2rem !important;
}

.ps-15 {
  padding-left: 19.2rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.me-sm {
  margin-right: 4rem !important;
}

.pe-sm {
  padding-right: 4rem !important;
}

.me-md {
  margin-right: 6rem !important;
}

.pe-md {
  padding-right: 6rem !important;
}

.me-lg {
  margin-right: 10rem !important;
}

.pe-lg {
  padding-right: 10rem !important;
}

.me-0 {
  margin-right: 0 !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.me-1 {
  margin-right: 0.8rem !important;
}

.pe-1 {
  padding-right: 0.8rem !important;
}

.me-2 {
  margin-right: 1.6rem !important;
}

.pe-2 {
  padding-right: 1.6rem !important;
}

.me-3 {
  margin-right: 2.4rem !important;
}

.pe-3 {
  padding-right: 2.4rem !important;
}

.me-4 {
  margin-right: 3.2rem !important;
}

.pe-4 {
  padding-right: 3.2rem !important;
}

.me-5 {
  margin-right: 4rem !important;
}

.pe-5 {
  padding-right: 4rem !important;
}

.me-6 {
  margin-right: 4.8rem !important;
}

.pe-6 {
  padding-right: 4.8rem !important;
}

.me-7 {
  margin-right: 6.4rem !important;
}

.pe-7 {
  padding-right: 6.4rem !important;
}

.me-8 {
  margin-right: 8rem !important;
}

.pe-8 {
  padding-right: 8rem !important;
}

.me-9 {
  margin-right: 9.6rem !important;
}

.pe-9 {
  padding-right: 9.6rem !important;
}

.me-10 {
  margin-right: 11.2rem !important;
}

.pe-10 {
  padding-right: 11.2rem !important;
}

.me-11 {
  margin-right: 12.8rem !important;
}

.pe-11 {
  padding-right: 12.8rem !important;
}

.me-12 {
  margin-right: 14.4rem !important;
}

.pe-12 {
  padding-right: 14.4rem !important;
}

.me-13 {
  margin-right: 16rem !important;
}

.pe-13 {
  padding-right: 16rem !important;
}

.me-14 {
  margin-right: 17.6rem !important;
}

.pe-14 {
  padding-right: 17.6rem !important;
}

.me-15 {
  margin-right: 19.2rem !important;
}

.pe-15 {
  padding-right: 19.2rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.mx-sm {
  margin-right: 4rem !important;
  margin-left: 4rem !important;
}

.px-sm {
  padding-right: 4rem !important;
  padding-left: 4rem !important;
}

.mx-md {
  margin-right: 6rem !important;
  margin-left: 6rem !important;
}

.px-md {
  padding-right: 6rem !important;
  padding-left: 6rem !important;
}

.mx-lg {
  margin-right: 10rem !important;
  margin-left: 10rem !important;
}

.px-lg {
  padding-right: 10rem !important;
  padding-left: 10rem !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.mx-1 {
  margin-right: 0.8rem !important;
  margin-left: 0.8rem !important;
}

.px-1 {
  padding-right: 0.8rem !important;
  padding-left: 0.8rem !important;
}

.mx-2 {
  margin-right: 1.6rem !important;
  margin-left: 1.6rem !important;
}

.px-2 {
  padding-right: 1.6rem !important;
  padding-left: 1.6rem !important;
}

.mx-3 {
  margin-right: 2.4rem !important;
  margin-left: 2.4rem !important;
}

.px-3 {
  padding-right: 2.4rem !important;
  padding-left: 2.4rem !important;
}

.mx-4 {
  margin-right: 3.2rem !important;
  margin-left: 3.2rem !important;
}

.px-4 {
  padding-right: 3.2rem !important;
  padding-left: 3.2rem !important;
}

.mx-5 {
  margin-right: 4rem !important;
  margin-left: 4rem !important;
}

.px-5 {
  padding-right: 4rem !important;
  padding-left: 4rem !important;
}

.mx-6 {
  margin-right: 4.8rem !important;
  margin-left: 4.8rem !important;
}

.px-6 {
  padding-right: 4.8rem !important;
  padding-left: 4.8rem !important;
}

.mx-7 {
  margin-right: 6.4rem !important;
  margin-left: 6.4rem !important;
}

.px-7 {
  padding-right: 6.4rem !important;
  padding-left: 6.4rem !important;
}

.mx-8 {
  margin-right: 8rem !important;
  margin-left: 8rem !important;
}

.px-8 {
  padding-right: 8rem !important;
  padding-left: 8rem !important;
}

.mx-9 {
  margin-right: 9.6rem !important;
  margin-left: 9.6rem !important;
}

.px-9 {
  padding-right: 9.6rem !important;
  padding-left: 9.6rem !important;
}

.mx-10 {
  margin-right: 11.2rem !important;
  margin-left: 11.2rem !important;
}

.px-10 {
  padding-right: 11.2rem !important;
  padding-left: 11.2rem !important;
}

.mx-11 {
  margin-right: 12.8rem !important;
  margin-left: 12.8rem !important;
}

.px-11 {
  padding-right: 12.8rem !important;
  padding-left: 12.8rem !important;
}

.mx-12 {
  margin-right: 14.4rem !important;
  margin-left: 14.4rem !important;
}

.px-12 {
  padding-right: 14.4rem !important;
  padding-left: 14.4rem !important;
}

.mx-13 {
  margin-right: 16rem !important;
  margin-left: 16rem !important;
}

.px-13 {
  padding-right: 16rem !important;
  padding-left: 16rem !important;
}

.mx-14 {
  margin-right: 17.6rem !important;
  margin-left: 17.6rem !important;
}

.px-14 {
  padding-right: 17.6rem !important;
  padding-left: 17.6rem !important;
}

.mx-15 {
  margin-right: 19.2rem !important;
  margin-left: 19.2rem !important;
}

.px-15 {
  padding-right: 19.2rem !important;
  padding-left: 19.2rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.my-sm {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.py-sm {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.my-md {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

.py-md {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

.my-lg {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.py-lg {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.8rem !important;
  margin-bottom: 0.8rem !important;
}

.py-1 {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}

.my-2 {
  margin-top: 1.6rem !important;
  margin-bottom: 1.6rem !important;
}

.py-2 {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}

.my-3 {
  margin-top: 2.4rem !important;
  margin-bottom: 2.4rem !important;
}

.py-3 {
  padding-top: 2.4rem !important;
  padding-bottom: 2.4rem !important;
}

.my-4 {
  margin-top: 3.2rem !important;
  margin-bottom: 3.2rem !important;
}

.py-4 {
  padding-top: 3.2rem !important;
  padding-bottom: 3.2rem !important;
}

.my-5 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.py-5 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.my-6 {
  margin-top: 4.8rem !important;
  margin-bottom: 4.8rem !important;
}

.py-6 {
  padding-top: 4.8rem !important;
  padding-bottom: 4.8rem !important;
}

.my-7 {
  margin-top: 6.4rem !important;
  margin-bottom: 6.4rem !important;
}

.py-7 {
  padding-top: 6.4rem !important;
  padding-bottom: 6.4rem !important;
}

.my-8 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important;
}

.py-8 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

.my-9 {
  margin-top: 9.6rem !important;
  margin-bottom: 9.6rem !important;
}

.py-9 {
  padding-top: 9.6rem !important;
  padding-bottom: 9.6rem !important;
}

.my-10 {
  margin-top: 11.2rem !important;
  margin-bottom: 11.2rem !important;
}

.py-10 {
  padding-top: 11.2rem !important;
  padding-bottom: 11.2rem !important;
}

.my-11 {
  margin-top: 12.8rem !important;
  margin-bottom: 12.8rem !important;
}

.py-11 {
  padding-top: 12.8rem !important;
  padding-bottom: 12.8rem !important;
}

.my-12 {
  margin-top: 14.4rem !important;
  margin-bottom: 14.4rem !important;
}

.py-12 {
  padding-top: 14.4rem !important;
  padding-bottom: 14.4rem !important;
}

.my-13 {
  margin-top: 16rem !important;
  margin-bottom: 16rem !important;
}

.py-13 {
  padding-top: 16rem !important;
  padding-bottom: 16rem !important;
}

.my-14 {
  margin-top: 17.6rem !important;
  margin-bottom: 17.6rem !important;
}

.py-14 {
  padding-top: 17.6rem !important;
  padding-bottom: 17.6rem !important;
}

.my-15 {
  margin-top: 19.2rem !important;
  margin-bottom: 19.2rem !important;
}

.py-15 {
  padding-top: 19.2rem !important;
  padding-bottom: 19.2rem !important;
}

.m-auto {
  margin: auto !important;
}

.m-sm {
  margin: 4rem !important;
}

.p-sm {
  padding: 4rem !important;
}

.m-md {
  margin: 6rem !important;
}

.p-md {
  padding: 6rem !important;
}

.m-lg {
  margin: 10rem !important;
}

.p-lg {
  padding: 10rem !important;
}

.m-0 {
  margin: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.m-1 {
  margin: 0.8rem !important;
}

.p-1 {
  padding: 0.8rem !important;
}

.m-2 {
  margin: 1.6rem !important;
}

.p-2 {
  padding: 1.6rem !important;
}

.m-3 {
  margin: 2.4rem !important;
}

.p-3 {
  padding: 2.4rem !important;
}

.m-4 {
  margin: 3.2rem !important;
}

.p-4 {
  padding: 3.2rem !important;
}

.m-5 {
  margin: 4rem !important;
}

.p-5 {
  padding: 4rem !important;
}

.m-6 {
  margin: 4.8rem !important;
}

.p-6 {
  padding: 4.8rem !important;
}

.m-7 {
  margin: 6.4rem !important;
}

.p-7 {
  padding: 6.4rem !important;
}

.m-8 {
  margin: 8rem !important;
}

.p-8 {
  padding: 8rem !important;
}

.m-9 {
  margin: 9.6rem !important;
}

.p-9 {
  padding: 9.6rem !important;
}

.m-10 {
  margin: 11.2rem !important;
}

.p-10 {
  padding: 11.2rem !important;
}

.m-11 {
  margin: 12.8rem !important;
}

.p-11 {
  padding: 12.8rem !important;
}

.m-12 {
  margin: 14.4rem !important;
}

.p-12 {
  padding: 14.4rem !important;
}

.m-13 {
  margin: 16rem !important;
}

.p-13 {
  padding: 16rem !important;
}

.m-14 {
  margin: 17.6rem !important;
}

.p-14 {
  padding: 17.6rem !important;
}

.m-15 {
  margin: 19.2rem !important;
}

.p-15 {
  padding: 19.2rem !important;
}

@media screen and (min-width: 769px) {
  .mt-pc-sm {
    margin-top: 4rem !important;
  }
  .pt-pc-sm {
    padding-top: 4rem !important;
  }
  .mt-pc-md {
    margin-top: 6rem !important;
  }
  .pt-pc-md {
    padding-top: 6rem !important;
  }
  .mt-pc-lg {
    margin-top: 10rem !important;
  }
  .pt-pc-lg {
    padding-top: 10rem !important;
  }
  .mt-pc-0 {
    margin-top: 0 !important;
  }
  .pt-pc-0 {
    padding-top: 0 !important;
  }
  .mt-pc-1 {
    margin-top: 0.8rem !important;
  }
  .pt-pc-1 {
    padding-top: 0.8rem !important;
  }
  .mt-pc-2 {
    margin-top: 1.6rem !important;
  }
  .pt-pc-2 {
    padding-top: 1.6rem !important;
  }
  .mt-pc-3 {
    margin-top: 2.4rem !important;
  }
  .pt-pc-3 {
    padding-top: 2.4rem !important;
  }
  .mt-pc-4 {
    margin-top: 3.2rem !important;
  }
  .pt-pc-4 {
    padding-top: 3.2rem !important;
  }
  .mt-pc-5 {
    margin-top: 4rem !important;
  }
  .pt-pc-5 {
    padding-top: 4rem !important;
  }
  .mt-pc-6 {
    margin-top: 4.8rem !important;
  }
  .pt-pc-6 {
    padding-top: 4.8rem !important;
  }
  .mt-pc-7 {
    margin-top: 6.4rem !important;
  }
  .pt-pc-7 {
    padding-top: 6.4rem !important;
  }
  .mt-pc-8 {
    margin-top: 8rem !important;
  }
  .pt-pc-8 {
    padding-top: 8rem !important;
  }
  .mt-pc-9 {
    margin-top: 9.6rem !important;
  }
  .pt-pc-9 {
    padding-top: 9.6rem !important;
  }
  .mt-pc-10 {
    margin-top: 11.2rem !important;
  }
  .pt-pc-10 {
    padding-top: 11.2rem !important;
  }
  .mt-pc-11 {
    margin-top: 12.8rem !important;
  }
  .pt-pc-11 {
    padding-top: 12.8rem !important;
  }
  .mt-pc-12 {
    margin-top: 14.4rem !important;
  }
  .pt-pc-12 {
    padding-top: 14.4rem !important;
  }
  .mt-pc-13 {
    margin-top: 16rem !important;
  }
  .pt-pc-13 {
    padding-top: 16rem !important;
  }
  .mt-pc-14 {
    margin-top: 17.6rem !important;
  }
  .pt-pc-14 {
    padding-top: 17.6rem !important;
  }
  .mt-pc-15 {
    margin-top: 19.2rem !important;
  }
  .pt-pc-15 {
    padding-top: 19.2rem !important;
  }
}
@media screen and (min-width: 769px) {
  .mb-pc-sm {
    margin-bottom: 4rem !important;
  }
  .pb-pc-sm {
    padding-bottom: 4rem !important;
  }
  .mb-pc-md {
    margin-bottom: 6rem !important;
  }
  .pb-pc-md {
    padding-bottom: 6rem !important;
  }
  .mb-pc-lg {
    margin-bottom: 10rem !important;
  }
  .pb-pc-lg {
    padding-bottom: 10rem !important;
  }
  .mb-pc-0 {
    margin-bottom: 0 !important;
  }
  .pb-pc-0 {
    padding-bottom: 0 !important;
  }
  .mb-pc-1 {
    margin-bottom: 0.8rem !important;
  }
  .pb-pc-1 {
    padding-bottom: 0.8rem !important;
  }
  .mb-pc-2 {
    margin-bottom: 1.6rem !important;
  }
  .pb-pc-2 {
    padding-bottom: 1.6rem !important;
  }
  .mb-pc-3 {
    margin-bottom: 2.4rem !important;
  }
  .pb-pc-3 {
    padding-bottom: 2.4rem !important;
  }
  .mb-pc-4 {
    margin-bottom: 3.2rem !important;
  }
  .pb-pc-4 {
    padding-bottom: 3.2rem !important;
  }
  .mb-pc-5 {
    margin-bottom: 4rem !important;
  }
  .pb-pc-5 {
    padding-bottom: 4rem !important;
  }
  .mb-pc-6 {
    margin-bottom: 4.8rem !important;
  }
  .pb-pc-6 {
    padding-bottom: 4.8rem !important;
  }
  .mb-pc-7 {
    margin-bottom: 6.4rem !important;
  }
  .pb-pc-7 {
    padding-bottom: 6.4rem !important;
  }
  .mb-pc-8 {
    margin-bottom: 8rem !important;
  }
  .pb-pc-8 {
    padding-bottom: 8rem !important;
  }
  .mb-pc-9 {
    margin-bottom: 9.6rem !important;
  }
  .pb-pc-9 {
    padding-bottom: 9.6rem !important;
  }
  .mb-pc-10 {
    margin-bottom: 11.2rem !important;
  }
  .pb-pc-10 {
    padding-bottom: 11.2rem !important;
  }
  .mb-pc-11 {
    margin-bottom: 12.8rem !important;
  }
  .pb-pc-11 {
    padding-bottom: 12.8rem !important;
  }
  .mb-pc-12 {
    margin-bottom: 14.4rem !important;
  }
  .pb-pc-12 {
    padding-bottom: 14.4rem !important;
  }
  .mb-pc-13 {
    margin-bottom: 16rem !important;
  }
  .pb-pc-13 {
    padding-bottom: 16rem !important;
  }
  .mb-pc-14 {
    margin-bottom: 17.6rem !important;
  }
  .pb-pc-14 {
    padding-bottom: 17.6rem !important;
  }
  .mb-pc-15 {
    margin-bottom: 19.2rem !important;
  }
  .pb-pc-15 {
    padding-bottom: 19.2rem !important;
  }
}
@media screen and (min-width: 769px) {
  .ms-pc-sm {
    margin-left: 4rem !important;
  }
  .ps-pc-sm {
    padding-left: 4rem !important;
  }
  .ms-pc-md {
    margin-left: 6rem !important;
  }
  .ps-pc-md {
    padding-left: 6rem !important;
  }
  .ms-pc-lg {
    margin-left: 10rem !important;
  }
  .ps-pc-lg {
    padding-left: 10rem !important;
  }
  .ms-pc-0 {
    margin-left: 0 !important;
  }
  .ps-pc-0 {
    padding-left: 0 !important;
  }
  .ms-pc-1 {
    margin-left: 0.8rem !important;
  }
  .ps-pc-1 {
    padding-left: 0.8rem !important;
  }
  .ms-pc-2 {
    margin-left: 1.6rem !important;
  }
  .ps-pc-2 {
    padding-left: 1.6rem !important;
  }
  .ms-pc-3 {
    margin-left: 2.4rem !important;
  }
  .ps-pc-3 {
    padding-left: 2.4rem !important;
  }
  .ms-pc-4 {
    margin-left: 3.2rem !important;
  }
  .ps-pc-4 {
    padding-left: 3.2rem !important;
  }
  .ms-pc-5 {
    margin-left: 4rem !important;
  }
  .ps-pc-5 {
    padding-left: 4rem !important;
  }
  .ms-pc-6 {
    margin-left: 4.8rem !important;
  }
  .ps-pc-6 {
    padding-left: 4.8rem !important;
  }
  .ms-pc-7 {
    margin-left: 6.4rem !important;
  }
  .ps-pc-7 {
    padding-left: 6.4rem !important;
  }
  .ms-pc-8 {
    margin-left: 8rem !important;
  }
  .ps-pc-8 {
    padding-left: 8rem !important;
  }
  .ms-pc-9 {
    margin-left: 9.6rem !important;
  }
  .ps-pc-9 {
    padding-left: 9.6rem !important;
  }
  .ms-pc-10 {
    margin-left: 11.2rem !important;
  }
  .ps-pc-10 {
    padding-left: 11.2rem !important;
  }
  .ms-pc-11 {
    margin-left: 12.8rem !important;
  }
  .ps-pc-11 {
    padding-left: 12.8rem !important;
  }
  .ms-pc-12 {
    margin-left: 14.4rem !important;
  }
  .ps-pc-12 {
    padding-left: 14.4rem !important;
  }
  .ms-pc-13 {
    margin-left: 16rem !important;
  }
  .ps-pc-13 {
    padding-left: 16rem !important;
  }
  .ms-pc-14 {
    margin-left: 17.6rem !important;
  }
  .ps-pc-14 {
    padding-left: 17.6rem !important;
  }
  .ms-pc-15 {
    margin-left: 19.2rem !important;
  }
  .ps-pc-15 {
    padding-left: 19.2rem !important;
  }
}
@media screen and (min-width: 769px) {
  .me-pc-sm {
    margin-right: 4rem !important;
  }
  .pe-pc-sm {
    padding-right: 4rem !important;
  }
  .me-pc-md {
    margin-right: 6rem !important;
  }
  .pe-pc-md {
    padding-right: 6rem !important;
  }
  .me-pc-lg {
    margin-right: 10rem !important;
  }
  .pe-pc-lg {
    padding-right: 10rem !important;
  }
  .me-pc-0 {
    margin-right: 0 !important;
  }
  .pe-pc-0 {
    padding-right: 0 !important;
  }
  .me-pc-1 {
    margin-right: 0.8rem !important;
  }
  .pe-pc-1 {
    padding-right: 0.8rem !important;
  }
  .me-pc-2 {
    margin-right: 1.6rem !important;
  }
  .pe-pc-2 {
    padding-right: 1.6rem !important;
  }
  .me-pc-3 {
    margin-right: 2.4rem !important;
  }
  .pe-pc-3 {
    padding-right: 2.4rem !important;
  }
  .me-pc-4 {
    margin-right: 3.2rem !important;
  }
  .pe-pc-4 {
    padding-right: 3.2rem !important;
  }
  .me-pc-5 {
    margin-right: 4rem !important;
  }
  .pe-pc-5 {
    padding-right: 4rem !important;
  }
  .me-pc-6 {
    margin-right: 4.8rem !important;
  }
  .pe-pc-6 {
    padding-right: 4.8rem !important;
  }
  .me-pc-7 {
    margin-right: 6.4rem !important;
  }
  .pe-pc-7 {
    padding-right: 6.4rem !important;
  }
  .me-pc-8 {
    margin-right: 8rem !important;
  }
  .pe-pc-8 {
    padding-right: 8rem !important;
  }
  .me-pc-9 {
    margin-right: 9.6rem !important;
  }
  .pe-pc-9 {
    padding-right: 9.6rem !important;
  }
  .me-pc-10 {
    margin-right: 11.2rem !important;
  }
  .pe-pc-10 {
    padding-right: 11.2rem !important;
  }
  .me-pc-11 {
    margin-right: 12.8rem !important;
  }
  .pe-pc-11 {
    padding-right: 12.8rem !important;
  }
  .me-pc-12 {
    margin-right: 14.4rem !important;
  }
  .pe-pc-12 {
    padding-right: 14.4rem !important;
  }
  .me-pc-13 {
    margin-right: 16rem !important;
  }
  .pe-pc-13 {
    padding-right: 16rem !important;
  }
  .me-pc-14 {
    margin-right: 17.6rem !important;
  }
  .pe-pc-14 {
    padding-right: 17.6rem !important;
  }
  .me-pc-15 {
    margin-right: 19.2rem !important;
  }
  .pe-pc-15 {
    padding-right: 19.2rem !important;
  }
}
@media screen and (min-width: 769px) {
  .mx-pc-sm {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .px-pc-sm {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .mx-pc-md {
    margin-right: 6rem !important;
    margin-left: 6rem !important;
  }
  .px-pc-md {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
  }
  .mx-pc-lg {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .px-pc-lg {
    padding-right: 10rem !important;
    padding-left: 10rem !important;
  }
  .mx-pc-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .px-pc-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .mx-pc-1 {
    margin-right: 0.8rem !important;
    margin-left: 0.8rem !important;
  }
  .px-pc-1 {
    padding-right: 0.8rem !important;
    padding-left: 0.8rem !important;
  }
  .mx-pc-2 {
    margin-right: 1.6rem !important;
    margin-left: 1.6rem !important;
  }
  .px-pc-2 {
    padding-right: 1.6rem !important;
    padding-left: 1.6rem !important;
  }
  .mx-pc-3 {
    margin-right: 2.4rem !important;
    margin-left: 2.4rem !important;
  }
  .px-pc-3 {
    padding-right: 2.4rem !important;
    padding-left: 2.4rem !important;
  }
  .mx-pc-4 {
    margin-right: 3.2rem !important;
    margin-left: 3.2rem !important;
  }
  .px-pc-4 {
    padding-right: 3.2rem !important;
    padding-left: 3.2rem !important;
  }
  .mx-pc-5 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .px-pc-5 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .mx-pc-6 {
    margin-right: 4.8rem !important;
    margin-left: 4.8rem !important;
  }
  .px-pc-6 {
    padding-right: 4.8rem !important;
    padding-left: 4.8rem !important;
  }
  .mx-pc-7 {
    margin-right: 6.4rem !important;
    margin-left: 6.4rem !important;
  }
  .px-pc-7 {
    padding-right: 6.4rem !important;
    padding-left: 6.4rem !important;
  }
  .mx-pc-8 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .px-pc-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .mx-pc-9 {
    margin-right: 9.6rem !important;
    margin-left: 9.6rem !important;
  }
  .px-pc-9 {
    padding-right: 9.6rem !important;
    padding-left: 9.6rem !important;
  }
  .mx-pc-10 {
    margin-right: 11.2rem !important;
    margin-left: 11.2rem !important;
  }
  .px-pc-10 {
    padding-right: 11.2rem !important;
    padding-left: 11.2rem !important;
  }
  .mx-pc-11 {
    margin-right: 12.8rem !important;
    margin-left: 12.8rem !important;
  }
  .px-pc-11 {
    padding-right: 12.8rem !important;
    padding-left: 12.8rem !important;
  }
  .mx-pc-12 {
    margin-right: 14.4rem !important;
    margin-left: 14.4rem !important;
  }
  .px-pc-12 {
    padding-right: 14.4rem !important;
    padding-left: 14.4rem !important;
  }
  .mx-pc-13 {
    margin-right: 16rem !important;
    margin-left: 16rem !important;
  }
  .px-pc-13 {
    padding-right: 16rem !important;
    padding-left: 16rem !important;
  }
  .mx-pc-14 {
    margin-right: 17.6rem !important;
    margin-left: 17.6rem !important;
  }
  .px-pc-14 {
    padding-right: 17.6rem !important;
    padding-left: 17.6rem !important;
  }
  .mx-pc-15 {
    margin-right: 19.2rem !important;
    margin-left: 19.2rem !important;
  }
  .px-pc-15 {
    padding-right: 19.2rem !important;
    padding-left: 19.2rem !important;
  }
}
@media screen and (min-width: 769px) {
  .my-pc-sm {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .py-pc-sm {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .my-pc-md {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .py-pc-md {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .my-pc-lg {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .py-pc-lg {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
  }
  .my-pc-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .py-pc-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .my-pc-1 {
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }
  .py-pc-1 {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }
  .my-pc-2 {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
  .py-pc-2 {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
  .my-pc-3 {
    margin-top: 2.4rem !important;
    margin-bottom: 2.4rem !important;
  }
  .py-pc-3 {
    padding-top: 2.4rem !important;
    padding-bottom: 2.4rem !important;
  }
  .my-pc-4 {
    margin-top: 3.2rem !important;
    margin-bottom: 3.2rem !important;
  }
  .py-pc-4 {
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
  }
  .my-pc-5 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .py-pc-5 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .my-pc-6 {
    margin-top: 4.8rem !important;
    margin-bottom: 4.8rem !important;
  }
  .py-pc-6 {
    padding-top: 4.8rem !important;
    padding-bottom: 4.8rem !important;
  }
  .my-pc-7 {
    margin-top: 6.4rem !important;
    margin-bottom: 6.4rem !important;
  }
  .py-pc-7 {
    padding-top: 6.4rem !important;
    padding-bottom: 6.4rem !important;
  }
  .my-pc-8 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .py-pc-8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .my-pc-9 {
    margin-top: 9.6rem !important;
    margin-bottom: 9.6rem !important;
  }
  .py-pc-9 {
    padding-top: 9.6rem !important;
    padding-bottom: 9.6rem !important;
  }
  .my-pc-10 {
    margin-top: 11.2rem !important;
    margin-bottom: 11.2rem !important;
  }
  .py-pc-10 {
    padding-top: 11.2rem !important;
    padding-bottom: 11.2rem !important;
  }
  .my-pc-11 {
    margin-top: 12.8rem !important;
    margin-bottom: 12.8rem !important;
  }
  .py-pc-11 {
    padding-top: 12.8rem !important;
    padding-bottom: 12.8rem !important;
  }
  .my-pc-12 {
    margin-top: 14.4rem !important;
    margin-bottom: 14.4rem !important;
  }
  .py-pc-12 {
    padding-top: 14.4rem !important;
    padding-bottom: 14.4rem !important;
  }
  .my-pc-13 {
    margin-top: 16rem !important;
    margin-bottom: 16rem !important;
  }
  .py-pc-13 {
    padding-top: 16rem !important;
    padding-bottom: 16rem !important;
  }
  .my-pc-14 {
    margin-top: 17.6rem !important;
    margin-bottom: 17.6rem !important;
  }
  .py-pc-14 {
    padding-top: 17.6rem !important;
    padding-bottom: 17.6rem !important;
  }
  .my-pc-15 {
    margin-top: 19.2rem !important;
    margin-bottom: 19.2rem !important;
  }
  .py-pc-15 {
    padding-top: 19.2rem !important;
    padding-bottom: 19.2rem !important;
  }
}
@media screen and (min-width: 769px) {
  .m-pc-sm {
    margin-all: 4rem !important;
  }
  .p-pc-sm {
    padding-all: 4rem !important;
  }
  .m-pc-md {
    margin-all: 6rem !important;
  }
  .p-pc-md {
    padding-all: 6rem !important;
  }
  .m-pc-lg {
    margin-all: 10rem !important;
  }
  .p-pc-lg {
    padding-all: 10rem !important;
  }
  .m-pc-0 {
    margin-all: 0 !important;
  }
  .p-pc-0 {
    padding-all: 0 !important;
  }
  .m-pc-1 {
    margin-all: 0.8rem !important;
  }
  .p-pc-1 {
    padding-all: 0.8rem !important;
  }
  .m-pc-2 {
    margin-all: 1.6rem !important;
  }
  .p-pc-2 {
    padding-all: 1.6rem !important;
  }
  .m-pc-3 {
    margin-all: 2.4rem !important;
  }
  .p-pc-3 {
    padding-all: 2.4rem !important;
  }
  .m-pc-4 {
    margin-all: 3.2rem !important;
  }
  .p-pc-4 {
    padding-all: 3.2rem !important;
  }
  .m-pc-5 {
    margin-all: 4rem !important;
  }
  .p-pc-5 {
    padding-all: 4rem !important;
  }
  .m-pc-6 {
    margin-all: 4.8rem !important;
  }
  .p-pc-6 {
    padding-all: 4.8rem !important;
  }
  .m-pc-7 {
    margin-all: 6.4rem !important;
  }
  .p-pc-7 {
    padding-all: 6.4rem !important;
  }
  .m-pc-8 {
    margin-all: 8rem !important;
  }
  .p-pc-8 {
    padding-all: 8rem !important;
  }
  .m-pc-9 {
    margin-all: 9.6rem !important;
  }
  .p-pc-9 {
    padding-all: 9.6rem !important;
  }
  .m-pc-10 {
    margin-all: 11.2rem !important;
  }
  .p-pc-10 {
    padding-all: 11.2rem !important;
  }
  .m-pc-11 {
    margin-all: 12.8rem !important;
  }
  .p-pc-11 {
    padding-all: 12.8rem !important;
  }
  .m-pc-12 {
    margin-all: 14.4rem !important;
  }
  .p-pc-12 {
    padding-all: 14.4rem !important;
  }
  .m-pc-13 {
    margin-all: 16rem !important;
  }
  .p-pc-13 {
    padding-all: 16rem !important;
  }
  .m-pc-14 {
    margin-all: 17.6rem !important;
  }
  .p-pc-14 {
    padding-all: 17.6rem !important;
  }
  .m-pc-15 {
    margin-all: 19.2rem !important;
  }
  .p-pc-15 {
    padding-all: 19.2rem !important;
  }
}
.gap-sm {
  gap: 4rem !important;
}

.gap-md {
  gap: 6rem !important;
}

.gap-lg {
  gap: 10rem !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.8rem !important;
}

.gap-2 {
  gap: 1.6rem !important;
}

.gap-3 {
  gap: 2.4rem !important;
}

.gap-4 {
  gap: 3.2rem !important;
}

.gap-5 {
  gap: 4rem !important;
}

.gap-6 {
  gap: 4.8rem !important;
}

.gap-7 {
  gap: 6.4rem !important;
}

.gap-8 {
  gap: 8rem !important;
}

.gap-9 {
  gap: 9.6rem !important;
}

.gap-10 {
  gap: 11.2rem !important;
}

.gap-11 {
  gap: 12.8rem !important;
}

.gap-12 {
  gap: 14.4rem !important;
}

.gap-13 {
  gap: 16rem !important;
}

.gap-14 {
  gap: 17.6rem !important;
}

.gap-15 {
  gap: 19.2rem !important;
}

.gx-sm {
  -webkit-column-gap: 4rem !important;
  -moz-column-gap: 4rem !important;
  column-gap: 4rem !important;
}

.gx-md {
  -webkit-column-gap: 6rem !important;
  -moz-column-gap: 6rem !important;
  column-gap: 6rem !important;
}

.gx-lg {
  -webkit-column-gap: 10rem !important;
  -moz-column-gap: 10rem !important;
  column-gap: 10rem !important;
}

.gx-0 {
  -webkit-column-gap: 0 !important;
  -moz-column-gap: 0 !important;
  column-gap: 0 !important;
}

.gx-1 {
  -webkit-column-gap: 0.8rem !important;
  -moz-column-gap: 0.8rem !important;
  column-gap: 0.8rem !important;
}

.gx-2 {
  -webkit-column-gap: 1.6rem !important;
  -moz-column-gap: 1.6rem !important;
  column-gap: 1.6rem !important;
}

.gx-3 {
  -webkit-column-gap: 2.4rem !important;
  -moz-column-gap: 2.4rem !important;
  column-gap: 2.4rem !important;
}

.gx-4 {
  -webkit-column-gap: 3.2rem !important;
  -moz-column-gap: 3.2rem !important;
  column-gap: 3.2rem !important;
}

.gx-5 {
  -webkit-column-gap: 4rem !important;
  -moz-column-gap: 4rem !important;
  column-gap: 4rem !important;
}

.gx-6 {
  -webkit-column-gap: 4.8rem !important;
  -moz-column-gap: 4.8rem !important;
  column-gap: 4.8rem !important;
}

.gx-7 {
  -webkit-column-gap: 6.4rem !important;
  -moz-column-gap: 6.4rem !important;
  column-gap: 6.4rem !important;
}

.gx-8 {
  -webkit-column-gap: 8rem !important;
  -moz-column-gap: 8rem !important;
  column-gap: 8rem !important;
}

.gx-9 {
  -webkit-column-gap: 9.6rem !important;
  -moz-column-gap: 9.6rem !important;
  column-gap: 9.6rem !important;
}

.gx-10 {
  -webkit-column-gap: 11.2rem !important;
  -moz-column-gap: 11.2rem !important;
  column-gap: 11.2rem !important;
}

.gx-11 {
  -webkit-column-gap: 12.8rem !important;
  -moz-column-gap: 12.8rem !important;
  column-gap: 12.8rem !important;
}

.gx-12 {
  -webkit-column-gap: 14.4rem !important;
  -moz-column-gap: 14.4rem !important;
  column-gap: 14.4rem !important;
}

.gx-13 {
  -webkit-column-gap: 16rem !important;
  -moz-column-gap: 16rem !important;
  column-gap: 16rem !important;
}

.gx-14 {
  -webkit-column-gap: 17.6rem !important;
  -moz-column-gap: 17.6rem !important;
  column-gap: 17.6rem !important;
}

.gx-15 {
  -webkit-column-gap: 19.2rem !important;
  -moz-column-gap: 19.2rem !important;
  column-gap: 19.2rem !important;
}

.gy-sm {
  row-gap: 4rem !important;
}

.gy-md {
  row-gap: 6rem !important;
}

.gy-lg {
  row-gap: 10rem !important;
}

.gy-0 {
  row-gap: 0 !important;
}

.gy-1 {
  row-gap: 0.8rem !important;
}

.gy-2 {
  row-gap: 1.6rem !important;
}

.gy-3 {
  row-gap: 2.4rem !important;
}

.gy-4 {
  row-gap: 3.2rem !important;
}

.gy-5 {
  row-gap: 4rem !important;
}

.gy-6 {
  row-gap: 4.8rem !important;
}

.gy-7 {
  row-gap: 6.4rem !important;
}

.gy-8 {
  row-gap: 8rem !important;
}

.gy-9 {
  row-gap: 9.6rem !important;
}

.gy-10 {
  row-gap: 11.2rem !important;
}

.gy-11 {
  row-gap: 12.8rem !important;
}

.gy-12 {
  row-gap: 14.4rem !important;
}

.gy-13 {
  row-gap: 16rem !important;
}

.gy-14 {
  row-gap: 17.6rem !important;
}

.gy-15 {
  row-gap: 19.2rem !important;
}

html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: auto !important;
}

body {
  position: relative;
  overflow-x: hidden;
  background-color: #fff;
  color: #3b4043;
  letter-spacing: 0.12em;
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-size: 1.6rem;
}
body::before {
  content: "";
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  background: url(../../img/universal/common/bg.jpg) no-repeat center/cover;
}

@media (max-width: 1250px) {
  html {
    font-size: 0.8vw;
  }
}
* {
  color: var(--text-color, #3b4043);
  letter-spacing: 0.12em;
}

em {
  font-style: normal;
}

p {
  line-height: 2;
}
p:last-child {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0.2em;
  font-weight: 400;
}

address {
  font-style: normal;
}

ul,
ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}

dl,
dt,
dd {
  margin-bottom: 0;
}

figure {
  margin-bottom: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.img-cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.img-border {
  border: 1px solid #ccc;
}

.img-fluid {
  width: var(--width-pc) !important;
}

iframe {
  vertical-align: bottom;
}

.hr-01 {
  border-top: 5px solid #707070;
  border-bottom: none;
  opacity: 1;
}

a {
  text-decoration: none;
}
a:hover {
  color: inherit;
}

[data-link]:hover {
  text-decoration: none;
}

[data-link="banner"] {
  display: block;
  font-size: 1rem;
  line-height: 1;
}

.link-primary {
  display: inline-block;
  --bs-link-color-rgb: 140, 59, 59;
}
.link-underline {
  text-decoration: underline;
}
.link-external {
  gap: 0 0.36em;
  text-decoration: underline;
}
.link-external::before {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'><g fill='%236B1B7E'><path d='M19.05 8.53c-.36 0-.65.29-.65.65v11.51H1.31V3.59h11.5c.36 0 .65-.29.65-.65 0-.36-.29-.65-.65-.66H.65c-.36 0-.65.29-.65.65v18.41c0 .36.29.65.65.65h18.4c.36 0 .65-.29.65-.65V9.18c0-.36-.29-.65-.65-.65'/><path d='M21.35 0h-5.98c-.36 0-.65.29-.65.65 0 .36.29.65.65.65h4.4L9.4 11.68c-.26.26-.26.67 0 .93s.67.26.92 0L20.69 2.23v4.4c0 .36.3.65.66.65.36 0 .65-.29.65-.65V.65c0-.36-.29-.66-.65-.66'/></g></svg>");
  background-size: contain;
  background-repeat: no-repeat;
}

.list-dot {
  list-style-type: none;
}
.list-dot li {
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.875;
}
.list-dot li::before {
  content: "・";
}
.list-circle li {
  margin-left: 1em;
  text-indent: -1em;
}
.list-circle li::before {
  content: "●";
}
.list-note {
  list-style-type: none;
}
.list-note li {
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
}
.list-note li::before {
  content: "※";
}
.list-note.sm {
  font-size: 1.4rem;
}
.list-note.msm {
  font-size: 1.3rem;
}
.list-note.xsm {
  font-size: 1.2rem;
}
.list-num {
  padding-left: 1.5em;
  list-style-type: decimal;
}
.list-num li {
  line-height: 1.875;
}

.video-wrap {
  width: 100%;
  aspect-ratio: 16/9;
}
.video-wrap video {
  width: 100%;
  height: 100%;
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

#pageTop {
  width: 4rem;
  height: 4rem;
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 98;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #867439;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
#pageTop::before {
  content: "";
  width: 1rem;
  height: 0.9rem;
  background-color: #fff;
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
#pageTop.is-active {
  opacity: 1;
  visibility: visible;
}

.bg-01 {
  background-color: #f8f7f3;
}

.bg-obj > * {
  position: absolute;
  z-index: -1;
  opacity: 0.15;
}

.js-modal__trigger:hover {
  cursor: pointer;
}

.js-bg-layer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.js-bg-layer.is-show {
  opacity: 1;
  visibility: visible;
}

.w-sm {
  max-width: 94rem;
  margin-right: auto;
  margin-left: auto;
}
.w-md {
  max-width: 106rem;
  margin-right: auto;
  margin-left: auto;
}

.mw-100 {
  max-width: 100% !important;
}

.container.w-sm {
  max-width: 86.4rem;
}
.container.w-md {
  max-width: 112rem;
}

.link-ext01 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.5em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.link-ext01::after {
  content: "";
  width: 1em;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 12"><path d="M2 0h12v10H2Zm11 1H3v8h10Z"/><path d="M9.5 12H0V4.5h1V11h8.5Z"/></svg>');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}

.text-sans-serif {
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Arial, メイリオ, Meiryo, sans-serif;
}
.text-gothic {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.text-serif {
  font-family: "Zen Old Mincho", serif;
}
.text-en {
  font-family: "Sorts Mill Goudy", serif;
}
.text-unset {
  font-family: initial;
}
.text-center {
  text-align: center;
}
.text-end {
  text-align: right;
}
.text-bold {
  font-weight: 700;
}
.text-white {
  color: #fff !important;
  --bs-link-color: #fff;
  --bs-link-hover-color: #fff;
  --text-color: #fff;
}
.text-white .fill {
  fill: #fff;
}
.text-accent {
  --text-color: #878a63;
}
.text-secondary {
  color: #8e7244;
}
.text-black {
  color: #000;
}
.text-primary {
  color: var(--theme-color, #ccbc9d);
}
.text-md {
  font-size: 1.8rem;
}
.text-sm {
  font-size: 1.4rem;
}

.lh-lg {
  line-height: 2;
}

.ls-0 {
  letter-spacing: 0;
}
.ls-md {
  letter-spacing: 0.1em;
}
.ls-lg {
  letter-spacing: 0.2em;
}

.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.is_pc {
  display: block;
}

.is_sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .is_pc {
    display: none;
  }

  .is_sp {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .tabOnly {
    display: none !important;
  }
}
@media screen and (min-width: 575px) {
  .spOnly {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .text-md-center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 2.5641025641vw;
  }
  body {
    font-size: 1.4rem;
  }
  .img-fluid {
    width: var(--width-sp) !important;
  }
  .mt-lg {
    margin-top: 6rem !important;
  }
  .mt-md {
    margin-top: 4rem !important;
  }
  .mt-sm {
    margin-top: 3rem !important;
  }
  .mb-lg {
    margin-bottom: 6rem !important;
  }
  .mb-md {
    margin-bottom: 4rem !important;
  }
  .mb-sm {
    margin-bottom: 3rem !important;
  }
  .text-md {
    font-size: 1.4rem;
  }
  .list-note.msm {
    font-size: 1.2rem;
  }
  .list-note.sm {
    font-size: 1.2rem;
  }
  .ls-lg {
    letter-spacing: 0.1em;
  }
}

/*---------------------------------------
コンテンツ関連
---------------------------------------*/
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  background-color: rgba(255, 255, 255, 0.8);
}
.light {
  background: linear-gradient(to bottom, rgb(0 0 0) 0%, rgb(0 0 0) 15%, rgb(0 0 0 / 66%) 50%, rgb(0 0 0 / 25%) 75%, rgb(0 0 0 / 0%) 100%);
}
.header.light {
  --text-color: #fff;
  background-color: transparent;
}
.header__inner {
  height: 10.4rem;
  padding: 0 2.8rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 4rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.header__title {
  margin: 0;
  position: relative;
  z-index: 2;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  font-size: 1rem;
  line-height: 1;
}
.header__title a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.header__title .sub {
  font-size: 1.1rem;
  letter-spacing: 1em;
  text-indent: 1em;
  line-height: 1;
}
.header__title .logo {
  width: 18rem;
  height: auto;
  margin-bottom: 0.25rem;
}
.header__title .label {
  letter-spacing: 0.32em;
  font-size: 0.5rem;
  line-height: 1;
}
.header__title .title {
  letter-spacing: 0.48em;
  font-weight: 700;
  font-size: 0.8rem;
  line-height: 1;
}
.header__navi {
  margin-left: auto;
}
.header__navi--inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem 3.8rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.header__menu > li {
  position: relative;
  font-size: 14px;
}
.header__menu > li > a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 0.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 14px;
}
.header__menu--parent a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 0.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 14px;
}
.header__menu--parent a::after {
  content: "";
  width: 0.5rem;
  border-right: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  aspect-ratio: 1;
}
.header__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.4rem;
}
.header__buttons--item {
  height: 3.5rem;
  padding: 0 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid;
}
.header__buttons--item.language {
  padding: 0;
  border-top: none;
  border-right: none;
  border-left: none;
  font-size: 1.3rem;
}
.header__buttons--item.language::after {
  content: "";
  width: 0.4rem;
  border-right: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  aspect-ratio: 1;
}
.header__buttons--item.language.is-open::after {
  margin-bottom: -0.4rem;
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}
.header__language {
  position: relative;
  cursor: pointer;
  min-width: 122px;
}
.header__language > span {
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 1.3rem;
  line-height: 1.1;
  position: relative;
  padding: 10px 15px 10px 25px;
  border-bottom: 1px solid currentColor;
}
.header__language > span::before {
  content: "";
  display: inline-block;
  width: 18px;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-mask-image: url("../../img/universal/common/icon_globe.svg");
  mask-image: url("../../img/universal/common/icon_globe.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  background-color: currentColor;
  transition: all 0.5s linear;
}
.header__language > span::after {
  content: "";
  display: block;
  width: 8px;
  height: 5px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
  -webkit-mask-image: url("../../img/universal/common/language_arrow.svg");
  mask-image: url("../../img/universal/common/language_arrow.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  background-color: currentColor;
  transition: all 0.5s linear;
}
.header__language.is-open > span::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}
.header__language ul {
  opacity: 0;
  height: 0;
  width: 100%;
  padding-left: 1em;
  transition: all 0.5s ease-in-out;
  overflow: hidden;
}
.header__language.is-open ul {
  opacity: 1;
  height: auto; /* calc-size()未対応のブラウザのためのフォールバック */
  height: calc-size(auto, size);
}
.header__language ul li a {
  display: block;
  font-size: 1.3rem;
  padding: 8px 0;
}
.header__language ul li a:hover {
  color: #878a63;
}
.header__hamburger {
  width: 2.8rem;
  height: 2rem;
  padding: 0;
  position: relative;
  z-index: 10;
  display: none;
  border: none;
}
.header__hamburger .label {
  font-size: 1.2rem;
}
.header__hamburger .inner {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  display: block;
}
.header__hamburger .inner > span {
  width: 100%;
  height: 2px;
  position: absolute;
  right: 0;
  background-color: var(--text-color, #3b4043);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__hamburger .inner > span:nth-child(1) {
  top: 0;
}
.header__hamburger .inner > span:nth-child(2) {
  top: calc(50% - 1px);
}
.header__hamburger .inner > span:nth-child(3) {
  top: calc(100% - 2px);
}
.header__hamburger.is-open .inner > span {
  background-color: #3b4043;
}
.header__hamburger.is-open .inner > span:nth-child(1) {
  width: 100%;
  top: 0.8rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.header__hamburger.is-open .inner > span:nth-child(2) {
  width: 0;
  opacity: 0;
}
.header__hamburger.is-open .inner > span:nth-child(3) {
  top: 0.8rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media screen and (min-width: 769px) {
  .header__menu {
    order: 1;
  }
  .header__menu > li:hover .header__menu--child {
    opacity: 1;
    visibility: visible;
  }

  .header__menu a {
    position: relative;
  }
  .header__menu a::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -6px;
    left: 0;
    background-color: currentColor;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  .header__menu a:hover::before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  .header__menu--child {
    padding-top: 2.4rem;
    position: absolute;
    top: 100%;
    left: 1.4rem;
    padding: 2.4rem 1rem 2rem;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s, visibility 0.3s;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .header__menu--child::before {
    content: "";
    width: 100%;
    height: calc(100% - 1rem);
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
  }
  .header.light .header__menu > li:hover .header__menu--child::before {
    background-color: rgba(0, 0, 0, 0.3);
  }
  .header__menu--child li {
    white-space: nowrap;
  }
  .header__menu--child li + li {
    margin-top: 1em;
  }
  .header__buttons--item:not(.language) {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .header__buttons--item:not(.language):hover {
    border-color: #878a63;
    background-color: #878a63;
    color: #fff;
  }
  .header__language {
    order: 3;
  }
  /* .header__language dd {
    position: absolute;
    top: 100%;
    left: 0;
  }
  .header__language dd ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  } */
  .header.light .header__buttons--item:not(.language):hover {
    border-color: #fff;
    background-color: #fff;
    color: #3b4043;
  }
  .header__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header__menu > li:not(.tabOnly) + li {
    margin-left: 2.4rem;
    padding-left: 2.4rem;
    border-left: 1px solid;
  }
  .header__language ul {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
  }
  .header__buttons {
    order: 2;
  }
}
@media screen and (max-width: 768px) {
  .header__inner {
    height: 7.8rem;
    padding: 0 2rem;
  }
  .header__title .sub {
    font-size: 1rem;
  }
  .header__title .logo {
    width: 14.4rem;
  }
  .header__title .title {
    font-size: 0.7rem;
  }
  .header__navi {
    width: calc(100% - 4rem);
    height: 100dvh;
    padding: 8rem 2rem 6rem;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9;
    display: none;
    overflow: scroll;
    background-color: #fff;
    --text-color: #3b4043;
  }
  .header__navi--inner {
    display: block;
  }
  .header__menu {
    font-size: 2rem;
  }
  .header__menu > li {
    margin-bottom: 1.8rem;
    border-bottom: 1px solid #e1e1e1;
  }
  .header__menu > li > a {
    width: 100%;
    padding: 1.4rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header__menu--parent {
    padding-right: 4rem;
    position: relative;
    display: block;
  }
  .header__menu--parent a {
    width: 100%;
    padding: 1.4rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header__menu--parent a::after {
    content: none;
    width: 1rem;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 1rem;
  }
  .header__menu--toggle {
    width: 4rem;
    position: absolute;
    top: calc(50% - 2rem);
    right: 0;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    aspect-ratio: 1;
  }
  .header__menu--toggle::before {
    content: "";
    width: 1rem;
    margin-top: -0.5rem;
    border-right: 1px solid;
    border-bottom: 1px solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    aspect-ratio: 1;
  }
  .header__menu--toggle.is-open {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .header__menu--child {
    margin-top: 1.4rem;
    padding-bottom: 2rem;
    display: none;
    font-size: 1.4rem;
  }
  .header__menu--child li {
    padding: 0 0 0.8em;
  }
  .header__menu--child li + li {
    padding: 0.8em 0;
  }
  .header__menu--sp {
    padding: 1.6rem 0 3.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
  }
  .header__menu--sp li + li {
    margin-left: 2.4rem;
    padding-left: 2.4rem;
    border-left: 1px solid #e1e1e1;
  }
  .header__buttons .reservation {
    padding: 0 1rem;
    position: absolute;
    top: 2rem;
    border: none;
    background-color: #878a63;
    color: #fff;
  }
  .header__buttons .restaurant {
    left: 2rem;
  }
  .header__buttons .stay {
    left: 14.6rem;
  }
  .header__buttons .language {
    height: 4rem;
    gap: 0 1.8rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .header__buttons .language::after {
    width: 0.6rem;
    margin-left: auto;
  }
  .header__language {
    width: 100%;
    margin-bottom: 1.8rem;
  }
  .header__language > span {
    border-color: currentColor;
  }
  .header__language.is-open ul {
    margin-top: 1rem;
  }
  /* .header__language dd {
    margin-top: 2rem;
  }
  .header__language dd li + li {
    margin-top: 1em;
  } */

  .header__hamburger {
    margin-left: auto;
    display: block;
  }
}
.footer {
  padding-top: 10rem;
  padding-bottom: 1.8rem;
  position: relative;
  background-color: #3b4043;
}
.footer__top {
  margin-bottom: 4rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid;
}
.footer__title {
  margin: 0;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  font-size: 1rem;
  line-height: 1;
}
.footer__title a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 1rem 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.footer__title .sub {
  font-size: 1.9rem;
  letter-spacing: 1.5rem;
  text-indent: 1.5em;
  line-height: 1;
}
.footer__title .logo {
  width: 30.4rem;
  height: auto;
  margin-bottom: 0.25rem;
}
.footer__title .label {
  letter-spacing: 0.45em;
  font-size: 0.73rem;
  line-height: 1;
}
.footer__title .title {
  margin-top: 0.5em;
  letter-spacing: 0.64em;
  font-weight: 700;
  font-size: 1.33rem;
  line-height: 1;
}
.footer__top .open-day {
  background: #878a63;
  font-size: 1.7rem;
  text-align: center;
  padding: 1.4rem 8rem;
  color: #fff;
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  /*SP以下 表示*/
  .footer__top .open-day {
    font-size: 1.4rem;
    padding: 1.2rem 1.8rem;
  }
} /*END SP以下 表示*/
.footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.8rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.footer__grid + .footer__grid {
  margin-top: 5rem;
}
.footer__navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8.2rem;
}
.footer__navi li + li {
  margin-top: 3.2rem;
}
.footer__navi a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  font-size: 1.4rem;
}
.footer__navi a::before {
  content: attr(data-label);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.8rem;
}
.footer__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.footer__buttons .btn-item {
  width: 31.8rem;
  height: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid;
}
.footer__info {
  margin-top: auto;
}
.footer__banner {
  width: 31.8rem;
  height: 12.8rem;
  padding: 0 2rem 0 3rem;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  outline: 1px solid #fff !important;
  outline-offset: -0.5rem;
  font-size: 1.8rem;
  line-height: 2;
}
.footer__banner .arrow {
  width: 2.4rem;
  height: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.footer__banner .arrow .icon {
  width: 1rem;
  height: auto;
}
.footer__banner .bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.footer__banner .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.4);
}
.footer__banner .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.footer__bottom {
  margin-top: 4rem;
}
.footer__bottom .footer__grid {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.footer__bottom .logo a {
  display: inline-block;
}
.footer__subNavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer__subNavi > li:not(.tabOnly):not(:last-child) {
  margin-right: 2.4rem;
  padding-right: 2.4rem;
  border-right: 1px solid;
}
.footer__subNavi > li > a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 0.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.footer__copyRight {
  margin-top: 2.4rem;
  padding-top: 1.8rem;
  border-top: 1px solid;
  font-size: 1.2rem;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  .footer__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .footer__navi a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .footer__navi a:hover {
    opacity: 0.7;
  }
  .footer__subNavi a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .footer__subNavi a:hover {
    opacity: 0.7;
  }
  .footer__buttons .btn-item {
    -webkit-transition: background 0.3s, color 0.3s;
    transition: background 0.3s, color 0.3s;
  }
  .footer__buttons .btn-item:hover {
    background-color: #fff;
    --text-color: #3b4043;
  }
  .footer__banner .bg {
    overflow: hidden;
  }
  .footer__banner .bg img {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .footer__banner:hover .bg img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .footer__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .footer {
    padding-top: 4.6rem;
  }
  .footer__navi {
    display: grid;
    gap: 2.4rem 1em;
    grid-template-columns: 1fr 1fr;
  }
  .footer__navi li + li {
    margin-top: 2.4rem;
  }
  .footer__title a {
    width: 100%;
    align-items: center;
  }
  .footer__title .sub {
    font-size: 1.6rem;
  }
  .footer__title .logo {
    width: 23rem;
  }
  .footer__title .label {
    font-size: 0.6rem;
  }
  .footer__title .title {
    font-size: 1rem;
  }
  .footer__sns {
    margin-top: 2rem;
  }
  .footer__grid + .footer__grid {
    margin-top: 4rem;
  }
  .footer__buttons {
    margin-top: 4rem;
  }
  .footer__buttons .btn-item {
    width: 100%;
    background-color: #fff;
    --text-color: #3b4043;
  }
  .footer__banner {
    width: 100%;
    height: 13.5rem;
    margin-top: 4rem;
  }
  .footer__bottom .footer__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .footer__bottom .logo {
    margin: 0 auto 2rem;
  }
  .footer__subNavi {
    gap: 1.6rem 1.6rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.2rem;
  }
  .footer__subNavi > li:not(.tabOnly):not(:last-child) {
    margin-right: 0;
    padding-right: 1.6rem;
  }
  .footer__copyRight {
    font-size: 0.9rem;
  }
}
.main {
  padding-top: 104px;
  position: relative;
}
.main__block {
  margin-bottom: 14rem;
}
.main__block[class*="bg-"] {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.main__container {
  max-width: 130rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 5rem;
  padding-left: 5rem;
}
.main__container + .main__container {
  margin-top: 14rem;
}
.main__container.md {
  max-width: 116rem;
}
.main__container.sm {
  max-width: 104rem;
}
.main__lead {
  text-align: center;
}
.main__lead--title {
  margin-bottom: 1.2em;
  color: #ccbc9d;
  font-size: 3.2rem;
  line-height: 1.875;
}
.main__lead--title.sm {
  font-size: 2.8rem;
}
.main__lead--title span {
  font-size: 2rem;
}
.main__lead--text p {
  letter-spacing: 0.2em;
  line-height: 2;
}
.main__lead--text .ls-100 {
  letter-spacing: 0.1em;
}
.main__lead--text .lh-lg {
  line-height: 3;
}

.common__headline {
  margin-bottom: 10rem;
}
.common__headline--title {
  margin-bottom: 0;
}
.common__headline--visual {
  width: 100%;
  height: 51.3rem;
  margin-top: 5rem;
}
.common__headline--visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.common__lead {
  margin-bottom: 8rem;
}
.common__lead--box {
  max-width: 72.5rem;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.common__access .main__container {
  max-width: 100%;
  padding-top: 5rem;
  padding-bottom: 5rem;
  position: relative;
  z-index: 2;
}
.common__access--info {
  width: 65rem;
  margin-left: auto;
  padding: 7.2rem 8rem;
  background-color: #fff;
}
.common__access .heading__01 {
  margin-bottom: 2rem;
}
.common__access .point {
  margin-top: 0.5em;
  font-size: 2rem;
}
.common__access--map {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
}
.common__access--map iframe {
  width: 100%;
  height: 100%;
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
  -o-object-fit: cover;
  object-fit: cover;
}
@media (max-width: 600px) {
  /*SP以下 表示*/
  .common__access--map iframe {
    margin-top: -150px;
    margin-bottom: -150px;
    height: calc(100% + 300px);
  }
} /*END SP以下 表示*/

.lower .common__contact::before {
  background: -webkit-gradient(linear, left top, left bottom, from(#242424), color-stop(50%, rgba(36, 36, 36, 0)));
  background: linear-gradient(-180deg, #242424 0%, rgba(36, 36, 36, 0) 50%);
}

@media screen and (min-width: 769px) {
  .common__contact--visual {
    width: 80.6rem;
    position: absolute;
    bottom: -8rem;
    left: 50%;
  }
  .common__navi--item .image img {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .common__navi--item:hover .image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .common__navi--item .text dd.sm {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .main {
    padding-top: 8rem;
  }
  .main__block {
    margin-bottom: 8rem;
  }
  .main__block[class*="bg-"] {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .main__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .main__container + .main__container {
    margin-top: 4rem;
  }
  .main__lead--title {
    font-size: 2.4rem;
  }
  .common__headline {
    margin-bottom: 5rem;
  }
  .common__headline--title {
    margin-bottom: 0;
  }
  .common__headline--visual {
    width: 100%;
    height: 25rem;
    margin-top: 3.2rem;
  }
  .common__access .main__container {
    padding-top: 3.6rem;
    padding-bottom: 3.6rem;
  }
  .common__access--info {
    width: 100%;
    padding: 4.2rem 3.2rem;
  }
  .common__access--info address {
    line-height: 1.7;
  }
}

.openday {
  background: #878a63;
  font-size: 1.7rem;
  text-align: center;
  padding: 14px 0;
  color: #fff;
  margin: 0 0 8px;
}

@media screen and (max-width: 768px) {
  .openday {
    padding: 10px 0;
    font-size: 1.5rem;
  }
}
.breadcrumbs {
  margin-bottom: 10rem;
  padding: 1rem 0;
  font-size: 1.4rem;
}
.breadcrumbs__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25em 1em;
}
.breadcrumbs__inner > span:not(:last-child) {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}
.breadcrumbs__inner > span > span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
.breadcrumbs a {
  --text-color: #878a63;
}

@media screen and (max-width: 768px) {
  .breadcrumbs {
    margin-bottom: 5rem;
    font-size: 1.2rem;
  }
}
@-webkit-keyframes transformLeftRight {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes transformLeftRight {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes transformRightLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
@keyframes transformRightLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
@-webkit-keyframes underlinerFlow {
  /* 0%：下線は全体表示 */
  0% {
    width: 100%;
    left: 0;
  }
  /* 50%：左側から右側へ向けて、下線が消える */
  50% {
    width: 0;
    left: 100%;
  }
  /* 51%：そのまま下線が非表示状態 */
  51% {
    width: 0;
    left: 0;
  }
  /* 100%：再び左側から右側へ出現 */
  100% {
    width: 100%;
    left: 0;
  }
}
@keyframes underlinerFlow {
  /* 0%：下線は全体表示 */
  0% {
    width: 100%;
    left: 0;
  }
  /* 50%：左側から右側へ向けて、下線が消える */
  50% {
    width: 0;
    left: 100%;
  }
  /* 51%：そのまま下線が非表示状態 */
  51% {
    width: 0;
    left: 0;
  }
  /* 100%：再び左側から右側へ出現 */
  100% {
    width: 100%;
    left: 0;
  }
}
.btn__01 {
  width: 42rem;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  max-width: 100%;
  height: var(--button-height, 8rem);
  padding: 0 2rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid;
}
.btn__01 span {
  display: inline-block;
  overflow: hidden;
}
.btn__01 .arrow {
  width: 2.6rem;
  height: 1.5rem;
  position: absolute;
  top: calc(50% - 0.75rem);
  right: 2rem;
}
.btn__01 .arrow::before,
.btn__01 .arrow::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='7.5'><path fill='%233b4043' d='M26 7.5H0V6.478h23.588L17.964.723 18.67 0Z'/></svg>");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.btn__01 .arrow::after {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn__01.sm {
  width: 30rem;
  --button-height: 6rem;
}
.btn__01.sm .arrow {
  width: 1.3rem;
  height: 0.8rem;
  top: calc(50% - 0.45rem);
}
.btn__01.sm .arrow::before,
.btn__01.sm .arrow::after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 4'><path fill='%23FFF' d='M13 4H0V2.96h10.51L8.32.74 9.05 0 13 4Z'/></svg>");
}
.btn__01.start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.btn__01.reverse {
  border-color: #878a63;
  background-color: #878a63;
  --text-color: #fff;
}
.btn__02 {
  width: 17.4rem;
  margin-left: auto;
  padding: 1.4rem 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.btn__02::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #3b4043;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}
.btn__02 .arrow {
  width: 1.4rem;
  height: 0.5rem;
  position: absolute;
  top: calc(50% - 0.25rem);
  right: 0;
  display: inline-block;
  overflow: hidden;
}
.btn__02 .arrow::before,
.btn__02 .arrow::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='15.635' height='4.623'><path fill='none' stroke='%233b4043' d='M0 4.123h14.431L10.662.353'/></svg>");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.btn__02 .arrow::after {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn__more {
  width: 16.8rem;
  padding-bottom: 1em;
  position: relative;
  display: block;
  color: #ccbc9d;
  letter-spacing: 0.1em;
}
.btn__more::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #ccbc9d;
}
.btn__more::after {
  content: "";
  width: 0.5em;
  position: absolute;
  right: -0.25em;
  bottom: -0.245em;
  border-radius: 50%;
  background-color: #ccbc9d;
  aspect-ratio: 1;
}
.btn__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.8rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.link__01 {
  width: 17.6rem;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  padding-bottom: 1rem;
  position: relative;
  display: block;
  border-bottom: 1px solid #ccbc9d;
  color: #ccbc9d;
  font-size: 1.6rem;
}
.link__01::after {
  content: "";
  width: 0.8rem;
  position: absolute;
  right: 0;
  bottom: -0.4rem;
  border-radius: 50%;
  background-color: #ccbc9d;
  aspect-ratio: 1;
}

.arrow-item {
  width: 2.6rem;
  height: 1.2rem;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.arrow-item::before,
.arrow-item::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='7.5'><path fill='%23878A63' d='M26 7.5H0V6.478h23.588L17.964.723 18.67 0Z'/></svg>");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.arrow-item::after {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.arrow-item.green::before,
.arrow-item.green::after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='7.5'><path fill='%23878A63' d='M26 7.5H0V6.478h23.588L17.964.723 18.67 0Z'/></svg>");
}
.arrow-item.sm {
  width: 1.3rem;
  height: 0.8rem;
}
.arrow-item.sm::before,
.arrow-item.sm::after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 4'><path fill='%233b4043' d='M13 4H0V2.96h10.51L8.32.74 9.05 0 13 4Z'/></svg>");
}
/*BBQページのボタン*/
.btn__yoyaku {
  display: flex;
  justify-content: center;
}
.btn__bbq {
}

@media screen and (min-width: 769px) {
  .btn__01 {
    border-color: #3b4043;
    color: transparent;
    text-shadow: 0 1.5em 0 var(--text-color, #3b4043), 0 0 0 var(--text-color, #3b4043);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .btn__01 .arrow::before,
  .btn__01 .arrow::after {
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  .btn__01 .arrow::before {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .btn__01 .arrow::after {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
  }
  .btn__01:hover {
    border-color: #878a63;
    background-color: #878a63;
    color: #fff;
    text-shadow: 0 0 0 #fff, 0 -1.5em 0 #fff;
  }
  .btn__01:hover .arrow::before,
  .btn__01:hover .arrow::after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='7.5'><path fill='%23FFF' d='M26 7.5H0V6.478h23.588L17.964.723 18.67 0Z'/></svg>");
  }
  .btn__01:hover .arrow::before {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
  }
  .btn__01:hover .arrow::after {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .btn__01:hover.sm .arrow::before,
  .btn__01:hover.sm .arrow::after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 4'><path fill='%23FFF' d='M13 4H0V2.96h10.51L8.32.74 9.05 0 13 4Z'/></svg>");
  }
  .btn__01 span {
    color: transparent;
    line-height: 1.5;
  }
  .btn__01.reverse .arrow::before,
  .btn__01.reverse .arrow::after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='7.5'><path fill='%23FFF' d='M26 7.5H0V6.478h23.588L17.964.723 18.67 0Z'/></svg>");
  }
  .btn__02 .arrow::before,
  .btn__02 .arrow::after {
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  .btn__02 .arrow::before {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .btn__02 .arrow::after {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
  }
  .btn__02:hover::after {
    -webkit-animation-name: underlinerFlow;
    animation-name: underlinerFlow;
    -webkit-animation-duration: 0.8s;
    animation-duration: 0.8s;
  }
  .btn__02:hover .arrow::before {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
  }
  .btn__02:hover .arrow::after {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .arrow-base .arrow-item::before,
  .arrow-base .arrow-item::after {
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  .arrow-base .arrow-item::before {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .arrow-base .arrow-item::after {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
  }
  .arrow-base:hover .arrow-item::before {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
  }
  .arrow-base:hover .arrow-item::after {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
}
@media screen and (max-width: 768px) {
  .btn__01 {
    height: 6rem;
    background-color: #878a63;
    font-size: 1.4rem;
    --text-color: #fff;
  }
  .btn__01 .arrow {
    width: 1.5rem;
    height: 0.8rem;
    top: calc(50% - 0.4rem);
  }
  .btn__01 .arrow::before,
  .btn__01 .arrow::after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 4'><path fill='%23FFF' d='M13 4H0V2.96h10.51L8.32.74 9.05 0 13 4Z'/></svg>");
  }
}
.heading__01 {
  margin-bottom: 4.8rem;
}
.heading__01 > span {
  display: block;
}
.heading__01--label {
  margin-bottom: -0.75em;
  letter-spacing: 0.12em;
  font-size: 2rem;
  line-height: 1.3;
  --text-color: #878a63;
}
.heading__01--main {
  letter-spacing: 0.2em;
  font-size: 3.8rem;
  line-height: 2.5;
}
.heading__01--main.sm {
  font-size: 3.2rem;
}
.heading__01 + .heading__lead {
  margin-top: -1.6rem;
  margin-bottom: 6rem;
}
.heading__01.is-border {
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #878a63;
}
.heading__02 {
  margin-bottom: 1em;
  color: #ccbc9d;
  letter-spacing: 0.2em;
  font-size: 3.2rem;
  line-height: 1.8;
}
.heading__02 span {
  padding: 0 0.05em 0.1em 0.05em;
  display: inline-block;
  background-color: #ccbc9d;
  color: #21140c;
  line-height: 1;
}
.heading__02 + .heading__lead {
  margin-top: -2.4rem;
}
.heading__lead {
  margin-bottom: 4.8rem;
  text-align: center;
}
.heading__lead p {
  letter-spacing: 0.2em;
  line-height: 2.25;
}

@media screen and (max-width: 768px) {
  .heading__01 {
    margin-bottom: 1.4rem;
  }
  .heading__01--label {
    margin-bottom: 0;
    font-size: 1.4rem;
  }
  .heading__01--main {
    font-size: 2rem;
    line-height: 2;
  }
  .heading__01--main.sm {
    font-size: 2rem;
  }
  .heading__02 {
    font-size: 2rem;
  }
  .heading__lead p {
    letter-spacing: 0.01em;
  }
}
.navi__anchor {
  margin-bottom: 10rem;
}
.navi__anchor--list {
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem 6rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.navi__anchor--list.col3 {
  max-width: 78rem;
}
.navi__anchor li {
  width: 22rem;
}
.navi__anchor a {
  height: 100%;
  padding: 1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid;
  line-height: 1.5;
}
.navi__anchor .arrow {
  width: 1.8rem;
  height: 1rem;
  margin-right: -0.5rem;
  margin-left: auto;
  position: relative;
  display: inline-block;
  overflow: hidden;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.navi__anchor .arrow::before,
.navi__anchor .arrow::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 6'><path fill='%233b4043' d='M18 6H0V4.95h15.58L11.56.74l.71-.74L18 6Z'/></svg>");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.navi__anchor .arrow::after {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

.pager__archive--inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.pager__archive .page-numbers {
  width: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  aspect-ratio: 1;
  --text-color: #878a63;
}
.pager__archive .page-numbers.dots {
  margin: 0 -1.6rem;
}
.pager__archive .page-numbers.current {
  background-color: #878a63;
  --text-color: #fff;
}
.pager__archive .page-numbers.prev,
.pager__archive .page-numbers.next {
  width: 2.6rem;
  height: 1.2rem;
  position: relative;
  display: block;
  overflow: hidden;
  text-indent: -999px;
}
.pager__archive .page-numbers.prev::before,
.pager__archive .page-numbers.prev::after,
.pager__archive .page-numbers.next::before,
.pager__archive .page-numbers.next::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='7.5'><path fill='%23878A63' d='M26 7.5H0V6.478h23.588L17.964.723 18.67 0Z'/></svg>");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.pager__archive .page-numbers.prev::after,
.pager__archive .page-numbers.next::after {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.pager__archive .page-numbers.prev {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

@media screen and (min-width: 769px) {
  .navi__anchor .arrow::before,
  .navi__anchor .arrow::after {
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  .navi__anchor .arrow::before {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .navi__anchor .arrow::after {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
  }
  .navi__anchor a:hover .arrow::before {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
  }
  .navi__anchor a:hover .arrow::after {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .pager__archive .page-numbers.prev::before,
  .pager__archive .page-numbers.prev::after,
  .pager__archive .page-numbers.next::before,
  .pager__archive .page-numbers.next::after {
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  .pager__archive .page-numbers.prev::before,
  .pager__archive .page-numbers.next::before {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .pager__archive .page-numbers.prev::after,
  .pager__archive .page-numbers.next::after {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
  }
  .pager__archive .page-numbers.prev:hover::before,
  .pager__archive .page-numbers.next:hover::before {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
  }
  .pager__archive .page-numbers.prev:hover::after,
  .pager__archive .page-numbers.next:hover::after {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
}
@media screen and (max-width: 768px) {
  .navi__anchor {
    margin-bottom: 6rem;
  }
  .navi__anchor--list {
    gap: 2rem 3rem;
  }
  .navi__anchor li {
    width: calc((100% - 3rem) / 2);
  }
  .pager__archive--inner {
    gap: 0 1.2rem;
  }
  .pager__archive .page-numbers {
    width: 4rem;
  }
  .pager__archive .page-numbers.dots {
    margin: 0 -1.2rem;
  }
}
.module__01--item + .module__01--item {
  margin-top: 6rem;
}
.module__01--image {
  height: 57.6rem;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.module__01--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.module__01--title {
  margin-bottom: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.module__01--title .title {
  font-size: 3.2rem;
}
.module__01--title .label {
  margin-bottom: -0.4em;
  display: inline-block;
  font-family: "Sorts Mill Goudy", serif;
  font-size: 2rem;
  --text-color: #878a63;
}
.module__01--title + .module__01--comment {
  margin-top: -2.4rem;
}
.module__01--comment {
  font-size: 2rem;
}
.module__01--info {
  margin-top: 5rem;
  padding: 3.2rem 0;
  border-top: 1px solid #878a63;
  border-bottom: 1px solid #878a63;
}
.module__01--info p + p {
  margin-top: 0.5em;
}
.module__01 .btn__01 {
  margin-top: 6rem;
}
.module__02 .name {
  margin-top: 0.5em;
  font-size: 2.4rem;
}

.grid {
  display: grid;
}
.grid.col2 {
  gap: 6rem;
  grid-template-columns: repeat(2, 1fr);
}
.grid.col3 {
  gap: 4rem;
  grid-template-columns: repeat(3, 1fr);
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex.col2 {
  gap: 6rem;
}
.flex.col2 > * {
  width: calc((100% - 6rem) / 2);
}

@media screen and (min-width: 769px) {
  .module__01--item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .module__01--item:not(.is-reverse) .module__01--image {
    margin-left: calc(50% - 50vw);
  }
  .module__01--item:not(.is-reverse) .module__01--text .inner {
    margin-left: auto;
  }
  .module__01--item.is-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .module__01--item.is-reverse .module__01--image {
    margin-right: calc(50% - 50vw);
  }
  .module__01--text {
    width: 50%;
  }
  .module__01--text .inner {
    max-width: 47.2rem;
  }
  .module__01--info .info-inner {
    max-width: 39.4rem;
  }
}
@media screen and (max-width: 768px) {
  .module__01--item + .module__01--item {
    margin-top: 4rem;
  }
  .module__01--image {
    height: 22.4rem;
    margin-bottom: 2rem;
  }
  .module__01--title {
    margin-bottom: 1.6rem;
    gap: 1.4rem;
  }
  .module__01--title .title {
    font-size: 1.8rem;
  }
  .module__01--title .label {
    font-size: 1.4rem;
  }
  .module__02 .name {
    font-size: 1.8rem;
  }
  .grid.col2 {
    gap: 8rem;
    grid-template-columns: 1fr;
  }
  .grid.col3 {
    grid-template-columns: 1fr;
  }
  .flex.col2 {
    gap: 3rem;
  }
  .flex.col2 > * {
    width: 100%;
  }
}
.js-slider01-control .swiper-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.js-slider01-control .swiper-button {
  height: auto;
  margin: 0;
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  -webkit-transform: none;
  transform: none;
}
.js-slider01-control .swiper-button::after {
  color: #000;
  font-size: 2rem;
}
.js-slider01-control .swiper-pause {
  width: 2rem;
  height: 2rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.4rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.js-slider01-control .swiper-pause::before,
.js-slider01-control .swiper-pause::after {
  content: "";
  width: 0.4rem;
  height: 100%;
  background-color: var(--theme-color, #ccbc9d);
}
.js-slider01-control .swiper-pause.paused::before {
  width: 2rem;
  height: 1rem;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.js-slider01-control .swiper-pause.paused::after {
  display: none;
}

.slider__01--card .pic {
  margin-bottom: 1.6rem;
  display: block;
  overflow: hidden;
  aspect-ratio: 296/400;
}
.slider__01--card .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.slider__01--card .pic.asp-auto {
  aspect-ratio: auto;
}
.slider__01--card .tag {
  padding: 0 0.8rem;
  display: inline-block;
  border-radius: 0.3rem;
  background-color: var(--theme-color, #ccbc9d);
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
}
.slider__01--card .tag + .name {
  margin-top: 0.8rem;
}
.slider__01--card .name {
  font-weight: 500;
  line-height: 1.75;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  white-space: wrap;
  -webkit-line-clamp: 2;
}
.slider__01 .swiper {
  overflow: visible !important;
}
.slider__01 .swiper-wrapper {
  height: auto;
}
.slider__01 .swiper-slide {
  width: 29.6rem;
}
.slider__01--control {
  margin-top: 8rem;
  padding: 2rem 0;
}
.slider__02--card .pic {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/0.5;
}
.slider__02--card .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.slider__02 .swiper {
  overflow: visible !important;
}
.slider__02 .swiper-wrapper {
  height: auto;
}
.slider__02 .swiper-slide {
  width: 83.2rem;
}
.slider__02--control {
  margin-top: 4rem;
}
.slider__03--card .pic {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/0.68;
}
.slider__03--card .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.slider__03--card .pic + p {
  margin-top: 2.4rem;
}
.slider__03 .swiper {
  overflow: visible !important;
}
.slider__03 .swiper-wrapper {
  height: auto;
}
.slider__03 .swiper-slide {
  width: 36rem;
}
.slider__03--control {
  margin-top: 10rem;
}

@media screen and (min-width: 769px) {
  .slider__01 {
    position: relative;
  }
  .slider__01 .btn__01 {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .slider__01--control {
    margin-top: 2.5rem;
    padding: 0;
  }
  .slider__01 .btn__01 {
    margin-top: 4rem;
  }
  .slider__02 .swiper-slide {
    width: 100%;
  }
  .slider__02--control {
    margin-top: 3.5rem;
  }
}
.table__01--content {
  display: grid;
  gap: 2rem;
  grid-template-columns: 25rem 1fr;
  font-size: 1.6rem;
}
.table__01--head {
  padding: 0 1rem 2rem;
  border-bottom: 1px solid var(--theme-color, #ccbc9d);
  color: var(--theme-color, #ccbc9d);
  line-height: 1.875;
}
.table__01--detail {
  padding: 0 1rem 2rem;
  border-bottom: 1px solid #e2e2e2;
}
.table__01 .list-note {
  margin-top: 3rem;
  font-size: 1.4rem;
}
.table__02--info {
  margin-bottom: 1.25em;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.4;
}
.table__02 table {
  width: 100%;
  border-collapse: collapse;
}
.table__02 thead * {
  font-weight: 500;
}
.table__02 th,
.table__02 td {
  border: 1px solid #ccc;
  letter-spacing: 0;
}
.table__02 th {
  padding: 2rem;
  background-color: var(--theme-color, #ccbc9d);
  color: #fff;
}
.table__02 th .label {
  margin-top: 0.6rem;
  padding: 0.4rem 1rem;
  display: block;
  background-color: #fff;
  color: var(--theme-color, #ccbc9d);
}
.table__02 td {
  padding: 2rem 2.8rem;
}
.table__02 .td-1 {
  background-color: #f8f7f3;
  color: #000;
}
.table__02 .nowrap {
  white-space: nowrap;
}
.table__02 .left {
  text-align: left;
}
.table__02 .right {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .table__01--content {
    display: block;
  }
  .table__01--head {
    padding: 0.5rem 2rem;
    border-bottom: none;
    border-left: 1px solid var(--theme-color, #ccbc9d);
  }
  .table__01--detail {
    padding: 1rem 0 2rem 2rem;
    border-bottom: none;
  }
  .table__01 .list-note {
    margin-top: 2rem;
    font-size: 1.2rem;
  }
  .table__02 {
    margin-right: -2.5rem;
    padding-right: 2.5rem;
    overflow-x: scroll;
  }
  .table__02 table {
    width: 100rem;
  }
}
*:focus {
  outline: none;
}

.form__box + .form__box {
  margin-top: 3.2rem;
}
.form__box dt {
  margin-bottom: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1em;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  font-weight: 400;
}
.form__box dt .required,
.form__box dt .optional {
  padding: 0.2em 0.5em 0.3em;
  display: inline-block;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
}
.form__box dt .required {
  background-color: #ae290e;
}
.form__box dt .optional {
  background-color: #aaa;
}
.form__box dt .note {
  font-size: 87.5%;
}
.form__box dd .example {
  margin-top: 0.25em;
}
.form__box--inner + .form__box--inner {
  margin-top: 5rem;
}
.form__box--inner .label {
  margin-bottom: 0.5em;
  font-weight: 700;
}
.form__grid {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2.5rem;
  display: grid;
  gap: 3rem 4rem;
  grid-template-columns: repeat(2, 1fr);
}
.form__grid--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.form__grid--item label {
  font-size: 1.6rem;
}
.form__grid--item .form__control {
  width: 24rem;
}
.form__control {
  width: 100%;
  padding: 0.75em 2rem;
  border-radius: 0.6rem;
  background-color: #fff;
  -webkit-box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.08);
  color: #453d2f;
  font-size: max(1.6rem, 16px);
  line-height: 1.5;
}
.form__select {
  background-image: url(../../images/arrow_bottom.svg);
  background-position: right 2rem center;
  background-size: 1.6rem;
  background-repeat: no-repeat;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form__select::-ms-expand {
  display: none;
}
.form__checkList {
  display: grid;
}
.form__checkList.col2 {
  gap: 1em;
  grid-template-columns: 1fr 1fr;
}
.form__checkbox label {
  position: relative;
}
.form__checkbox label > span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.form__checkbox input[type="checkbox"] {
  display: none;
}
.form__checkbox input[type="checkbox"] + span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-align: left;
  line-height: 1.75;
}
.form__checkbox input[type="checkbox"] + span::before {
  content: "";
  width: 2.5em;
  height: 2.5em;
  margin-right: 1rem;
  display: inline-block;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  border: 1px solid #ccc;
  background-color: #fff;
}
.form__checkbox input[type="checkbox"] + span::after {
  content: "";
  width: 0.7em;
  height: 1em;
  position: absolute;
  top: 0.5em;
  left: 0.9em;
  display: block;
  border-right: 3px solid #ccbc9d;
  border-bottom: 3px solid #ccbc9d;
  opacity: 0;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}
.form__checkbox input[type="checkbox"]:checked + span::after {
  opacity: 1;
}
.form__radio {
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Arial, メイリオ, Meiryo, sans-serif;
}
.form__radio label {
  position: relative;
}
.form__radio input[type="radio"] {
  display: none;
}
.form__radio input[type="radio"] + span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-align: left;
  line-height: 1.75;
}
.form__radio input[type="radio"] + span::before {
  content: "";
  width: 1.75em;
  height: 1.75em;
  margin-right: 1rem;
  display: inline-block;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  border: 2px solid var(--primary-color, #000);
  border-radius: 50%;
}
.form__radio input[type="radio"] + span::after {
  content: "";
  width: 0.75em;
  height: 0.75em;
  position: absolute;
  top: -0.3em;
  left: 0.5em;
  display: block;
  border-radius: 50%;
  background-color: var(--primary-color, #000);
  opacity: 0;
}
.form__radio input[type="radio"]:checked + span::after {
  opacity: 1;
}
.form__textarea {
  height: 28rem;
}
.form__doui {
  margin-top: 4rem;
  text-align: center;
}
.form__doui a {
  text-decoration: underline;
}
.form__policy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10rem auto 0;
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #f3f3f3;
  color: #383838;
}
.form__buttons {
  margin-top: 8rem;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form .error {
  margin-top: 0.5em;
}

.mwform-checkbox-field-text {
  padding-left: 2em;
  position: relative;
  display: inline-block;
  letter-spacing: 0.1em;
  font-size: 1.4rem;
  line-height: 1.34;
}
.mwform-checkbox-field-text::before {
  content: "";
  width: 1.34em;
  height: 1.34em;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #ccc;
  background-color: #fff;
}
.mwform-checkbox-field-text::after {
  content: "";
  width: 0.8em;
  height: 0.6em;
  position: absolute;
  top: 0.25em;
  left: 0.25em;
  border-bottom: 0.2rem solid #453d2f;
  border-left: 0.2rem solid #453d2f;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.mwform-checkbox-field input[type="checkbox"] {
  display: none;
}
.mwform-checkbox-field input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
  opacity: 1;
  visibility: visible;
}
.mwform-radio-field-text {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  padding-left: 2em;
  position: relative;
  font-weight: 500;
  font-size: max(1.6rem, 16px);
  line-height: 1;
}
.mwform-radio-field-text::before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
.mwform-radio-field-text::after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  top: 0.5em;
  left: 0.5em;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.mwform-radio-field input[type="radio"] {
  display: none;
}
.mwform-radio-field input[type="radio"]:checked + .mwform-radio-field-text::before {
  border-color: #ccbc9d;
  background-color: #ccbc9d;
}
.mwform-radio-field input[type="radio"]:checked + .mwform-radio-field-text::after {
  opacity: 1;
  visibility: visible;
}

.mw_wp_form_confirm .c-form__doui {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .form__box--inner:not(:last-child) {
    margin-bottom: 4rem;
  }
  .form__grid {
    width: 100%;
    gap: 2rem 0;
    grid-template-columns: 1fr;
  }
  .form__grid--item {
    gap: 0 1.2rem;
  }
  .form__grid--item label {
    width: 7rem;
    text-align: right;
    font-size: 1.4rem;
  }
  .form__grid--item .form__control {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  .form__policy {
    width: 100%;
    margin-top: 4rem;
    gap: 0.5em;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .form__buttons {
    margin-top: 4rem;
  }
}
.post-contents h2 {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #878a63;
  font-size: 2.4rem;
  line-height: 2;
}
.post-contents h3 {
  margin-bottom: 1.2em;
  padding-left: 0.8em;
  position: relative;
  font-size: 2rem;
  line-height: 2;
}
.post-contents h3::before {
  content: "";
  width: 0.4em;
  position: absolute;
  top: 0.8em;
  left: 0;
  display: inline-block;
  background-color: #878a63;
  aspect-ratio: 1;
}
.post-contents h4 {
  margin-bottom: 1em;
  padding-left: 0.8rem;
  position: relative;
  font-size: 1.8rem;
  line-height: 2;
}
.post-contents h4::before {
  content: "";
  width: 2px;
  position: absolute;
  top: 0.5em;
  bottom: 0.5em;
  left: 0;
  display: inline-block;
  background-color: #878a63;
}
.post-contents h5 {
  margin-bottom: 1em;
  font-size: 1.8rem;
  line-height: 2;
}
.post-contents h6 {
  color: #878a63;
  font-size: 1.6rem;
  line-height: 1.75;
}
.post-contents p {
  margin-bottom: 2em;
}
.post-contents p a {
  color: #878a63;
  text-decoration: underline;
}
.post-contents figure {
  margin-top: 6rem;
  margin-bottom: 6rem;
}
.post-contents blockquote {
  margin-top: 4rem;
  margin-bottom: 4rem;
  padding: 2rem 7.5rem;
  border-left: 6px solid #878a63;
  background-color: #f4f2ef;
}
.post-contents blockquote p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .post-contents h2 {
    font-size: 2rem;
  }
  .post-contents h3 {
    font-size: 1.8rem;
  }
  .post-contents h4 {
    font-size: 1.6rem;
  }
  .post-contents h5 {
    font-size: 1.6rem;
  }
  .post-contents h6 {
    font-size: 1.4rem;
  }
  .post-contents figure {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .post-contents blockquote {
    padding: 2rem 2.4rem;
  }
}
.tab__panel--item {
  display: none;
  visibility: hidden;
}
.tab__panel--item.is-active {
  display: block;
  visibility: visible;
}
.tab__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.4rem;
}
.tab__menu .tab {
  width: 100%;
  height: 11.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid var(--c-accent);
}
.tab__menu .tab.is-active {
  background-color: var(--c-accent);
  pointer-events: none;
}
.tab__menu .tab p {
  text-align: center;
  color: var(--c-accent);
}
.tab__menu .tab.is-active p {
  color: var(--c-white);
}

@media screen and (max-width: 768px) {
  .tab__menu {
    flex-direction: column;
    gap: 0;
  }
  .tab__menu .tab {
    width: 100%;
    height: 8rem;
  }
}
.home .main {
  padding-top: 0;
}
.home__hero {
  width: 100%;
  height: 100dvh;
  margin-bottom: 12rem;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .home__hero {
    margin-bottom: 3rem;
  }
}
.home__hero--visual {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.home__hero--catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.7rem 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
}
.home__hero--catch .sub {
  display: block;
  font-size: 4.2rem;
  letter-spacing: 0.7em;
  text-indent: 0.7em;
  line-height: 1;
  margin-bottom: 0.5em;
}
.home__hero--catch .logo {
  width: 65.8rem;
  height: auto;
  margin-bottom: 1rem;
}
.home__hero--catch .label {
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.45em;
  text-indent: 0.7em;
}
.home__hero--catch .title {
  font-weight: 500;
  font-size: 2.9rem;
  line-height: 1;
  letter-spacing: 0.52em;
  text-indent: 0.7em;
}
.home__hero--catch .open-day {
  display: inline-block;
  background: #878a63;
  font-size: 1.7rem;
  text-align: center;
  padding: 1.4rem 2rem;
  color: #fff;
  margin: 0 0 8px;
}
@media screen and (max-width: 768px) {
  .home__hero--catch .open-day {
    font-size: 1.5rem;
    padding: 1.2rem 1.5rem;
  }
}
.home__hero--bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
}
.home__hero--bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center bottom;
  object-position: center bottom;
}
.home__concept--text {
  max-width: 57.2rem;
  margin: 0 auto;
}
.home__concept--text p {
  line-height: 2.5;
}

.home__raxualy {
  /* height: 100dvh; */
  margin-bottom: 18rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.home__raxualy .main__container {
  width: 100%;
  position: relative;
}
.home__raxualy--text {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 9;
  white-space: nowrap;
  font-size: 8rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.home__raxualy--text span {
  padding-right: 0.25em;
  display: inline-block;
}
.home__raxualy--visual {
  width: 100%;
  height: 55rem;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  overflow: hidden;
}
.home__raxualy--visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home__service--item.column + .home__service--item.column {
  margin-top: 16rem;
}
.home__service--item.column .visual {
  position: relative;
}
.home__service--item.column .caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  --text-color: #878a63;
}
.home__service--item.column .text {
  max-width: 35.2rem;
}
.home__service--item.column .title {
  margin: 0 auto 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.home__service--item.column .label {
  letter-spacing: 0.1em;
  font-family: "Sorts Mill Goudy", serif;
  font-size: 1.6rem;
  --text-color: #878a63;
  text-orientation: upright;
}
.home__service--item.column .main {
  letter-spacing: 0.2em;
  font-size: 3.8rem;
}
.home__service--item.column .btn__02 {
  margin-top: 7rem;
}
.home__service--item.row .label {
  font-size: 1.6rem;
  --text-color: #878a63;
}
.home__service--item.row .main {
  letter-spacing: 0.2em;
  font-size: 3.2rem;
}
.home__service--item .more {
  width: 17.4rem;
  margin-left: auto;
  padding: 1.4rem 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid;
}
.home__service--item .more::after {
  content: "";
  width: 1.4rem;
  height: 0.5rem;
  position: absolute;
  right: 0;
  bottom: 1.4rem;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='15.635' height='4.623'><path fill='none' stroke='%233b4043' d='M0 4.123h14.431L10.662.353'/></svg>");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.home__service--group {
  margin-top: 16rem;
}
.home__banner--reserve {
  width: 100%;
  min-height: 56rem;
  margin-top: 19rem;
  padding: 4.5rem 7rem;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.home__banner--reserve .title {
  line-height: 1;
}
.home__banner--reserve .title > span {
  display: block;
}
.home__banner--reserve .title .heading {
  font-size: 4.8rem;
  line-height: 1.6;
}
.home__banner--reserve .title .label {
  margin-top: 0.8em;
  font-size: 2.4rem;
}
.home__banner--reserve .link {
  margin-top: 7.4rem;
  margin-left: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 3.2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2.4rem;
}
.home__banner--reserve .link .arrow {
  width: 8rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  aspect-ratio: 1;
}
.home__banner--reserve .bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.home__banner--reserve .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.4);
}
.home__banner--reserve .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home__banner--fixed {
  position: fixed;
  right: 1.5rem;
  bottom: 2rem;
  z-index: 9;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.home__banner--fixed.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.home__banner--fixed .link {
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #3b4043;
  background-color: #fff;
}
.home__banner--fixed .text {
  padding: 0 0.6rem;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.home__banner--fixed .text > span {
  display: block;
}
.home__banner--fixed .label {
  color: #878a63;
  font-size: 1rem;
  margin-bottom: 0.8em;
}
.home__banner--fixed .main {
  line-height: 1.5;
}
.home__banner--fixed .image {
  width: 9.4rem;
  background-color: #e2e2e2;
  aspect-ratio: 1/1.064;
}
.home__banner--fixed .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home__banner--fixed .close {
  width: 1.2rem;
  margin-bottom: 0.4rem;
  position: absolute;
  right: 0;
  bottom: 100%;
  aspect-ratio: 1;
}
.home__banner--fixed .close::before,
.home__banner--fixed .close::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #3b4043;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
.home__banner--fixed .close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}
.home__news--header {
  position: relative;
}
.home__news--list {
  width: 100%;
  overflow: visible !important;
}
.home__news .swiper-slide {
  width: 38rem;
  height: auto;
}
.home__news .swiper-navigation {
  position: absolute;
  right: 0;
  bottom: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 4rem;
}
.home__news .swiper-navigation .swiper-button {
  width: 8rem;
  height: 8rem;
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid #3b4043;
  border-radius: 50%;
}
.home__news .swiper-navigation .swiper-button::after {
  content: none;
}
.home__news .swiper-navigation .swiper-button-prev {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
.home__news .swiper-navigation .arrow {
  width: 1.8rem;
  height: 1rem;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.home__news .swiper-navigation .arrow::before,
.home__news .swiper-navigation .arrow::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 6'><path fill='%233b4043' d='M20 6H0V4.91h17.46l-4-4.14.74-.77L20 6Z'/></svg>");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.home__news .swiper-navigation .arrow::after {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.home__news--card {
  width: 100%;
  height: 100%;
  padding: 2rem 2rem 6rem;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid;
  background-color: #fff;
}
.home__news--card .visual {
  width: 100%;
  margin-bottom: 1.8rem;
  aspect-ratio: 1/0.588;
}
.home__news--card .visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home__news--card .date {
  --text-color: #878a63;
}
.home__news--card .category {
  margin-left: 0.5em;
  padding: 0.3rem 0.6rem;
  background-color: #646865;
  font-size: 1.4rem;
  --text-color: #fff;
}
.home__news--card .category.news {
  background-color: #878a63;
}
.home__news--card .title {
  width: 100%;
  margin-top: 1em;
  letter-spacing: 0.12em;
  font-size: 1.6rem;
  line-height: 2;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  white-space: wrap;
  -webkit-line-clamp: 2;
}
.home__news .btn__01 {
  margin-top: 6.4rem;
}

@media screen and (min-width: 769px) {
  .home__service--item.column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .home__service--item.column:nth-of-type(odd) {
    padding-right: 7rem;
  }
  .home__service--item.column:nth-of-type(odd) .visual {
    padding-left: 5rem;
  }
  .home__service--item.column:nth-of-type(odd) .caption {
    left: 0;
  }
  .home__service--item.column:nth-of-type(even) {
    padding-left: 7rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .home__service--item.column:nth-of-type(even) .visual {
    padding-right: 5rem;
  }
  .home__service--item.column:nth-of-type(even) .caption {
    right: 0;
  }
  .home__service--item.column .visual {
    width: 58rem;
  }
  .home__service--item.column .caption {
    position: absolute;
    top: 0;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
  .home__service--item.column .caption::before,
  .home__service--item.column .caption::after {
    content: "";
    width: 1px;
    height: 3.88rem;
    display: block;
    border-right: 1px solid;
  }
  .home__service--item.column .title {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
  .home__service--item.column .text.is-middle {
    margin-top: auto;
    margin-bottom: auto;
  }
  .home__service--item.row {
    max-width: 52rem;
  }
  .home__service--item.row:nth-of-type(odd) {
    margin-left: auto;
  }
  .home__service--item.row:nth-of-type(even) {
    margin-top: -26rem;
  }
  .home__service--item.row .text {
    margin-top: 2.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .home__service--item.row .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .home__banner--reserve .bg {
    overflow: hidden;
  }
  .home__banner--reserve .bg img {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .home__banner--reserve:hover .bg img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  .home__news .swiper-button {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .home__news .swiper-button .arrow::before,
  .home__news .swiper-button .arrow::after {
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  .home__news .swiper-button .arrow::before {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .home__news .swiper-button .arrow::after {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
  }
  .home__news .swiper-button:hover {
    border-color: #878a63;
    background-color: #878a63;
    color: #fff;
  }
  .home__news .swiper-button:hover .arrow::before,
  .home__news .swiper-button:hover .arrow::after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 6'><path fill='%23FFF' d='M20 6H0V4.91h17.46l-4-4.14.74-.77L20 6Z'/></svg>");
  }
  .home__news .swiper-button:hover .arrow::before {
    -webkit-animation-name: transformRightLeft;
    animation-name: transformRightLeft;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
  }
  .home__news .swiper-button:hover .arrow::after {
    -webkit-animation-name: transformLeftRight;
    animation-name: transformLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
}
@media screen and (max-width: 768px) {
  .home__hero--catch {
    gap: 1.2rem 0;
  }
  .home__hero--catch .sub {
    font-size: 2.2rem;
  }

  .home__hero--catch .logo {
    width: 33.4rem;
    margin-bottom: 0.1rem;
  }
  .home__hero--catch .label {
    font-size: 1rem;
  }
  .home__hero--catch .title {
    font-size: 1.6rem;
  }
  .home__raxualy {
    margin-bottom: 10rem;
  }
  .home__raxualy--text {
    font-size: 4.2rem;
  }
  .home__raxualy--visual {
    height: 30rem;
  }
  .home__service--item {
    max-width: 32rem;
    margin-right: auto;
    margin-left: auto;
  }
  .home__service--item.column + .home__service--item.column {
    margin-top: 8rem;
  }
  .home__service--item.column .visual {
    width: 100%;
    margin-bottom: 2.4rem;
  }
  .home__service--item.column .visual .image {
    width: 100%;
    height: 34.6rem;
    display: block;
  }
  .home__service--item.column .visual .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .home__service--item.column .caption {
    margin-bottom: 1rem;
    gap: 0.4rem;
  }
  .home__service--item.column .caption::before,
  .home__service--item.column .caption::after {
    content: "";
    width: 1rem;
    height: 1px;
    display: block;
    border-top: 1px solid;
  }
  .home__service--item.column .title {
    margin-bottom: 3rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
  }
  .home__service--item.column .label {
    font-size: 1.2rem;
  }
  .home__service--item.column .main {
    font-size: 2rem;
  }
  .home__service--item.column .btn__02 {
    margin: 4rem auto 0;
  }
  .home__service--item.row + .home__service--item.row {
    margin-top: 8rem;
  }
  .home__service--item.row .visual {
    width: 100%;
    margin-bottom: 2.4rem;
  }
  .home__service--item.row .visual .image {
    width: 100%;
    height: 34.6rem;
  }
  .home__service--item.row .visual .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .home__service--item.row .caption {
    margin-bottom: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.4rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .home__service--item.row .caption::before,
  .home__service--item.row .caption::after {
    content: "";
    width: 1rem;
    height: 1px;
    display: block;
    border-top: 1px solid;
  }
  .home__service--item.row .title {
    margin: 0 auto 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.2rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center;
  }
  .home__service--item.row .label {
    font-size: 1.4rem;
  }
  .home__service--item.row .main {
    font-size: 2rem;
  }
  .home__service--item.row .btn__02 {
    margin: 4rem auto 0;
  }
  .home__service--group {
    margin-top: 8rem;
  }
  .home__banner--reserve {
    min-height: 36rem;
    margin-top: 10rem;
    padding: 6.4rem 2rem 1.6rem;
  }
  .home__banner--reserve .title .heading {
    font-size: 2.4rem;
  }
  .home__banner--reserve .title .label {
    margin-top: 0.8em;
    font-size: 1.6rem;
    line-height: 1.625;
  }
  .home__banner--reserve .link {
    gap: 0 1.6rem;
    font-size: 1.6rem;
  }
  .home__banner--reserve .link .arrow {
    width: 3.8rem;
  }
  .home__banner--reserve .link .arrow svg {
    width: 1.6rem;
  }
  .home__banner--fixed {
    width: calc(100% - 4rem);
    right: 2rem;
    bottom: 1.2rem;
  }
  .home__banner--fixed .link {
    padding: 1.2rem 1rem;
  }
  .home__banner--fixed .text {
    padding: 0;
  }
  .home__banner--fixed .main {
    font-size: 1.6rem;
  }
  .home__banner--fixed .image {
    width: 13.2rem;
    aspect-ratio: 1/0.47;
  }
  .home__news .swiper-navigation {
    bottom: 0.5rem;
    gap: 0 1.8rem;
  }
  .home__news .swiper-navigation .swiper-button {
    width: 4.8rem;
    height: 4.8rem;
  }
  .home__news--card {
    padding-bottom: 3rem;
  }
  .home__news .btn__01 {
    margin-top: 3.2rem;
  }
}
.news__archive--list li {
  padding: 1rem 0;
}
.news__archive--list li:not(:last-child) {
  margin-bottom: 4rem;
  border-bottom: 1px solid #e1e1e1;
}
.news__archive--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2.4rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.news__archive--item .date {
  width: 14rem;
  color: #878a63;
}
.news__archive--item .title {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news__archive--item .arrow {
  width: 2.4rem;
  height: 1.2rem;
  background-color: #ccc;
}
.news__archive .pager {
  margin-top: 8rem;
}
.news__single--header {
  margin-bottom: 5rem;
}
.news__single--header .date {
  margin-bottom: 1em;
  display: block;
  color: #878a63;
}
.news__single--header .category {
  margin-bottom: 1em;
  padding: 0.2em 0.5em;
  display: inline-block;
  background-color: #878a63;
  color: #fff;
}
.news__single--header .title {
  font-size: 3.2rem;
  line-height: 2;
}
.news__single--thumbnail {
  margin-bottom: 5rem;
  display: block;
}
.news__single--footer {
  margin-top: 8rem;
  padding-top: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-top: 1px solid #e1e1e1;
}
.news__single--footer .back {
  width: 30rem;
  height: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid #878a63;
  background-color: #878a63;
  color: #fff;
}
.news__single--footer .prev,
.news__single--footer .next {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 1.2rem;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}
.news__single--footer .prev .arrow-item {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

@media screen and (min-width: 769px) {
  .news__archive--item .title {
    margin-right: 3em;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .news__archive--item:hover .title {
    color: #878a63;
  }
  .news__single--footer .back {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .news__single--footer .back:hover {
    border-color: #3b4043;
    background-color: #fff;
    color: #3b4043;
  }
}
@media screen and (max-width: 768px) {
  .news__archive--list li:not(:last-child) {
    margin-bottom: 2rem;
  }
  .news__archive--item {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .news__archive--item .date {
    width: 100%;
    margin-bottom: 0.5em;
  }
  .news__archive .pager {
    margin-top: 4rem;
  }
  .news__single--header {
    margin-bottom: 3.2rem;
  }
  .news__single--header .title {
    font-size: 2.2rem;
  }
  .news__single--thumbnail {
    margin-bottom: 3.2rem;
  }
  .news__single--footer {
    margin-top: 4rem;
    padding-top: 3rem;
    gap: 0 2rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .news__single--footer .back {
    width: 18rem;
    height: 4.8rem;
  }
  .news__single--footer .prev,
  .news__single--footer .next {
    gap: 0.6rem;
  }
}
.guide__enter--title {
  margin-bottom: 1em;
  color: #878a63;
  font-size: 3.2rem;
}
.guide__flow {
  counter-reset: count;
}
.guide__flow li {
  padding-bottom: 3.6rem;
  border-bottom: 1px solid #878a63;
}
.guide__flow li + li {
  margin-top: 6rem;
}
.guide__flow dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2.4rem;
}
.guide__flow dt::before {
  content: counter(count, decimal-leading-zero);
  width: 7.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid;
  border-radius: 50%;
  color: #878a63;
  counter-increment: count;
  aspect-ratio: 1;
}
.guide__flow dd {
  margin-top: 3.6rem;
}
.guide__facility--header {
  margin-bottom: 3rem;
  padding-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #878a63;
}
.guide__facility--header .place {
  width: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid;
  border-radius: 50%;
  font-size: 1.4rem;
  aspect-ratio: 1;
  --text-color: #878a63;
}
.guide__facility--header .place .num {
  font-size: 2rem;
}
.guide__facility--header .title {
  font-size: 2.4rem;
}
.guide__facility--image img {
  width: 100%;
}
.guide__facility--sentence {
  margin-top: 3.6rem;
}
.guide__facility--info {
  margin-top: 3.6rem;
  padding: 1.6rem 0;
  display: grid;
  gap: 0 5rem;
  grid-template-columns: 12.4rem 1fr;
  border-top: 1px solid #878a63;
  border-bottom: 1px solid #878a63;
}
.guide__facility--info dt,
.guide__facility--info dd {
  line-height: 3.6rem;
}
.guide__facility--info dt {
  border-right: 1px solid #e1e1e1;
}
.guide__facility .btn__02 {
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  .guide__enter--title {
    font-size: 2rem;
  }
  .guide__flow li {
    padding-bottom: 2rem;
  }
  .guide__flow li + li {
    margin-top: 4rem;
  }
  .guide__flow dt {
    font-size: 1.8rem;
  }
  .guide__flow dt::before {
    width: 5rem;
  }
  .guide__flow dd {
    margin-top: 2rem;
  }
  .guide__facility--header {
    margin-bottom: 2rem;
  }
  .guide__facility--header .place {
    width: 5rem;
    font-size: 1.2rem;
  }
  .guide__facility--header .place .num {
    font-size: 1.8rem;
  }
  .guide__facility--header .title {
    font-size: 1.8rem;
  }
  .guide__facility--sentence {
    margin-top: 2rem;
  }
  .guide__facility--info {
    margin-top: 2.4rem;
    gap: 0 2rem;
    grid-template-columns: 8.4rem 1fr;
  }
  .guide__facility .btn__02 {
    margin-top: 1.6rem;
  }
}
.facility__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.facility__lead--visual {
  width: 65rem;
}
.facility__lead--text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.facility__lead--text .inner {
  max-width: 42rem;
}
.facility__lead--text .btn__01 {
  margin-top: 6rem;
}
.facility__lead--info {
  margin-top: 6rem;
  padding: 4rem 0;
  border-top: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
}
.facility__lead--info > dt {
  color: #878a63;
  font-size: 2rem;
}
.facility__lead--info > dd {
  margin-top: 3.2rem;
  line-height: 2;
}
.facility__lead--info > dd dl {
  display: grid;
  gap: 1.6rem 3.2rem;
  grid-template-columns: auto 1fr;
}
.facility__map {
  margin-bottom: 10rem;
  display: block;
  overflow: hidden;
}
.facility__map--image {
  max-height: calc(100vh - 20rem);
}
.facility__map .leaflet-container {
  background: #fefefe;
}
.facility__map .leaflet-left {
  left: unset;
  right: 15px;
}

.bath__efficacy .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.bath__efficacy .title-label {
  letter-spacing: -0.2em;
  font-family: "Sorts Mill Goudy", serif;
  font-size: 1.5rem;
  --text-color: #878a63;
  text-orientation: upright;
}
.bath__efficacy .title-main {
  letter-spacing: 0.2em;
  font-size: 3.8rem;
}
.bath__efficacy--point {
  padding: 6.8rem;
  background-color: #f4f2ef;
}
.bath__efficacy--point ul {
  max-width: 72rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.2rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.bath__efficacy--point li {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.75em;
}
.bath__efficacy--point li::before {
  content: "";
  width: 1.25em;
  border: 1px solid #e1e1e1;
  aspect-ratio: 1;
}
.bath__efficacy--point li::after {
  content: "";
  width: 0.5em;
  height: 1em;
  position: absolute;
  top: -0.25em;
  left: 0.5em;
  border-right: 2px solid #878a63;
  border-bottom: 2px solid #878a63;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.bath__amenities--lead {
  margin-bottom: 6rem;
  font-size: 2rem;
}
.bath__amenities--list {
  display: grid;
  gap: 5rem 0;
  grid-template-columns: repeat(7, 1fr);
}
.bath__amenities--list li {
  text-align: center;
}
.bath__amenities--list .icon {
  width: 8rem;
  margin: 0 auto 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid;
  border-radius: 50%;
  aspect-ratio: 1;
}
.bath__amenities--list .icon07 img {
  margin-bottom: -0.3rem;
  margin-left: -0.6rem;
}
.bath__amenities--list .icon11 img {
  margin-left: -0.3rem;
}
.bath__amenities--list p span {
  font-size: 1.2rem;
}
.bath__note {
  margin-top: 6rem;
  font-size: 2rem;
  background-color: #f4f2ef;
  padding: 3.5rem;
}
.bath__note dt {
  font-size: 1.8rem;
  color: #878a63;
}
.bath__note dd {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.75;
}
.sauna__list--visual {
  margin-top: 8rem;
  margin-bottom: 12rem;
}
.sauna__howto--messsage {
  margin-top: 6rem;
  font-size: 2rem;
}

.restaurant__menu--item .menu-visual {
  display: block;
}
.restaurant__menu--item p {
  margin-top: 0.25em;
  font-size: 1.8rem;
}

.bbq__commirment--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.4rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.bbq__commirment--list > * {
  width: calc((100% - 5.6rem) / 5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid;
  border-radius: 50%;
  text-align: center;
  font-size: 2rem;
  line-height: 2;
  aspect-ratio: 1;
  --text-color: #878a63;
}
.bbq__option {
  padding: 6rem;
  background-color: #f4f2ef;
}
.bbq__option--inner + .bbq__option--inner {
  margin-top: 4.8rem;
}
.bbq__option .heading__01 {
  margin-bottom: 2.4rem;
}
.bbq__option .text-lg {
  font-size: 2rem;
}

@media screen and (min-width: 769px) {
  .bath__efficacy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 8rem;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .bath__efficacy .title {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
  .bath__efficacy .title-label {
    letter-spacing: 0.2em;
  }
  .bath__efficacy--point {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
@media screen and (max-width: 768px) {
  .facility__map {
    margin-bottom: 5rem;
  }
  .facility__lead {
    gap: 3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .facility__lead--visual {
    width: 100%;
  }
  .facility__lead--text {
    width: 100%;
  }
  .facility__lead--info {
    margin-top: 2rem;
    padding: 3rem 0;
  }
  .facility__lead--info > dt {
    font-size: 1.8rem;
  }
  .facility__lead--info > dd {
    margin-top: 1.4rem;
  }
  .bbq__commirment--list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .bbq__commirment--list > * {
    width: calc((100% - 3.6rem) / 2);
    font-size: 1.4rem;
  }
  .bbq__option {
    padding: 4rem;
  }
  .bath__efficacy .title {
    margin-bottom: 2.4rem;
  }
  .bath__efficacy .title-label {
    font-size: 1.2rem;
  }
  .bath__efficacy .title-main {
    font-size: 2rem;
  }
  .bath__efficacy--point {
    padding: 3.2rem 2.4rem;
  }
  .bath__efficacy--point ul {
    gap: 2.4rem;
  }
  .bath__amenities--lead {
    font-size: 1.6rem;
  }
  .bath__amenities--list {
    gap: 3.2rem 0;
    grid-template-columns: repeat(3, 1fr);
  }
  .sauna__list--visual {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
  .sauna__howto--messsage {
    margin-top: 3.2rem;
    font-size: 1.4rem;
  }
}
.voice__list li {
  padding-bottom: 2rem;
  border-bottom: 1px solid #e1e1e1;
}
.voice__list li + li {
  margin-top: 6rem;
}
.voice__list--name {
  margin-top: 1.2em;
  text-align: right;
  line-height: 1;
}
.voice .pager {
  margin-top: 6rem;
}

@media screen and (max-width: 768px) {
  .voice__list li + li {
    margin-top: 4rem;
  }
}
.faq__list dt,
.faq__list dd {
  padding-top: 0.7rem;
  padding-right: 6rem;
  padding-left: 4.6rem;
  position: relative;
}
.faq__list dt::before,
.faq__list dd::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #878a63;
  font-family: "Sorts Mill Goudy", serif;
  font-size: 3.2rem;
}
.faq__list dt {
  min-height: 4.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #e1e1e1;
}
.faq__list dt:hover {
  cursor: pointer;
}
.faq__list dt::before {
  content: "Q";
}
.faq__list dt .icon {
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  top: 1.5rem;
  right: 0;
}
.faq__list dt .icon::before,
.faq__list dt .icon::after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #878a63;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.faq__list dt .icon::after {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq__list dt.is-active .icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
  transform: translate(-50%, -50%) rotate(180deg);
}
.faq__list dd {
  margin-top: 1.6rem;
  display: none;
}
.faq__list dd::before {
  content: "A";
  top: 50%;
  -webkit-transform: translateY(-35%);
  transform: translateY(-35%);
  vertical-align: baseline;
}
.faq__list dd + dt,
.faq__list + .faq__list {
  margin-top: 8rem;
}
.faq .pager {
  margin-top: 6rem;
}

@media screen and (max-width: 768px) {
  .faq__list dt,
  .faq__list dd {
    padding-top: 0.2rem;
    padding-right: 4rem;
    padding-left: 3.2rem;
  }
  .faq__list dt::before,
  .faq__list dd::before {
    font-size: 2.2rem;
  }
  .faq__list dt .icon {
    width: 1.4rem;
    height: 1.4rem;
    top: 1.2rem;
  }
  .faq__list dd {
    margin-top: 2.4rem;
  }
  .faq__list dd + dt,
  .faq__list + .faq__list {
    margin-top: 4rem;
  }
}
.access__lead {
  margin-bottom: 7.8rem;
  color: #9e0210;
  font-weight: bold;
  border: solid 3px #9e0210;
  background-color: #fff;
  padding: 20px 10px;
}
.access__map {
  width: 100%;
  aspect-ratio: 1/0.632;
}
@media (max-width: 600px) {
  /*SP以下 表示*/
  .access__map {
    aspect-ratio: 350 / 480;
  }
} /*END SP以下 表示*/
.access__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.access__map--info {
  margin-top: 4.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.access__map--info .btn__02 {
  width: 34.4rem;
  margin-top: auto;
  font-size: 2rem;
}
.access__map--text {
  font-size: 1.6rem;
}
.access__map--text ol li {
  font-size: 1.6rem;
  line-height: 1.5;
}
.access__map--text ol li + li {
  margin-top: 0.5rem;
}
.access__map--text .btn__02 {
  width: 34.4rem;
  margin-top: auto;
  font-size: 1rem;
}
.access__air .tab__menu {
  margin-bottom: 4.4rem;
}
.route-train_contents__wrap {
  padding: 60px;
  background-color: #fff;
}
.route-train_contents {
  position: relative;
}
.route-train_contents .stationBox--pc {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.route-train_contents .stationBox--pc .stationBoxName {
  height: 7rem;
  padding: 0.5rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #f4f2ef;
  line-height: 1.5;
}

.route-train_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2%;
}
@media screen and (max-width: 600px) {
  .route-train_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.route-train_item {
  width: 20%;
}
@media screen and (max-width: 600px) {
  .route-train_item {
    width: 100%;
  }
}
.route-train_item .stationBox {
  position: relative;
  width: 100%;
  height: 80px;
  margin: 20px 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .route-train_item .stationBox {
    height: 60px;
  }
}
.route-train_item .stationBox .stationBoxName {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 70px;
  padding: 5px;
  font-size: clamp(1.2rem, 1.2307692308vw, 1.6rem);
  background-color: #f4f2ef;
  line-height: 1.5;
}
.route-train_item .stationBox p {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
  width: 100%;
  background-color: var(--c-white);
  font-size: clamp(1rem, 0.9230769231vw, 1.2rem);
  line-height: 1.75;
}
.route-train_item .stationBox.--last {
  height: 70px;
  margin-bottom: 0;
  opacity: 0;
}
@media screen and (max-width: 600px) {
  .route-train_item .stationBox.--last {
    display: none;
  }
}
.route-train_item .timeline {
  height: 175px;
  position: relative;
}
@media screen and (max-width: 600px) {
  .route-train_item .timeline {
    height: 150px;
  }
}
.route-train_item .timeline:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  height: 100%;
  width: 1px;
  background-color: var(--c-accent);
}
.route-train_item .timeline p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: var(--c-white);
}
.route-train_item:nth-of-type(1) .timeline,
.route-train_item:nth-of-type(5) .timeline {
  height: 470px;
}
@media screen and (max-width: 600px) {
  .route-train_item:nth-of-type(1) .timeline,
  .route-train_item:nth-of-type(5) .timeline {
    height: 147.5px;
  }
}
@media (max-width: 600px) {
  /*SP以下 表示*/
  .route-train_contents__wrap {
    padding: 20px;
  }
  .route-train_contents {
    margin-bottom: 20px;
  }
  .route-train_contents:last-child {
    margin-bottom: 0;
  }
} /*END SP以下 表示*/
@media (max-width: 600px) {
  /*SP以下 表示*/
  .route-train_contents_item_head {
    height: 56px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 2%;
    background-color: #f4f2ef;
    border-radius: 10px;
    text-align: center;
    line-height: 1.5;
  }
} /*END SP以下 表示*/
@media (max-width: 600px) {
  /*SP以下 表示*/
  .route-train_contents .route-train_contents_item_head .stationBox {
    position: relative;
  }
  .route-train_contents .route-train_contents_item_head .stationBox .stationBoxName p {
    font-size: clamp(1.2rem, 1.2307692308vw, 1.6rem);
    line-height: 1.5;
  }
  .route-train_contents .route-train_contents_item_body_contents.route-time {
    position: relative;
    padding: 32px 0;
    text-align: center;
    z-index: 2;
  }
  .route-train_contents .route-train_contents_item_body_contents.route-time p {
    background-color: var(--c-white);
  }
  .route-train_contents .route-train_contents_item_body_contents.route-time:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    width: 1px;
    height: 100%;
    background-color: var(--c-accent);
  }
  .route-train_contents .route-train_contents_item_body_contents.destination {
    padding: 20px 2%;
    background-color: #f4f2ef;
    border-radius: 10px;
    text-align: center;
  }
  .route-train_contents .route-train_contents_item_body_contents.destination.--last {
    background-color: var(--c-accent);
    color: var(--c-white);
  }
  .route-train_contents .route-train_contents_item_body_contents.destination .stationBoxName {
    font-size: clamp(1.2rem, 1.2307692308vw, 1.6rem);
    line-height: 1.5;
  }
  .route-train_contents .route-train_contents_item_body_contents.destination.--last .stationBoxName {
    color: var(--c-white);
  }
} /*END SP以下 表示*/

.accordion_line {
  position: absolute;
  top: 50%;
  right: 5px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
}
.accordion_line_box {
  position: relative;
}
.accordion_line::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  width: 100%;
  height: 1px;
  background-color: var(--c-accent);
}
.accordion_line::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  width: 100%;
  height: 1px;
  background-color: var(--c-accent);
}
.accordion_line.is-active::before {
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.accordion_line.is-active::after {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
  transform: translate(-50%, -50%) rotate(0deg);
}
.route-air {
  margin-bottom: 140px;
}
@media screen and (max-width: 600px) {
  .route-air {
    margin-bottom: 70px;
  }
}
.route-air_description {
  margin-bottom: 4.4rem;
}
.route-air_contents__wrap {
  padding: 60px;
  background-color: #fff;
}
@media (max-width: 600px) {
  /*SP以下 表示*/
  .route-air_contents__wrap {
    padding: 20px;
  }
} /*END SP以下 表示*/
.route-air_contents {
  position: relative;
}
.route-air_contents .stationBox--pc {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .route-air_contents .stationBox--pc {
    position: initial;
    margin-top: 20px;
  }
}
.route-air_contents .stationBox--pc .stationBoxName {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 70px;
  padding: 5px;
  background-color: var(--c-accent) !important;
  color: var(--c-white);
  line-height: 1.5;
}
.route-air_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2%;
}
@media screen and (max-width: 600px) {
  .route-air_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.route-air_item {
  width: 50%;
}
@media screen and (max-width: 600px) {
  .route-air_item {
    width: 100%;
  }
}
.route-air_item .stationBox {
  position: relative;
  width: 100%;
  height: 80px;
  margin: 20px 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .route-air_item .stationBox {
    height: 60px;
  }
}
.route-air_item .stationBox .stationBoxName {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 70px;
  padding: 5px;
  font-size: clamp(1.4rem, 1.2307692308vw, 1.6rem);
  background-color: #f4f2ef;
  line-height: 1.5;
}
.route-air_item .stationBox p {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
  width: 100%;
  background-color: var(--c-white);
  font-size: clamp(1rem, 0.9230769231vw, 1.2rem);
}
.route-air_item .stationBox.--last {
  height: 70px;
  margin-bottom: 0;
  opacity: 0;
}
@media screen and (max-width: 600px) {
  .route-air_item .stationBox.--last {
    display: none;
  }
}
.route-air_item .timeline {
  height: 175px;
  position: relative;
}
@media screen and (max-width: 600px) {
  .route-air_item .timeline {
    height: 150px;
  }
}
.route-air_item .timeline:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  height: 100%;
  width: 1px;
  background-color: var(--c-accent);
}
.route-air_item .timeline p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: var(--c-white);
}
.route-air_item .timeline p.--text {
  font-size: clamp(1rem, 1.0769230769vw, 1.4rem);
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .route-air_item .timeline p.--text {
    line-height: 1.75;
  }
}
.route-air_item:nth-of-type(1) .--long {
  height: 470px;
}
@media screen and (max-width: 600px) {
  .route-air_item:nth-of-type(1) .--long {
    height: 147.5px;
  }
}
.route-air_item .--short {
  height: 87.5px;
}
@media screen and (max-width: 600px) {
  .route-air_item .--short {
    height: 140px;
  }
}
/* .route-air_contents {
  display: none;
}
.route-air_contents.is-active {
  display: block;
} */
.route-air_contents .desc {
  margin-bottom: 40px;
  color: var(--c-accent);
  text-align: center;
}
@media screen and (max-width: 600px) {
  .route-air_contents .desc {
    font-size: 1.2rem;
    line-height: 1.75;
  }
}
.route-air_contents .note {
  margin-bottom: 20px;
}
@media screen and (max-width: 600px) {
  .route-air_contents .note {
    margin-top: 20px;
    font-size: 1.2rem;
  }
  .route-air_contents .note p {
    line-height: 1.75;
  }
}
.route-air_contents .note a {
  color: var(--c-accent);
  text-decoration: underline;
}

.route-air_note a {
  text-decoration: underline;
  --text-color: #878a63;
}

@media screen and (max-width: 768px) {
  .access__map--info {
    margin-top: 2.4rem;
    display: block;
    font-size: 1.6rem;
  }
  .access__map--info .btn__02 {
    width: 24.4rem;
    margin-top: 1em;
    margin-left: 0;
    font-size: 1.4rem;
  }
  .access__map--text {
    font-size: 1.4rem;
  }
  .access__map--text ol li {
    font-size: 1.4rem;
  }
  .route-train {
    margin-bottom: 6rem;
  }
  .route-train_contents .stationBox--pc {
    margin-top: 2rem;
    position: initial;
  }
  .route-train_list {
    gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .route-train_item {
    width: 100%;
  }
  .route-train_item .stationBox {
    height: 6rem;
  }
  .route-train_item .stationBox--last {
    display: none;
  }
  .route-train_item .timeline {
    height: 12rem;
    margin-top: 4rem;
  }
  .route-train_item:nth-of-type(1) .timeline,
  .route-train_item:nth-of-type(5) .timeline {
    height: 12rem;
  }
  .access__air {
    margin-bottom: 7rem;
  }
  .route-air_contents .stationBox--pc {
    margin-top: 2rem;
    position: initial;
  }
  .route-air_description {
    margin-bottom: 1.6rem;
    font-size: 1.2rem;
  }
  .route-air_list {
    gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .route-air_item {
    width: 100%;
  }
  .route-air_item .stationBox {
    height: 6rem;
  }
  .route-air_item .stationBox--last {
    display: none;
  }
  .route-air_item .timeline {
    height: 12rem;
    margin-top: 4rem;
  }
  .route-air_item .timeline p.wide {
    font-size: 1.2rem;
  }
  .route-air_item:nth-of-type(1) .timeline,
  .route-air_item:nth-of-type(5) .timeline {
    height: 12rem;
  }
  .route-air_note {
    font-size: 1.2rem;
  }
}
.relaxation__lead {
  margin-bottom: 14rem;
}
.relaxation__info {
  padding: 3.2rem 0;
  display: grid;
  gap: 1.6rem 3.5rem;
  grid-template-columns: 13.6rem 1fr;
  border-top: 1px solid #878a63;
  border-bottom: 1px solid #878a63;
}
.relaxation__info dt,
.relaxation__info dd {
  line-height: 3.6rem;
}
.relaxation__info dt {
  border-right: 1px solid #e1e1e1;
  font-size: 2rem;
}
.relaxation__menu--item + .relaxation__menu--item {
  margin-top: 12.8rem;
}
.relaxation__menu--column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
}
.relaxation__menu--text .heading__02 {
  font-size: 2.8rem;
  margin-bottom: 0.2em;
  line-height: 1.5;
}
.relaxation__menu--text > p {
  margin-bottom: 70px;
}
.relaxation__menu--table {
  max-width: 42rem;
  display: grid;
  gap: 4.8rem 3.2rem;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 20px 0;
}
.relaxation__menu--table + .heading__02 {
  margin-top: 30px;
}
.relaxation__menu--table dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2.6rem;
}
.relaxation__menu--table dt::after {
  content: "";
  height: 1px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: #878a63;
  opacity: 0.5;
}
.relaxation__menu--table dd {
  font-size: 2rem;
  text-align: right;
  position: relative;
}
.relaxation__menu--table dd small {
  position: absolute;
  top: 100%;
  right: 0;
  width: max-content;
  padding-top: 0.5rem;
  font-size: 1.3rem;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .relaxation__lead {
    margin-bottom: 8rem;
  }
  .relaxation__info {
    grid-template-columns: 1fr;
    padding: 2rem 0;
    gap: 0 3.5rem;
  }
  .relaxation__info dt {
    font-size: 1.8rem;
    color: #878a63;
  }
  .relaxation__menu--text {
    width: 85%;
    margin: 0 auto;
  }
  .relaxation__menu--text .heading__02 {
    font-size: 1.8rem;
  }
  .relaxation__menu--text > p {
    margin-bottom: 20px;
  }
  .relaxation__menu--table {
    gap: 1.8rem 3.2rem;
    margin: 10px 0;
  }
  .relaxation__menu--table dt {
    font-size: 1.6rem;
  }
  .relaxation__menu--table dd {
    font-size: 1.4rem;
  }
  .relaxation__menu--table dd small {
    font-size: 1.1rem;
  }
  .relaxation__menu--table + .heading__02 {
    margin-top: 16px;
  }
  .relaxation__menu--column {
    gap: 2rem;
    grid-template-columns: 1fr;
  }
  .relaxation__menu--item + .relaxation__menu--item {
    margin-top: 6rem;
  }
}
.information__hours--list {
  /* display: grid;
  gap: 0 6rem;
  grid-template-columns: 1fr 1fr; */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.information__hours--item {
  padding: 4.8rem 1.6rem;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: 1px solid #878a63;
  border-bottom: 1px solid #878a63;
  text-align: center;
}
.information__hours--item.newopen {
  display: block;
}
.newopen_day {
  color: #9e0210;
}
.information__hours--item dt {
  font-size: 2rem;
  line-height: 1.75;
}
.information__hours--item dd {
  line-height: 1.3;
}
.information__hours--item dd span {
  font-size: 1.2rem;
  display: inline-block;
}
.information__price--table table {
  width: 100%;
  border-collapse: collapse;
}
.information__price--table tr {
  border-bottom: 1px solid #878a63;
}

.information__price--table th,
.information__price--table td {
  text-align: center;
  vertical-align: middle;
  font-weight: 400;
  word-break: break-word;
}
.information__price--table thead {
  border: 1px solid #878a63;
}
.information__price--table thead th,
.information__price--table thead td {
  padding: 2.4rem 1.6rem;
  font-size: 1.8rem;
  color: #fff;
  background-color: #878a63;
}
@media screen and (max-width: 768px) {
  .information__price--table thead th,
  .information__price--table thead td {
    padding: 1.5rem 0;
    font-size: 1.4rem;
  }
} /*END SP以下 表示*/
.information__price--table thead tr > *:nth-child(n + 2) {
  border-left: 1px solid#fff !important;
}
.information__price--table thead th span {
  display: inline-block;
}

.information__price--table tbody th,
.information__price--table tbody td {
  padding: 2.6rem 1.5rem;
  border: 1px solid #878a63;
}
.information__price--table tbody tr > *.dashed {
  border-left-style: dashed;
}
.information__price--table tbody th {
  height: 100%;
  font-size: 1.8rem;
  text-align: left;
  background-color: rgba(135, 138, 99, 0.3);
}

.information__price--table tbody th span {
  font-size: 1.4rem;
}
.information__price--table tbody td {
  text-align: center;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .information__price--table tbody th,
  .information__price--table tbody td {
    padding: 2.5rem 0.8rem;
    font-size: 1.4rem;
  }

  .information__price--table tbody th span {
    font-size: 1rem;
  }
  .information__price--table tbody th small {
    display: block;
    font-size: 1rem;
  }
} /*END SP以下 表示*/
.information__price--note {
  font-size: 1.2rem;
  text-align: right;
  letter-spacing: 0.12em;
  margin-top: 1em;
}
.information__payment--list {
  border-top: 1px solid #878a63;
}
.information__payment--list .inner {
  padding: 3.2rem 0;
  display: grid;
  grid-template-columns: 21.4rem 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #878a63;
}
.information__payment--list dt {
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  .information__hours--list {
    grid-template-columns: 1fr;
  }
  .information__hours--item {
    padding: 2rem 1.6rem;
  }

  .information__hours--item:first-child {
    border-top: 1px solid #878a63;
  }
  .information__hours--item + .information__hours--item {
    border-top: 1px solid #878a63;
    border-bottom: 1px solid #878a63;
  }
  .information__payment--list .inner {
    grid-template-columns: 1fr;
  }
  .information__payment--list .inner dd {
    margin-top: 2rem;
  }
} /*# sourceMappingURL=style.css.map */

/* 250421 */
.header__buttons--item.line {
  padding: 0 1.2rem 0 4rem;
  position: relative;
  background: #878a63;
  border: 1px solid #878a63;
  color: #fff;
}

.header__buttons--item.line::before {
  content: "";
  background: url(../../img/universal/common/line_4701502_w.png) no-repeat center / cover;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 10px;
}

.header__buttons--item.line:hover {
  background: #fff;
  color: #000;
}

.header__buttons--item.line:hover::before {
  background: url(../../img/universal/common/line_4701502.png) no-repeat center / cover;
}

.header.light .header__buttons--item.line::before {
  background: url(../../img/universal/common/line_4701502_w.png) no-repeat center / cover;
}

.header.light .header__buttons--item.line:hover:before {
  background: url(../../img/universal/common/line_4701502.png) no-repeat center / cover;
}

@media screen and (max-width: 768px) {
  .header__buttons .header__buttons--item.line {
    position: absolute;
    top: 2rem;
  }

  .header__buttons--item.line::before {
    background: url(../../img/universal/common/line_4701502_w.png) no-repeat center / cover;
  }
}

/* 250602 */
.facility__lead--info.last_contents {
  margin-top: 0;
  border-top: none;
}

.module__01--title + .module__01--comment.txt_box {
  font-size: 16px;
  margin-bottom: 15px;
}

.module__01--title + .module__01--comment.txt_box strong {
  display: block;
  margin-bottom: 10px;
  font-size: 20px;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .module__01--title + .module__01--comment.txt_box strong {
    margin: 30px 0 10px;
    font-size: 1.5rem;
  }

  .module__01--title + .module__01--comment.txt_box {
    font-size: 1.4rem;
    margin-bottom: 15px;
  }

  .module__01--comment.price {
    font-size: 1.6rem;
  }
}

/* 250609 */
.information__price--table.amenity {
  margin: 60px auto 0;
  width: 70%;
}

.information__price--table.amenity tbody th {
  text-align: center;
}
.info_p {
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .information__price--table.amenity {
    width: 100%;
  }
}

/* 250610 */
.info_sub_title {
  text-align: center;
  margin: 60px 0 40px;
  font-size: 25px;
}

@media screen and (max-width: 768px) {
  .info_sub_title {
    text-align: center;
    margin: 6rem 0 4rem;
    font-size: 1.8rem;
  }
}

/* 250623　ポップアップ */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.modal-content {
  position: relative;
  background: #fff;
  color: #333333 !important;
  --text-color: #333333;
  border-radius: 1rem;
  text-align: left;
  max-width: 90%;
  width: 500px;
  max-height: 93vh;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  animation: fadeIn 0.3s ease-in-out;
  padding: 3rem 3rem 1rem 3rem;
  border: solid 8px #878a63;
  overflow-y: auto;
}

.modal-content h2 {
  color: #9e0210 !important;
  font-size: 2.5rem;
  font-family: "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", Meiryo, sans-serif !important;
  line-height: 1.3;
}
.modal-content p {
  font-size: 0.8em;
  text-align: center;
}
.m_btm {
  margin-bottom: 15px;
}
.modal-body {
  padding: 1rem;
  line-height: 1.6;
}

.modal-body h2 {
  margin: 1rem 0 0 0;
  font-weight: bold;
  text-align: center;
}

.modal-body picture img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}

.close-btn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 4rem;
  color: #333333;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 2;
}

.close-btn:hover {
  color: #cc0000;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@media (max-width: 767px) {
  .modal-body {
    padding: 0rem;
    /*font-size: 0.95rem;*/
  }
  .modal-content {
    padding: 2rem;
  }
  .modal-content h2 {
    font-size: 2rem;
  }
  .close-btn {
    font-size: 1.5rem;
    top: 0.8rem;
    right: 0.8rem;
  }
}

/* 250627　sp時webp追記 */
@media screen and (max-width: 768px) {
  .common__headline--visual.webp_img {
    display: block;
  }
}
.module__01--image.webp_img {
  display: block;
}

/* 250704_ベイサイド_フッターにグループ企業追加 */
.group__container {
  margin: 14rem auto;
}

.group__lists {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 1200px;
  width: 100%;
  margin: 30px auto;
}

.group__lists li {
  width: 230px;
  height: auto;
  border: 1px solid #d7d7d7;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .group__container {
    margin-top: 8rem;
  }

  .group__lists {
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .group__lists li {
    width: 48%;
    border: 1px solid #d7d7d7;
  }
}

/* 250717_ベイサイド_フッターにインスタ追加 */
@media screen and (max-width: 768px) {
  .footer_sns {
    text-align: center;
  }
}

/* 250916_ベイサイド_リラクゼーションにLINE QR追加 */
.relaxation__line {
  text-align: center;
  max-width: 570px;
}
.relaxation__line--inner {
  padding: 40px 20px;
  background: #878a63;
}
.relaxation__line dt {
  font-size: 2rem;
  color: #ffffff;
  margin-bottom: 30px;
}
.relaxation__line--button {
  margin: 20px auto 0;
  width: 230px;
}
.relaxation__line .header__buttons--item {
  display: flex;
}

/* 250922_ベイサイド_コラム調整用 */
@media (max-width: 768px) {
  .swipe_column .swiper-navigation .swiper-button {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* 251010　ポップアップ */
.top_lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1010;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}

.top_lightbox.active {
  opacity: 1;
  pointer-events: auto;
}

.top_lightbox div {
  background: #fff;
  width: 70%;
  max-width: 650px;
  padding: 50px;
  text-align: center;
  position: relative;
  box-sizing: border-box;
  border: 3px solid #caa670;
}

.top_lightbox div img {
  max-width: 100%;
  display: block;
  margin: 0 auto 20px;
}

.top_lightbox div p {
  margin-bottom: 30px;
  text-align: center;
  font-size: 14px;
}

.top_lightbox div p strong {
  font-size: 20px;
  font-weight: bold;
  display: block;
  text-align: center;
  padding-bottom: 12px;
  border-bottom: 2px solid #9f864c;
  margin: auto;
  width: 52%;
}

.top_lightbox div p strong.popup_strong {
  font-size: 18px;
  padding: 20px 0;
  border: none;
  line-height: 1.5em;
}

.top_lightbox div p strong span {
  font-size: 20px;
  color: red;
  position: relative;
  z-index: 1;
}

.top_lightbox div p strong span::after {
  content: "";
  width: 100%;
  height: 7px;
  background-color: #fff141;
  position: absolute;
  bottom: 4px;
  left: 0;
  z-index: -2;
}

.top_lightbox div .close {
  position: absolute;
  top: 15px;
  right: 10px;
  width: 30px;
  height: 20px;
  cursor: pointer;
  opacity: 1;
}

.top_lightbox div .close::before,
.top_lightbox div .close::after {
  content: "";
  width: 100%;
  height: 2px;
  background: #404040;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.top_lightbox div .close::before {
  transform: rotate(45deg);
}

.top_lightbox div .close::after {
  transform: rotate(-45deg);
}

.top_lightbox div .btn {
  cursor: pointer;
  padding: 10px;
  display: block;
  margin: 30px auto 0;
  line-height: 100%;
  height: auto;
  width: 210px;
  border: 1px solid #9e8b63;
}

.top_lightbox div .btn::after {
  display: none;
}

@media only screen and (max-width: 768px) {
  .top_lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 2547483645;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
  }

  .top_lightbox.active {
    opacity: 1;
    pointer-events: auto;
  }

  .top_lightbox div {
    background: #fff;
    width: 90%;
    /* max-width: 650px; */
    padding: 14% 5%;
    text-align: center;
    position: relative;
    box-sizing: border-box;
    border: 3px solid #caa670;
    /* height: 70vh; */
    overflow-y: auto;
    min-height: 250px;
    margin-top: -10%;
  }

  .top_lightbox div img {
    max-width: 100%;
    display: block;
    margin: 0 auto 20px;
  }

  .top_lightbox div p {
    margin-bottom: 30px;
    text-align: center;
    font-size: 14px;
  }

  .top_lightbox div p strong {
    font-size: 4vw;
    font-weight: bold;
    display: block;
    width: 95%;
  }

  .top_lightbox div p strong.popup_strong {
    font-size: 3.8vw;
    padding: 5% 0;
    border: none;
  }

  .top_lightbox div p strong.popup_strong span {
    font-size: 5vw;
    color: red;
    position: relative;
    z-index: 1;
  }

  .top_lightbox div p strong.popup_strong span::after {
    content: "";
    width: 100%;
    height: 7px;
    background-color: #fff141;
    position: absolute;
    bottom: 4px;
    left: 0;
    z-index: -2;
  }

  .top_lightbox div .close {
    position: absolute;
    top: 15px;
    right: 10px;
    width: 30px;
    height: 20px;
    cursor: pointer;
    opacity: 1;
  }

  .top_lightbox div .close::before,
  .top_lightbox div .close::after {
    content: "";
    width: 100%;
    height: 2px;
    background: #000;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }

  .top_lightbox div .close::before {
    transform: rotate(45deg);
  }

  .top_lightbox div .close::after {
    transform: rotate(-45deg);
  }

  .top_lightbox div .btn {
    cursor: pointer;
    padding: 10px;
    display: block;
    margin: auto;
    line-height: 100%;
    height: auto;
    width: 210px;
    border: 1px solid #9e8b63;
    margin: 30px auto 0;
  }

  .top_lightbox div .btn::after {
    display: none;
  }
}

@media screen and (max-width: 650px) {
  .top_lightbox.all .link_box a.btn {
    font-size: 4vw;
  }
}

@media screen and (max-width: 380px) {
  .top_lightbox div {
    height: auto;
  }

  .top_lightbox div p {
    font-size: 3.2vw;
  }

  .top_lightbox div .btn {
    padding: 10px 0px 10px 5px;
  }
}

/* 251017 */
.home__concept .banner {
  width: 60%;
  margin: 5% auto;
}

.home__concept .banner li {
  margin: 5% auto;
}

@media screen and (max-width: 768px) {
  .home__concept .banner {
    width: 100%;
    margin: 13% auto;
  }
}

/* 202510追加 採用ページ用 */

.table01 {
  margin-top: 30px;
  margin-bottom: 50px;
}

.table01 dl {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  border-bottom: solid 1px #878a63;
}

.table01 dl dt {
  width: 30%;
  padding: 20px;
  background-color: rgba(135, 138, 99, 0.3);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  border-top: solid 1px #878a63;
  border-left: solid 1px #878a63;
}

.table01 dl dd {
  width: 70%;
  padding: 20px;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  border-top: solid 1px #878a63;
  border-left: solid 1px #878a63;
  border-right: solid 1px #878a63;
  line-height: 2;
}

.table01 dl dd strong {
  font-weight: bold;
  display: block;
  width: 100%;
}
.table01 dl dd input {
  border: solid 1px #878a63;
}

.table01 dl dd input[type="text"],
.table01 dl dd input[type="email"] {
  padding: 0.5em;
  width: 100%;
}

.table01 dl dd label {
  margin-right: 1em;
}

form button.btn {
  display: block;
  max-width: 280px;
  width: 100%;
  margin: auto;
  padding: 10px 30px;
  text-align: center;
  position: relative;
  border: 1px solid #1c1c1c;
  background-color: #fff;
  transition: 0.3s;
  color: #1c1c1c;
}
form button.btn::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #1c1c1c;
  border-right: 1px solid #1c1c1c;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
  transition: 0.3s;
}
form button.btn:hover {
  background-color: #1c1c1c;
  color: #fff;
}
form button.btn:hover::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.red {
  color: #c00;
}
@media screen and (max-width: 768px) {
  .table01 dl {
    border: solid 1px #878a63;
  }

  .table01 dl dt {
    width: 100%;
    padding: 10px 20px;
    background-color: #e6e5e0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: none;
  }

  .table01 dl dd {
    width: 100%;
    border: none;
  }
  form button.btn,
  form button.btn::before {
    transition: none;
  }
}
