@charset "UTF-8";

@font-face {
  font-family: "Acumin Variable Concept";
  src: url("../../../fonts/AcuminVariableConcept.woff") format("woff"), url("../../../fonts/AcuminVariableConcept.woff2") format("woff2");
  font-weight: 600 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zen Maru Gothic";
  src: url("../../fonts/ZenMaruGothic-Bold.woff2") format("woff2"), url("../../fonts/ZenMaruGothic-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ::::::::::  プール  :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
body {
  background: none;
  color: #000;
}

@media (min-width: 768px) and (max-width: 1200px) {
  .wrapper {
    max-width: 94%;
  }
}

.breadcrumbs {
  padding: 20px 0;
  color: #666;
}

@media (max-width: 767px) {
  .breadcrumbs {
    padding: 0;
  }
}

.breadcrumbsList {
  padding: 4px 0;
  font-size: 1.3rem;
  border-bottom: none !important;
}

@media (max-width: 767px) {
  .breadcrumbsList {
    padding: 10px 0;
    padding-left: 20px;
    line-height: 1.6;
  }
}

.breadcrumbsList li {
  display: inline;
}

@media (max-width: 767px) {
  .breadcrumbsList li:first-child {
    margin-left: -18px;
  }
}

.breadcrumbsList li a {
  color: inherit;
}

.breadcrumbsList li a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid;
  border-right: 1px solid;
  color: #4d4d4d;
  margin: 0 10px 1px 8px;
  transform: rotate(45deg);
}

.breadcrumbsList li a .icon_home {
  fill: #666;
  width: 12px;
  height: 13px;
  vertical-align: middle;
  margin: 0 7px 3px 0;
}

.pageTitleArea {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: none;
  color: #fff;
  width: 100%;
  max-width: 100%;
  height: 662px;
  padding: 0;
}

@media (max-width: 1024px) {
  .pageTitleArea {
    height: 620px;
  }
}

@media (max-width: 767px) {
  .pageTitleArea {
    height: 404px;
  }
}

.pageTitleArea .kvPhoto {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.pageTitleArea .kvPhoto img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .pageTitleArea .kvPhoto img {
    aspect-ratio: 375/404;
    height: 404px;
  }
}

.pageTitleArea .textBlock {
  color: #fff;
  margin: 0 0 160px;
}

@media (max-width: 1024px) {
  .pageTitleArea .textBlock {
    margin: 0 0 -4px;
  }
}

@media (max-width: 767px) {
  .pageTitleArea .textBlock {
    margin: 0 0 16px;
  }
}

.pageTitleArea .textBlock h2.en {
  color: #e3e300;
  font-size: 8.1rem;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  font-family: "acumin-variable", sans-serif;
  line-height: 1.2;
  margin-bottom: 10px;
}

@media (max-width: 767px) {
  .pageTitleArea .textBlock h2.en {
    font-size: 5.53rem;
    line-height: 1;
    margin-bottom: 15px;
  }
}

body.lang_en .pageTitleArea .textBlock h2.en {
  margin-bottom: 33px;
}

@media (max-width: 767px) {
  body.lang_en .pageTitleArea .textBlock h2.en {
    margin-bottom: 30px;
  }
}

.pageTitleArea .textBlock h2.enExc {
  color: #e3e300;
  line-height: 1;
  text-transform: capitalize;
  word-break: break-word;
  font-size: 2.3rem;
  font-weight: 500;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  text-align: center;
}

@media (max-width: 767px) {
  .pageTitleArea .textBlock h2.enExc {
    font-size: 1.5rem;
  }
}

body.lang_fr .pageTitleArea .textBlock h2.enExc,
body.lang_de .pageTitleArea .textBlock h2.enExc,
body.lang_es .pageTitleArea .textBlock h2.enExc,
body.lang_it .pageTitleArea .textBlock h2.enExc,
body.lang_ms .pageTitleArea .textBlock h2.enExc,
body.lang_id .pageTitleArea .textBlock h2.enExc {
  color: #e3e300;
  font-size: 8.1rem;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  font-family: "acumin-variable", sans-serif;
  line-height: 1.2;
  margin-bottom: 33px;
}

@media (max-width: 767px) {

  body.lang_fr .pageTitleArea .textBlock h2.enExc,
  body.lang_de .pageTitleArea .textBlock h2.enExc,
  body.lang_es .pageTitleArea .textBlock h2.enExc,
  body.lang_it .pageTitleArea .textBlock h2.enExc,
  body.lang_ms .pageTitleArea .textBlock h2.enExc,
  body.lang_id .pageTitleArea .textBlock h2.enExc {
    font-size: 5.53rem;
    line-height: 1;
    margin-bottom: 30px;
  }
}

.pageTitleArea .term {
  position: absolute;
  bottom: 72px;
  left: 0;
  right: 0;
  width: 100%;
  margin-inline: auto;
  color: #e3e300;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.75;
  margin-top: auto;
}

@media (max-width: 767px) {
  .pageTitleArea .term {
    font-size: 1.5rem;
    bottom: 36px;
  }
}

/* =========================================================
concept
========================================================= */
@media (min-width: 1025px) {
  .concept .wrapper {
    padding-bottom: 48px;
  }
}

.concept .secTitle02 {
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  font-weight: 500;
}

.concept .lead {
  font-size: 1.9rem;
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  font-weight: 500;
  line-height: 1.7368421053;
  font-feature-settings: initial;
  letter-spacing: 0;
}

@media (max-width: 1024px) {
  .concept .lead {
    font-size: 1.4rem;
  }
}

.concept .term {
  display: inline-block;
  background: #e3e300;
  padding: 7px 0.1em;
  margin: 25px 0 0;
  text-align: center;
}

@media (max-width: 1024px) {
  .concept .term {
    display: block;
    padding: 7px 0.5em;
  }
}

.concept .termWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #262262;
  color: #fff;
  border-radius: 16px;
  padding: 16px 1em;
  max-width: 700px;
  margin: 24px auto 0;
}

