@charset "UTF-8";
/**
 * Colors
==================== */
/**
 * Breakpoints
 ==================== */
/**
 * Design Sizes
==================== */
/**
 * Spacing Units
==================== */
/**
 * Font sizes
==================== */
/**
 * Font Families
==================== */
/**
 * vw変換
==================== */
/**
 * em変換
==================== */
/**
 * mixins
==================== */
#favDialog {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  border: none;
  background-color: transparent;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  padding: 0;
  margin: auto;
  -webkit-user-select: text;
  user-select: text;
  visibility: visible;
  inset-block-start: 0;
  inset-block-end: 0;
}
#favDialog::before {
  content: "";
  display: block;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6666666667);
}
#favDialog::backdrop {
  display: none;
}
#favDialog, #favDialog::before {
  animation: fadeout 500ms ease forwards;
}
#favDialog[open], #favDialog[open]::before {
  animation: fadein 500ms ease forwards;
}
#favDialog form {
  display: block;
  padding: 40px 0;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 1020px) {
  #favDialog form {
    padding: 8.2051282051vw 6.1538461538vw;
  }
}
#favDialog .btns {
  text-align: center;
}
#favDialog .btn-close {
  cursor: pointer;
  position: sticky;
  top: 0;
  left: 100%;
  width: 3.3333333333vw;
  height: 3.3333333333vw;
  border: none;
  background-color: transparent;
  z-index: 1;
}
@media (max-width: 1020px) {
  #favDialog .btn-close {
    width: 12.3076923077vw;
    height: 12.3076923077vw;
  }
}
#favDialog .content-wrap {
  background-color: var(--clr-base-white);
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  overflow-y: auto;
  height: 100%;
  max-height: 90svh;
}
@media (max-width: 1020px) {
  #favDialog .content-wrap {
    height: calc(100svh - 6.1538461538vw);
  }
}
#favDialog .content-wrap.-mw-1003 {
  max-width: 69.6527777778vw;
}
#favDialog .content-wrap.-mw-1003 .content-main {
  padding: 4.4444444444vw 2.2222222222vw;
  margin-top: -4.4444444444vw;
}
@media (max-width: 1020px) {
  #favDialog .content-wrap.-mw-1003 {
    max-width: 100%;
  }
  #favDialog .content-wrap.-mw-1003 .content-main {
    padding: 16.4102564103vw 6.1538461538vw;
    margin-top: -16.4102564103vw;
  }
}
#favDialog .content-wrap.-mw-1312 {
  max-width: 91.1111111111vw;
}
#favDialog .content-wrap.-mw-1312 .content-main {
  padding: 4.4444444444vw;
  margin-top: -4.4444444444vw;
}
@media (max-width: 1020px) {
  #favDialog .content-wrap.-mw-1312 {
    max-width: 100%;
  }
  #favDialog .content-wrap.-mw-1312 .content-main {
    padding: 16.4102564103vw 6.1538461538vw;
    margin-top: -16.4102564103vw;
  }
}
#favDialog .content-main__inner {
  display: flex;
  gap: 1.1111111111vw;
  flex-direction: column;
}

.showDialog {
  cursor: pointer;
}

.modal__contact-inner {
  display: flex;
  gap: 2.2222222222vw;
  flex-direction: column;
}
@media (max-width: 1020px) {
  .modal__contact-inner {
    gap: 4.1025641026vw;
  }
}
.modal__contact-store-info {
  display: flex;
  gap: 2.2222222222vw;
  align-items: center;
}
@media (max-width: 1020px) {
  .modal__contact-store-info {
    gap: 4.1025641026vw;
    flex-direction: column;
  }
}
.modal__contact-store-img {
  max-width: 16.6666666667vw;
}
@media (max-width: 1020px) {
  .modal__contact-store-img {
    max-width: 100%;
  }
}
.modal__contact-store-detail {
  display: flex;
  gap: 1.1111111111vw;
  align-items: flex-start;
  flex-direction: column;
  color: var(--clr-base-black);
}
@media (max-width: 1020px) {
  .modal__contact-store-detail {
    gap: 4.1025641026vw;
  }
}
.modal__contact-store-name {
  font-family: "Shippori Mincho";
  font-size: 1.6666666667vw;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 1020px) {
  .modal__contact-store-name {
    font-size: 6.1538461538vw;
  }
}
.modal__contact-store-description {
  font-size: 0.9722222222vw;
  font-weight: 500;
  line-height: normal;
}
@media (max-width: 1020px) {
  .modal__contact-store-description {
    font-size: 3.5897435897vw;
  }
}

