/* color palette */
/* text color */
/* background color */
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
}

a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 768px) {
  .onPC {
    display: none;
  }
  .br_onPC {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .onSP {
    display: none;
  }
  .br_onSP {
    display: none;
  }
}
.fade--insta, .fade--slow, .fade {
  opacity: 0;
  visibility: hidden;
  transform: translate(0, 20px);
}
.active.fade--insta, .active.fade--slow, .active.fade {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0);
}

.fade {
  transition: 0.5s all ease-in;
}

.fade--slow {
  transition: 1.6s all ease-in;
  will-change: transform;
}

.fade--insta {
  transition: 0.5s all;
}

.delay-time--01 {
  transition-delay: 0.2s;
}

.swiper-wrapper img {
  cursor: grab;
}

.p-contact__header.-reserve {
  padding-bottom: 3.5vw;
}
@media screen and (max-width: 768px) {
  .p-contact__header.-reserve {
    padding-bottom: 9.6vw;
  }
}

@media screen and (min-width: 769px) {
  .p-contact__form.-reserve {
    max-width: 1000px;
    padding: 0 20px;
  }
}
.p-contact__form.-reserve .p-contact__form__conditioner {
  padding: 3.2552083333vw 2.6041666667vw;
  border: 1px solid #000;
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__conditioner {
    padding: 6.4vw 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__conditioner__title {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-contact__form.-reserve .p-contact__form__conditioner__title {
    font-size: clamp(14px, 1.171875vw, 18px);
  }
}
.p-contact__form.-reserve .p-contact__form__conditioner__txt {
  font-size: clamp(14px, 1.0416666667vw, 16px);
  margin-top: 1.3020833333vw;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__conditioner__txt {
    font-size: 3.7333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.p-contact__form.-reserve .p-contact__form__inner {
  margin-top: 3.90625vw;
  padding-bottom: 13.0208333333vw;
}
.p-contact__form.-reserve .p-contact__form__inner dl {
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl {
    margin-top: 8vw;
  }
}
.p-contact__form.-reserve .p-contact__form__inner dl dt {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 300;
  border-left: 4px solid #3D3F38;
}
@media screen and (min-width: 769px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dt {
    font-size: clamp(14px, 1.3020833333vw, 20px);
    margin-bottom: 1.953125vw;
    padding-left: 1.3020833333vw;
    line-height: 1.8;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dt {
    font-size: 4.8vw;
    margin-bottom: 5.3333333333vw;
    padding-left: 2.6666666667vw;
  }
}
.p-contact__form.-reserve .p-contact__form__inner dl dt .require {
  background-color: #fff;
  border: 1px solid #3D3F38;
  padding: 0 0.6rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: 1rem;
}
@media screen and (min-width: 769px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dt .require {
    font-size: 11px;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dt .require {
    font-size: 2.6666666667vw;
    transform: translateY(-0.2rem);
  }
}
@media screen and (min-width: 769px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dt .small {
    font-size: clamp(14px, 0.9114583333vw, 14px);
    margin-left: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dt .small {
    font-size: 3.2vw;
    margin-left: 1rem;
  }
}
.p-contact__form.-reserve .p-contact__form__inner dl dd {
  margin-bottom: 2.6041666667vw;
}
.p-contact__form.-reserve .p-contact__form__inner dl dd input,
.p-contact__form.-reserve .p-contact__form__inner dl dd textarea,
.p-contact__form.-reserve .p-contact__form__inner dl dd select {
  background-color: #fff;
  padding-left: 0.5rem;
  border: 1px solid #707070;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dd input,
  .p-contact__form.-reserve .p-contact__form__inner dl dd textarea,
  .p-contact__form.-reserve .p-contact__form__inner dl dd select {
    height: auto;
    padding: 3.2vw 2.1333333333vw;
  }
}
.p-contact__form.-reserve .p-contact__form__inner dl dd input[type=radio], .p-contact__form.-reserve .p-contact__form__inner dl dd input[type=checkbox] {
  width: 0;
  height: 0;
  vertical-align: middle;
  accent-color: #30322b;
  visibility: hidden;
}
.p-contact__form.-reserve .p-contact__form__inner dl dd input[type=radio]:checked + label:before, .p-contact__form.-reserve .p-contact__form__inner dl dd input[type=checkbox]:checked + label:before {
  background-color: #30322b;
  border: 1px solid #30322b;
}
.p-contact__form.-reserve .p-contact__form__inner dl dd input[type=radio]:checked + label figure img, .p-contact__form.-reserve .p-contact__form__inner dl dd input[type=checkbox]:checked + label figure img {
  filter: brightness(1.2);
}
.p-contact__form.-reserve .p-contact__form__inner dl dd figure img {
  transition: filter 0.5s ease 0s;
}
.p-contact__form.-reserve .p-contact__form__inner dl dd .entrybox {
  position: relative;
}
.p-contact__form.-reserve .p-contact__form__inner dl dd .title {
  font-size: clamp(14px, 0.9765625vw, 15px);
  position: absolute;
  top: -26px;
  left: 8px;
}
.p-contact__form.-reserve .p-contact__form__inner dl dd .checkbox-cont {
  display: inline-block;
  margin-left: 1rem;
}
.p-contact__form.-reserve .p-contact__form__inner dl dd .checkbox-custom {
  display: inline-flex;
  align-items: center;
  margin-right: 1.2rem;
  position: relative;
}
.p-contact__form.-reserve .p-contact__form__inner dl dd .checkbox-custom:before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  border: 1px solid #707070;
  margin-right: 1.2rem;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dd .checkbox-custom:before {
    width: 6.4vw;
    height: 6.4vw;
    margin-right: 3.2vw;
  }
}
.p-contact__form.-reserve .p-contact__form__inner dl dd .checkbox-custom:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 8px;
  border-left: 3px solid #f7f6f4;
  border-bottom: 3px solid #f7f6f4;
  transform: rotate(-45deg);
  position: absolute;
  top: 5px;
  left: 5px;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl dd .checkbox-custom:after {
    width: 3.7333333333vw;
    height: 2.1333333333vw;
    top: 1.6vw;
    left: 1.3333333333vw;
  }
}
.p-contact__form.-reserve .p-contact__form__inner dl.-column2 dd {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl.-column2 dd {
    flex-wrap: wrap;
  }
}
.p-contact__form.-reserve .p-contact__form__inner dl.-column2 dd .entrybox {
  width: 50%;
  max-width: 420px;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__inner dl.-column2 dd .entrybox {
    width: 100%;
  }
}
.p-contact__form.-reserve .p-contact__form__inner .mw_wp_form_confirm .require {
  display: none;
}
.p-contact__form.-reserve .p-contact__form__inner .mw_wp_form_confirm .p-contact__form__cancel {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__name dd .entrybox:last-of-type {
    margin-top: 2.6041666667vw;
  }
}
.p-contact__form.-reserve .p-contact__form__preferred-datetime dd {
  margin-bottom: 1.953125vw;
  padding-top: 20px;
}
.p-contact__form.-reserve .p-contact__form__preferred-datetime dd .entrybox .title {
  font-size: clamp(14px, 0.9765625vw, 15px);
  position: absolute;
  top: -30px;
  left: 0;
}
.p-contact__form.-reserve .p-contact__form__preferred-datetime dd:last-of-type {
  margin-bottom: 2.9296875vw;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__preferred-datetime dd:last-of-type {
    margin-top: 8vw;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__ages.-column2 dt {
    position: relative;
    margin-bottom: 13.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__ages.-column2 dt .small {
    position: absolute;
    left: 0;
    bottom: -2rem;
  }
}
.p-contact__form.-reserve .p-contact__form__ages.-column2 .entrybox {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 300;
}
.p-contact__form.-reserve .p-contact__form__ages.-column2 .entrybox input {
  margin-right: 1rem;
  max-width: 300px;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__ages.-column2 .entrybox input {
    max-width: 10rem;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox {
  width: calc((100% - 60px) / 3);
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox {
    width: 100%;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom {
  display: block;
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom {
    display: flex;
    align-items: center;
    padding-left: 2rem;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom:before {
  position: absolute;
  top: 16rem;
}
@media (max-width: 1000px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom:before {
    top: 25vw;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom:before {
    top: calc((100% - 6.4vw) / 2);
    left: 0;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom::after {
  top: 16.3rem;
}
@media (max-width: 1000px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom::after {
    top: calc(25vw + 0.3rem);
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom::after {
    top: calc((100% - 3.7333333333vw) / 2);
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom figure {
    width: 8rem;
    width: 25.6vw;
    margin-bottom: 0;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-txt {
  padding-left: 2.6rem;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-txt {
    width: calc(100% - 25.6vw);
    padding-left: 5.3333333333vw;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-cat {
  font-size: clamp(14px, 0.9114583333vw, 14px);
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-cat {
    font-size: 2.6666666667vw;
    letter-spacing: 0.04em;
    display: block;
    margin-right: -1rem;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-title {
  font-size: clamp(14px, 1.0416666667vw, 16px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-title {
    font-size: 4vw;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-time {
  font-size: clamp(14px, 1.0416666667vw, 16px);
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-time {
    font-size: 2.6666666667vw;
    letter-spacing: 0.04em;
    display: block;
    margin-right: -1rem;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-time .small {
  font-size: clamp(14px, 0.78125vw, 12px);
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__menu dd .menubox .checkbox-custom .menu-time .small {
    font-size: 2.6666666667vw;
    letter-spacing: 0.04em;
  }
}
.p-contact__form.-reserve .p-contact__form__menu dd:last-of-type {
  margin-bottom: 2.9296875vw;
}
.p-contact__form.-reserve .p-contact__form__options {
  font-size: clamp(14px, 1.0416666667vw, 16px);
}
.p-contact__form.-reserve .p-contact__form__message dd textarea {
  padding: 0.5rem;
}
.p-contact__form.-reserve .p-contact__form__email {
  margin-top: 6.5104166667vw;
}
.p-contact__form.-reserve .p-contact__form__cancel, .p-contact__form.-reserve .p-contact__form__agree {
  text-align: left;
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__cancel, .p-contact__form.-reserve .p-contact__form__agree {
    margin-top: 6.4vw;
  }
}
.p-contact__form.-reserve .p-contact__form__cancel label, .p-contact__form.-reserve .p-contact__form__agree label {
  letter-spacing: 0.08em;
  display: flex;
  margin-bottom: 2.6041666667vw;
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 300;
}
.p-contact__form.-reserve .p-contact__form__cancel label:before, .p-contact__form.-reserve .p-contact__form__agree label:before {
  display: none;
}
.p-contact__form.-reserve .p-contact__form__cancel label a, .p-contact__form.-reserve .p-contact__form__agree label a {
  color: #3D3F38;
  text-underline-offset: 3px;
  text-decoration-color: #707070;
}
.p-contact__form.-reserve .p-contact__form__cancel input[type=checkbox], .p-contact__form.-reserve .p-contact__form__agree input[type=checkbox] {
  width: 24px;
  height: 24px;
  margin-right: 20px;
}
.p-contact__form.-reserve .p-contact__form__cancel input[type=checkbox]:checked, .p-contact__form.-reserve .p-contact__form__agree input[type=checkbox]:checked {
  accent-color: #3D3F38;
  border-radius: 0 !important;
  clip: rect(0, 0, 0, 0);
}
.p-contact__form.-reserve .p-contact__form__cancel .cancelpolicy, .p-contact__form.-reserve .p-contact__form__agree .cancelpolicy {
  font-size: clamp(14px, 1.171875vw, 18px);
  line-height: 1.4444444444;
  padding: 1.953125vw 2.6041666667vw;
  background-color: #fff;
  color: #80817D;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__cancel .cancelpolicy, .p-contact__form.-reserve .p-contact__form__agree .cancelpolicy {
    padding: 4.2666666667vw 4.2666666667vw;
  }
}
.p-contact__form.-reserve .p-contact__form__cancel .mwform-checkbox-field-text, .p-contact__form.-reserve .p-contact__form__agree .mwform-checkbox-field-text {
  font-size: clamp(14px, 1.0416666667vw, 16px);
  position: relative;
}
.p-contact__form.-reserve .p-contact__form__submit {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__submit {
    margin-top: 6.4vw;
  }
}
.p-contact__form.-reserve .p-contact__form__submit input {
  max-width: 480px;
  height: 96px;
}
.p-contact__form.-reserve .p-contact__form__note {
  max-width: 720px;
  margin: 0 auto;
  border: 1px solid #F2A5A5;
  background-color: #fff;
  padding: 1.953125vw 2.6041666667vw;
  margin-top: 3.90625vw;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__note {
    margin-top: 6.4vw;
    padding: 4.2666666667vw 4.2666666667vw;
  }
}
.p-contact__form.-reserve .p-contact__form__note .title {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 600;
  font-size: clamp(14px, 1.171875vw, 18px);
  line-height: 1.4444444444;
  color: #7F1F33;
  text-align: center;
}
.p-contact__form.-reserve .p-contact__form__note .txt {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 600;
  font-size: clamp(14px, 1.0416666667vw, 16px);
  line-height: 1.75;
  margin-top: 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  .p-contact__form.-reserve .p-contact__form__note .txt {
    margin-top: 3.2vw;
  }
}
.p-contact__form.-reserve .person2-entry {
  margin-top: 6.5104166667vw;
  margin-bottom: 6.5104166667vw;
}

.p-contact__complete.-reserve .p-contact__complete__inner {
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .p-contact__complete.-reserve .p-contact__complete__inner {
    padding: 0;
  }
}
.p-contact__complete.-reserve .p-contact__complete__inner h3 {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 400;
  font-size: clamp(14px, 2.4739583333vw, 38px);
  letter-spacing: 0.24em;
}
@media screen and (max-width: 768px) {
  .p-contact__complete.-reserve .p-contact__complete__inner h3 {
    font-size: 5.0666666667vw;
    letter-spacing: 0.2em;
  }
}
.p-contact__complete.-reserve .p-contact__complete__inner .note {
  max-width: 1200px;
  margin: 0 auto;
  border: 1px solid #F2A5A5;
  background-color: #fff;
  padding: 50px 120px;
  margin-top: 3.90625vw;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-contact__complete.-reserve .p-contact__complete__inner .note {
    padding: 8.5333333333vw 4.2666666667vw 8.5333333333vw 6.4vw;
  }
}
.p-contact__complete.-reserve .p-contact__complete__inner .note dl {
  margin-top: 3.125vw;
}
@media screen and (max-width: 768px) {
  .p-contact__complete.-reserve .p-contact__complete__inner .note dl {
    margin-top: 9.6vw;
  }
}
.p-contact__complete.-reserve .p-contact__complete__inner .note dl dt {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 600;
  font-size: clamp(14px, 1.171875vw, 18px);
  line-height: 1.4444444444;
  color: #7F1F33;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-contact__complete.-reserve .p-contact__complete__inner .note dl dt {
    font-size: 4.8vw;
    letter-spacing: 0.04em;
  }
}
.p-contact__complete.-reserve .p-contact__complete__inner .note dl dd {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", serif;
  font-weight: 600;
  font-size: clamp(14px, 1.0416666667vw, 16px);
  line-height: 1.75;
  margin-top: 1.5625vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-contact__complete.-reserve .p-contact__complete__inner .note dl dd {
    margin-top: 4.2666666667vw;
  }
}
.p-contact__complete.-reserve .p-contact__complete__inner .note dl:first-of-type {
  margin-top: 0;
}