@media (max-width: 1024px) {
  .concept .termWrap {
    max-width: 100%;
  }
}

.concept .termTitle {
  font-size: 2.5rem;
  color: #e3e300;
  font-weight: 700;
  line-height: 1.56;
}

@media (max-width: 1024px) {
  .concept .termTitle {
    font-size: 1.85rem;
  }
}

.concept .termSub {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.85;
  margin: 0 0 8px;
}

@media (max-width: 1024px) {
  .concept .termSub {
    font-size: 1.55rem;
  }
}

.concept .termText {
  font-size: 1.5rem;
}

@media (max-width: 1024px) {
  .concept .termText {
    font-size: 1.3rem;
  }
}

.concept .termText strong {
  font-weight: 700;
  font-size: 1.9rem;
}

@media (max-width: 1024px) {
  .concept .termText strong {
    font-size: 1.4rem;
  }
}

.concept .termNote {
  font-size: 1.2rem;
}

.slideList+.arrows+p {
  margin-bottom: 30px;
}

.slideList .slick-slide img {
  aspect-ratio: 1250/511;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

@media (max-width: 1024px) {
  .slideList .slick-slide img {
    aspect-ratio: 375/230;
  }
}

.slick-counter {
  display: flex;
  align-items: center;
  font-size: 12px;
  font-family: "acumin-variable", sans-serif;
  width: 305px;
  margin: 30px auto 70px;
}

@media (max-width: 1024px) {
  .slick-counter {
    width: 70%;
    max-width: 305px;
    margin: 15px auto 20px;
  }
}

.slick-counter .bar {
  overflow: hidden;
  position: relative;
  background: #CACACA;
  width: 100%;
  height: 1px;
  margin: 0 10px;
}

.slick-counter .bar::before {
  content: "";
  display: block;
  position: absolute;
  background: #000;
  width: 70px;
  height: 1px;
  animation: borderAnim 3.5s cubic-bezier(0.19, 1, 0.22, 1) infinite;
}

@keyframes borderAnim {
  0% {
    left: 0;
  }

  100% {
    left: 100%;
  }
}

/* =========================================================
feature
========================================================= */
.feature .wrapper {
  padding-top: 0;
}

.feature .detailOuter .detailList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px 33px;
}

