@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Oswald:wght@200..700&family=Shippori+Mincho:wght@400;600&display=swap");
@keyframes slide {
  from {
    transform: none;
  }
  to {
    transform: translateX(-100%);
  }
}
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

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

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
}

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

:focus {
  outline: none;
}

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

body {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
}

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

h1, h2, h3, h4, h5, h6 {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
}

strong {
  font-weight: 600;
}

b {
  font-weight: 500;
}

a, button {
  cursor: pointer;
}
@media (any-hover: hover) {
  a, button {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  a:hover, button:hover {
    opacity: 0.7;
  }
}

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;
}

.l-header {
  position: fixed;
  z-index: 9999;
  width: 100%;
}
.l-header__btn {
  position: absolute;
  top: 27px;
  left: 38px;
  z-index: 10;
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .l-header__btn {
    left: auto;
    top: 20px;
    right: 8%;
    width: 32px;
    height: 32px;
  }
}
.l-header__btn span {
  position: absolute;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: #232323;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.is-home .l-header__btn span {
  background-color: white;
}
.is-home.is-active .l-header__btn span {
  background-color: #232323;
}
.l-header__btn span:nth-of-type(1) {
  top: 6px;
  transform: translate(-50%, 0);
}
.is-active .l-header__btn span:nth-of-type(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.l-header__btn span:nth-of-type(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}
.is-active .l-header__btn span:nth-of-type(2) {
  display: none;
}
.l-header__btn span:nth-of-type(3) {
  top: 28px;
  transform: translate(-50%, 0);
}
.is-active .l-header__btn span:nth-of-type(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.l-header__nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: transparent;
  pointer-events: none;
  overflow: hidden;
  transition: background-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.is-active .l-header__nav {
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: visible;
}
.l-header__nav__list {
  position: absolute;
  inset: 0;
  transform: translate(-100%, 0);
  width: 320px;
  padding: 96px 32px 32px;
  margin-right: auto;
  background-color: white;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: auto;
}
.l-header__nav__list {
  -ms-overflow-style: noe; /* Edge */
  scrollbar-width: none; /* Firefox */
}
.l-header__nav__list::-webkit-scrollbar { /* Safari */
  content-visibility: auto;
  display: none;
}
@media screen and (max-width: 767px) {
  .l-header__nav__list {
    transform: translate(100%, 0);
    margin-right: 0;
    margin-left: auto;
  }
}
.is-active .l-header__nav__list {
  transform: none;
}
.l-header__nav__item + .l-header__nav__item {
  margin-top: 16px;
}
.l-header__link {
  position: absolute;
  top: 39px;
  right: 99px;
  display: block;
  width: 279px;
}
@media screen and (max-width: 767px) {
  .l-header__link {
    position: static;
    width: 100%;
    margin-top: 32px;
  }
}
@media screen and (min-width: 768px) {
  .l-header__link {
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .is-home .l-header__link {
    filter: brightness(0) invert(1);
  }
}

.l-footer {
  position: relative;
  padding: 26px 8%;
  background-color: black;
  color: white;
}
.l-footer__social {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
}
@media screen and (max-width: 767px) {
  .l-footer__social {
    position: static;
    transform: none;
  }
}
.l-footer__social__item {
  width: 31px;
}
.l-footer__social__link {
  display: block;
}
.l-footer__copyright {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: 24px;
  }
}

.l-main {
  flex-grow: 1;
  padding-bottom: 120px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-main {
    padding-bottom: 96px;
  }
}
.l-main__head {
  position: relative;
}
.l-main__head__bg {
  width: 100%;
  height: 760px;
}
@media screen and (max-width: 767px) {
  .l-main__head__bg {
    height: 100vh;
    height: 100dvh;
  }
}
.is-home .l-main__head__bg {
  height: 684px;
}
@media screen and (max-width: 767px) {
  .is-home .l-main__head__bg {
    height: 100vh;
    height: 100dvh;
  }
}
.l-main__head__bg > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 100% 100%;
}
.is-home .l-main__head__bg > img {
  object-position: 50% 50%;
}
.l-main__head__logo {
  position: absolute;
  top: 44px;
  left: 103px;
  width: 144px;
}
@media screen and (max-width: 767px) {
  .l-main__head__logo {
    top: 20px;
    left: 8%;
  }
}
.is-home .l-main__head__logo {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 222px;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.35)) drop-shadow(0 0 5px rgb(255, 255, 255));
}
.is-home .l-main__head__logo > img {
  filter: brightness(0) invert(1);
}
.l-main__head__title {
  position: absolute;
  top: 50%;
  left: 103px;
  transform: translateY(-50%);
  width: calc(100% - 206px);
}
@media screen and (max-width: 767px) {
  .l-main__head__title {
    left: 8%;
    width: 84%;
  }
}
.l-main__head__title__en {
  font-family: "Shippori Mincho", serif;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .l-main__head__title__en {
    font-size: 0.75rem;
  }
}
.l-main__head__title__ja {
  margin-top: 1em;
  font-size: 1.6875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .l-main__head__title__ja {
    font-size: 1.5rem;
  }
}