.reserve-modal__wrap {
  max-width: unset !important;
}
.reserve-modal__wrap .content-main {
  padding: 4.4444444444vw !important;
  margin-top: -4.4444444444vw;
}
@media (max-width: 1020px) {
  .reserve-modal__wrap .content-main {
    padding: 8.2051282051vw 6.1538461538vw !important;
    margin-top: -8.2051282051vw;
  }
}
.reserve-modal__wrap:has(.js-modal-campaign) {
  max-width: 43.3333333333vw !important;
}
@media (max-width: 1020px) {
  .reserve-modal__wrap:has(.js-modal-campaign) {
    height: 100% !important;
    max-width: 100% !important;
  }
}
.reserve-modal__wrap:has(.js-modal-size) {
  max-width: 67.2222222222vw !important;
}
@media (max-width: 1020px) {
  .reserve-modal__wrap:has(.js-modal-size) {
    height: 100% !important;
    max-width: 100% !important;
  }
}
.reserve-modal__wrap:has(.js-modal-fees) {
  max-width: 58.4722222222vw !important;
}
@media (max-width: 1020px) {
  .reserve-modal__wrap:has(.js-modal-fees) {
    height: 100% !important;
    max-width: 100% !important;
  }
}
.reserve-modal__wrap:has(.js-modal-752) {
  max-width: 52.2222222222vw !important;
}
@media (max-width: 1020px) {
  .reserve-modal__wrap:has(.js-modal-752) {
    height: 100% !important;
    max-width: 100% !important;
  }
}
.reserve-modal__inner {
  display: flex;
  gap: 2.2222222222vw;
  flex-direction: column;
}
@media (max-width: 1020px) {
  .reserve-modal__inner {
    gap: 6.1538461538vw;
  }
}
.reserve-modal__title {
  color: var(--clr-another-black);
  text-align: center;
  font-family: "Shippori Mincho";
  font-size: 1.6666666667vw;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 1020px) {
  .reserve-modal__title {
    font-size: 5.3846153846vw;
  }
}
.reserve-modal__description {
  color: var(--clr-another-black);
  font-size: 1.1111111111vw;
  font-weight: 500;
  line-height: 160%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1020px) {
  .reserve-modal__description {
    font-size: 3.8461538462vw;
  }
}
.reserve-modal__description span.-red {
  color: var(--clr-caution-red);
  font-size: 0.9722222222vw;
  font-weight: 500;
  line-height: normal;
}
@media (max-width: 1020px) {
  .reserve-modal__description span.-red {
    font-size: 3.3333333333vw;
  }
}
.reserve-modal__caption {
  color: var(--clr-another-black);
  font-size: 0.9722222222vw;
  font-weight: 500;
  line-height: normal;
}
@media (max-width: 1020px) {
  .reserve-modal__caption {
    font-size: 3.3333333333vw;
  }
}
.reserve-modal__caution {
  max-width: 1.6666666667vw;
}
@media (max-width: 1020px) {
  .reserve-modal__caution {
    max-width: 6.1538461538vw;
  }
}
.reserve-modal__campaign-upper {
  display: flex;
  gap: 0.5555555556vw;
  flex-direction: column;
}
@media (max-width: 1020px) {
  .reserve-modal__campaign-upper {
    gap: 2.0512820513vw;
  }
}
.reserve-modal__campaign-caution {
  display: flex;
  gap: 1.1111111111vw;
  align-items: center;
  padding: 1.1111111111vw;
  color: var(--clr-caution-red);
  background-color: var(--clr-caution-pink);
}
@media (max-width: 1020px) {
  .reserve-modal__campaign-caution {
    flex-direction: column;
    gap: 2.0512820513vw;
    padding: 4.1025641026vw;
  }
}
.reserve-modal__campaign-caution p {
  font-size: 0.9722222222vw;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 1020px) {
  .reserve-modal__campaign-caution p {
    font-size: 3.5897435897vw;
  }
}
.reserve-modal__campaign-status {
  display: flex;
  flex-direction: column;
  padding: 0 1.1111111111vw;
  background-color: var(--clr-light-white);
}
@media (max-width: 1020px) {
  .reserve-modal__campaign-status {
    padding: 0 4.1025641026vw;
  }
}
.reserve-modal__campaign-status-inner {
  color: var(--clr-another-black);
  padding: 1.1111111111vw 0;
}
.reserve-modal__campaign-status-inner:first-child {
  border-bottom: 1px solid var(--clr-border-gray);
}
@media (max-width: 1020px) {
  .reserve-modal__campaign-status-inner {
    padding: 4.1025641026vw 0;
  }
}
.reserve-modal__campaign-status-description {
  font-size: 0.9722222222vw;
  font-weight: 500;
  line-height: normal;
}
@media (max-width: 1020px) {
  .reserve-modal__campaign-status-description {
    font-size: 3.5897435897vw;
  }
}
.reserve-modal__campaign-status-title {
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 160%;
}
@media (max-width: 1020px) {
  .reserve-modal__campaign-status-title {
    font-size: 3.8461538462vw;
  }
}
.reserve-modal__confirm-block {
  display: flex;
  flex-direction: column;
  gap: 0.5555555556vw;
}
.reserve-modal__confirm-block.-btns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.4444444444vw;
}
@media (max-width: 1020px) {
  .reserve-modal__confirm-block.-btns {
    grid-template-columns: repeat(1, 1fr);
    gap: 4.1025641026vw;
  }
}
.reserve-modal__bg-btn {
  cursor: pointer;
  color: var(--clr-base-white);
  background-color: var(--clr-bg-pitch-black);
  padding: 1.3888888889vw 1.1111111111vw;
  border: 1px solid transparent;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.64px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.1111111111vw;
  width: 100%;
  white-space: nowrap;
  max-width: 19.4444444444vw;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1020px) {
  .reserve-modal__bg-btn {
    letter-spacing: 0.52px;
    gap: 4.1025641026vw;
    max-width: 100%;
    padding: 4.1025641026vw;
    font-size: 4.1025641026vw;
  }
}
.reserve-modal__bg-btn:hover {
  color: var(--clr-bg-pitch-black);
  border-color: var(--clr-bg-pitch-black);
}
.reserve-modal__bg-btn:hover .top__service-arrow * {
  fill: var(--clr-bg-pitch-black);
}
.reserve-modal__gray-btn {
  color: var(--clr-base-black);
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.64px;
  padding: 0.8333333333vw 1.1111111111vw;
  background-color: var(--clr-light-white);
  border: 1px solid var(--clr-base-black);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1020px) {
  .reserve-modal__gray-btn {
    font-size: 4.1025641026vw;
    padding: 4.1025641026vw 0;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
    display: block;
  }
  99% {
    opacity: 0;
    display: block;
  }
  100% {
    opacity: 0;
    display: none;
  }
}

/*# sourceMappingURL=spiral-modal.css.map */