@media (max-width: 767px) {
  .feature .detailOuter .detailList {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
}

.feature .detailOuter .detailList .secTitle02 {
  margin-bottom: 8px;
  text-transform: capitalize;
}

/* =========================================================
PLAN
========================================================= */
.plan .wrapper {
  padding-top: 0;
}

.plan .secTitle02 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.plan h2 {
  background: #fff;
  text-align: center;
  margin-top: 60px;
  padding: 22px 0;
  margin-bottom: 40px;
  text-transform: capitalize;
}

@media (max-width: 1024px) {
  .plan h2 {
    padding: 17px 0;
    margin-bottom: 20px;
    margin-top: 0;
  }
}

.plan .tableWrap {
  display: flex;
  font-feature-settings: "palt";
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0 50px;
}

@media (max-width: 1024px) {
  .plan .tableWrap {
    flex-direction: column;
    margin: 30px 0;
  }
}

.plan .tableWrap dl {
  display: flex;
  width: 48.3%;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl {
    width: 100%;
    display: block;
  }
}

.plan .tableWrap dl.row {
  flex-wrap: wrap;
}

.plan .tableWrap dl.w100 {
  width: 100%;
}

.plan .tableWrap dl.w100 dt {
  width: 13%;
  justify-content: flex-start;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl.w100 dt {
    width: 100%;
    justify-content: center;
  }
}

.plan .tableWrap dl.w100 dd {
  width: 88%;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl.w100 dd {
    width: 100%;
  }
}

.plan .tableWrap dl dt,
.plan .tableWrap dl dd {
  padding: 26px 0;
}

@media (max-width: 1024px) {

  .plan .tableWrap dl dt,
  .plan .tableWrap dl dd {
    padding: 12px 0;
  }
}

.plan .tableWrap dl dt {
  color: #000;
  width: 25%;
  display: flex;
  flex-direction: column;
  border-top: 1px solid #000;
  text-transform: capitalize;
  font-size: 1.9rem;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl dt {
    width: 100%;
    text-align: center;
    background: #f7f7f5;
    border-bottom: none;
    font-size: 1.4rem;
  }
}

.plan .tableWrap dl dd {
  width: 75%;
  border-top: 1px solid #b3b3b3;
  padding-left: 12px;
  display: flex;
  flex-direction: column;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl dd {
    width: 100%;
    padding-left: 0;
  }
}

.plan .tableWrap dl dd .infoText {
  text-indent: -1em;
  margin-left: 1em;
}

.plan .tableWrap dl dd .infoText .note {
  margin-left: 1em;
}

.plan .tableWrap dl dd .infoText .note.top {
  display: inline-block;
  padding-left: 1em;
  line-height: 2.08333;
}

.plan .tableWrap dl dd .infoTable {
  margin-left: 1em;
}

.plan .tableWrap dl dd .infoTable .days {
  padding-right: 1em;
}

.plan .tableWrap dl dd .infoTable .note.right {
  text-align: right;
}

.plan .tableWrap dl dd ul li+li {
  margin-top: 15px;
}

.plan .tableWrap dl dd ul.flex {
  display: flex;
  justify-content: flex-start;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl dd ul.flex {
    display: block;
  }
}

.plan .tableWrap dl dd ul.flex li {
  margin-top: 0;
  min-width: 425px;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl dd ul.flex li {
    min-width: auto;
  }
}

.plan .tableWrap dl dd ul.flex li+li {
  margin-left: 4%;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl dd ul.flex li+li {
    margin-left: 0;
    margin-top: 15px;
  }
}

body.lang_en .plan .tableWrap dl dd ul.flex,
body.lang_fr .plan .tableWrap dl dd ul.flex,
body.lang_de .plan .tableWrap dl dd ul.flex,
body.lang_es .plan .tableWrap dl dd ul.flex,
body.lang_it .plan .tableWrap dl dd ul.flex,
body.lang_th .plan .tableWrap dl dd ul.flex,
body.lang_vi .plan .tableWrap dl dd ul.flex,
body.lang_id .plan .tableWrap dl dd ul.flex,
body.lang_ms .plan .tableWrap dl dd ul.flex,
body.lang_ru .plan .tableWrap dl dd ul.flex,
body.lang_ar .plan .tableWrap dl dd ul.flex {
  display: block;
}

body.lang_en .plan .tableWrap dl dd ul.flex li+li,
body.lang_fr .plan .tableWrap dl dd ul.flex li+li,
body.lang_de .plan .tableWrap dl dd ul.flex li+li,
body.lang_es .plan .tableWrap dl dd ul.flex li+li,
body.lang_it .plan .tableWrap dl dd ul.flex li+li,
body.lang_th .plan .tableWrap dl dd ul.flex li+li,
body.lang_vi .plan .tableWrap dl dd ul.flex li+li,
body.lang_id .plan .tableWrap dl dd ul.flex li+li,
body.lang_ms .plan .tableWrap dl dd ul.flex li+li,
body.lang_ru .plan .tableWrap dl dd ul.flex li+li,
body.lang_ar .plan .tableWrap dl dd ul.flex li+li {
  margin-left: 0;
  margin-top: 15px;
}

.plan .tableWrap dl dd .note {
  display: block;
  font-size: 1.2rem;
}

.plan .tableWrap dl dd .note.left {
  display: inline-block;
  background: #e6e6e6;
  padding: 0 1em;
  margin-left: 1em;
}

.plan .tableWrap dl dd>p+p {
  margin-top: 1em;
}

.plan .tableWrap dl dd .subTitle {
  margin: 1lh 0;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl dd .subTitle {
    margin: 1lh 0 0.5lh;
  }
}

.plan .tableWrap dl dd .subTitle:first-child {
  margin-top: 0;
}

.plan .tableWrap dl dd .subTitle span {
  display: inline-block;
  padding: 5px 1.5em;
  background: #f1f180;
  font-size: 1.5rem;
  min-width: 150px;
  text-align: center;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl dd .subTitle span {
    font-size: 1.2rem;
    width: 100%;
    min-width: auto;
  }
}

.plan .tableWrap dl.howto .subTitle {
  margin-bottom: 0.5em;
}

.plan .tableWrap dl.howto .infoText {
  margin-top: 0;
}

.plan .tableWrap dl:nth-of-type(n + 3) dt {
  border-top: 1px solid #000;
}

.plan .tableWrap dl:nth-of-type(n + 3) dd {
  border-top: 1px solid #b3b3b3;
}

.plan .pop {
  position: absolute;
  right: -160px;
  top: calc(100% - 64px);
  display: grid;
  place-items: center;
  z-index: 2;
}

body.lang_en .plan .pop,
body.lang_fr .plan .pop,
body.lang_de .plan .pop,
body.lang_es .plan .pop,
body.lang_it .plan .pop,
body.lang_vi .plan .pop,
body.lang_id .plan .pop,
body.lang_ms .plan .pop,
body.lang_ru .plan .pop,
body.lang_ar .plan .pop {
  top: calc(100% - 100px);
}

body.lang_ko .plan .pop {
  bottom: 60px;
}

body.lang_ru .plan .pop {
  right: -72px;
}

@media screen and (max-width: 1200px) {
  .plan .pop {
    position: static;
    margin-top: 40px;
  }
}

.plan .popBg {
  grid-area: 1/1;
}

.plan .popBg img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .plan .popBg img {
    max-width: 100%;
  }
}