.l-section {
  counter-reset: boxNum;
  padding-inline: 8%;
  overflow: hidden;
}
.l-section:not(:first-child) {
  margin-top: 128px;
}
@media screen and (max-width: 767px) {
  .l-section:not(:first-child) {
    margin-top: 64px;
  }
}
.l-section__inner {
  display: block;
  width: min(1000px, 100%);
  margin-inline: auto;
}
.l-section__box {
  counter-increment: boxNum;
  display: grid;
  grid-template-columns: 32% 1fr;
  grid-template-areas: "text img";
  grid-column-gap: 12.4%;
  padding-top: 120px;
  border-top: 1px solid #e0dfdf;
}
@media screen and (max-width: 767px) {
  .l-section__box {
    display: block;
    padding-top: 48px;
  }
}
.c-gradient .l-section__box:first-child {
  padding-top: 0;
  border-top: none;
}
.l-section__box + .l-section__box {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .l-section__box + .l-section__box {
    margin-top: 48px;
  }
}
.l-section__box:nth-of-type(3n+2) {
  grid-template-columns: 1fr 32%;
  grid-template-areas: "img text";
}
.l-section__box.is-vertical {
  grid-template-columns: 52.8% 1fr;
}
.l-section__box.is-vertical:nth-of-type(3n+2) {
  grid-template-columns: 1fr 52.8%;
}
.l-section__box__img {
  grid-area: img;
}
.l-section__box__img > img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-section__box__img > img {
    max-height: 240px;
    object-fit: cover;
  }
}
.l-section__box__content {
  grid-area: text;
}
@media screen and (max-width: 767px) {
  .l-section__box__content {
    margin-top: 32px;
  }
}
.l-section__box__content:only-child {
  grid-column: 2 span;
}
@media screen and (max-width: 767px) {
  .l-section__box__content:only-child {
    margin-top: 0;
  }
}
.l-section__box__label {
  color: #7c7a7a;
  font-size: 0.75rem;
  line-height: 0.75;
  letter-spacing: 0.1em;
}
.l-section__box__label::after {
  content: counter(boxNum);
}
.l-section__box__title {
  margin-block: -7px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.l-section__box__title:not(:first-child) {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .l-section__box__title:not(:first-child) {
    margin-top: 24px;
  }
}
.l-section__box__text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.l-section__box__text:not(:first-child) {
  margin-top: 27px;
}
@media screen and (max-width: 767px) {
  .l-section__box__text:not(:first-child) {
    margin-top: 16px;
  }
}
.l-section__box__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.l-section__box__list:not(:first-child) {
  margin-top: 27px;
}
@media screen and (max-width: 767px) {
  .l-section__box__list:not(:first-child) {
    margin-top: 16px;
  }
}
.l-section__box__item {
  padding: 2px 8px;
  background-color: #232323;
  color: white;
}
@media (any-hover: hover) {
  .l-section__box__item > a {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .l-section__box__item > a:hover {
    opacity: 0.7;
  }
}
.l-section__box__link {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: min(224px, 100%);
  margin-top: 48px;
  font-family: "Shippori Mincho", serif;
  font-size: 0.875rem;
}
.l-section__box__link::before {
  content: "";
  display: block;
  width: 22px;
  height: 8px;
  background-image: url(../images/icon-link-arrow.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-section__box__link::after {
  content: "";
  position: absolute;
  top: -14px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: black;
}
.l-section__details h1, .l-section__details h2, .l-section__details h3, .l-section__details h4, .l-section__details h5, .l-section__details h6 {
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
.l-section__details h1:not(:first-child), .l-section__details h2:not(:first-child), .l-section__details h3:not(:first-child), .l-section__details h4:not(:first-child), .l-section__details h5:not(:first-child), .l-section__details h6:not(:first-child) {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .l-section__details h1:not(:first-child), .l-section__details h2:not(:first-child), .l-section__details h3:not(:first-child), .l-section__details h4:not(:first-child), .l-section__details h5:not(:first-child), .l-section__details h6:not(:first-child) {
    margin-top: 24px;
  }
}
.l-section__details h1 {
  font-size: 1.75rem;
}
.l-section__details h2 {
  font-size: 1.5rem;
}
.l-section__details h3 {
  font-size: 1.375rem;
}
.l-section__details h4 {
  font-size: 1.25rem;
}
.l-section__details h5 {
  font-size: 1.125rem;
}
.l-section__details h5 {
  font-size: 1rem;
}
.l-section__details p {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.l-section__details p:not(:first-child) {
  margin-top: 27px;
}
@media screen and (max-width: 767px) {
  .l-section__details p:not(:first-child) {
    margin-top: 16px;
  }
}
.l-section__details ul, .l-section__details ol {
  list-style: unset;
  padding-left: 1em;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.l-section__details ul:not(:first-child), .l-section__details ol:not(:first-child) {
  margin-top: 27px;
}
@media screen and (max-width: 767px) {
  .l-section__details ul:not(:first-child), .l-section__details ol:not(:first-child) {
    margin-top: 16px;
  }
}
.l-section__details hr {
  margin-block: 64px;
  border-top: 1px solid #232323;
}
.l-section__details > div:not(:first-child) {
  margin-top: 27px;
}
@media screen and (max-width: 767px) {
  .l-section__details > div:not(:first-child) {
    margin-top: 16px;
  }
}
.l-section__details .is-layout-flex {
  gap: 1em;
}

.c-button--fill, .c-button, .c-button--fill--min, .c-button--min {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(281px, 100%);
  height: 60px;
  border: 1px solid black;
  background-color: white;
  font-family: "Shippori Mincho", serif;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-button--fill, .c-button, .c-button--fill--min, .c-button--min {
    height: 48px;
    font-size: 0.875rem;
  }
}

.c-button--fill--min, .c-button--min {
  width: 134px;
  height: 40px;
  font-size: 0.75rem;
}

.c-button--fill {
  background-color: black;
  color: white;
}
.c-button--fill--min {
  background-color: black;
  color: white;
}

.c-facility-slider {
  width: min(840px, 100%);
  margin-inline: auto;
  color: white;
  text-align: center;
}
.c-facility-slider--slide {
  display: flex;
  width: max-content;
  margin-inline: -9.5238095238%;
  color: white;
  text-align: center;
}
.c-facility-slider--slide .c-facility-slider__container {
  flex: 0 0 auto;
  display: flex;
  width: max-content;
  column-gap: 20px;
  padding-left: 20px;
  animation: slide 10s infinite cubic-bezier(0.25, 0.25, 0.75, 0.75);
}
@media screen and (max-width: 767px) {
  .c-facility-slider--slide .c-facility-slider__container {
    column-gap: 10px;
    padding-left: 10px;
  }
}
.c-facility-slider--slide .c-facility-slider__item {
  width: 408px;
}
.c-facility-slider__item {
  display: block;
}
@media (any-hover: hover) {
  .c-facility-slider__item[href] .c-facility-slider__img > img, .c-facility-slider__item[href] .c-facility-slider__img > .c-no-img {
    position: relative;
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .c-facility-slider__item[href]:hover {
    opacity: 1;
  }
  .c-facility-slider__item[href]:hover .c-facility-slider__img > img, .c-facility-slider__item[href]:hover .c-facility-slider__img > .c-no-img {
    transform: scale(1.1);
  }
}
.c-facility-slider__inner {
  background-color: #232323;
}
.c-facility-slider__name {
  padding: 16px;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-facility-slider__name {
    font-size: 1.125rem;
  }
}
.c-facility-slider__img {
  width: 100%;
  height: 255px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-facility-slider__img {
    height: 200px;
  }
}
.c-facility-slider__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-facility-slider__content {
  min-height: 63px;
  padding: 15px 26px 13px;
}
@media screen and (max-width: 767px) {
  .c-facility-slider__content {
    padding: 12px 16px;
  }
}
.c-facility-slider__description {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 48px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
.c-facility-slider__description + .c-facility-slider__description {
  display: block;
  height: auto;
  margin-top: 8px;
}
.c-facility-slider .tns-ovh {
  overflow: visible;
}

.c-no-img {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #ccc;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.c-no-img::before {
  content: "NO IMG";
}

.c-gradient {
  padding: 100px 8% 53px;
  margin-top: 120px;
  background-image: linear-gradient(#f2f1f1, white);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: max(40%, 280px) 100%;
}

.c-banner {
  padding-inline: 8%;
  margin-top: 128px;
}
@media screen and (max-width: 767px) {
  .c-banner {
    margin-top: 64px;
  }
}
.c-banner__link {
  display: block;
  width: min(840px, 100%);
  margin-inline: auto;
}

.c-box {
  width: 100%;
  padding: 20px 24px;
  margin-inline: auto;
  background-color: #f2f1f1;
}
.c-box dt {
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-box dt {
    line-height: 1.5;
  }
}
.c-box dd {
  margin-top: 16px;
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-box dd {
    line-height: 1.7142857143;
  }
}

.p-home__title {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home__title {
    font-size: 1.5rem;
  }
}
.p-home__title--min {
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home__title--min {
    font-size: 1.25rem;
  }
}
.p-home__lead {
  padding: 108px 8%;
  background-image: url(../images/bg-home-lead.webp);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home__lead {
    padding-block: 64px;
  }
}
.p-home__lead__title {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-home__lead__title {
    font-size: 1.25rem;
  }
}
.p-home__lead__text {
  margin-top: 14px;
  font-family: "Shippori Mincho", serif;
  line-height: 2.25;
  letter-spacing: 0.05em;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-home__lead__text {
    text-align: left;
  }
}
.p-home__lead__text + .p-home__lead__text {
  margin-top: 36px;
}
.p-home__facility {
  padding: 109px 8% 120px;
  background-image: url(../images/bg-home-facility.webp);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-home__facility {
    padding-block: 64px;
  }
}
.p-home__facility__slider {
  margin-top: 32px;
}
.p-home__facility__slider .c-facility-slider__inner {
  background-color: rgba(0, 0, 0, 0.8);
}
.p-home__facility__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 60px;
  margin-top: 40px;
  margin-inline: auto;
  border: 1px solid white;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home__facility__btn {
    margin-top: 32px;
    height: 48px;
  }
}
.p-home__room {
  padding-top: 108px;
  padding-inline: 8%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-home__room {
    padding-top: 64px;
  }
}
.p-home__room__rank {
  position: relative;
  margin-top: 34px;
  margin-inline: -9.5238095238%;
}
.p-home__room__rank__container {
  display: flex;
  column-gap: 24px;
  padding-inline: 8%;
  scroll-behavior: smooth;
  overflow: auto;
}
.p-home__room__rank__container {
  -ms-overflow-style: noe; /* Edge */
  scrollbar-width: none; /* Firefox */
}
.p-home__room__rank__container::-webkit-scrollbar { /* Safari */
  content-visibility: auto;
  display: none;
}
.p-home__room__rank__item {
  position: relative;
  flex: 0 0 auto;
  width: 264px;
}
.p-home__room__rank__item::after {
  content: "";
  position: absolute;
  bottom: 21px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 30px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 48 48"><path fill="%23FFFFFF" d="M24,48C10.8,48,0,37.2,0,24S10.8,0,24,0s24,10.8,24,24-10.8,24-24,24ZM24,1.7C11.7,1.7,1.7,11.7,1.7,24s10,22.3,22.3,22.3,22.3-10,22.3-22.3S36.3,1.7,24,1.7ZM24,34.8c.1,0,.2,0,.3,0,0,0,0,0,0,0,0,0,.2,0,.2-.2,0,0,0,0,0,0l8.7-9.5c.3-.4.3-.9,0-1.2-.4-.3-.9-.3-1.2,0l-7.1,7.8V15.1c0-.5-.4-.9-.9-.9s-.9.4-.9.9v16.5l-7.1-7.8c-.3-.4-.9-.4-1.2,0-.2.2-.3.4-.3.7s0,.4.2.6l8.7,9.5s0,0,0,0c0,0,.1.1.2.2,0,0,0,0,0,0,.1,0,.2,0,.3,0Z" /></svg>');
  background-repeat: no-repeat;
  background-size: contain;
}
.p-home__room__rank__bg {
  position: relative;
  padding-top: 100%;
}
.p-home__room__rank__bg > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-home__room__rank__bg > .c-no-img {
  position: absolute;
  inset: 0;
}
.p-home__room__rank__name {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 100%;
  color: white;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  text-align: center;
}
.p-home__room__rank__scrollbar {
  position: relative;
  display: block;
  width: min(84%, 840px);
  height: 2px;
  background-color: black;
  margin-top: 30px;
  margin-inline: auto;
}
.p-home__room__rank__scrollbar__thumb {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background-color: black;
}
.p-home__room__rank__button {
  position: absolute;
  top: 97px;
  width: 10px;
}
.p-home__room__rank__button.is-prev {
  left: 24px;
}
.p-home__room__rank__button.is-next {
  right: 24px;
}
.p-home__room__block {
  max-width: 840px;
  margin-top: 60px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-home__room__block {
    margin-top: 48px;
  }
}
.p-home__room__block__text {
  margin-top: 27px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home__room__block__text {
    margin-top: 24px;
  }
}
.p-home__room__block__list {
  margin-top: 46px;
}
@media screen and (max-width: 767px) {
  .p-home__room__block__list {
    margin-top: 32px;
  }
}
.p-home__room__block__link {
  position: relative;
  display: block;
  width: 100%;
  height: 560px;
}
@media screen and (max-width: 767px) {
  .p-home__room__block__link {
    height: 320px;
  }
}
.p-home__room__block__link > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-home__room__block__name {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 24px 5.4761904762%;
  background-image: linear-gradient(90deg, #110d07, rgba(0, 0, 0, 0));
  color: white;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-home__room__block__name {
    padding-block: 16px;
    font-size: 1.25rem;
    line-height: 1.2;
  }
}
.p-home__room__block__content {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5.9523809524%;
  row-gap: 24px;
  margin-top: 16px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.p-home__room__block__description {
  flex-grow: 1;
  width: max(58.0952380952%, 320px);
  max-width: 100%;
}
.p-home__room__block__facility {
  flex-grow: 1;
  width: 35.9523809524%;
}
.p-home__room__block__facility__text {
  position: relative;
  margin-top: 24px;
}
.p-home__room__block__facility__text::before {
  content: "";
  position: absolute;
  top: -13px;
  left: 0;
  width: 30px;
  height: 1px;
  background-color: black;
}
.p-home__room__block .tns-outer {
  position: relative;
}
.p-home__room__block .tns-outer .tns-controls > button {
  position: absolute;
  top: 245px;
  z-index: 10;
  width: 17px;
  height: 71px;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -9999px;
}
.p-home__room__block .tns-outer .tns-controls > button[data-controls=prev] {
  left: 24px;
  background-image: url(../images/icon-slider-arrow-prev.webp);
}
.p-home__room__block .tns-outer .tns-controls > button[data-controls=next] {
  right: 24px;
  background-image: url(../images/icon-slider-arrow-next.webp);
}
@media screen and (max-width: 767px) {
  .p-home__room__block .tns-outer .tns-controls > button {
    top: 128px;
  }
  .p-home__room__block .tns-outer .tns-controls > button[data-controls=prev] {
    left: 4px;
  }
  .p-home__room__block .tns-outer .tns-controls > button[data-controls=next] {
    right: 4px;
  }
}
.p-home__room__block .tns-ovh {
  overflow: visible;
}
.p-home__access {
  display: grid;
  grid-template-columns: 37.8571428571% 57.380952381%;
  grid-column-gap: 4.7619047619%;
  width: min(100%, 840px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-home__access {
    display: block;
  }
}
.p-home__access__content .p-home__title {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-home__access__content .p-home__title {
    line-height: 1;
  }
}
.p-home__access__label {
  margin-top: 34px;
  margin-bottom: 33px;
  font-family: "Shippori Mincho", serif;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-home__access__label {
    margin-top: 24px;
    margin-bottom: 24px;
    font-size: 1rem;
  }
}
.p-home__access__text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-home__access__text + .p-home__access__text {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-home__access__text + .p-home__access__text {
    margin-top: 16px;
  }
}
.p-home__access__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 20px;
  margin-top: 33px;
}
@media screen and (max-width: 767px) {
  .p-home__access__buttons {
    justify-content: center;
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-home__access__img {
    width: 100vw;
    height: 400px;
  }
}
@media screen and (max-width: 767px) {
  .p-home__access__img {
    margin-top: 24px;
    margin-inline: -9.5238095238%;
  }
}
.p-home__access__img > img {
  width: auto;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-home__access__img > img {
    width: 100%;
    height: auto;
  }
}
.p-home__access__dialog {
  position: fixed;
  inset: 0;
  width: min(800px, 92%);
  height: 92%;
  margin: auto;
}
.p-home__access__dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}
.p-home__access__dialog > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-home .p-news {
  margin-top: 40px;
  width: min(840px, 100%);
}
@media screen and (max-width: 767px) {
  .p-home .p-news {
    margin-top: 24px;
  }
}

.p-news {
  width: min(1000px, 100%);
  margin-inline: auto;
}
.p-news__item + .p-news__item {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-news__item + .p-news__item {
    padding-top: 24px;
    border-top: 1px solid black;
  }
}
.p-news__link {
  display: grid;
  grid-template-columns: 100px 140px 1fr;
  grid-gap: 16px 20px;
  width: fit-content;
}
@media (any-hover: hover) {
  .p-news__link .p-news__cat {
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-news__link:hover {
    opacity: 1;
  }
  .p-news__link:hover .p-news__cat {
    background-color: black;
    color: white;
  }
}
@media screen and (max-width: 767px) {
  .p-news__link {
    grid-template-areas: "date cat empty" "title title title";
  }
}
.p-news__date {
  margin-right: -20px;
  font-family: "Oswald", sans-serif;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-news__date {
    grid-area: date;
  }
}
.p-news__cat {
  width: 100%;
  height: 20px;
  padding-inline: 12px;
  border: 1px solid black;
  background-color: white;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-news__cat {
    grid-area: cat;
  }
}
.p-news__title {
  margin-block: -2px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-news__title {
    grid-area: title;
  }
}
.p-news__title > a {
  text-decoration: underline;
}
.p-news__content {
  display: grid;
  grid-template-rows: 0fr;
  padding-left: 120px;
  transition: grid-template-rows 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media screen and (max-width: 767px) {
  .p-news__content {
    padding-left: 24px;
  }
}
.is-active + .p-news__content {
  grid-template-rows: 1fr;
}
.p-news__content__inner {
  overflow: hidden;
}
.p-news__content__inner > * {
  margin-top: 24px;
}
.p-news__button {
  margin-top: 58px;
}
@media screen and (max-width: 767px) {
  .p-news__button {
    margin-top: 32px;
  }
}
.p-news__button > .c-button {
  margin-inline: auto;
}

.p-room {
  margin-top: 224px;
}
@media screen and (max-width: 767px) {
  .p-room {
    margin-top: 96px;
  }
}
.p-room__section + .p-room__section {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .p-room__section + .p-room__section {
    margin-top: 64px;
  }
}
.p-room__head {
  width: min(100%, 1000px);
  padding-top: 57px;
  margin-inline: auto;
  border-top: 1px solid #e0dfdf;
}
@media screen and (max-width: 767px) {
  .p-room__head {
    padding-top: 24px;
  }
}
.p-room__head__rank {
  color: #7c7a7a;
  font-family: "Shippori Mincho", serif;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-room__head__rank {
    font-size: 0.875rem;
  }
}
.p-room__head__name {
  margin-top: 25px;
  color: #232323;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-room__head__name {
    margin-top: 16px;
    font-size: 1.25rem;
  }
}
.p-room__slider {
  display: flex;
  width: max-content;
  margin-top: 58px;
  margin-inline: -9.5238095238%;
}
@media screen and (max-width: 767px) {
  .p-room__slider {
    margin-top: 32px;
  }
}
.p-room__slider__list {
  display: flex;
  column-gap: 30px;
  padding-left: 30px;
}
@media screen and (max-width: 767px) {
  .p-room__slider__list {
    padding-left: 16px;
    column-gap: 16px;
  }
}
.is-slide .p-room__slider__list {
  flex: 0 0 auto;
  width: max-content;
  animation: slide 10s infinite cubic-bezier(0.25, 0.25, 0.75, 0.75);
}
.is-slide .p-room__slider__list .p-room__slider__item {
  width: 600px;
}
@media screen and (max-width: 767px) {
  .is-slide .p-room__slider__list .p-room__slider__item {
    width: 320px;
  }
}
.p-room__slider__item {
  flex: 0 0 auto;
  width: 600px;
  height: 375px;
}
@media screen and (max-width: 767px) {
  .p-room__slider__item {
    width: 320px;
    height: 240px;
  }
}
.p-room__slider__item > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-room__content {
  display: grid;
  grid-template-columns: 1fr 56%;
  grid-column-gap: 12%;
  width: min(100%, 1000px);
  margin-top: 54px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-room__content {
    display: block;
    margin-top: 24px;
  }
}
.p-room__description {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.p-room__description h1, .p-room__description h2, .p-room__description h3, .p-room__description h4, .p-room__description h5, .p-room__description h6 {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-room__description h1, .p-room__description h2, .p-room__description h3, .p-room__description h4, .p-room__description h5, .p-room__description h6 {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.p-room__description h1:not(:first-child), .p-room__description h2:not(:first-child), .p-room__description h3:not(:first-child), .p-room__description h4:not(:first-child), .p-room__description h5:not(:first-child), .p-room__description h6:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-room__description h1:not(:first-child), .p-room__description h2:not(:first-child), .p-room__description h3:not(:first-child), .p-room__description h4:not(:first-child), .p-room__description h5:not(:first-child), .p-room__description h6:not(:first-child) {
    margin-top: 32px;
  }
}
.p-room__description p, .p-room__description ul, .p-room__description ol {
  font-family: "Shippori Mincho", serif;
}
.p-room__description p:not(:first-child), .p-room__description ul:not(:first-child), .p-room__description ol:not(:first-child) {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-room__description p:not(:first-child), .p-room__description ul:not(:first-child), .p-room__description ol:not(:first-child) {
    margin-top: 20px;
  }
}
.p-room__description ul, .p-room__description ol {
  list-style: auto;
}
.p-room__facility {
  position: relative;
  padding-left: calc(10.7142857143% - 1px);
  padding-bottom: 64px;
  border-left: 1px solid #e0dfdf;
}
@media screen and (max-width: 767px) {
  .p-room__facility {
    padding-left: 0;
    padding-bottom: 0;
    margin-top: 24px;
    border-left: none;
  }
}
.p-room__facility::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 1px;
  height: 5px;
  background-color: white;
}
.p-room__facility__title {
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-room__facility__title {
    line-height: 1.5;
  }
}
.p-room__facility__text {
  margin-top: 30px;
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-room__facility__text {
    line-height: 1.7142857143;
  }
}
.p-room__link {
  position: relative;
  display: block;
  width: fit-content;
  padding-left: 80px;
  margin-top: 43px;
  font-family: "Shippori Mincho", serif;
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-room__link {
    padding-left: 32px;
    margin-top: 33px;
  }
}
.p-room__link::before {
  content: "";
  position: absolute;
  top: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #232323;
}
@media screen and (max-width: 767px) {
  .p-room__link::before {
    top: -9px;
  }
}
.p-room__link::after {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 22px;
  height: 8px;
  background-image: url(../images/icon-link-arrow.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-room .c-box {
  width: min(840px, 84%);
}

.p-price {
  width: 100%;
  overflow-x: auto;
}
.p-price__table {
  width: 1000px;
  border-right: 1px solid #232323;
  border-bottom: 1px solid #232323;
  color: #232323;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.p-price__table th {
  padding: 12px;
  border-top: 1px solid #232323;
  border-left: 1px solid #232323;
  background-color: white;
  font-family: "Shippori Mincho", serif;
  text-align: center;
  vertical-align: middle;
}
.p-price__table td {
  padding: 12px;
  border-top: 1px solid #232323;
  border-left: 1px solid #232323;
  text-align: center;
  vertical-align: middle;
}
.p-price__table td:not([class]) {
  height: 76px;
  background-color: white;
}
.p-price__table .p-price__table__gray {
  background-color: #e0dfdf;
}
.p-price__table .p-price__table__gray02 {
  padding-block: 7px !important;
  background-color: #f2f1f1;
}
.p-price__table .p-price__table__empty {
  border: none;
  background-color: transparent;
  padding: 0;
  text-align: left;
  vertical-align: top;
}
.p-price__table__separate {
  padding-right: 20px;
  padding-bottom: 7px;
}
.p-price__table__title {
  margin-block: -2px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.p-price__table__text {
  margin-top: 11px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
.p-price__table__tag {
  width: fit-content;
  margin-top: 12px;
  padding-inline: 12px;
  background-color: #232323;
  color: white;
  font-size: 0.75rem;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  text-indent: 0.05em;
  white-space: nowrap;
}
.p-price__table__tag.is-holiday {
  background-color: #e70101;
}
.p-price__table__link {
  position: relative;
  display: block;
  width: max-content;
  margin-top: 34px;
  margin-left: auto;
  font-family: "Shippori Mincho", serif;
  font-size: 0.75rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.p-price__table__link::before {
  content: "";
  position: absolute;
  top: -14px;
  right: 0;
  width: 159px;
  height: 1px;
  background-color: #232323;
}
.p-price-link {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 223px;
  margin-top: 53px;
  font-family: "Shippori Mincho", serif;
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
.p-price-link::before {
  content: "";
  display: block;
  width: 22px;
  height: 8px;
  background-image: url(../images/icon-link-arrow.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-price-link::after {
  content: "";
  position: absolute;
  top: -13px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #232323;
}
.p-price-button {
  margin-top: 112px;
  margin-inline: auto;
  border-color: #232323;
  background-color: #232323;
}
@media screen and (max-width: 767px) {
  .p-price-button {
    margin-top: 80px;
  }
}

.p-access {
  display: grid;
  grid-template-columns: minmax(8%, 60px) 30.1666666667% 1fr;
  grid-template-areas: "empty content map";
  grid-column-gap: 4.7619047619%;
  width: min(100%, 1200px);
  margin-top: 72px;
  margin-inline: auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-access {
    display: block;
    padding-inline: 8%;
    margin-top: 48px;
  }
}
.p-access__content {
  grid-area: content;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-right: 0.0994475138;
}
@media screen and (max-width: 767px) {
  .p-access__content {
    padding-right: 0;
  }
}
.p-access__label {
  margin-bottom: 33px;
  font-family: "Shippori Mincho", serif;
  font-size: 1.125rem;
  line-height: 0.7777777778;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-access__label {
    margin-top: 24px;
    margin-bottom: 24px;
    font-size: 1rem;
  }
}
.p-access__text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-access__text + .p-access__text {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-access__text + .p-access__text {
    margin-top: 16px;
  }
}
.p-access__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 20px;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .p-access__buttons {
    justify-content: center;
    margin-top: 24px;
  }
}
.p-access__map {
  grid-area: map;
  width: 100%;
  height: 466px;
}
@media screen and (max-width: 767px) {
  .p-access__map {
    width: auto;
    height: 320px;
    margin-top: 24px;
    margin-inline: -9.5238095238%;
  }
}
.p-access__map > iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.p-about {
  display: grid;
  grid-template-columns: 1fr 55.1851851852%;
  width: min(100%, 1200px);
  padding-inline: min(8%, 60px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-about {
    display: block;
    margin-top: 64px;
  }
}
.p-about__catchphrase {
  padding-top: 108px;
  padding-left: 35px;
  color: #232323;
  font-size: 1.6875rem;
  font-weight: 400;
  line-height: 1.7777777778;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-about__catchphrase {
    padding: 0;
    font-size: 1.25rem;
  }
}
.p-about__text {
  padding: 114px 40px 115px 86px;
  background-image: linear-gradient(#f2f1f1, #ffffff);
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-about__text {
    padding: 32px 24px;
    margin-top: 32px;
  }
}
@media screen and (min-width: 768px) {
  .p-about + .l-section {
    margin-top: 0;
  }
}

.p-faq__a__text::before, .p-faq__q__button::before {
  width: 100%;
  height: 40px;
  border: 1px solid black;
  font-family: "Oswald", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2.1111111111;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-faq__a__text::before, .p-faq__q__button::before {
    height: 32px;
    font-size: 1rem;
    line-height: 1.6666666667;
  }
}

.p-faq {
  padding-bottom: 10px;
  border-bottom: 1px solid black;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.2em;
}
.p-faq + .p-faq {
  margin-top: 10px;
}
.p-faq__q__button {
  display: grid;
  grid-template-columns: 40px 1fr;
  column-gap: 24px;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-faq__q__button {
    grid-template-columns: 32px 1fr;
    column-gap: 16px;
  }
}
.p-faq__q__button::before {
  content: "Q";
  background-color: black;
  color: white;
}
.p-faq__q__button > span {
  display: block;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .p-faq__q__button > span {
    margin-top: 4px;
  }
}
.p-faq.is-active .p-faq__a {
  grid-template-rows: 1fr;
}
.p-faq__a {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.p-faq__a__inner {
  overflow: hidden;
}
.p-faq__a__text {
  display: grid;
  grid-template-columns: 40px 1fr;
  column-gap: 24px;
  width: 100%;
  margin-top: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-faq__a__text {
    grid-template-columns: 32px 1fr;
    column-gap: 16px;
    margin-top: 16px;
  }
}
.p-faq__a__text > p {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .p-faq__a__text > p {
    margin-top: 4px;
  }
}
.p-faq__a__text::before {
  content: "A";
  background-color: white;
}

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

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

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

.u-hidden {
  display: none;
}

/* 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;
}
