@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Noto+Sans+JP:wght@100..900&family=Roboto:ital@0;1&family=Shippori+Mincho:wght@400;500&display=swap");
/* backdrop */
@keyframes backdrop {
  from {
    background-color: transparent;
  }
  to {
    background-color: rgba(0, 0, 0, 0.5);
  }
}
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ol, ul, details {
  list-style: none;
}

table {
  border-collapse: collapse;
}

textarea {
  form-sizing: content;
  white-space: revert;
}

:focus {
  outline: none;
}

html {
  height: -webkit-fill-available;
  background-color: white;
  color: var(--wlht-fontColor);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  font-weight: 400;
  scroll-behavior: smooth;
  /* iPhone Safariの横向きで基本フォントサイズ拡大を防ぐ */
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  word-break: auto-phrase; /* 日本語自動折返し */
}

body {
  min-height: 100vh;
  min-height: 100dvh;
}

picture, img {
  display: block;
  max-width: 100%;
  height: auto;
  pointer-events: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "EB Garamond", serif;
  font-weight: 700;
  font-style: italic;
}

strong {
  font-weight: 700;
}

b {
  font-weight: 500;
}

a, button, select {
  cursor: pointer;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px white inset !important;
  -webkit-text-fill-color: inherit !important;
}

input {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input:where(:not([type=datetime]):not([type=date]):not([type=month]):not([type=week]):not([type=time]):not([type=datetime-local]))::-webkit-calendar-picker-indicator {
  display: none !important;
}

input, select, textarea {
  padding: 6px 12px;
  border-radius: 4px;
  background-color: var(--wlht-primaryColor);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.05em;
}

input, select {
  height: 32px;
}

input::placeholder, textarea::placeholder {
  color: white;
}

textarea {
  resize: none;
  width: 100%;
  height: 256px;
}

@keyframes navFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes navSlide {
  from {
    transform: translateX(100%);
  }
  to {
    transform: none;
  }
}
.l-header {
  position: sticky;
  top: 0;
  z-index: 999;
  padding: 6px 12px 6px 18px;
  background-color: var(--wlht-primaryColor);
  color: var(--wlht-tertiaryColor);
}
@media screen and (min-width: 1024px) {
  .l-header {
    padding: 11px 32px;
  }
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 32px;
}
.l-header__logo {
  width: 124px;
}
@media screen and (min-width: 1024px) {
  .l-header__logo {
    width: 200px;
  }
}
.l-header__logo > a {
  display: block;
  font-size: 1.25rem;
}
.l-header__logo > a > img {
  display: block;
}
.l-header__nav {
  display: flex;
  align-items: center;
  column-gap: 28px;
}
.l-header__nav__contact {
  display: none;
}
@media screen and (min-width: 1024px) {
  .l-header__nav__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    row-gap: 4px;
    padding-bottom: 4px;
  }
}
.l-header__nav__contact__tel {
  display: block;
  font-family: "EB Garamond", serif;
  font-size: 2.25rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-header__nav__contact__link {
  display: block;
  width: max-content;
  padding-right: 19px;
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 100;
  line-height: 2;
  letter-spacing: 0.05em;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%207.49%2013%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%2012.5%206.99%206.5%200.5%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 8px 13px;
}
@media (any-hover: hover) {
  .l-header__nav__contact__link {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .l-header__nav__contact__link:hover {
    opacity: 0.7;
  }
}
.l-header__nav__contact .c-button {
  width: 200px;
  height: 28px;
  padding: 0 24px 0 15px;
  border-radius: 4px;
  font-size: 0.875rem;
}
.l-header__nav__contact .c-button::after {
  right: 11px;
}
.l-header__nav__button {
  position: relative;
  display: block;
  width: 24px;
  height: 21px;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .l-header__nav__button {
    width: 22px;
  }
}
.l-header__nav__button > span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: black;
}
@media screen and (min-width: 1024px) {
  .l-header__nav__button > span {
    background-color: var(--wlht-tertiaryColor);
  }
}
.l-header__nav__button > span:nth-of-type(1) {
  top: 0;
}
.l-header__nav__button > span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.l-header__nav__button > span:nth-of-type(3) {
  bottom: 0;
}
.l-header__nav__body {
  position: fixed;
  inset: 0;
  overflow: hidden;
}
.l-header__nav__body::backdrop[open] {
  background-color: rgba(0, 0, 0, 0.7);
  animation: navFade 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}
.l-header__nav__close {
  position: absolute;
  top: 6px;
  right: 3.125%;
  z-index: 10;
  width: 24px;
  height: 48px;
  cursor: pointer;
  animation: navFade 0.3s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}
@media screen and (min-width: 1024px) {
  .l-header__nav__close {
    height: 94px;
  }
}
.l-header__nav__close::before, .l-header__nav__close::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  top: 50%;
  left: 50%;
  background-color: black;
}
@media screen and (min-width: 1024px) {
  .l-header__nav__close::before, .l-header__nav__close::after {
    background-color: var(--wlht-tertiaryColor);
  }
}
.l-header__nav__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.l-header__nav__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.l-header__nav__list {
  position: absolute;
  top: 0;
  right: 0;
  width: min(80%, 280px);
  height: 100%;
  padding: 64px 24px 48px;
  background-color: white;
  overflow-y: auto;
}
@media screen and (min-width: 1024px) {
  .l-header__nav__list {
    padding-top: 128px;
  }
}
.l-header__nav__list > li {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
.l-header__nav__list > li + li {
  margin-top: 8px;
}
@media (any-hover: hover) {
  .l-header__nav__list > li > a {
    transition: color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .l-header__nav__list > li > a:hover {
    color: var(--wlht-primaryColor);
  }
}
.l-header__nav__body[open] .l-header__nav__list {
  animation: navSlide 0.3s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}

.l-footer {
  padding-top: 40px;
  padding-bottom: 52px;
  border-image-source: linear-gradient(var(--wlht-fontColor), var(--wlht-fontColor));
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
  color: white;
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333%, 1fr) [side-start] minmax(0, 32px) [content-start] min(960px, 83.3333333333%) [content-end] minmax(0, 32px) [side-end] minmax(8.3333333333%, 1fr) [full-end];
}
.l-footer > * {
  grid-column: content;
}
.l-footer > .is-side {
  grid-column: side;
}
.l-footer > .is-full {
  grid-column: full;
}
@media screen and (min-width: 1024px) {
  .l-footer {
    padding-bottom: 64px;
  }
}
.l-footer__adult {
  position: relative;
  padding-left: 52px;
  margin-bottom: 21px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .l-footer__adult {
    padding-left: 54px;
    margin-bottom: 53px;
  }
}
.l-footer__adult::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -5px;
  transform: translateY(-50%);
  width: 42px;
  height: 53px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2050.14%2064%22%3E%3Cpath%20fill%3D%22%23e28c0c%22%20d%3D%22M32.22%2C7.11l-17.93%2C9.33-3%2C5.63s-1.45%2C2.37%2C0%2C4.7%2C2.67%2C3.44%2C2.67%2C3.44l3.44%2C5.67.22%2C5.11-2.12%2C3.11-1.44%2C1.39s8.67%2C11.61%2C9%2C11.61h6.56s6.22-10.89%2C6.22-11.61-2.78-2.5-3-3.72-.22-5.67-.22-5.67l2.56-3.56.67-2.22s3.78-3%2C3.78-4.78-.78-5.11-.78-5.11l-6.63-13.33Z%22/%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M49.7%2C53.72c-.25-.94-.6-1.78-1.04-2.53-.76-1.31-1.78-2.34-2.9-3.15-.84-.61-1.74-1.1-2.65-1.53-1.37-.64-2.77-1.13-4.05-1.61-1.29-.47-2.47-.94-3.39-1.48-.33-.2-.64-.4-.9-.62-.39-.33-.69-.67-.91-1.06-.22-.39-.37-.83-.42-1.37-.04-.39-.06-.76-.06-1.11%2C0-1.03.15-1.93.35-2.84.58-.65%2C1.11-1.43%2C1.61-2.36.5-.93.98-2.02%2C1.45-3.31.3-.14.61-.3.91-.51.68-.46%2C1.33-1.1%2C1.87-1.95.54-.85.97-1.91%2C1.27-3.22.08-.36.12-.72.12-1.08%2C0-.74-.17-1.45-.47-2.08-.2-.44-.46-.84-.77-1.2.16-.57.34-1.34.51-2.23.23-1.24.42-2.74.42-4.31%2C0-1.01-.08-2.06-.29-3.1-.16-.78-.38-1.54-.7-2.28-.48-1.11-1.18-2.15-2.15-3.01-.9-.8-2.03-1.43-3.39-1.84-.58-.69-1.17-1.27-1.79-1.76-1.04-.83-2.12-1.38-3.24-1.71-1.11-.33-2.24-.46-3.36-.46-.59%2C0-1.18.03-1.77.09-.55.05-1.02.11-1.43.18-.62.1-1.13.24-1.62.41-.5.17-.97.37-1.59.61-.24.09-.55.23-.92.42-.65.33-1.5.82-2.39%2C1.49-1.35%2C1.01-2.84%2C2.43-4%2C4.36-.58.96-1.08%2C2.05-1.43%2C3.27-.35%2C1.22-.55%2C2.56-.55%2C4.04%2C0%2C.91.08%2C1.88.25%2C2.9%2C0%2C.07%2C0%2C.14%2C0%2C.21%2C0%2C.13.02.26.04.39.02.2.05.41.06.59%2C0%2C.09.02.17.02.23%2C0%2C.03%2C0%2C.06%2C0%2C.07v.02s0%2C0%2C0%2C0h0v.12l.25%2C1.1c-.36.39-.67.83-.9%2C1.31-.33.67-.53%2C1.42-.53%2C2.21%2C0%2C.35.04.71.12%2C1.07.2.87.45%2C1.63.76%2C2.3.46.99%2C1.05%2C1.77%2C1.7%2C2.35.5.45%2C1.04.78%2C1.58%2C1.02.47%2C1.29.95%2C2.38%2C1.45%2C3.31.5.93%2C1.02%2C1.7%2C1.6%2C2.35.19.91.35%2C1.81.35%2C2.84%2C0%2C.35-.02.72-.06%2C1.11-.04.37-.12.7-.24.99-.18.44-.44.81-.79%2C1.16-.35.35-.8.67-1.33.98-.54.31-1.17.59-1.85.87-1.19.48-2.55.94-3.93%2C1.49-1.03.41-2.08.88-3.08%2C1.47-.75.44-1.47.95-2.13%2C1.56-.99.91-1.85%2C2.04-2.44%2C3.44C.33%2C53.71%2C0%2C55.37%2C0%2C57.33c0%2C.28.06.54.15.78.09.23.21.44.36.63.27.37.62.7%2C1.05%2C1.02.76.56%2C1.76%2C1.08%2C3.06%2C1.57%2C1.95.73%2C4.56%2C1.39%2C7.94%2C1.88%2C3.38.48%2C7.52.78%2C12.51.78%2C4.33%2C0%2C8.01-.23%2C11.12-.6%2C2.33-.28%2C4.33-.64%2C6.03-1.05%2C1.27-.31%2C2.38-.65%2C3.33-1.01.71-.27%2C1.33-.55%2C1.88-.84.41-.22.77-.44%2C1.08-.67.48-.34.86-.7%2C1.15-1.1.14-.2.26-.42.35-.65.09-.23.14-.49.14-.75%2C0-1.34-.15-2.54-.44-3.62ZM22.89%2C54.66l-7.38-9.43c.38-.22.75-.47%2C1.09-.74.37-.29.71-.62%2C1-.99l5.37%2C2.49-1.15%2C1.91%2C1.78%2C1.88-.71%2C4.89ZM18.36%2C42.24c.22-.51.36-1.06.42-1.66.05-.46.07-.9.07-1.32%2C0-1.37-.23-2.52-.45-3.56l-.06-.28-.2-.21c-.5-.54-.99-1.22-1.48-2.13-.49-.91-.98-2.04-1.48-3.46l-.17-.46-.46-.17c-.32-.12-.63-.27-.93-.47-.45-.3-.88-.72-1.27-1.33-.39-.61-.74-1.44-1-2.56-.05-.21-.07-.42-.07-.61%2C0-.45.11-.87.31-1.28.17-.34.4-.66.69-.94.48.73.88%2C1.3%2C1.02%2C1.44.47.47.32.33.48.09%2C0%2C0%2C.53-.75%2C3.35-6.24%2C5.64%2C1.25%2C15.5-7.22%2C15.5-7.22%2C0%2C0%2C.12%2C2.74%2C2%2C5.24%2C1.78%2C2.38%2C2.8%2C7.96%2C2.8%2C7.96%2C0%2C0%2C.24-.46.6-1.08.22.25.4.53.53.81.18.38.27.78.27%2C1.2%2C0%2C.2-.02.4-.07.62-.17.75-.38%2C1.36-.62%2C1.87-.36.76-.77%2C1.29-1.2%2C1.68-.43.39-.89.64-1.37.81l-.46.17-.17.46c-.5%2C1.42-.99%2C2.55-1.48%2C3.46-.49.91-.98%2C1.6-1.49%2C2.13l-.2.21-.06.29c-.23%2C1.04-.45%2C2.19-.45%2C3.56%2C0%2C.42.02.86.07%2C1.32.06.54.18%2C1.05.37%2C1.52%2C0%2C.02.02.04.03.06l-6.35%2C3.34-7.04-3.26ZM27.77%2C55l-.76-5.23%2C1.78-1.88-1.15-1.92%2C4.85-2.55c.13.17.27.34.43.49.48.49%2C1.04.9%2C1.63%2C1.26l-6.78%2C9.83Z%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 1024px) {
  .l-footer__adult::before {
    left: -1px;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    position: relative;
    padding-block: 22px;
  }
  .l-footer__nav::before, .l-footer__nav::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.25);
    mix-blend-mode: soft-light;
  }
  .l-footer__nav::before {
    top: 0;
  }
  .l-footer__nav::after {
    bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__nav__list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 32px;
  }
}
.l-footer__nav__list > li {
  position: relative;
  padding-left: 20px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .l-footer__nav__list > li + .l-footer__nav__list > li {
    margin-top: 4px;
  }
}
.l-footer__nav__list > li::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: white;
}
.l-footer__nav__list--small {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .l-footer__nav__list--small {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2px 8px;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__nav__list--small {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    margin-top: 5px;
  }
}
.l-footer__nav__list--small > li {
  position: relative;
  padding-left: 18px;
  font-size: 0.75rem;
  font-weight: 100;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
.l-footer__nav__list--small > li::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background-color: white;
}
.l-footer__content {
  margin-top: 32px;
}
@media screen and (min-width: 1024px) {
  .l-footer__content {
    display: flex;
    align-items: center;
    column-gap: 50px;
    margin-top: 56px;
  }
}
.l-footer__logo {
  display: block;
  width: 200px;
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .l-footer__logo {
    margin-left: 0;
  }
}
.l-footer__logo.is-white > img {
  filter: brightness(0) invert(1);
}
.l-footer__status {
  display: flex;
  flex-direction: column;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-footer__status {
    margin-top: 17px;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__status {
    position: relative;
  }
  .l-footer__status::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -25px;
    transform: translateY(-50%);
    width: 1px;
    height: 56px;
    background-color: white;
  }
}
.l-footer__status__tel {
  width: 100%;
  font-family: "EB Garamond", serif;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .l-footer__status__tel {
    order: 1;
    margin-top: 18px;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__status__tel {
    line-height: 0.85;
  }
}
.l-footer__status__address {
  width: 100%;
  font-family: 100;
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .l-footer__status__address {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__button {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 32px;
    grid-column-gap: 32px;
    margin-top: 35px;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__button {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 16px;
  }
  .l-footer__button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -25px;
    transform: translateY(-50%);
    width: 1px;
    height: 56px;
    background-color: white;
  }
}
.l-footer__button .c-button,
.l-footer__button .c-button--light {
  padding-right: 24px;
  padding-left: 16px;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .l-footer__button .c-button,
  .l-footer__button .c-button--light {
    background-color: white;
    color: var(--wlht-fontColor);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .l-footer__button .c-button::after,
  .l-footer__button .c-button--light::after {
    right: 10px;
    background-color: var(--wlht-fontColor);
    background-image: none;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%207.49%2013%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%2012.5%206.99%206.5%200.5%200.5%22/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%207.49%2013%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%2012.5%206.99%206.5%200.5%200.5%22/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 8px;
    mask-size: 8px;
    -webkit-mask-position: 50% 50%;
    mask-position: 50% 50%;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__button .c-button,
  .l-footer__button .c-button--light {
    width: 200px;
    height: 40px;
    padding-left: 14px;
    font-size: 0.875rem;
    font-weight: 700;
  }
  .l-footer__button .c-button::after,
  .l-footer__button .c-button--light::after {
    right: 13px;
  }
}

.l-main {
  padding-bottom: 80px;
  background-image: linear-gradient(var(--wlht-secondaryColor), var(--wlht-secondaryColor));
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-size: 74.8571428571% 100%;
  overflow: hidden;
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333%, 1fr) [side-start] minmax(0, 32px) [content-start] min(960px, 83.3333333333%) [content-end] minmax(0, 32px) [side-end] minmax(8.3333333333%, 1fr) [full-end];
}
.l-main > * {
  grid-column: content;
}
.l-main > .is-side {
  grid-column: side;
}
.l-main > .is-full {
  grid-column: full;
}
@media screen and (min-width: 1024px) {
  .l-main {
    padding-bottom: 120px;
  }
}
.l-main.is-underlayer {
  padding-top: 64px;
}
@media screen and (min-width: 1024px) {
  .l-main.is-underlayer {
    padding-top: 72px;
  }
}
.l-main__title {
  margin-bottom: 64px;
  text-align: center;
}
.l-main__title__en {
  font-size: 1.875rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
.l-main__title__en::first-letter {
  color: var(--wlht-accentColor);
  font-size: 3rem;
}
.l-main__title__ja {
  position: relative;
  padding-top: 10px;
  margin-top: 6px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .l-main__title__ja {
    letter-spacing: 0;
  }
}
.l-main__title__ja::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 160px;
  height: 1px;
  background-color: var(--wlht-primaryColor);
}
.l-main__description {
  margin-bottom: 48px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .l-main__description {
    margin-bottom: 74px;
  }
}
.l-main .tns-nav {
  position: absolute;
  bottom: -32px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
}
@media screen and (min-width: 1024px) {
  .l-main .tns-nav {
    bottom: -34px;
  }
}
.l-main .tns-nav > button {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background-color: white;
}
.l-main .tns-nav > button.tns-nav-active {
  background-color: var(--wlht-accentColor);
}
.l-main .tns-ovh {
  overflow: visible;
}

.l-layout {
  overflow: hidden;
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333%, 1fr) [side-start] minmax(0, 32px) [content-start] min(960px, 83.3333333333%) [content-end] minmax(0, 32px) [side-end] minmax(8.3333333333%, 1fr) [full-end];
}
.l-layout > * {
  grid-column: content;
}
.l-layout > .is-side {
  grid-column: side;
}
.l-layout > .is-full {
  grid-column: full;
}

.l-form {
  width: 100%;
  max-width: 640px;
  margin-inline: auto;
}
.l-form__row {
  border-top: 1px solid var(--wlht-primaryColor);
  padding-block: 16px;
}
.l-form__label {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.375;
}
.l-form__label.is-required {
  display: flex;
  flex-wrap: wrap;
  column-gap: 12px;
}
.l-form__label.is-required::after {
  content: "必須";
  display: block;
  width: 48px;
  height: 22px;
  padding-left: 0.1em;
  border-radius: 4px;
  background-color: var(--wlht-accentColor);
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.8333333333;
  letter-spacing: 0.1em;
  text-align: center;
}
.l-form__content {
  display: flex;
  column-gap: 16px;
  margin-top: 12px;
}
.l-form__content input {
  width: min(100%, 320px);
}
.l-form__content input.is-short {
  width: 160px;
}
.l-form__law {
  padding-top: 21px;
  border-top: 1px solid var(--wlht-primaryColor);
}
.l-form__law__label {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-form__law__text {
  margin-top: 6px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.l-form input[type=submit] {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 352px;
  height: 32px;
  padding: 0 22px 0 16px;
  margin-top: 58px;
  margin-inline: auto;
  border: 1px solid var(--wlht-primaryColor);
  border-radius: 100px;
  background-color: white;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2094.99%2011.54%22%3E%3Cpath%20fill%3D%22%23782902%22%20d%3D%22M94.49%2C7.88h-53.33c-.28%2C0-.5-.22-.5-.5s.22-.5.5-.5h52.02l-2.96-2.65c-.21-.18-.22-.5-.04-.71s.5-.22.71-.04l3.94%2C3.53c.15.14.21.36.13.55-.07.19-.26.32-.47.32ZM.86%2C11.5c.44%2C0%2C.89-.1%2C1.35-.29.46-.19.85-.46%2C1.16-.79s.46-.71.46-1.11c0-.22-.05-.5-.14-.82-.1-.33-.21-.61-.34-.84-.13-.23-.25-.51-.36-.82-.11-.31-.17-.53-.17-.66%2C0-.22.06-.41.18-.56.12-.15.27-.22.46-.22.22%2C0%2C.42.09.59.26.02.02.07.07.14.14s.14.11.2.11c.1%2C0%2C.21-.07.34-.22.13-.15.2-.27.2-.37%2C0-.12-.1-.26-.3-.42-.2-.16-.4-.24-.59-.24-.2%2C0-.48.1-.82.31-.35.21-.65.48-.91.82-.26.34-.39.7-.39%2C1.09%2C0%2C.31.16.75.48%2C1.31.31.57.46%2C1.09.46%2C1.57-.01.26-.1.48-.28.68s-.4.3-.68.3c-.21%2C0-.39-.03-.53-.1s-.28-.15-.43-.27c-.09-.07-.17-.14-.26-.21-.09-.06-.17-.1-.23-.1-.1%2C0-.19.07-.3.2-.1.13-.15.31-.15.54%2C0%2C.2.08.37.25.5.17.13.37.2.62.2ZM7.36%2C11.52c.51%2C0%2C.99-.14%2C1.42-.42s.82-.68%2C1.14-1.2c.02-.03.03-.07.03-.13%2C0-.11-.05-.16-.16-.16-.08%2C0-.18.06-.29.18-.23.26-.48.46-.74.62-.26.16-.55.24-.9.24-.28%2C0-.49-.1-.63-.3-.14-.2-.22-.49-.22-.86s.11-.9.34-1.55c0-.04.03-.07.06-.1s.06-.04.1-.05c.04-.01.07-.02.08-.02%2C1.09-.2%2C1.97-.47%2C2.64-.82s1.01-.82%2C1.01-1.42c0-.28-.1-.49-.31-.65-.21-.15-.5-.23-.87-.23-.71%2C0-1.4.28-2.04.83-.65.55-1.16%2C1.24-1.55%2C2.06-.39.82-.58%2C1.59-.58%2C2.31%2C0%2C.25.08.5.22.76.15.26.34.48.57.65s.46.26.68.26ZM7.71%2C7.41s-.06%2C0-.08-.02c-.02-.01-.03-.04-.03-.08%2C0-.16.14-.43.41-.8.27-.37.59-.71.94-1.01s.67-.45.94-.45c.13%2C0%2C.23.05.31.15.08.1.12.22.12.36%2C0%2C.38-.17.71-.5.99-.34.28-.72.49-1.14.63s-.75.22-.96.22ZM12.93%2C11.54c.08%2C0%2C.17-.04.24-.11s.16-.2.26-.38c.5-.89%2C1.04-1.77%2C1.62-2.66s.99-1.49%2C1.25-1.8c.33-.42.63-.73.91-.94s.51-.31.69-.31c.22%2C0%2C.34.14.34.42%2C0%2C.17-.06.43-.19.78-.25.63-.53%2C1.32-.86%2C2.07s-.54%2C1.25-.65%2C1.48l-.32.72s-.03.1-.03.18c0%2C.14.06.26.17.37.11.11.23.16.36.16.48%2C0%2C.97-.16%2C1.47-.48s.97-.75%2C1.41-1.28c.04-.06.06-.14.06-.22%2C0-.04-.01-.08-.04-.1-.03-.03-.06-.04-.09-.04-.02%2C0-.04%2C0-.05.02-.16.16-.45.38-.86.66-.42.28-.74.42-.96.42-.12%2C0-.18-.06-.18-.19%2C0-.08.03-.21.1-.38l1.47-3.49c.11-.25.16-.49.16-.72%2C0-.31-.09-.56-.26-.75-.18-.19-.39-.29-.65-.29-.5%2C0-1.09.31-1.77.92-.68.61-1.34%2C1.46-1.98%2C2.55-.02.04-.05.06-.1.06s-.06-.02-.06-.06l.02-.06%2C1.06-2.72c.02-.09.03-.14.03-.18%2C0-.15-.06-.27-.17-.37-.11-.1-.24-.14-.39-.14-.35.01-.67.09-.94.22-.28.14-.5.33-.66.58-.09.12-.17.26-.24.42-.08.17-.11.29-.1.38%2C0%2C.09.05.13.11.13.05%2C0%2C.1-.02.13-.06.24-.3.44-.5.62-.59.18-.1.37-.14.57-.14.08%2C0%2C.13.05.13.14%2C0%2C.13-.05.31-.16.56l-1.86%2C4.54c-.02.06-.03.11-.03.14%2C0%2C.13.04.25.14.38.09.12.19.18.3.18ZM29.41.59c.04-.13.06-.25.06-.37%2C0-.15-.06-.22-.19-.22-.12%2C0-.61.06-1.49.19-.19.03-.33.07-.42.11-.08.04-.13.1-.13.18%2C0%2C.03.04.06.1.09.07.03.19.07.38.14.17.06.29.13.35.2.06.07.1.16.1.28%2C0%2C.04-.02.15-.06.32l-1.07%2C3.6-.06.11s-.14-.1-.4-.26c-.29-.19-.48-.31-.57-.34-.09-.04-.21-.06-.34-.06-.34%2C0-.73.13-1.15.39-.43.26-.85.63-1.26%2C1.1-.59.66-1.07%2C1.39-1.45%2C2.2-.38.81-.57%2C1.51-.57%2C2.1%2C0%2C.34.1.62.29.83.19.21.44.32.75.32.58%2C0%2C1.14-.2%2C1.7-.59.55-.39%2C1.2-1.06%2C1.94-1.98.03-.04.06-.05.08-.02.02.03.03.08.02.15l-.29%2C1.31c-.04.22-.06.36-.06.42%2C0%2C.18.07.35.22.5s.31.22.48.22c.22%2C0%2C.53-.14.91-.41.38-.27.73-.58.03-.93.3-.35.46-.62.46-.81.02-.09-.01-.13-.1-.13-.04%2C0-.08.03-.13.08-.21.3-.48.56-.79.78s-.57.33-.78.33c-.15%2C0-.22-.12-.22-.35%2C0-.14.03-.3.08-.5L29.41.59ZM22.86%2C10.75c-.2%2C0-.34-.04-.42-.13s-.12-.25-.12-.48c0-.55.21-1.24.64-2.05.43-.81.92-1.52%2C1.49-2.12.57-.6%2C1.04-.9%2C1.44-.9.26%2C0%2C.45.09.59.26.14.18.21.42.21.73%2C0%2C.57-.22%2C1.22-.66%2C1.96s-.96%2C1.38-1.57%2C1.92c-.61.54-1.14.81-1.6.81Z%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 22px) 50%;
  background-size: 94px;
  font-size: 0.875rem;
  font-weight: 100;
  letter-spacing: 0.05em;
  white-space: nowrap;
  cursor: pointer;
}
@media (any-hover: hover) {
  .l-form input[type=submit] {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .l-form input[type=submit]:hover {
    opacity: 0.7;
  }
}
.l-form .wpcf7-form-control-wrap {
  display: block;
  width: fit-content;
}
.l-form .wpcf7-form-control-wrap:has(textarea) {
  width: 100%;
}

.c-button--light, .c-button {
  position: relative;
  display: flex;
  align-items: center;
  border: 1px solid white;
  background-color: var(--wlht-accentColor);
  color: white;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media (any-hover: hover) {
  .c-button--light, .c-button {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .c-button--light:hover, .c-button:hover {
    opacity: 0.7;
  }
}
.c-button--light::after, .c-button::after {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 8px;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%207.49%2013%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%2012.5%206.99%206.5%200.5%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
}

.c-button--light {
  background-color: var(--wlht-primaryColor);
}

.c-popup {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: min(80vw, 480px);
  height: max-content;
  max-height: 80dvh;
  margin: auto;
}
.c-popup[open]::backdrop {
  animation: backdrop 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}
.c-popup__close {
  position: fixed;
  top: 16px;
  right: 16px;
  display: block;
  width: 48px;
  height: 48px;
}
.c-popup__close::before, .c-popup__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 100%;
  height: 1px;
  background-color: white;
}
.c-popup__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-popup__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-popup__content img {
  width: auto;
  height: auto;
}

.c-news__item {
  border-bottom: 1px solid var(--wlht-primaryColor);
}
.c-news__item:first-of-type {
  border-top: 1px solid var(--wlht-primaryColor);
}
.c-news__item.is-new .c-news__date::after {
  content: "new";
  display: block;
  width: 48px;
  border-radius: 4px;
  background-color: var(--wlht-accentColor);
  color: white;
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.125;
  letter-spacing: 0.05em;
  text-align: center;
}
.c-news__item.is-large:first-of-type {
  border-top: none;
}
.c-news__item.is-large .c-news__link {
  padding-top: 0;
}
@media screen and (min-width: 1024px) {
  .c-news__item.is-large .c-news__link {
    grid-template-columns: 256px 1fr;
    grid-column-gap: 32px;
    padding-right: 0;
  }
}
.c-news__item.is-large .c-news__link::after {
  margin-top: 12px;
}
@media screen and (min-width: 1024px) {
  .c-news__item.is-large .c-news__link::after {
    display: none;
  }
}
.c-news__item.is-large .c-news__thumbnail {
  position: relative;
  top: 0;
  width: 100%;
  height: auto;
  padding-top: 100%;
}
.c-news__item.is-large .c-news__content {
  display: flex;
  flex-direction: column;
  margin-top: 18px;
}
@media screen and (min-width: 1024px) {
  .c-news__item.is-large .c-news__content {
    margin-top: 0;
  }
  .c-news__item.is-large .c-news__content::after {
    content: "more";
    display: block;
    width: max-content;
    padding-top: 36px;
    padding-right: 62px;
    margin-top: auto;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2054.33%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2053.83%204.03%2049.89%200.5%22/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 55px;
    background-position: 100% 38px;
    color: var(--wlht-fontColor);
    font-family: "EB Garamond", serif;
    font-size: 1rem;
    font-style: italic;
    line-height: 0.625;
    letter-spacing: 0.05em;
  }
}
.c-news__item.is-large .c-news__date {
  padding-left: 0;
}
.c-news__item.is-large .c-news__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: auto;
  padding-left: 0;
  margin-top: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4444444444;
}
@media screen and (min-width: 1024px) {
  .c-news__item.is-large .c-news__title {
    height: auto;
    margin-top: 20px;
    font-size: 1.375rem;
    line-height: 1.3636363636;
  }
}
.c-news__item.is-large .c-news__text {
  -webkit-line-clamp: 7;
  margin-top: 12px;
}
@media screen and (min-width: 1024px) {
  .c-news__item.is-large .c-news__text {
    -webkit-line-clamp: 4;
    margin-top: 16px;
  }
}
.c-news__link {
  position: relative;
  display: block;
  padding-block: 16px;
}
@media (any-hover: hover) {
  .c-news__link {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .c-news__link:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1024px) {
  .c-news__link {
    display: grid;
    grid-template-columns: 80px 1fr;
    grid-column-gap: 14px;
    padding-right: 112px;
  }
}
.c-news__link::after {
  content: "more";
  display: block;
  width: 100%;
  padding-right: 72px;
  margin-top: 6px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 67px;
  background-position: 100% 4px;
  color: var(--wlht-accentColor);
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 0.625;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (min-width: 1024px) {
  .c-news__link::after {
    position: absolute;
    bottom: 24px;
    right: 12px;
    width: max-content;
    padding-right: 62px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2054.33%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2053.83%204.03%2049.89%200.5%22/%3E%3C/svg%3E");
    background-size: 55px;
    background-position-y: 2px;
    color: var(--wlht-fontColor);
  }
}
.c-news__thumbnail {
  position: absolute;
  top: 16px;
  width: 80px;
  height: 80px;
}
.c-news__thumbnail > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .c-news__thumbnail {
    position: relative;
    top: unset;
  }
}
.c-news__date {
  display: flex;
  align-items: center;
  column-gap: 8px;
  padding-left: 94px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .c-news__date {
    padding-left: 0;
  }
}
.c-news__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 48px;
  padding-left: 94px;
  margin-top: 12px;
  font-family: "Shippori Mincho", serif;
  font-size: 1rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .c-news__title {
    display: block;
    height: auto;
    padding-left: 0;
    margin-top: 9px;
    font-size: 1.125rem;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
.c-news__text {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 16px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .c-news__text {
    display: block;
    height: auto;
    margin-top: 2px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

.c-banner {
  position: relative;
  z-index: 1;
}
.c-banner .tns-ovh {
  overflow: visible;
}

.p-home__mv {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .p-home__mv {
    border-block: 2px solid white;
  }
}
.p-home__mv__slider__item img {
  width: 100%;
}
.p-home__room {
  position: relative;
  padding-top: 56px;
  margin-bottom: 98px;
  border-image-source: linear-gradient(var(--wlht-primaryColor), var(--wlht-primaryColor));
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
}
@media screen and (min-width: 1024px) {
  .p-home__room {
    padding-top: 78px;
  }
}
.p-home__room__slider__item {
  position: relative;
  padding-top: 24px;
}
@media screen and (min-width: 1024px) {
  .p-home__room__slider__item {
    padding-top: 32px;
  }
}
.p-home__room__slider__link {
  display: block;
  padding-bottom: 15px;
  background-color: white;
}
.p-home__room__slider__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--wlht-primaryColor);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media screen and (min-width: 1024px) {
  .p-home__room__slider__link {
    padding-bottom: 19px;
  }
}
@media (any-hover: hover) {
  .p-home__room__slider__link:hover .p-home__room__slider__name {
    top: -8px;
  }
  .p-home__room__slider__link:hover img {
    transform: scale(1.0625);
    z-index: 10;
  }
  .p-home__room__slider__link:hover::after {
    bottom: -1px;
    height: 3px;
    background-color: var(--wlht-accentColor);
  }
}
.p-home__room__slider__name {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  width: 48px;
  height: 48px;
  border: 1px solid white;
  border-radius: 100%;
  background-image: linear-gradient(var(--wlht-gradientTop), var(--wlht-gradientUnder));
  font-size: 1.25rem;
  font-weight: 400;
  font-style: normal;
  line-height: 2.3;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  transition: top 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media screen and (min-width: 1024px) {
  .p-home__room__slider__name {
    width: 64px;
    height: 64px;
    font-size: 1.5rem;
    line-height: 2.5833333333;
    letter-spacing: 0.1em;
  }
}
.p-home__room__slider__img {
  position: relative;
  padding-top: 81.25%;
}
.p-home__room__slider__img > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.p-home__room__slider__text {
  position: relative;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 44px;
  padding: 0 28px 0 14px;
  margin-top: 15px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.5714285714;
}
.p-home__room__slider__text::after {
  content: "";
  position: absolute;
  top: 0;
  right: 16px;
  width: 8px;
  height: 100%;
  background-color: var(--wlht-accentColor);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%207.49%2013%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%2012.5%206.99%206.5%200.5%200.5%22/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%207.49%2013%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%2012.5%206.99%206.5%200.5%200.5%22/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: 50% 50%;
  mask-position: 50% 50%;
}
@media screen and (min-width: 1024px) {
  .p-home__room__slider__text {
    padding: 0 36px 0 14px;
    margin-top: 18px;
  }
}
.p-home__video {
  padding-top: 72px;
  padding-bottom: 48px;
  color: white;
  border-image-source: linear-gradient(var(--wlht-tertiaryColor), var(--wlht-tertiaryColor));
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
}
@media screen and (min-width: 1024px) {
  .p-home__video {
    padding-block: 64px;
  }
}
.p-home__video__title {
  display: flex;
  justify-content: center;
  align-items: baseline;
  column-gap: 8px;
  margin-bottom: 42px;
  color: white;
}
@media screen and (min-width: 1024px) {
  .p-home__video__title {
    justify-content: start;
    margin-top: -8px;
    margin-bottom: 16px;
  }
}
.p-home__video__title__en {
  font-size: 1.875rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
.p-home__video__title__en::first-letter {
  color: var(--wlht-primaryColor);
  font-size: 3rem;
}
.p-home__video__title__ja {
  position: relative;
  padding-top: 10px;
  margin-top: 6px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-home__video__title__ja {
    letter-spacing: 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-home__video__inner {
    display: grid;
    grid-template-columns: 352px 1fr;
    grid-column-gap: 32px;
  }
}
.p-home__video__item {
  position: relative;
  display: none;
  width: 100%;
  padding-top: 80%;
}
.p-home__video__item.is-active {
  display: block;
  padding-top: 72.7272727273%;
}
.p-home__video__thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.p-home__video__thumbnail__img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-home__video__thumbnail__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-home__video__thumbnail__img::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 62px;
  height: 62px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2061.16%2061.16%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M25.69%2C45.04l18.85-12.55c1.37-.92%2C1.37-2.93%2C0-3.85l-18.85-12.55c-1.54-1.02-3.59.08-3.59%2C1.93v25.11c0%2C1.85%2C2.06%2C2.95%2C3.59%2C1.93Z%22/%3E%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-miterlimit%3D%2210%22%20cx%3D%2230.58%22%20cy%3D%2230.58%22%20r%3D%2230.08%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.7;
}
.p-home__video__popup {
  position: fixed;
  inset: 0;
  overflow: hidden;
}
.p-home__video__popup::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}
.p-home__video__popup::backdrop[open] {
  animation: navFade 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}
.p-home__video__popup > iframe {
  aspect-ratio: 16/9;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 320px;
  height: 180px;
}
@media screen and (min-width: 768px) {
  .p-home__video__popup > iframe {
    width: 640px;
    height: 360px;
  }
}
@media screen and (min-width: 1024px) {
  .p-home__video__popup > iframe {
    width: 960px;
    height: 540px;
  }
}
.p-home__video__popup__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
}
.p-home__video__popup__close::before, .p-home__video__popup__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: white;
}
.p-home__video__popup__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-home__video__popup__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-home__video__content {
  margin-top: 20px;
}
@media screen and (min-width: 1024px) {
  .p-home__video__content {
    display: flex;
    flex-direction: column;
    margin-top: 0;
  }
}
.p-home__video__status {
  width: 100%;
}
.p-home__video__status__name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-home__video__status__date {
  margin-top: 10px;
  font-size: 0.75rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.05em;
}
.p-home__video__author {
  order: 1;
  display: flex;
  align-items: center;
  column-gap: 18px;
  width: 100%;
  margin-top: 12px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2142857143;
}
@media screen and (min-width: 1024px) {
  .p-home__video__author {
    margin-top: 24px;
  }
}
.p-home__video__author__label {
  white-space: nowrap;
}
.p-home__video__author__name > a {
  display: flex;
  column-gap: 8px;
  color: var(--wlht-primaryColor);
}
@media (any-hover: hover) {
  .p-home__video__author__name > a {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-home__video__author__name > a:hover {
    opacity: 0.7;
  }
}
.p-home__video__author__name > a::before {
  content: "";
  display: block;
  width: 24px;
  height: 17px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2033.02%2022.36%22%3E%3Crect%20fill%3D%22red%22%20width%3D%2233.02%22%20height%3D%2222.36%22%20rx%3D%224.43%22%20ry%3D%224.43%22/%3E%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2213.59%2016.19%2021.05%2011.18%2013.59%206.18%2013.59%2016.19%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.p-home__video__nav {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 16px;
  justify-content: center;
  width: 100%;
  padding-top: 55px;
  padding-inline: 2.34375%;
  margin-top: 24px;
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .p-home__video__nav {
    grid-template-columns: repeat(auto-fill, 64px);
    justify-content: start;
    padding-top: 40px;
    padding-inline: 0;
    margin-top: 16px;
  }
}
.p-home__video__nav::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 24px;
  padding-inline: 8px;
  background-color: rgba(255, 255, 255, 0.5);
  mix-blend-mode: soft-light;
}
.p-home__video__nav::after {
  content: "Back Number";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  padding-inline: 8px;
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-home__video__nav::after {
    text-align: center;
  }
}
.p-home__video__nav__item {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 100%;
}
.p-home__video__nav__item > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-home__video__nav__item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 38px;
  height: 38px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2061.16%2061.16%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M25.69%2C45.04l18.85-12.55c1.37-.92%2C1.37-2.93%2C0-3.85l-18.85-12.55c-1.54-1.02-3.59.08-3.59%2C1.93v25.11c0%2C1.85%2C2.06%2C2.95%2C3.59%2C1.93Z%22/%3E%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-miterlimit%3D%2210%22%20cx%3D%2230.58%22%20cy%3D%2230.58%22%20r%3D%2230.08%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .p-home__block {
    grid-column: full;
  }
}
@media screen and (min-width: 1024px) {
  .p-home__block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 32px;
    margin-top: 80px;
  }
}
.p-home__block__box .l-main__title {
  padding-top: 20px;
  padding-bottom: 30px;
  margin-bottom: 0;
  background-color: var(--wlht-primaryColor);
}
.p-home__block__box .l-main__title__en::first-letter {
  color: white;
}
.p-home__block__box .l-main__title__ja::before {
  background-color: white;
}
.p-home__block__box.is-small {
  width: 83.3333333333%;
  padding-top: 12px;
  padding-bottom: 24px;
  margin-inline: auto;
  border-top: 1px solid var(--wlht-fontColor);
}
@media screen and (min-width: 1024px) {
  .p-home__block__box.is-small {
    width: 100%;
    padding-top: 14px;
    padding-bottom: 20px;
    margin-inline: 0;
    border-bottom: 1px solid var(--wlht-fontColor);
  }
}
.p-home__block__box.is-small .l-main__title {
  display: flex;
  align-items: baseline;
  column-gap: 8px;
  padding-block: 0;
  background-color: transparent;
  color: var(--wlht-fontColor);
}
.p-home__block__box.is-small .l-main__title__en {
  font-size: 1.5rem;
}
.p-home__block__box.is-small .l-main__title__en::first-letter {
  color: var(--wlht-primaryColor);
  font-size: 2.5rem;
}
.p-home__block__box.is-small .l-main__title__ja {
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .p-home__block__box.is-small .l-main__title__ja {
    letter-spacing: 0;
  }
}
.p-home__block__box.is-small .l-main__title__ja::before {
  display: none;
}
.p-home__block__box.is-small .p-home__block__content {
  padding-bottom: 0;
}
.p-home__block__img {
  width: 100%;
  height: 160px;
}
.p-home__block__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-home__block__content {
  padding: 20px 8.3333333333% 38px;
}
@media screen and (min-width: 1024px) {
  .p-home__block__content {
    padding: 18px 0 56px;
  }
}
.p-home__block__catchphrase {
  font-family: "Shippori Mincho", serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.p-home__block__text {
  margin-top: 12px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-home__block__link {
  display: block;
  width: max-content;
  padding-right: 74px;
  margin-top: 2px;
  margin-left: auto;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 67px;
  background-position: 100% 50%;
  color: var(--wlht-accentColor);
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (any-hover: hover) {
  .p-home__block__link {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-home__block__link:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1024px) {
  .p-home__block__link {
    padding-right: 62px;
    margin-top: 13px;
    margin-left: 0;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2054.33%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2053.83%204.03%2049.89%200.5%22/%3E%3C/svg%3E");
    background-size: 55px;
    color: var(--wlht-fontColor);
  }
}
.p-home__sightseeing {
  padding-top: 40px;
  padding-bottom: 78px;
  margin-top: 72px;
  margin-bottom: 32px;
  border-image-source: linear-gradient(var(--wlht-tertiaryColor), var(--wlht-tertiaryColor));
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
  color: white;
}
@media screen and (min-width: 1024px) {
  .p-home__sightseeing {
    padding-top: 60px;
    padding-bottom: 70px;
    margin-top: 78px;
    margin-bottom: 72px;
  }
}
.p-home__sightseeing__headline {
  margin-bottom: 38px;
}
@media screen and (min-width: 1024px) {
  .p-home__sightseeing__headline {
    display: flex;
    align-items: center;
    margin-bottom: 44px;
  }
  .p-home__sightseeing__headline .l-main__title {
    display: flex;
    align-items: baseline;
    column-gap: 8px;
    padding-block: 0;
    margin-bottom: 0;
    background-color: transparent;
    white-space: nowrap;
  }
  .p-home__sightseeing__headline .l-main__title__en::first-letter {
    color: var(--wlht-primaryColor);
  }
  .p-home__sightseeing__headline .l-main__title__ja::before {
    display: none;
  }
}
.p-home__sightseeing__headline__text {
  position: relative;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-home__sightseeing__headline__text {
    padding-left: 24px;
    margin-left: 16px;
  }
  .p-home__sightseeing__headline__text::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 36px;
    background-color: var(--wlht-primaryColor);
  }
}
.p-home__sightseeing__headline__link {
  position: relative;
  display: block;
  height: max-content;
  padding-right: 74px;
  margin-top: 3px;
  margin-left: auto;
  color: var(--wlht-primaryColor);
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (any-hover: hover) {
  .p-home__sightseeing__headline__link {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-home__sightseeing__headline__link:hover {
    opacity: 0.7;
  }
}
.p-home__sightseeing__headline__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 67px;
  height: 100%;
  background-color: var(--wlht-primaryColor);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: 0 50%;
  mask-position: 0 50%;
}
@media screen and (min-width: 1024px) {
  .p-home__sightseeing__headline__link {
    padding-right: 62px;
    margin-left: 58px;
    color: white;
  }
  .p-home__sightseeing__headline__link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -24px;
    transform: translateY(-50%);
    width: 1px;
    height: 36px;
    background-color: var(--wlht-primaryColor);
  }
  .p-home__sightseeing__headline__link::after {
    width: 55px;
    background-color: white;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2054.33%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2053.83%204.03%2049.89%200.5%22/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2054.33%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2053.83%204.03%2049.89%200.5%22/%3E%3C/svg%3E");
  }
}
.p-home__sightseeing__content {
  position: relative;
}
.p-home__sightseeing__link {
  position: relative;
  display: block;
  padding-bottom: 34px;
}
@media screen and (min-width: 1024px) {
  .p-home__sightseeing__link {
    padding-bottom: 10px;
  }
  .p-home__sightseeing__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--wlht-primaryColor);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}
@media (any-hover: hover) {
  .p-home__sightseeing__link[href]::before {
    content: "";
    position: absolute;
    inset: 0;
    transition: background-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-home__sightseeing__link[href] .p-home__sightseeing__thumbnail,
  .p-home__sightseeing__link[href] .p-home__sightseeing__name,
  .p-home__sightseeing__link[href] .p-home__sightseeing__text {
    position: relative;
    z-index: 1;
  }
  .p-home__sightseeing__link[href]:hover::before {
    background-color: rgba(255, 255, 255, 0.25);
    mix-blend-mode: soft-light;
  }
  .p-home__sightseeing__link[href]:hover img {
    transform: scale(1.0625);
    z-index: 10;
  }
  .p-home__sightseeing__link[href]:hover::after {
    bottom: -1px;
    height: 3px;
    background-color: var(--wlht-accentColor);
  }
}
.p-home__sightseeing__thumbnail {
  position: relative;
  padding-top: 81.25%;
}
@media screen and (min-width: 1024px) {
  .p-home__sightseeing__thumbnail {
    padding-top: 60%;
  }
}
.p-home__sightseeing__thumbnail > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.p-home__sightseeing__name {
  padding-inline: 32px;
  margin-top: 13px;
  color: var(--wlht-primaryColor);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.p-home__sightseeing__text {
  padding-inline: 32px;
  margin-top: 6px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-home__sightseeing__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    height: 110px;
  }
}
.p-home__sightseeing .tns-outer {
  position: relative;
}
.p-home__access__information__label {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-home__access__information__label {
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
.p-home__access__information__content {
  margin-top: 5px;
}
@media screen and (min-width: 1024px) {
  .p-home__access__information__content {
    margin-top: 2px;
  }
}
.p-home__access__information__list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
}
.p-home__access__information__item {
  position: relative;
  padding-left: 28px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
.p-home__access__information__item::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: var(--wlht-accentColor);
}
.p-home__access__map {
  position: relative;
  margin-top: 40px;
  padding-top: 80%;
}
@media screen and (min-width: 1024px) {
  .p-home__access__map {
    padding-top: 26.6666666667%;
    margin-top: 26px;
  }
}
.p-home__access__map > iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.p-room {
  position: relative;
  margin-top: 32px;
}
.p-room__title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  width: 96px;
  height: 96px;
  padding-left: 0.1em;
  border: 1px solid white;
  border-radius: 100%;
  background-image: linear-gradient(var(--wlht-gradientTop), var(--wlht-gradientUnder));
  font-size: 2.25rem;
  font-weight: 400;
  font-style: normal;
  line-height: 2.6111111111;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-room__slider {
  position: relative;
}
.p-room__slider__item > img {
  width: 100%;
}
.p-room__slider .tns-ovh {
  overflow: hidden;
}
.p-room__content {
  margin-top: 68px;
}
.p-room__catchphrase {
  font-family: "Shippori Mincho", serif;
  font-size: 1.375rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4545454545;
  letter-spacing: 0.05em;
}
.p-room__text {
  margin-top: 8px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-room__button {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px 32px;
  padding-top: 48px;
  margin-top: 26px;
  border-top: 1px solid var(--wlht-primaryColor);
}
.p-room__button__mail, .p-room__button__reserve {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 352px;
  height: 32px;
  padding: 0 22px 0 16px;
  border-radius: 100px;
  background-color: white;
  font-size: 0.875rem;
  font-weight: 100;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media (any-hover: hover) {
  .p-room__button__mail, .p-room__button__reserve {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-room__button__mail:hover, .p-room__button__reserve:hover {
    opacity: 0.7;
  }
}
.p-room__button__mail::before, .p-room__button__reserve::before {
  content: "more";
  order: 1;
  display: block;
  margin-right: 0;
  margin-left: auto;
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.05em;
}
.p-room__button__mail::after, .p-room__button__reserve::after {
  content: "";
  order: 1;
  display: block;
  width: 74px;
  height: 5px;
  margin-left: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 100% 50%;
  mask-position: 100% 50%;
  -webkit-mask-size: 67px;
  mask-size: 67px;
}
.p-room__button__mail {
  border: 1px solid var(--wlht-accentColor);
}
.p-room__button__mail::before {
  color: var(--wlht-accentColor);
}
.p-room__button__mail::after {
  background-color: var(--wlht-accentColor);
}
.p-room__button__reserve {
  border: 1px solid var(--wlht-primaryColor);
}
.p-room__button__reserve::before {
  color: var(--wlht-primaryColor);
}
.p-room__button__reserve::after {
  background-color: var(--wlht-primaryColor);
}

.p-room-archive + .p-room-archive {
  margin-top: 64px;
}
@media screen and (min-width: 1024px) {
  .p-room-archive + .p-room-archive {
    margin-top: 80px;
  }
}
.p-room-archive__head {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 24px;
  padding: 9px 12px;
  border: 1px solid var(--wlht-primaryColor);
  background-color: white;
}
@media screen and (min-width: 1024px) {
  .p-room-archive__head {
    padding: 9px 16px;
  }
}
.p-room-archive__head__en {
  width: fit-content;
  font-size: 1.375rem;
  line-height: 1.2727272727;
  letter-spacing: 0.05em;
  text-align: right;
}
.p-room-archive__head__ja {
  position: relative;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-room-archive__head__ja::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -13px;
  transform: translateY(-50%);
  width: 1px;
  height: 28px;
  background-color: var(--wlht-accentColor);
}
.p-room-archive__content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-gap: 24px 32px;
  margin-top: 48px;
}
@media screen and (min-width: 1024px) {
  .p-room-archive__content {
    grid-row-gap: 48px;
    margin-top: 66px;
  }
}
.p-room-archive__item {
  position: relative;
  padding-top: 24px;
}
@media screen and (min-width: 1024px) {
  .p-room-archive__item {
    padding-top: 32px;
  }
}
.p-room-archive__link {
  display: block;
  padding-bottom: 15px;
}
.p-room-archive__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--wlht-primaryColor);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media screen and (min-width: 1024px) {
  .p-room-archive__link {
    padding-bottom: 19px;
  }
}
@media (any-hover: hover) {
  .p-room-archive__link:hover .p-home__room__slider__name {
    top: -8px;
  }
  .p-room-archive__link:hover img {
    transform: scale(1.0625);
    z-index: 10;
  }
  .p-room-archive__link:hover::after {
    bottom: -1px;
    height: 3px;
    background-color: var(--wlht-accentColor);
  }
}
.p-room-archive__name {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  width: 48px;
  height: 48px;
  border: 1px solid white;
  border-radius: 100%;
  background-image: linear-gradient(var(--wlht-gradientTop), var(--wlht-gradientUnder));
  font-size: 1.25rem;
  font-weight: 400;
  font-style: normal;
  line-height: 2.3;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  transition: top 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media screen and (min-width: 1024px) {
  .p-room-archive__name {
    width: 64px;
    height: 64px;
    font-size: 1.5rem;
    line-height: 2.5833333333;
    letter-spacing: 0.1em;
  }
}
.p-room-archive__img {
  position: relative;
  padding-top: 81.25%;
}
.p-room-archive__img > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.p-room-archive__text {
  position: relative;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 44px;
  padding: 0 28px 0 14px;
  margin-top: 15px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.5714285714;
}
.p-room-archive__text::after {
  content: "";
  position: absolute;
  top: 0;
  right: 16px;
  width: 8px;
  height: 100%;
  background-color: var(--wlht-accentColor);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%207.49%2013%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%2012.5%206.99%206.5%200.5%200.5%22/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%207.49%2013%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%2012.5%206.99%206.5%200.5%200.5%22/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: 50% 50%;
  mask-position: 50% 50%;
}
@media screen and (min-width: 1024px) {
  .p-room-archive__text {
    padding: 0 36px 0 14px;
    margin-top: 18px;
  }
}
.p-room-archive__table {
  grid-column: 1/-1;
}
.p-room-archive__table__row {
  background-color: white;
}
.p-room-archive__table__row + .p-room-archive__table__row {
  margin-top: 2px;
}
@media screen and (min-width: 1024px) {
  .p-room-archive__table__row {
    display: grid;
    grid-template-columns: 256px 1fr;
  }
}
.p-room-archive__table__label {
  padding: 16px;
  background-color: var(--wlht-primaryColor);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 100;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-room-archive__table__label {
    display: flex;
    align-items: center;
    padding: 20px 22px;
  }
}
.p-room-archive__table__content {
  padding: 16px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-room-archive__table__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 40px;
  }
}
.p-room-archive__table__list {
  grid-column: 1/-1;
}
@media screen and (min-width: 1024px) {
  .p-room-archive__table + .p-room-archive__table__list {
    margin-top: -24px;
  }
}
.p-room-archive__table__item {
  position: relative;
  padding-left: 16px;
}
.p-room-archive__table__item::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background-color: var(--wlht-accentColor);
}

.p-coupon__item + .p-coupon__item {
  margin-top: 64px;
}
@media screen and (min-width: 1024px) {
  .p-coupon__item + .p-coupon__item {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1024px) {
  .p-coupon__item {
    display: grid;
    grid-template-columns: 256px 1fr;
    grid-column-gap: 32px;
  }
}
.p-coupon__img {
  position: relative;
  height: 0;
  padding-top: 100%;
}
.p-coupon__img > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-coupon__content {
    margin-top: 24px;
  }
}
.p-coupon__name {
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-coupon__name {
    margin-top: -6px;
    font-size: 2rem;
  }
}
.p-coupon__price {
  margin-top: 10px;
  color: var(--wlht-tertiaryColor);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-coupon__price {
    font-size: 1.625rem;
  }
}
.p-coupon__description {
  margin-top: 22px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-coupon__description {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 12px 16px;
  }
}
.p-coupon__description__label {
  width: min(80px, 100%);
  height: fit-content;
  padding: 2px 8px;
  border-radius: 4px;
  background-color: var(--wlht-accentColor);
  color: white;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-coupon__description__label {
    margin-bottom: 8px;
  }
}
.p-coupon__description__text {
  padding-block: 2px;
}
@media screen and (max-width: 768px) {
  .p-coupon__description__text {
    margin-bottom: 16px;
  }
}
.p-coupon__code {
  display: flex;
  width: 100%;
  margin-top: 24px;
  border: 2px solid var(--wlht-accentColor);
  border-radius: 6px;
  background-color: white;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-coupon__code {
    width: fit-content;
    margin-top: 35px;
  }
}
.p-coupon__code__label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 126px;
  min-width: 126px;
  padding-block: 10px;
  padding-right: 2px;
  background-color: var(--wlht-accentColor);
  color: white;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
.p-coupon__code__text {
  padding: 10px 22px;
  color: var(--wlht-tertiaryColor);
  font-family: "EB Garamond", serif;
  font-size: 1.375rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1.0909090909;
  letter-spacing: 0.05em;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
@media screen and (max-width: 768px) {
  .p-coupon__code__text {
    flex-grow: 1;
    width: 1px;
  }
}
@media screen and (min-width: 1024px) {
  .p-coupon__code__text {
    width: fit-content;
  }
}

.p-how-to-use__list {
  counter-reset: howToUse;
}
.p-how-to-use__item {
  counter-increment: howToUse;
}
.p-how-to-use__item + .p-how-to-use__item {
  margin-top: 64px;
}
.p-how-to-use__title {
  display: flex;
  align-items: center;
  column-gap: 14px;
  padding: 9px 12px;
  border: 1px solid var(--wlht-primaryColor);
  background-color: white;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  .p-how-to-use__title {
    font-size: 1rem;
  }
}
.p-how-to-use__title::before {
  content: counter(howToUse, decimal-leading-zero);
  display: block;
  padding-right: 12px;
  border-right: 1px solid var(--wlht-accentColor);
  color: var(--wlht-accentColor);
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.1666666667;
}
.p-how-to-use__content {
  margin-top: 32px;
}
@media screen and (min-width: 1024px) {
  .p-how-to-use__content {
    display: flex;
    column-gap: 48px;
    margin-top: 48px;
  }
}
.p-how-to-use__img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-how-to-use__img {
    width: 256px;
    height: 160px;
  }
  .p-how-to-use__img > img {
    height: 100%;
    object-fit: cover;
  }
}
.p-how-to-use__img > img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-how-to-use__img + .p-how-to-use__text {
    margin-top: 24px;
  }
}
@media screen and (min-width: 1024px) {
  .p-how-to-use__text {
    flex-grow: 1;
    width: 1px;
  }
}
.p-how-to-use__text__description {
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-how-to-use__text__description {
    margin-top: -6px;
  }
}
.p-how-to-use__text__caution {
  position: relative;
  color: var(--wlht-accentColor);
  font-size: 0.75rem;
  font-weight: 100;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-how-to-use__img + .p-how-to-use__text .p-how-to-use__text__caution::before {
    content: "";
    position: absolute;
    top: 0;
    left: -20px;
    width: 8px;
    height: 22px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%205.87%2010.33%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-miterlimit%3D%2210%22%20points%3D%225.52%209.98%200.71%205.17%205.52%200.35%22/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50% 50%;
  }
}
.p-how-to-use__text__description + .p-how-to-use__text__caution {
  margin-top: 20px;
}
.p-how-to-use__text__description + .p-how-to-use__text__caution::after {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--wlht-accentColor);
}

.p-plan__item {
  padding: 16px;
  background-color: white;
}
.p-plan__item + .p-plan__item {
  margin-top: 48px;
}
@media screen and (min-width: 1024px) {
  .p-plan__item + .p-plan__item {
    margin-top: 64px;
  }
}
@media screen and (min-width: 1024px) {
  .p-plan__item {
    display: grid;
    grid-template-columns: 256px 1fr;
    grid-column-gap: 32px;
    padding: 32px;
  }
}
.p-plan__thumbnail {
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.p-plan__thumbnail > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-plan__content {
    margin-top: 24px;
  }
}
@media screen and (min-width: 1024px) {
  .p-plan__content {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .p-plan__content:first-child {
    grid-column: 1/-1;
  }
}
.p-plan__body {
  margin-bottom: 32px;
}
.p-plan__date {
  display: flex;
  align-items: center;
  column-gap: 8px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.is-new .p-plan__date::after {
  content: "new";
  display: block;
  width: 48px;
  border-radius: 4px;
  background-color: var(--wlht-accentColor);
  color: white;
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.125;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-plan__head {
  margin-top: 16px;
}
.p-plan__sub-title {
  margin-bottom: 4px;
  color: var(--wlht-tertiaryColor);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-plan__title {
  font-family: "Shippori Mincho", serif;
  font-size: 1.625rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2307692308;
  letter-spacing: 0.05em;
}
.p-plan__text {
  margin-top: 11px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-plan__link {
  position: relative;
  display: block;
  width: fit-content;
  padding-right: 74px;
  margin-top: auto;
  margin-left: auto;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 67px;
  color: var(--wlht-accentColor);
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 0.5em;
}
@media (any-hover: hover) {
  .p-plan__link {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-plan__link:hover {
    opacity: 0.7;
  }
}

.p-member__catchphrase__img > img {
  width: 100%;
}
.p-member__catchphrase__content {
  padding: 20px 16px 24px;
  background-color: var(--wlht-primaryColor);
}
@media screen and (min-width: 1024px) {
  .p-member__catchphrase__content {
    padding: 28px 42px 32px;
  }
}
.p-member__catchphrase__title {
  color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .p-member__catchphrase__title {
    font-size: 1.875rem;
  }
}
.p-member__catchphrase__text {
  margin-top: 8px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
}
.p-member__info {
  padding-left: 24px;
  margin-top: 28px;
}
.p-member__info__label {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-member__info__label::before {
  content: "";
  position: absolute;
  top: 6px;
  left: -24px;
  display: block;
  width: 12px;
  height: 12px;
  margin-top: 5px;
  background-color: var(--wlht-fontColor);
  border-radius: 100%;
}
.p-member__info__text {
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.p-member__main {
  margin-top: 64px;
}
@media screen and (min-width: 1024px) {
  .p-member__main {
    margin-top: 74px;
  }
}
.p-member__benefits {
  margin-top: 48px;
  border: 1px solid var(--wlht-primaryColor);
  background-color: white;
}
@media screen and (min-width: 1024px) {
  .p-member__benefits {
    display: grid;
    grid-template-columns: 239px 1fr;
    margin-top: 64px;
  }
}
.p-member__benefits__img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-member__benefits__img {
    height: 100%;
    border-right: 1px solid var(--wlht-primaryColor);
  }
  .p-member__benefits__img > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.p-member__benefits__list {
  counter-reset: benefitsList;
  padding: 20px 16px;
}
@media screen and (min-width: 1024px) {
  .p-member__benefits__list {
    padding: 35px 29px;
  }
}
.p-member__benefits__item {
  counter-increment: benefitsList;
  position: relative;
  padding-left: 30px;
  font-size: 1rem;
  font-weight: 100;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-member__benefits__item > strong {
  margin-inline: 0.2em;
  color: #ec2a2a;
  font-weight: 500;
}
.p-member__benefits__item + .p-member__benefits__item {
  margin-top: 8px;
}
.p-member__benefits__item::before {
  content: counter(benefitsList);
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: var(--wlht-accentColor);
  color: white;
  font-family: "Roboto", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0;
  text-align: center;
}
.p-member__button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 16px;
  max-width: 352px;
  height: 32px;
  margin-top: 32px;
  margin-inline: auto;
  padding: 0 22px 0 16px;
  border: 1px solid var(--wlht-primaryColor);
  border-radius: 100px;
  background-color: white;
  font-size: 0.875rem;
  font-weight: 100;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (min-width: 1024px) {
  .p-member__button {
    margin-top: 40px;
  }
}
.p-member__button::after {
  content: "PDF";
  display: block;
  padding-right: 67px;
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.05em;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2054.33%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2053.83%204.03%2049.89%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 55px;
}
.p-member__benefits-grid {
  counter-reset: benefitsGrid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  grid-gap: 32px max(32px, 4.6875%);
  margin-top: 48px;
}
@media screen and (min-width: 1024px) {
  .p-member__benefits-grid {
    margin-top: 64px;
  }
}
.p-member__benefits-grid__item {
  counter-increment: benefitsGrid;
}
.p-member__benefits-grid__img {
  position: relative;
  padding-top: 66.2068965517%;
}
.p-member__benefits-grid__img > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-member__benefits-grid__content {
  position: relative;
  padding-left: 28px;
  margin-top: 14px;
}
.p-member__benefits-grid__content::before {
  content: counter(benefitsGrid);
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: var(--wlht-accentColor);
  color: white;
  font-family: "Roboto", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0;
  text-align: center;
}
.p-member__benefits-grid__title {
  color: #ec2a2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-member__benefits-grid__text {
  margin-top: 4px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

.p-rental {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.p-rental__item {
  padding: 16px 16px 12px;
  background-color: white;
}
@media screen and (min-width: 1024px) {
  .p-rental__item {
    padding: 32px 32px 25px;
  }
}
.p-rental__img {
  position: relative;
  padding-top: 62.5%;
}
.p-rental__img > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-rental__content {
  margin-top: 12px;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
.p-rental__title {
  color: var(--wlht-tertiaryColor);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.p-rental__text {
  padding-top: 10px;
  margin-top: 10px;
  border-top: 1px solid var(--wlht-primaryColor);
}

.p-sightseeing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  grid-gap: 32px 16px;
  padding: 32px;
  background-color: white;
}
@media screen and (min-width: 1024px) {
  .p-sightseeing {
    grid-gap: 57px 28px;
  }
}
.p-sightseeing__item {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .p-sightseeing__item {
    padding-bottom: 4px;
  }
  .p-sightseeing__item:first-child {
    position: relative;
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 352px 1fr;
    grid-column-gap: 32px;
    padding-bottom: 10px;
  }
  .p-sightseeing__item:first-child .p-sightseeing__img {
    padding-top: 72.7272727273%;
  }
  .p-sightseeing__item:first-child .p-sightseeing__content {
    margin: 0;
    padding-top: 4px;
    padding-bottom: 48px;
  }
  .p-sightseeing__item:first-child .p-sightseeing__title {
    font-size: 1.875rem;
    font-weight: 100;
    line-height: 1.2;
  }
  .p-sightseeing__item:first-child .p-sightseeing__link {
    position: absolute;
    right: 0;
    bottom: 8px;
  }
}
.p-sightseeing__img {
  position: relative;
  padding-top: 68.5714285714%;
}
.p-sightseeing__img > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-sightseeing__content {
  margin-top: 14px;
  margin-bottom: 6px;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
.p-sightseeing__title {
  color: var(--wlht-accentColor);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 100;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
.p-sightseeing__text {
  margin-top: 10px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-sightseeing__link {
  display: block;
  width: fit-content;
  padding-right: 72px;
  margin-top: auto;
  margin-left: auto;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2054.33%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2053.83%204.03%2049.89%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 67px;
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (any-hover: hover) {
  .p-sightseeing__link {
    transition: color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-sightseeing__link:hover {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
    color: var(--wlht-accentColor);
  }
}

.p-facility__box + .p-facility__box {
  margin-top: 64px;
}
.p-facility__head {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 24px;
  padding: 9px 12px;
  border: 1px solid var(--wlht-primaryColor);
  background-color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.2727272727;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-facility__head {
    padding: 9px 16px;
  }
}
.p-facility__list {
  counter-reset: facilityList;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  grid-gap: 32px 16px;
  margin-top: 32px;
}
@media screen and (min-width: 1024px) {
  .p-facility__list {
    grid-gap: 64px 30px;
  }
}
.p-facility__item {
  position: relative;
  counter-increment: facilityList;
  background-color: var(--wlht-primaryColor);
}
.p-facility__item::before {
  content: counter(facilityList, decimal-leading-zero);
  position: absolute;
  top: 4px;
  left: 4px;
  display: block;
  width: 48px;
  height: 48px;
  border: 2px solid white;
  border-radius: 100%;
  color: white;
  font-family: "Robot", sans-serif;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-facility__img {
  position: relative;
  padding-top: 58.6666666667%;
}
.p-facility__img > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-facility__content {
  padding: 14px 16px 16px;
}
@media screen and (min-width: 1024px) {
  .p-facility__content {
    padding-inline: 24px;
  }
}
.p-facility__title {
  color: var(--wlht-tertiaryColor);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
.p-facility__text {
  margin-top: 6px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 1024px) {
  .p-news {
    display: grid;
    grid-template-columns: 320px 1fr;
  }
}
.p-news__img > img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-news__content {
    margin-top: 24px;
  }
}
@media screen and (min-width: 1024px) {
  .p-news__content:first-child {
    grid-column: 1/-1;
  }
}
.p-news__date {
  display: flex;
  align-items: center;
  column-gap: 8px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.is-new .p-news__date::after {
  content: "new";
  display: block;
  width: 48px;
  border-radius: 4px;
  background-color: var(--wlht-accentColor);
  color: white;
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.125;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-news__title {
  margin-top: 24px;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-news__title {
    margin-top: 32px;
    font-size: 1.5rem;
  }
}
.p-news__sub-title {
  margin-top: 8px;
  color: var(--wlht-tertiaryColor);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-news__sub-title {
    margin-top: 12px;
    font-size: 1.5rem;
  }
}
.p-news__text {
  margin-top: 28px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-news-return {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: min(100%, 352px);
  height: 32px;
  padding-right: 21px;
  margin-top: 48px;
  margin-inline: auto;
  border: 1px solid var(--wlht-primaryColor);
  border-radius: 100px;
  background-color: white;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2054.33%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23782902%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%2253.83%204.03%200.5%204.03%204.44%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 22px 50%;
  background-size: 55px;
  font-size: 0.875rem;
  font-weight: 100;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media (any-hover: hover) {
  .p-news-return {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-news-return:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1024px) {
  .p-news-return {
    margin-top: 64px;
  }
}

.p-price__box + .p-price__box {
  margin-top: 48px;
}
@media screen and (min-width: 1024px) {
  .p-price__box + .p-price__box {
    margin-top: 64px;
  }
}
.p-price__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  column-gap: 24px;
  row-gap: 8px;
  padding: 8px 16px;
  border: 1px solid var(--wlht-primaryColor);
  background-color: white;
}
@media screen and (min-width: 1024px) {
  .p-price__head {
    padding: 9px 20px 9px 15px;
  }
}
.p-price__head__label {
  display: flex;
  align-items: center;
  column-gap: 22px;
}
.p-price__head__label__en {
  font-size: 1.375rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.p-price__head__label__ja {
  position: relative;
  padding-block: 4px;
  font-size: 0.875rem;
  font-weight: 100;
  line-height: 1.4285714286;
}
.p-price__head__label__ja::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -11px;
  transform: translateY(-50%);
  display: block;
  width: 1px;
  height: 28px;
  background-color: var(--wlht-accentColor);
}
.p-price__head__room {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 6px;
}
.p-price__head__room__link {
  display: block;
  color: var(--wlht-tertiaryColor);
  font-family: "EB Garamond", serif;
  font-size: 1.375rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
}
@media (any-hover: hover) {
  .p-price__head__room__link {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-price__head__room__link:hover {
    opacity: 0.7;
  }
}
.p-price__table {
  margin-top: 32px;
  overflow-x: auto;
}
@media screen and (min-width: 1024px) {
  .p-price__table {
    margin-top: 48px;
  }
}
.p-price__table table {
  width: max(100%, 800px);
  border-collapse: separate;
  border-spacing: 2px;
}
.p-price__table table th, .p-price__table table td {
  vertical-align: middle;
  text-align: center;
  letter-spacing: 0.05em;
}
.p-price__table table th {
  font-weight: 500;
}
.p-price__table table td {
  height: 64px;
  background-color: white;
  font-family: "EB Garamond", serif;
  font-size: 1.5rem;
  font-weight: 600;
  font-style: italic;
}
.p-price__table table td span {
  margin-right: 3px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  font-style: normal;
}
.p-price__table__tab {
  height: 32px;
  border-radius: 3px 3px 0 0;
  background-color: var(--wlht-primaryColor);
  font-size: 0.875rem;
}
.p-price__table__label {
  height: 64px;
  background-color: var(--wlht-tertiaryColor);
  color: white;
  font-size: 1rem;
  line-height: 1.375;
}
.p-price__table__label span {
  font-size: 0.875rem;
  font-weight: 100;
}
.p-price__button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 16px;
  max-width: 352px;
  height: 32px;
  margin-top: 48px;
  margin-inline: auto;
  padding: 0 22px 0 16px;
  border: 1px solid var(--wlht-accentColor);
  border-radius: 100px;
  background-color: white;
  font-size: 0.875rem;
  font-weight: 100;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (min-width: 1024px) {
  .p-price__button {
    margin-top: 40px;
  }
}
.p-price__button::after {
  content: "PDF";
  display: block;
  padding-right: 74px;
  color: var(--wlht-accentColor);
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.05em;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2066.97%204.53%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23e28c0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20points%3D%220.5%204.03%2066.47%204.03%2062.53%200.5%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 67px;
}

.p-faq__box + .p-faq__box {
  margin-top: 64px;
}
.p-faq__title {
  padding: 8px 16px;
  background-color: var(--wlht-accentColor);
  color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-faq__list {
  margin-top: 24px;
}
.p-faq__accordion__label {
  position: relative;
  padding: 13px 16px 13px 20px;
  border-bottom: 1px solid #e4d6cc;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .p-faq__accordion__label {
    padding-right: 20px;
  }
}
.p-faq__accordion__label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 5.5px solid transparent;
  border-left: 8px solid var(--wlht-accentColor);
}
.p-faq__accordion[open] .p-faq__accordion__label {
  color: var(--wlht-tertiaryColor);
}
.p-faq__accordion[open] .p-faq__accordion__label::before {
  border-left: 5.5px solid transparent;
  border-top: 8px solid var(--wlht-tertiaryColor);
  border-bottom: none;
}
.p-faq__accordion__content {
  padding: 12px 16px 12px 20px;
  margin-bottom: 16px;
  background-color: #e4d6cc;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-faq__accordion__content {
    padding-right: 20px;
  }
}

/* margin-top */
.u-mt4 {
  margin-top: 4px;
}

.u-mt8 {
  margin-top: 8px;
}

.u-mt12 {
  margin-top: 12px;
}

.u-mt16 {
  margin-top: 16px;
}

.u-mt20 {
  margin-top: 20px;
}

.u-mt24 {
  margin-top: 24px;
}

.u-mt28 {
  margin-top: 28px;
}

.u-mt32 {
  margin-top: 32px;
}

.u-mt36 {
  margin-top: 36px;
}

.u-mt40 {
  margin-top: 40px;
}

.u-mt44 {
  margin-top: 44px;
}

.u-mt48 {
  margin-top: 48px;
}

.u-mt52 {
  margin-top: 52px;
}

.u-mt56 {
  margin-top: 56px;
}

.u-mt60 {
  margin-top: 60px;
}

.u-mt64 {
  margin-top: 64px;
}

.u-mt68 {
  margin-top: 68px;
}

.u-mt72 {
  margin-top: 72px;
}

.u-mt76 {
  margin-top: 76px;
}

.u-mt80 {
  margin-top: 80px;
}

.u-mt84 {
  margin-top: 84px;
}

.u-mt88 {
  margin-top: 88px;
}

.u-mt92 {
  margin-top: 92px;
}

.u-mt96 {
  margin-top: 96px;
}

.u-mt100 {
  margin-top: 100px;
}

.u-mt104 {
  margin-top: 104px;
}

.u-mt108 {
  margin-top: 108px;
}

.u-mt112 {
  margin-top: 112px;
}

.u-mt116 {
  margin-top: 116px;
}

.u-mt120 {
  margin-top: 120px;
}

.u-mt124 {
  margin-top: 124px;
}

.u-mt128 {
  margin-top: 128px;
}

.u-mt132 {
  margin-top: 132px;
}

.u-mt136 {
  margin-top: 136px;
}

.u-mt140 {
  margin-top: 140px;
}

.u-mt144 {
  margin-top: 144px;
}

.u-mt148 {
  margin-top: 148px;
}

.u-mt152 {
  margin-top: 152px;
}

.u-mt156 {
  margin-top: 156px;
}

.u-mt160 {
  margin-top: 160px;
}

.u-mt164 {
  margin-top: 164px;
}

.u-mt168 {
  margin-top: 168px;
}

.u-mt172 {
  margin-top: 172px;
}

.u-mt176 {
  margin-top: 176px;
}

.u-mt180 {
  margin-top: 180px;
}

.u-mt184 {
  margin-top: 184px;
}

.u-mt188 {
  margin-top: 188px;
}

.u-mt192 {
  margin-top: 192px;
}

.u-mt196 {
  margin-top: 196px;
}

.u-mt200 {
  margin-top: 200px;
}

.u-mt204 {
  margin-top: 204px;
}

.u-mt208 {
  margin-top: 208px;
}

.u-mt212 {
  margin-top: 212px;
}

.u-mt216 {
  margin-top: 216px;
}

.u-mt220 {
  margin-top: 220px;
}

.u-mt224 {
  margin-top: 224px;
}

.u-mt228 {
  margin-top: 228px;
}

.u-mt232 {
  margin-top: 232px;
}

.u-mt236 {
  margin-top: 236px;
}

.u-mt240 {
  margin-top: 240px;
}

.u-mt244 {
  margin-top: 244px;
}

.u-mt248 {
  margin-top: 248px;
}

.u-mt252 {
  margin-top: 252px;
}

.u-mt256 {
  margin-top: 256px;
}

.u-mt260 {
  margin-top: 260px;
}

.u-mt264 {
  margin-top: 264px;
}

.u-mt268 {
  margin-top: 268px;
}

.u-mt272 {
  margin-top: 272px;
}

.u-mt276 {
  margin-top: 276px;
}

.u-mt280 {
  margin-top: 280px;
}

.u-mt284 {
  margin-top: 284px;
}

.u-mt288 {
  margin-top: 288px;
}

.u-mt292 {
  margin-top: 292px;
}

.u-mt296 {
  margin-top: 296px;
}

.u-mt300 {
  margin-top: 300px;
}

.u-mt304 {
  margin-top: 304px;
}

.u-mt308 {
  margin-top: 308px;
}

.u-mt312 {
  margin-top: 312px;
}

.u-mt316 {
  margin-top: 316px;
}

/* margin-right */
.u-mr4 {
  margin-right: 4px;
}

.u-mr8 {
  margin-right: 8px;
}

.u-mr12 {
  margin-right: 12px;
}

.u-mr16 {
  margin-right: 16px;
}

.u-mr20 {
  margin-right: 20px;
}

.u-mr24 {
  margin-right: 24px;
}

.u-mr28 {
  margin-right: 28px;
}

.u-mr32 {
  margin-right: 32px;
}

.u-mr36 {
  margin-right: 36px;
}

.u-mr40 {
  margin-right: 40px;
}

.u-mr44 {
  margin-right: 44px;
}

.u-mr48 {
  margin-right: 48px;
}

.u-mr52 {
  margin-right: 52px;
}

.u-mr56 {
  margin-right: 56px;
}

.u-mr60 {
  margin-right: 60px;
}

.u-mr64 {
  margin-right: 64px;
}

.u-mr68 {
  margin-right: 68px;
}

.u-mr72 {
  margin-right: 72px;
}

.u-mr76 {
  margin-right: 76px;
}

.u-mr80 {
  margin-right: 80px;
}

.u-mr84 {
  margin-right: 84px;
}

.u-mr88 {
  margin-right: 88px;
}

.u-mr92 {
  margin-right: 92px;
}

.u-mr96 {
  margin-right: 96px;
}

.u-mr100 {
  margin-right: 100px;
}

.u-mr104 {
  margin-right: 104px;
}

.u-mr108 {
  margin-right: 108px;
}

.u-mr112 {
  margin-right: 112px;
}

.u-mr116 {
  margin-right: 116px;
}

.u-mr120 {
  margin-right: 120px;
}

.u-mr124 {
  margin-right: 124px;
}

.u-mr128 {
  margin-right: 128px;
}

.u-mr132 {
  margin-right: 132px;
}

.u-mr136 {
  margin-right: 136px;
}

.u-mr140 {
  margin-right: 140px;
}

.u-mr144 {
  margin-right: 144px;
}

.u-mr148 {
  margin-right: 148px;
}

.u-mr152 {
  margin-right: 152px;
}

.u-mr156 {
  margin-right: 156px;
}

.u-mr160 {
  margin-right: 160px;
}

.u-mr164 {
  margin-right: 164px;
}

.u-mr168 {
  margin-right: 168px;
}

.u-mr172 {
  margin-right: 172px;
}

.u-mr176 {
  margin-right: 176px;
}

.u-mr180 {
  margin-right: 180px;
}

.u-mr184 {
  margin-right: 184px;
}

.u-mr188 {
  margin-right: 188px;
}

.u-mr192 {
  margin-right: 192px;
}

.u-mr196 {
  margin-right: 196px;
}

.u-mr200 {
  margin-right: 200px;
}

.u-mr204 {
  margin-right: 204px;
}

.u-mr208 {
  margin-right: 208px;
}

.u-mr212 {
  margin-right: 212px;
}

.u-mr216 {
  margin-right: 216px;
}

.u-mr220 {
  margin-right: 220px;
}

.u-mr224 {
  margin-right: 224px;
}

.u-mr228 {
  margin-right: 228px;
}

.u-mr232 {
  margin-right: 232px;
}

.u-mr236 {
  margin-right: 236px;
}

.u-mr240 {
  margin-right: 240px;
}

.u-mr244 {
  margin-right: 244px;
}

.u-mr248 {
  margin-right: 248px;
}

.u-mr252 {
  margin-right: 252px;
}

.u-mr256 {
  margin-right: 256px;
}

.u-mr260 {
  margin-right: 260px;
}

.u-mr264 {
  margin-right: 264px;
}

.u-mr268 {
  margin-right: 268px;
}

.u-mr272 {
  margin-right: 272px;
}

.u-mr276 {
  margin-right: 276px;
}

.u-mr280 {
  margin-right: 280px;
}

.u-mr284 {
  margin-right: 284px;
}

.u-mr288 {
  margin-right: 288px;
}

.u-mr292 {
  margin-right: 292px;
}

.u-mr296 {
  margin-right: 296px;
}

.u-mr300 {
  margin-right: 300px;
}

.u-mr304 {
  margin-right: 304px;
}

.u-mr308 {
  margin-right: 308px;
}

.u-mr312 {
  margin-right: 312px;
}

.u-mr316 {
  margin-right: 316px;
}

/* margin-bottom */
.u-mb4 {
  margin-bottom: 4px;
}

.u-mb8 {
  margin-bottom: 8px;
}

.u-mb12 {
  margin-bottom: 12px;
}

.u-mb16 {
  margin-bottom: 16px;
}

.u-mb20 {
  margin-bottom: 20px;
}

.u-mb24 {
  margin-bottom: 24px;
}

.u-mb28 {
  margin-bottom: 28px;
}

.u-mb32 {
  margin-bottom: 32px;
}

.u-mb36 {
  margin-bottom: 36px;
}

.u-mb40 {
  margin-bottom: 40px;
}

.u-mb44 {
  margin-bottom: 44px;
}

.u-mb48 {
  margin-bottom: 48px;
}

.u-mb52 {
  margin-bottom: 52px;
}

.u-mb56 {
  margin-bottom: 56px;
}

.u-mb60 {
  margin-bottom: 60px;
}

.u-mb64 {
  margin-bottom: 64px;
}

.u-mb68 {
  margin-bottom: 68px;
}

.u-mb72 {
  margin-bottom: 72px;
}

.u-mb76 {
  margin-bottom: 76px;
}

.u-mb80 {
  margin-bottom: 80px;
}

.u-mb84 {
  margin-bottom: 84px;
}

.u-mb88 {
  margin-bottom: 88px;
}

.u-mb92 {
  margin-bottom: 92px;
}

.u-mb96 {
  margin-bottom: 96px;
}

.u-mb100 {
  margin-bottom: 100px;
}

.u-mb104 {
  margin-bottom: 104px;
}

.u-mb108 {
  margin-bottom: 108px;
}

.u-mb112 {
  margin-bottom: 112px;
}

.u-mb116 {
  margin-bottom: 116px;
}

.u-mb120 {
  margin-bottom: 120px;
}

.u-mb124 {
  margin-bottom: 124px;
}

.u-mb128 {
  margin-bottom: 128px;
}

.u-mb132 {
  margin-bottom: 132px;
}

.u-mb136 {
  margin-bottom: 136px;
}

.u-mb140 {
  margin-bottom: 140px;
}

.u-mb144 {
  margin-bottom: 144px;
}

.u-mb148 {
  margin-bottom: 148px;
}

.u-mb152 {
  margin-bottom: 152px;
}

.u-mb156 {
  margin-bottom: 156px;
}

.u-mb160 {
  margin-bottom: 160px;
}

.u-mb164 {
  margin-bottom: 164px;
}

.u-mb168 {
  margin-bottom: 168px;
}

.u-mb172 {
  margin-bottom: 172px;
}

.u-mb176 {
  margin-bottom: 176px;
}

.u-mb180 {
  margin-bottom: 180px;
}

.u-mb184 {
  margin-bottom: 184px;
}

.u-mb188 {
  margin-bottom: 188px;
}

.u-mb192 {
  margin-bottom: 192px;
}

.u-mb196 {
  margin-bottom: 196px;
}

.u-mb200 {
  margin-bottom: 200px;
}

.u-mb204 {
  margin-bottom: 204px;
}

.u-mb208 {
  margin-bottom: 208px;
}

.u-mb212 {
  margin-bottom: 212px;
}

.u-mb216 {
  margin-bottom: 216px;
}

.u-mb220 {
  margin-bottom: 220px;
}

.u-mb224 {
  margin-bottom: 224px;
}

.u-mb228 {
  margin-bottom: 228px;
}

.u-mb232 {
  margin-bottom: 232px;
}

.u-mb236 {
  margin-bottom: 236px;
}

.u-mb240 {
  margin-bottom: 240px;
}

.u-mb244 {
  margin-bottom: 244px;
}

.u-mb248 {
  margin-bottom: 248px;
}

.u-mb252 {
  margin-bottom: 252px;
}

.u-mb256 {
  margin-bottom: 256px;
}

.u-mb260 {
  margin-bottom: 260px;
}

.u-mb264 {
  margin-bottom: 264px;
}

.u-mb268 {
  margin-bottom: 268px;
}

.u-mb272 {
  margin-bottom: 272px;
}

.u-mb276 {
  margin-bottom: 276px;
}

.u-mb280 {
  margin-bottom: 280px;
}

.u-mb284 {
  margin-bottom: 284px;
}

.u-mb288 {
  margin-bottom: 288px;
}

.u-mb292 {
  margin-bottom: 292px;
}

.u-mb296 {
  margin-bottom: 296px;
}

.u-mb300 {
  margin-bottom: 300px;
}

.u-mb304 {
  margin-bottom: 304px;
}

.u-mb308 {
  margin-bottom: 308px;
}

.u-mb312 {
  margin-bottom: 312px;
}

.u-mb316 {
  margin-bottom: 316px;
}

/* margin-left */
.u-ml4 {
  margin-left: 4px;
}

.u-ml8 {
  margin-left: 8px;
}

.u-ml12 {
  margin-left: 12px;
}

.u-ml16 {
  margin-left: 16px;
}

.u-ml20 {
  margin-left: 20px;
}

.u-ml24 {
  margin-left: 24px;
}

.u-ml28 {
  margin-left: 28px;
}

.u-ml32 {
  margin-left: 32px;
}

.u-ml36 {
  margin-left: 36px;
}

.u-ml40 {
  margin-left: 40px;
}

.u-ml44 {
  margin-left: 44px;
}

.u-ml48 {
  margin-left: 48px;
}

.u-ml52 {
  margin-left: 52px;
}

.u-ml56 {
  margin-left: 56px;
}

.u-ml60 {
  margin-left: 60px;
}

.u-ml64 {
  margin-left: 64px;
}

.u-ml68 {
  margin-left: 68px;
}

.u-ml72 {
  margin-left: 72px;
}

.u-ml76 {
  margin-left: 76px;
}

.u-ml80 {
  margin-left: 80px;
}

.u-ml84 {
  margin-left: 84px;
}

.u-ml88 {
  margin-left: 88px;
}

.u-ml92 {
  margin-left: 92px;
}

.u-ml96 {
  margin-left: 96px;
}

.u-ml100 {
  margin-left: 100px;
}

.u-ml104 {
  margin-left: 104px;
}

.u-ml108 {
  margin-left: 108px;
}

.u-ml112 {
  margin-left: 112px;
}

.u-ml116 {
  margin-left: 116px;
}

.u-ml120 {
  margin-left: 120px;
}

.u-ml124 {
  margin-left: 124px;
}

.u-ml128 {
  margin-left: 128px;
}

.u-ml132 {
  margin-left: 132px;
}

.u-ml136 {
  margin-left: 136px;
}

.u-ml140 {
  margin-left: 140px;
}

.u-ml144 {
  margin-left: 144px;
}

.u-ml148 {
  margin-left: 148px;
}

.u-ml152 {
  margin-left: 152px;
}

.u-ml156 {
  margin-left: 156px;
}

.u-ml160 {
  margin-left: 160px;
}

.u-ml164 {
  margin-left: 164px;
}

.u-ml168 {
  margin-left: 168px;
}

.u-ml172 {
  margin-left: 172px;
}

.u-ml176 {
  margin-left: 176px;
}

.u-ml180 {
  margin-left: 180px;
}

.u-ml184 {
  margin-left: 184px;
}

.u-ml188 {
  margin-left: 188px;
}

.u-ml192 {
  margin-left: 192px;
}

.u-ml196 {
  margin-left: 196px;
}

.u-ml200 {
  margin-left: 200px;
}

.u-ml204 {
  margin-left: 204px;
}

.u-ml208 {
  margin-left: 208px;
}

.u-ml212 {
  margin-left: 212px;
}

.u-ml216 {
  margin-left: 216px;
}

.u-ml220 {
  margin-left: 220px;
}

.u-ml224 {
  margin-left: 224px;
}

.u-ml228 {
  margin-left: 228px;
}

.u-ml232 {
  margin-left: 232px;
}

.u-ml236 {
  margin-left: 236px;
}

.u-ml240 {
  margin-left: 240px;
}

.u-ml244 {
  margin-left: 244px;
}

.u-ml248 {
  margin-left: 248px;
}

.u-ml252 {
  margin-left: 252px;
}

.u-ml256 {
  margin-left: 256px;
}

.u-ml260 {
  margin-left: 260px;
}

.u-ml264 {
  margin-left: 264px;
}

.u-ml268 {
  margin-left: 268px;
}

.u-ml272 {
  margin-left: 272px;
}

.u-ml276 {
  margin-left: 276px;
}

.u-ml280 {
  margin-left: 280px;
}

.u-ml284 {
  margin-left: 284px;
}

.u-ml288 {
  margin-left: 288px;
}

.u-ml292 {
  margin-left: 292px;
}

.u-ml296 {
  margin-left: 296px;
}

.u-ml300 {
  margin-left: 300px;
}

.u-ml304 {
  margin-left: 304px;
}

.u-ml308 {
  margin-left: 308px;
}

.u-ml312 {
  margin-left: 312px;
}

.u-ml316 {
  margin-left: 316px;
}

/* margin: auto */
.u-m-auto {
  margin: auto;
}

.u-m-i-auto {
  margin-inline: auto;
}

@media screen and (min-width: 1024px) {
  .is-sp {
    display: none !important;
  }
}

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

@media screen and (min-width: 1024px) {
  .u-sp {
    display: none;
  }
}

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

.u-hidden {
  display: none;
}

.u-block {
  display: block;
}