.plan .popIllust {
  grid-area: 1/1;
  margin-right: 52px;
}

@media (max-width: 767px) {
  .plan .popIllust {
    margin-right: 10vw;
  }
}

.plan .popIllust img {
  display: block;
  width: 323px;
  height: auto;
}

@media (max-width: 767px) {
  .plan .popIllust img {
    max-width: 100%;
  }
}

.plan .popText {
  grid-area: 1/1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #e3e300;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.75;
}

@media (max-width: 1024px) {
  .plan .popText {
    font-size: 1.4rem;
  }
}

body.lang_ru .plan .popText {
  font-size: 1.4rem;
}

body.lang_en .plan .popText,
body.lang_fr .plan .popText,
body.lang_de .plan .popText,
body.lang_es .plan .popText,
body.lang_it .plan .popText,
body.lang_th .plan .popText,
body.lang_vi .plan .popText,
body.lang_id .plan .popText,
body.lang_ms .plan .popText,
body.lang_ru .plan .popText {
  line-height: 1.45;
  margin-bottom: 10px;
}

body.lang_zh-CHT .plan .popText,
body.lang_zh-CHS .plan .popText,
body.lang_ko .plan .popText {
  margin-bottom: 30px;
}

.plan .popText .enjoy {
  display: inline-block;
  width: 57px;
  height: auto;
  margin: -24px 0 20px;
}

body.lang_en .plan .popText .enjoy,
body.lang_fr .plan .popText .enjoy,
body.lang_de .plan .popText .enjoy,
body.lang_es .plan .popText .enjoy,
body.lang_it .plan .popText .enjoy,
body.lang_th .plan .popText .enjoy,
body.lang_vi .plan .popText .enjoy,
body.lang_id .plan .popText .enjoy,
body.lang_ms .plan .popText .enjoy,
body.lang_ru .plan .popText .enjoy {
  margin-top: -12px;
}

.plan .popText p {
  display: inline-block;
  max-width: 218px;
  padding-inline: 16px;
}

body.lang_ko .plan .popText p {
  max-width: 234px;
}

.plan .popWrap {
  position: relative;
}

.plan .popWrap02 {
  display: contents;
}

@media screen and (max-width: 1200px) {
  .plan .popWrap02 {
    display: flex;
    justify-content: flex-end;
    margin-top: -80px;
  }
}

@media (max-width: 767px) {
  .plan .popWrap02 {
    justify-content: center;
  }
}

.plan .bd_block {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 20px;
  border: 1px solid #e3e300;
  padding: 40px 40px;
  margin: 50px 0 0;
}

@media (max-width: 767px) {
  .plan .bd_block {
    flex-direction: column;
    padding: 40px 24px;
    margin: 40px 0 0;
  }
}

.plan .cabana {
  position: relative;
  align-items: flex-start;
}

.plan .cabana .secTitle03 {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 15px;
}

@media (max-width: 1024px) {
  .plan .cabana .secTitle03 {
    font-size: 1.2rem;
    margin-bottom: 0;
  }
}

.plan .cabana .secTitle03 .en {
  font-family: "Acumin Variable Concept", sans-serif;
  font-size: 3rem;
  line-height: 0.9;
  font-weight: 400;
  letter-spacing: 0.01em;
  margin-right: 0.75em;
}

@media (max-width: 1024px) {
  .plan .cabana .secTitle03 .en {
    font-size: 2.2rem;
  }
}

.plan .cabana .caution {
  position: absolute;
  top: 40px;
  left: 28%;
  font-weight: 700;
  color: #f00;
}

@media screen and (max-width: 1200px) {
  .plan .cabana .caution {
    position: static;
    width: 100%;
  }
}

.plan .cabana .textBlock {
  width: calc(51% - 20px);
}

@media (max-width: 1024px) {
  .plan .cabana .textBlock {
    width: 100%;
    order: 1;
  }
}

@media (min-width: 768px) {
  .plan .cabana .textBlock p:not([class]) {
    line-height: 1.8;
  }
}

.plan .cabana .textBlock p+.price {
  margin-top: 1em;
}

.plan .cabana .textBlock .note+.note {
  margin-top: 1em;
}

.plan .cabana .photoBlock {
  display: flex;
  gap: 0 12px;
  width: 49%;
}

@media (max-width: 1024px) {
  .plan .cabana .photoBlock {
    width: 100%;
  }
}

.plan .cabana .photoBlock img {
  object-fit: cover;
  aspect-ratio: 227/189;
  width: 100%;
  height: 100%;
}

.plan .bg_block {
  display: flex;
  flex-direction: column;
  gap: 15px 20px;
  background: #e3e300;
  padding: 20px 60px 25px;
  margin: 50px 0 0;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .plan .bg_block {
    gap: 15px 60px;
  }
}

@media (max-width: 767px) {
  .plan .bg_block {
    flex-direction: column;
    padding: 20px 25px;
    margin: 40px 0 0;
  }
}

.plan .otherDetail .secTitle03 {
  font-size: 1.9rem;
  font-weight: 500;
  margin-bottom: 20px;
}

@media (max-width: 1024px) {
  .plan .otherDetail .secTitle03 {
    font-size: 1.4rem;
  }
}

.plan .otherDetail .secTitle03:first-child {
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .plan .otherDetail .secTitle03:first-child {
    margin-bottom: 20px;
  }
}

.plan .otherDetail .secTitle03.mt {
  margin-top: 56px;
}

@media (max-width: 1024px) {
  .plan .otherDetail .secTitle03.mt {
    margin-top: 40px;
  }
}

.plan .otherDetail .serviceList {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 0 0 80px;
}

@media (max-width: 767px) {
  .plan .otherDetail .serviceList {
    margin: 0 0 40px;
  }
}

@media (min-width: 280px) and (max-width: 767px) {
  body.lang_ja .plan .otherDetail .serviceList {
    margin-right: 18%;
  }

  body.lang_zh-CHT .plan .otherDetail .serviceList,
  body.lang_zh-CHS .plan .otherDetail .serviceList,
  body.lang_ko .plan .otherDetail .serviceList {
    margin-right: 16%;
  }
}

.plan .otherDetail .serviceList:has(+ .note) {
  margin: 0 0 1lh;
}

.plan .otherDetail .serviceList+.note {
  margin: 0 0 80px;
  padding-left: 1em;
  text-indent: -1em;
}

@media (max-width: 767px) {
  .plan .otherDetail .serviceList+.note {
    margin: 0 0 40px;
  }
}

.plan .otherDetail .serviceList li {
  position: relative;
  background: #dff2fc;
  border-radius: 16px;
  font-size: 1.7rem;
  text-align: center;
  padding: 1px 1.5em;
}

@media (max-width: 1024px) {
  .plan .otherDetail .serviceList li {
    font-size: 1.25rem;
  }
}

.plan .otherDetail .serviceList li .textLink {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.25em);
  font-size: 1.2rem;
  text-decoration: underline;
  color: #4d4d4d;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .plan .otherDetail .serviceList li .textLink {
    left: auto;
    right: 0;
    white-space: nowrap;
  }
}

@media (max-width: 767px) {
  .plan .otherDetail .serviceList li .textLink {
    width: 90vw;
    text-align: left;
  }
}

@media (min-width: 280px) and (max-width: 767px) {

  body.lang_ja .plan .otherDetail .serviceList li .textLink,
  body.lang_zh-CHT .plan .otherDetail .serviceList li .textLink,
  body.lang_zh-CHS .plan .otherDetail .serviceList li .textLink,
  body.lang_ko .plan .otherDetail .serviceList li .textLink {
    width: auto;
    top: 0;
    bottom: 0;
    right: auto;
    left: calc(100% + 1em);
    white-space: nowrap;
  }
}

@media (max-width: 767px) {
  .plan .otherDetail .serviceList li:has(.textLink) {
    margin-bottom: 1lh;
  }

  body.lang_id .plan .otherDetail .serviceList li:has(.textLink),
  body.lang_ms .plan .otherDetail .serviceList li:has(.textLink),
  body.lang_ru .plan .otherDetail .serviceList li:has(.textLink) {
    margin-bottom: 2lh;
  }
}

@media (min-width: 280px) and (max-width: 767px) {

  body.lang_ja .plan .otherDetail .serviceList li:has(.textLink),
  body.lang_zh-CHT .plan .otherDetail .serviceList li:has(.textLink),
  body.lang_zh-CHS .plan .otherDetail .serviceList li:has(.textLink),
  body.lang_ko .plan .otherDetail .serviceList li:has(.textLink) {
    margin-bottom: 0;
  }
}

.plan .otherDetail .note {
  font-size: 1.2rem;
}

.plan .otherDetail .noteList {
  font-size: 1.4rem;
}

@media (max-width: 1024px) {
  .plan .otherDetail .noteList {
    font-size: 1.2rem;
  }
}

.plan .otherDetail .noteList.col2 {
  column-count: 2;
  column-gap: 72px;
}

@media (max-width: 1024px) {
  .plan .otherDetail .noteList.col2 {
    column-count: auto;
  }
}

.plan .otherDetail .noteList li {
  position: relative;
  padding-left: 1em;
}

.plan .otherDetail .noteList li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.plan .otherDetail .noteList li.pc::before {
  content: none;
}

.plan .otherDetail .rsv_con {
  max-width: 870px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .plan .otherDetail .rsv_con {
    margin-top: 80px;
  }
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con {
    max-width: none;
  }
}

.plan .otherDetail .rsv_con .rsvBlock,
.plan .otherDetail .rsv_con .conBlock {
  flex-grow: 1;
}

@media (max-width: 767px) {

  .plan .otherDetail .rsv_con .rsvBlock,
  .plan .otherDetail .rsv_con .conBlock {
    width: 100%;
  }
}

.plan .otherDetail .rsv_con .rsvBlock .inner,
.plan .otherDetail .rsv_con .conBlock .inner {
  display: flex;
  align-items: flex-start;
  gap: 0 2em;
}

@media (max-width: 1024px) {

  .plan .otherDetail .rsv_con .rsvBlock .inner,
  .plan .otherDetail .rsv_con .conBlock .inner {
    display: block;
  }
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con .conBlock {
    text-align: center;
  }
}

.plan .otherDetail .rsv_con .secTitle03 {
  width: 100%;
  font-size: 2.1rem;
  margin-bottom: 0;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con .secTitle03 {
    font-size: 1.55rem;
    margin-bottom: 0;
  }
}

.plan .otherDetail .rsv_con .subTitle {
  display: block;
  background: #fff;
  border-radius: 16px;
  font-size: 1.5rem;
  text-align: center;
  padding: 1px 1.5em;
  margin: 0 0 1em;
  min-width: 144px;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con .subTitle {
    width: 100%;
    min-width: auto;
    font-size: 1.2rem;
  }
}

.plan .otherDetail .rsv_con .noteList {
  font-size: 1.5rem;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con .noteList {
    font-size: 1.2rem;
  }
}

.plan .otherDetail .rsv_con .btn {
  flex-grow: 1;
}

.plan .otherDetail .rsv_con .btnList {
  display: flex;
  gap: 10px 15px;
  margin: 16px 0 24px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .plan .otherDetail .rsv_con .btnList {
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  .plan .otherDetail .rsv_con .btnList {
    flex-direction: column;
  }
}

.plan .otherDetail .rsv_con .btn {
  margin: 0;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .plan .otherDetail .rsv_con .btn {
    width: calc(50% - 7.5px);
  }
}

.plan .otherDetail .rsv_con .btn a {
  position: relative;
  width: 240px;
  height: 100%;
  min-height: 50px;
  background: #262262;
  border-radius: 0;
  margin: 0 auto 0 0;
  padding-block: 4px;
  padding-inline: 20px 31px;
  font-size: 1.7rem;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con .btn a {
    font-size: 1.25rem;
    width: 100%;
  }
}

.plan .otherDetail .rsv_con .btn a .icon_link {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  fill: #fff;
  margin-block: auto;
}

.plan .otherDetail .rsv_con .btn.white a {
  background: #dff2fc;
  color: #262262;
}

.plan .otherDetail .rsv_con .btn.white a .icon_link {
  fill: #262262;
}

.plan .otherDetail .rsv_con .telLink {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3333333333;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con .telLink {
    font-size: 1.8rem;
  }
}

.plan .otherDetail .rsv_con.campaign {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  max-width: none;
  border: none;
  padding: 0;
  margin-inline: -16px;
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign {
    margin-inline: 0;
  }
}

.plan .otherDetail .rsv_con.campaign .secTitle03 {
  font-size: 2.4rem;
  margin: 0 0 20px;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .secTitle03 {
    font-size: 1.8rem;
    margin: 40px 0 20px;
  }
}

.plan .otherDetail .rsv_con.campaign .rsvBlock {
  background: #dff2fc;
  padding: 32px 44px;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .rsvBlock {
    padding: 24px 24px;
  }
}

.plan .otherDetail .rsv_con.campaign .rsvBlock .inner {
  margin: 0 0 8px;
}

.plan .otherDetail .rsv_con.campaign .rsvBlock.stay {
  width: 100%;
}

.plan .otherDetail .rsv_con.campaign .rsvBlock.day {
  width: 650px;
  margin: 52px 72px 0 0;
  padding-right: 24px;
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign .rsvBlock.day {
    width: 100%;
    margin-right: 0;
    padding-right: 44px;
  }
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .rsvBlock.day {
    margin: 40px 0 0;
    padding-right: 24px;
  }
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .rsvBlock.day .inner {
    margin: 0 0 16px;
  }
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign .rsvBlock.day .btnBox {
    padding-inline: 24px;
    border-left: 1px solid transparent;
    border-right: 1px solid transparent;
  }
}

.plan .otherDetail .rsv_con.campaign .subTitle {
  font-size: 2.4rem;
  font-weight: 700;
  background: none;
  padding: 0;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .subTitle {
    font-size: 1.8rem;
  }
}

.plan .otherDetail .rsv_con.campaign .campaign {
  display: flex;
  flex-direction: column;
}

.plan .otherDetail .rsv_con.campaign .campaign.early {
  width: 49%;
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign .campaign.early {
    width: 100%;
  }
}

.plan .otherDetail .rsv_con.campaign .campaign.early .campaignSub,
.plan .otherDetail .rsv_con.campaign .campaign.early .campaignNote {
  color: #000;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .campaign.early .campaignNote {
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign .campaign.early .flex:has(.btnBox) {
    gap: 0 24px;
  }

  .plan .otherDetail .rsv_con.campaign .campaign.early .btnBox {
    flex-grow: 1;
  }

  .plan .otherDetail .rsv_con.campaign .campaign.early .btnBox .btn {
    max-width: 472px;
    margin-left: auto;
  }
}

.plan .otherDetail .rsv_con.campaign .campaignTitle {
  margin: 0;
  flex-shrink: 0;
}

.plan .otherDetail .rsv_con.campaign .campaignTitle span {
  background-color: #dff2fc;
}

.plan .otherDetail .rsv_con.campaign .campaign .flex {
  align-items: center;
}

.plan .otherDetail .rsv_con.campaign .campaign .flex:has(.campaignTitle) {
  align-items: center;
  justify-content: unset;
  margin: -44px 0 16px -0.5em;
}

.plan .otherDetail .rsv_con.campaign .campaignTerm {
  font-size: 1.5rem;
  margin-left: 1em;
  background: #dff2fc;
  color: inherit;
  margin: 0;
  padding-top: 0;
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .campaignTerm {
    font-size: 1.3rem;
  }
}

.plan .otherDetail .rsv_con.campaign .btnList {
  max-width: 504px;
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign .btnList {
    max-width: none;
  }

  .plan .otherDetail .rsv_con.campaign .btnList li {
    width: calc(50% - 12px);
  }

  .plan .otherDetail .rsv_con.campaign .btnList li a {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .btnList {
    margin-block: 0;
  }

  .plan .otherDetail .rsv_con.campaign .btnList li {
    width: 100%;
  }
}

.plan .otherDetail .rsv_con.campaign .conBlock {
  width: calc(100% - 650px - 72px);
  margin: 52px 0 0;
  padding-block: 16px;
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign .conBlock {
    width: 100%;
    margin: 40px 0 0;
    padding-block: 0;
  }
}

.plan .otherDetail .rsv_con.campaign .conBlock .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign .conBlock .inner {
    justify-content: center;
  }
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .conBlock .inner {
    display: block;
  }
}

.plan .otherDetail .rsv_con.campaign .conBlock .subTitle {
  max-width: none;
  width: 100%;
  font-size: 2.1rem;
  font-weight: 500;
  text-align: left;
  margin: 0;
}

@media screen and (max-width: 1200px) {
  .plan .otherDetail .rsv_con.campaign .conBlock .subTitle {
    text-align: center;
  }
}

@media (max-width: 1024px) {
  .plan .otherDetail .rsv_con.campaign .conBlock .subTitle {
    font-size: 1.55rem;
  }
}

.plan .campaign {
  border: 1px solid #000;
  padding: 32px 16px 16px 32px;
  flex-grow: 1;
}

@media (max-width: 1024px) {
  .plan .campaign {
    padding-inline: 24px;
  }
}

.plan .campaign.early {
  color: #f00;
  border-color: #f00;
  flex-grow: unset;
  width: 35%;
  flex-shrink: 0;
}

.plan .campaign.early .campaignTerm {
  background-color: #f00;
}

@media screen and (max-width: 1200px) {
  .plan .campaign.early {
    width: 100%;
  }
}

.plan .campaignWrap {
  display: flex;
  gap: 32px 16px;
  padding: 16px 0 0;
}

@media screen and (max-width: 1200px) {
  .plan .campaignWrap {
    flex-direction: column;
  }
}

.plan .campaignTitle {
  font-family: "Acumin Variable Concept", sans-serif;
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.01em;
  margin: -44px 0 16px -0.5em;
}

.plan .campaignTitle span {
  background: #fff;
  padding: 3px 0.5em 2px;
}

.plan .campaignTerm {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 3px 1em 2px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.75;
  margin: 0 0 16px;
}

@media (max-width: 1024px) {
  .plan .campaignTerm {
    font-size: 1.5rem;
  }
}

.plan .campaignSub {
  font-size: 1.7rem;
  font-weight: 700;
}

@media (max-width: 1024px) {
  .plan .campaignSub {
    font-size: 1.4rem;
  }
}

.plan .campaignText {
  font-size: 1.4rem;
}

@media screen and (max-width: 1200px) {
  .plan .campaignText br.pc {
    display: none;
  }
}

.plan .campaignText strong {
  font-weight: 700;
  font-size: 1.7rem;
}

@media (max-width: 1024px) {
  .plan .campaignText strong {
    font-size: 1.4rem;
  }
}

.plan .campaignNote {
  font-size: 1.2rem;
}

.plan .tableWrap dl dd .campaign ul.flex li {
  min-width: auto;
}

.plan .tableWrap dl dd:has(.campaignWrap) .campaignWrap+.subTitle+ul.flex li+li {
  margin-left: -1.5%;
}

@media (max-width: 1024px) {
  .plan .tableWrap dl dd:has(.campaignWrap) .campaignWrap+.subTitle+ul.flex li+li {
    margin-left: 0;
  }
}

/*# sourceMappingURL=pool_maihama_common.css.map */