@charset "UTF-8";
/* -------------------------------------
subMv 
------------------------------------- */
.subMv {
  position: relative;
  background-position: 83% center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .subMv {
    background-position: right center;
  }
}
.subMv.privacy-policy {
  background-image: url("../img/sub/privacy_policy_bg.jpg");
}
@media (min-width: 768px) {
  .subMv.privacy-policy {
    background-image: url("../img/sub/privacy_policy_bg.jpg");
  }
}
.subMv.topics {
  background-image: url("../img/sub/topics_bg.jpg");
}
@media (min-width: 768px) {
  .subMv.topics {
    background-image: url("../img/sub/topics_bg.jpg");
  }
}
.subMv.service {
  background-image: url("../img/sub/service_bg.jpg");
}
@media (min-width: 768px) {
  .subMv.service {
    background-image: url("../img/sub/service_bg.jpg");
  }
}
.subMv.facility {
  background-image: url("../img/sub/facility_bg.jpg");
}
@media (min-width: 768px) {
  .subMv.facility {
    background-image: url("../img/sub/facility_bg.jpg");
  }
}
.subMv.access {
  background-image: url("../img/sub/access_bg.jpg");
  background-position: 44% center;
}
@media (min-width: 768px) {
  .subMv.access {
    background-image: url("../img/sub/access_bg.jpg");
    background-position: right center;
  }
}
.subMv.about {
  background-image: url("../img/sub/about_bg.jpg");
  background-position: 40% center;
}
@media (min-width: 768px) {
  .subMv.about {
    background-image: url("../img/sub/about_bg.jpg");
    background-position: right center;
  }
}
.subMv.entry {
  background-image: url("../img/sub/entry_bg.jpg");
  background-position: 40% center;
}
@media (min-width: 768px) {
  .subMv.entry {
    background-image: url("../img/sub/entry_bg.jpg");
    background-position: right center;
  }
}
.subMv.reservation {
  background-image: url("../img/sub/reservation_bg.jpg");
  background-position: 60% center;
}
@media (min-width: 768px) {
  .subMv.reservation {
    background-image: url("../img/sub/reservation_bg.jpg");
    background-position: right center;
  }
}
.subMv.fee {
  background-image: url("../img/sub/fee_bg.jpg");
  background-position: 55% center;
}
@media (min-width: 768px) {
  .subMv.fee {
    background-image: url("../img/sub/fee_bg.jpg");
    background-position: right center;
  }
}
.subMv.contact {
  background-image: url("../img/sub/contact_bg.jpg");
  background-position: 55% center;
}
@media (min-width: 768px) {
  .subMv.contact {
    background-image: url("../img/sub/contact_bg.jpg");
    background-position: right center;
  }
}
.subMv #sub01 {
  max-width: 1086px;
}
.subMv::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 233px;
  position: absolute;
  top: -95px;
  background: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
}
.subMv::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  background: linear-gradient(to top, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
}

.subMv__heading {
  font-size: 37px;
  font-weight: 300;
  line-height: 1.22;
  letter-spacing: 0.34em;
}
@media (min-width: 768px) {
  .subMv__heading {
    font-size: 46px;
  }
}
.subMv__heading--lsSmall {
  letter-spacing: 0.1em;
}

.subMv__jaHeading {
  display: block;
  font-size: 16px;
  letter-spacing: 0.34em;
}
@media (min-width: 768px) {
  .subMv__jaHeading {
    font-size: 20px;
  }
}

.subMv__texts {
  position: relative;
  z-index: 1;
}

/* -------------------------------------
パンクズリスト
------------------------------------- */
.c-breadcrumbs {
  row-gap: 0.5em;
}

.c-breadcrumbs__link {
  display: inline-block;
}

/* -------------------------------------
アコーディオンパーツ
------------------------------------- */
.c-entryFaq {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
}

.c-entryFaq__item {
  border: 1px solid #828282;
  border-radius: 24px;
  width: 100%;
}
@media (min-width: 768px) {
  .c-entryFaq__item {
    width: calc((50vw - 50%) * 0.25 + 100%);
  }
}

.c-entryFaq__question {
  display: flex;
  align-items: center;
  gap: 1.75em;
  cursor: pointer;
  padding-block: 1.4em;
  padding-inline: 22px;
}
@media (min-width: 768px) {
  .c-entryFaq__question {
    padding-inline: 60px;
  }
}

.c-entryFaq__mark {
  flex-shrink: 0;
  margin-top: -0.2em;
}

.c-entryFaq__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}

.c-entryFaq__question.active + .c-entryFaq__answer {
  grid-template-rows: 1fr;
}

.c-entryFaq__answerInner {
  overflow: hidden;
  min-height: 0;
}

.c-entryFaq__answerBody {
  display: flex;
  align-items: flex-start;
  gap: 1.75em;
  padding-block: 1.4em;
  padding-inline: 22px;
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
}
@media (min-width: 768px) {
  .c-entryFaq__answerBody {
    padding-inline: 80px;
  }
}

/* -------------------------------------
料金プランパーツ
------------------------------------- */
.c-priceBox {
  display: flex;
  flex-direction: column;
  gap: 5em;
}
@media (min-width: 768px) {
  .c-priceBox {
    width: calc((50vw - 50%) * 0.25 + 100%);
    justify-content: center;
  }
}

.c-priceBox__planCard {
  flex: 1;
  border: 1px solid #828282;
  padding: 1.8em 1.5em 2.5em;
  width: 100%;
  margin-inline: auto;
  text-align: center;
}
@media (min-width: 768px) {
  .c-priceBox__planCard {
    padding: 1.8em 3em 2.5em;
    margin-inline: 0;
    text-align: left;
  }
}
.c-priceBox__planCard:last-child .c-priceBox__planPriceWrap {
  margin-top: 0.5em;
}
.c-priceBox__planCard:last-child .c-priceBox__planPriceWrap + .c-priceBox__planPriceWrap {
  margin-top: -0.5em;
}

.c-priceBox__planBody {
  width: 93%;
  margin-inline: auto;
}

.c-priceBox__planTitle {
  background: #fff;
  border-radius: 32px;
  text-align: center;
  width: auto;
  padding: 9px 1em;
  line-height: 2.2;
  letter-spacing: 0.06em;
  margin-top: -54px;
}
@media (min-width: 768px) {
  .c-priceBox__planTitle {
    width: 336px;
    margin-top: -60px;
  }
}

.c-priceBox__planPriceWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem 1.5em;
  margin-top: 1.5em;
}
@media (min-width: 768px) {
  .c-priceBox__planPriceWrap {
    flex-direction: row;
  }
}

.c-priceBox__planPrice {
  display: flex;
  align-items: baseline;
  font-size: 50px;
}
@media (min-width: 768px) {
  .c-priceBox__planPrice {
    font-size: 5.7272727273vw;
  }
}
@media (min-width: 1100px) {
  .c-priceBox__planPrice {
    font-size: 63px;
  }
}

.c-priceBox__planAmount {
  font-style: italic;
  line-height: 1;
  margin-inline: 10px;
  padding-left: 0.1rem;
}

.c-priceBox__planUnit {
  font-size: 0.46031746em;
  letter-spacing: 0.15em;
}

.c-priceBox__planSuffix {
  font-size: 0.36507937em;
  letter-spacing: 0.15em;
}

.c-priceBox__planPriceNote {
  align-self: flex-start;
}
@media (min-width: 768px) {
  .c-priceBox__planPriceNote {
    align-self: flex-end;
    padding-bottom: 0.5em;
  }
}

/* -------------------------------------
利用規約
------------------------------------- */
.privacyPolicy__inner {
  max-width: 891px;
  margin: 0 auto;
}

.privacyPolicy__heading {
  font-size: clamp(22px, 5vw, 33px);
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.4;
}

.privacyPolicy__item {
  padding-top: 2.5em;
}
.privacyPolicy__item:not(:first-child) {
  padding-top: 2em;
}
.privacyPolicy__item > dt {
  line-height: 2.31;
}
.privacyPolicy__item > dd {
  line-height: 2.31;
}

.privacyPolicy__bullets {
  list-style: none;
  padding: 0;
}

.privacyPolicy__bullets li {
  padding-left: 1.2em;
  text-indent: -1.2em;
}

.privacyPolicy__bullets li::before {
  content: "・";
}

/* -------------------------------------
サービス案内
------------------------------------- */
.serviceLead #sub02 {
  max-width: 876px;
}
.serviceLead #sub02 > p {
  width: calc((50vw - 50%) * 0.31 + 100%);
}

.serviceScene #sub03 {
  max-width: 100%;
}

.serviceScene__header {
  max-width: 876px;
  margin-inline: auto;
}
.serviceScene__header > p {
  width: calc((50vw - 50%) * 0.31 + 100%);
}

.serviceScene__heading {
  line-height: 2;
}

.serviceScene__body {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.serviceScene__slide {
  max-width: 1020px;
  width: 88%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .serviceScene__slide {
    width: 100%;
  }
}
.serviceScene__slide .slick-list {
  overflow: visible;
}
.serviceScene__slide .slick-track {
  gap: 20px;
}
@media (min-width: 768px) {
  .serviceScene__slide .slick-track {
    gap: 43px;
  }
}

.serviceScene__slideTexts {
  width: 93%;
  margin-inline: auto;
}

.serviceScene__slideText {
  font-size: 12px;
}
@media (min-width: 768px) {
  .serviceScene__slideText {
    font-size: 14px;
  }
}

.serviceFree #sub04 {
  max-width: 100%;
}

.serviceFree__header {
  position: relative;
  max-width: 1086px;
  width: 100%;
  margin-inline: auto;
}

.serviceFree__heading {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 15%;
  font-size: 28px;
  letter-spacing: 0.3em;
}
@media (min-width: 768px) {
  .serviceFree__heading {
    font-size: 45.7px;
  }
}
.serviceFree__heading > span {
  display: block;
  font-size: 0.52em;
  letter-spacing: 0.34em;
  margin-top: -0.5rem;
}

.serviceFree__headerInner {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 768px) {
  .serviceFree__headerInner {
    width: calc(50vw - 50% + 100%);
    margin-left: auto;
  }
}

.serviceFree__img {
  position: relative;
  aspect-ratio: 1117/791;
  overflow: hidden;
  width: 100%;
  margin-left: auto;
}
@media (min-width: 768px) {
  .serviceFree__img {
    aspect-ratio: 1117/534;
    width: 83.6%;
  }
}
.serviceFree__img > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.serviceFree__img::after {
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 40%, transparent 40%, transparent 100%);
}

.serviceFree__body {
  max-width: 898px;
  width: 100%;
  margin-inline: auto;
}

.serviceFree__lead {
  width: 100%;
}

.serviceFree__planNote {
  width: 95%;
  margin-inline: auto;
}

.serviceFree__btnBox {
  max-width: 452px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .serviceFree__btnBox {
    margin-inline: auto;
  }
}

.serviceLink #sub05 {
  max-width: 1481px;
}

.serviceLink__flex {
  row-gap: 4em;
}

.serviceLink__item {
  display: flex;
  flex-direction: column;
}

.serviceLink__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 82.63%;
  margin-inline: auto;
}

.serviceLink__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.75rem;
  letter-spacing: 0.3em;
}
.serviceLink__heading > span {
  font-size: 0.59em;
  letter-spacing: 0.34em;
}

.serviceLink__text {
  margin-bottom: auto;
}

.serviceLink__btnBox {
  justify-content: flex-end;
  max-width: 452px;
  width: 100%;
}

/* -------------------------------------
施設紹介
------------------------------------- */
.facilityLead #sub02 {
  max-width: 874px;
}
@media (min-width: 768px) {
  .facilityLead #sub02 {
    max-width: 100%;
    width: 54.625%;
  }
}

.facilityLead__box {
  width: calc((50vw - 50%) * 0.306 + 100%);
}

.facilityDetails #sub03 {
  max-width: 100%;
  width: 88%;
  margin-inline: auto;
}

.facilityDetails__item.fitness .facilityDetails__contents {
  margin-top: -58px;
}
@media (min-width: 768px) {
  .facilityDetails__item.fitness .facilityDetails__contents {
    max-width: 903px;
    margin-top: -164px;
  }
}
@media (min-width: 1600px) {
  .facilityDetails__item.fitness .facilityDetails__contents {
    max-width: 100%;
    width: 56.438%;
  }
}
@media (min-width: 768px) {
  .facilityDetails__item.fitness .facilityDetails__heading {
    margin-top: 1.2rem;
  }
}
@media (min-width: 768px) {
  .facilityDetails__item.fitness .facilityDetails__catch {
    padding-left: 1em;
  }
}
.facilityDetails__item.golf .facilityDetails__contents {
  margin-top: -65px;
}
@media (min-width: 768px) {
  .facilityDetails__item.golf .facilityDetails__contents {
    max-width: 894px;
    margin-top: -162px;
  }
}
@media (min-width: 1600px) {
  .facilityDetails__item.golf .facilityDetails__contents {
    max-width: 100%;
    width: 55.875%;
  }
}
.facilityDetails__item.golf .facilityDetails__heading {
  margin-top: 0;
}
@media (min-width: 768px) {
  .facilityDetails__item.golf .facilityDetails__catch {
    padding-left: 1em;
  }
}

.facilityDetails__img {
  position: relative;
  max-width: 1396px;
  width: 100vw;
  aspect-ratio: 1396/773;
  overflow: hidden;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 768px) {
  .facilityDetails__img {
    width: 100%;
  }
}
@media (min-width: 1600px) {
  .facilityDetails__img {
    max-width: 100%;
    width: 87.25%;
  }
}
.facilityDetails__img::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  background: linear-gradient(to top, #000 0%, #000, 32%, #000 32%, rgba(0, 0, 0, 0) 64%, rgba(0, 0, 0, 0) 100%);
}
.facilityDetails__img > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.facilityDetails__contents {
  position: relative;
  z-index: 1;
  max-width: 939px;
  width: 100%;
  margin-inline: auto;
  margin-top: -58px;
}
@media (min-width: 768px) {
  .facilityDetails__contents {
    margin-top: -145px;
  }
}
@media (min-width: 1600px) {
  .facilityDetails__contents {
    max-width: 100%;
    width: 58.688%;
  }
}

.facilityDetails__itemInner {
  width: 100%;
}
@media (min-width: 768px) {
  .facilityDetails__itemInner {
    width: calc((50vw - 50%) * 0.291 + 100%);
  }
}

.facilityDetails__catch {
  font-size: 14px;
}
@media (min-width: 768px) {
  .facilityDetails__catch {
    font-size: 18px;
  }
}

.facilityDetails__heading {
  font-size: 75px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.25);
  margin-top: -0.5rem;
}
@media (min-width: 768px) {
  .facilityDetails__heading {
    font-size: 196px;
  }
}

.facilityDetails__body {
  width: 95%;
  margin-inline: auto;
}

.facilityDetails__slide {
  max-width: 1020px;
  width: 88%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .facilityDetails__slide {
    width: 100%;
  }
}
.facilityDetails__slide .slick-list {
  overflow: visible;
}
.facilityDetails__slide .slick-track {
  gap: 20px;
}
@media (min-width: 768px) {
  .facilityDetails__slide .slick-track {
    gap: 34px;
  }
}
.facilityDetails__slide--slideLarge {
  max-width: 1067px;
  width: 76%;
}
.facilityDetails__slide--slideLarge .slick-track {
  gap: 20px;
}
@media (min-width: 768px) {
  .facilityDetails__slide--slideLarge .slick-track {
    gap: 52px;
  }
}

.facilityDetails__note {
  gap: 0;
  max-width: 892px;
  width: 100%;
  margin-inline: auto;
}

.facilityUnlinited #sub04 {
  max-width: 874px;
}
@media (min-width: 1600px) {
  .facilityUnlinited #sub04 {
    max-width: 100%;
    width: 54.625%;
  }
}

.facilityUnlinited__box {
  width: calc((50vw - 50%) * 0.306 + 100%);
}

/* -------------------------------------
アクセス
------------------------------------- */
.accessLead #sub02 {
  max-width: 882px;
}
@media (min-width: 1600px) {
  .accessLead #sub02 {
    max-width: 100%;
    width: 55.125%;
  }
}

.accessLead__text {
  width: 100%;
}
@media (min-width: 768px) {
  .accessLead__text {
    width: calc((50vw - 50%) * 0.293 + 100%);
  }
}

.accessGallery #sub03 {
  max-width: 100%;
  width: 76%;
}
@media (min-width: 768px) {
  .accessGallery #sub03 {
    width: 100%;
  }
}

.accessGallery__slide {
  max-width: 1030px;
  width: 100%;
  margin-inline: auto;
}
.accessGallery__slide .slick-list {
  overflow: visible;
}
.accessGallery__slide .slick-track {
  display: flex;
  gap: 20px;
}
@media (min-width: 768px) {
  .accessGallery__slide .slick-track {
    gap: 30px;
  }
}

.accessGallery__slideImg {
  aspect-ratio: 1000/601;
  overflow: hidden;
}
.accessGallery__slideImg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.accessMap #sub04 {
  max-width: 882px;
}
@media (min-width: 1600px) {
  .accessMap #sub04 {
    max-width: 100%;
    width: 55.125%;
  }
}

.accessMap__mapWrap {
  width: calc((100vw - 100%) / 2 + 100%);
  aspect-ratio: 4/3;
}
@media (min-width: 768px) {
  .accessMap__mapWrap {
    aspect-ratio: 1240/560;
  }
}
.accessMap__mapWrap iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.accessMap__body {
  width: 95%;
  margin-inline: auto;
}

.accessMap__address {
  display: flex;
  align-items: center;
  gap: 2.5em;
}

.accessMap__mapIconWrap {
  width: 41px;
}

.accessMap__mapIcon {
  width: 100%;
}

.accessMap__routeLabel {
  text-align: center;
  display: inline-block;
  width: 284px;
  border: 1px solid #828282;
  border-radius: 999px;
  padding-block: 13.5px 9.5px;
}

/* -------------------------------------
会社概要
------------------------------------- */
.aboutProfile #sub02 {
  max-width: 1094px;
}
@media (min-width: 1600px) {
  .aboutProfile #sub02 {
    max-width: 100%;
    width: 68.375%;
  }
}

.aboutProfile__imgWrap {
  width: calc(50vw - 50% + 100%);
  aspect-ratio: 1347/745;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}
.aboutProfile__imgWrap > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aboutProfile__body {
  max-width: 100%;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .aboutProfile__body {
    max-width: 892px;
  }
}

.aboutProfile__texts {
  width: 100%;
}
@media (min-width: 768px) {
  .aboutProfile__texts {
    width: calc((50vw - 50%) * 0.29 + 100%);
  }
}

.aboutProfile__signature {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2em;
}

.aboutProfile__signatureName {
  display: inline-block;
  width: 166px;
}
@media (min-width: 768px) {
  .aboutProfile__signatureName {
    width: 207px;
  }
}

.aboutProfile__signatureNameImg {
  display: block;
  width: 100%;
  height: auto;
}

.aboutOverview #sub03,
.aboutOverview #sub04 {
  max-width: 1106px;
  width: 88%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .aboutOverview #sub03,
  .aboutOverview #sub04 {
    width: 100%;
  }
}

.aboutOverview__heading {
  letter-spacing: 0.3em;
}

.aboutOverview__list {
  max-width: 858px;
  width: 100%;
  margin-inline: auto;
  row-gap: 1.5em;
}
.aboutOverview__list--store .aboutOverview__item > dt, .aboutOverview__list--store .aboutOverview__item--alignCenter > dt {
  width: 120px;
}

.aboutOverview__item, .aboutOverview__item--alignCenter {
  display: flex;
  flex-direction: column;
  width: calc((50vw - 50%) * 0.32 + 100%);
  gap: 0;
}
@media (min-width: 768px) {
  .aboutOverview__item, .aboutOverview__item--alignCenter {
    flex-direction: row;
    gap: 2.5em;
  }
}
.aboutOverview__item--alignCenter {
  gap: 0.4em;
}
@media (min-width: 768px) {
  .aboutOverview__item--alignCenter {
    align-items: center;
    gap: 2.5em;
  }
}
.aboutOverview__item > dt, .aboutOverview__item--alignCenter > dt {
  flex-shrink: 0;
  line-height: 2.3;
}
@media (min-width: 768px) {
  .aboutOverview__item > dt, .aboutOverview__item--alignCenter > dt {
    width: 115px;
  }
}
.aboutOverview__item > dd, .aboutOverview__item--alignCenter > dd {
  flex: 1;
  line-height: 2.3;
}

.aboutOverview__mailImg {
  max-width: 160px;
  width: 100%;
}
@media (min-width: 768px) {
  .aboutOverview__mailImg {
    max-width: 179px;
  }
}
.aboutOverview__mailImg > img {
  display: block;
  width: 100%;
  height: auto;
}

/* -------------------------------------
ご入会について
------------------------------------- */
.entryLead #sub02 {
  max-width: 886px;
}
@media (min-width: 1600px) {
  .entryLead #sub02 {
    max-width: 100%;
    width: 55.375%;
  }
}

.entryLead__text {
  width: calc((50vw - 50%) * 0.304 + 100%);
}

.entryFlow__heading,
.entryPlan__heading,
.entryFaq__heading,
.reservationFlow__heading,
.reservationNotice__heading,
.reservationFaq__heading,
.feeOwner__heading,
.feeFacility__heading,
.feeFirstOwner__heading {
  font-size: 24px;
}
@media (min-width: 768px) {
  .entryFlow__heading,
  .entryPlan__heading,
  .entryFaq__heading,
  .reservationFlow__heading,
  .reservationNotice__heading,
  .reservationFaq__heading,
  .feeOwner__heading,
  .feeFacility__heading,
  .feeFirstOwner__heading {
    font-size: 30px;
  }
}

.entryFlow__list {
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 3em 1.8em;
}

.entryFlow__item {
  display: flex;
  flex-direction: column;
  gap: 0.7em;
  width: 100%;
}
@media (min-width: 768px) {
  .entryFlow__item {
    flex-direction: row;
    align-items: flex-start;
    gap: 3em;
    width: calc((50vw - 50%) * 0.25 + 100%);
  }
}

.entryFlow__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  max-width: 176px;
  width: 100%;
  border: 1px solid #707070;
  border-radius: 25px;
  padding-block: 9px;
}

.entryFlow__body {
  flex: 1;
  min-width: 0;
}

.entryFlow__itemHeading {
  margin-bottom: 0.45em;
}

.entryFlow__lineBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2em;
}
@media (min-width: 768px) {
  .entryFlow__lineBox {
    flex-direction: row;
    justify-content: flex-start;
    gap: 3em;
  }
}

.entryFlow__qr {
  width: 161px;
  aspect-ratio: 161/161;
}
.entryFlow__qr img {
  display: block;
  width: 100%;
  height: auto;
}

.entryFlow__lineBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7em;
  background: #06c755;
  border-radius: 34px;
  padding: 1.35em 2.2em;
  width: 100%;
  max-width: 335px;
  transition: opacity 0.3s;
}
@media (min-width: 768px) {
  .entryFlow__lineBtn {
    width: 100%;
    max-width: 335px;
  }
}
.entryFlow__lineBtn:hover img {
  display: block;
  transform: translateY(0) !important;
}

.entryFlow__lineBtnIcon {
  width: 20px;
  flex-shrink: 0;
}
.entryFlow__lineBtnIcon img {
  display: block;
  width: 100%;
  height: auto;
}

/* -------------------------------------
プランのご案内
------------------------------------- */
.entryPlan__body {
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
}

.entryPlan__lead {
  width: calc((50vw - 50%) * 0.25 + 100%);
}

.entryPlan__btnBox {
  max-width: 452px;
  margin-left: 2%;
}

/* -------------------------------------
よくあるご質問
------------------------------------- */
/* -------------------------------------
ご予約方法について
------------------------------------- */
.reservationLead__leadWrap {
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
}

.reservationLead__text {
  width: 100%;
}
@media (min-width: 768px) {
  .reservationLead__text {
    width: calc((50vw - 50%) * 0.293 + 100%);
  }
}

.reservationLead__imgWrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 768px) {
  .reservationLead__imgWrap {
    width: calc(50vw - 50% + 100%);
  }
}

.reservationFlow #sub03 {
  padding-top: 1em;
}

.reservationFlow__contents {
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
}

.reservationFlow__lead {
  width: 100%;
}
@media (min-width: 768px) {
  .reservationFlow__lead {
    width: calc((50vw - 50%) * 0.293 + 100%);
  }
}

.reservationFlow__list {
  display: flex;
  flex-direction: column;
  gap: 3.5em;
}
@media (min-width: 768px) {
  .reservationFlow__list {
    width: calc((50vw - 50%) * 0.293 + 100%);
  }
}

.reservationFlow__item {
  display: flex;
  flex-direction: column;
  gap: 1.625em;
}
.reservationFlow__item:first-child .reservationFlow__body {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.reservationFlow__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  max-width: 176px;
  width: 100%;
  border: 1px solid #707070;
  border-radius: 25px;
  padding: 9px 28px;
}

.reservationFlow__row {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
@media (min-width: 768px) {
  .reservationFlow__row {
    flex-direction: row;
    gap: 3.5em;
  }
}

.reservationFlow__imgWrap {
  width: 100%;
  aspect-ratio: 776/466;
  overflow: hidden;
}
@media (min-width: 768px) {
  .reservationFlow__imgWrap {
    max-width: 400px;
    flex-shrink: 0;
  }
}
.reservationFlow__imgWrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reservationFlow__body {
  flex: 1;
  min-width: 0;
  padding-top: 0;
}
@media (min-width: 768px) {
  .reservationFlow__body {
    padding-top: 2.5em;
  }
}

.reservationFlow__itemHeading {
  margin-bottom: 0.45em;
}

.reservationFlow__btnBox {
  max-width: 377px;
  width: 100%;
  margin-top: 2em;
}
@media (min-width: 768px) {
  .reservationFlow__btnBox {
    margin-top: 3em;
  }
}

.reservationFlow__ctaBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5em;
  width: 100%;
  border-radius: 32px;
  padding: 1em 1.8em;
}
.reservationFlow__ctaBtn > span {
  transition: all 0.25s ease-in-out;
}
.reservationFlow__ctaBtn:hover > span {
  transform: translateX(5px);
}
.reservationFlow__ctaBtn:hover img {
  opacity: 1;
}

.reservationFlow__ctaText {
  display: flex;
  align-items: center;
}
.reservationFlow__ctaText::before {
  content: "";
  display: inline-block;
  width: 30px;
  aspect-ratio: 30/3.53;
  background: url("../img/common/icon_arrow_short_gold.svg") center/contain no-repeat;
  margin-right: 1em;
}

.reservationFlow__ctaIcon {
  display: flex;
  width: 15px;
  flex-shrink: 0;
  margin-bottom: 4px;
}
.reservationFlow__ctaIcon img {
  display: block;
  width: 100%;
  height: auto;
}

.reservationNotice #sub04 {
  padding-top: 1em;
}

.reservationNotice__list {
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
@media (min-width: 768px) {
  .reservationNotice__list {
    gap: 0.5em;
  }
}

.reservationNotice__item {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
}
@media (min-width: 768px) {
  .reservationNotice__item {
    flex-direction: row;
    gap: 1em;
    width: calc((50vw - 50%) * 0.293 + 100%);
  }
}

.reservationNotice__label {
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .reservationNotice__label {
    width: 279px;
  }
}
.reservationNotice__label::before {
  content: "-";
  display: inline-block;
  margin-right: 0.2em;
}

.reservationNotice__text {
  flex: 1;
}

/* -------------------------------------
料金について
------------------------------------- */
.feeLead #sub02 {
  padding-top: 2.4em;
  padding-bottom: 4.5em;
}

.feeLead__textWrap {
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
}

.feeLead__text {
  width: 100%;
}
@media (min-width: 768px) {
  .feeLead__text {
    width: calc((50vw - 50%) * 0.293 + 100%);
  }
}

.feeOwner #sub03 {
  padding-top: 0;
}

.feeOwner__imgWrap {
  width: 100vw;
  aspect-ratio: 2698/905;
  overflow: hidden;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 768px) {
  .feeOwner__imgWrap {
    width: calc(50vw - 50% + 100%);
  }
}
.feeOwner__imgWrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 768px) {
  .feeOwner__block:last-child .feeOwner__body {
    margin-top: -1em;
  }
}

.feeOwner__body {
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
}

.feeOwner__priceList {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
  margin-top: 0.5em;
}
@media (min-width: 768px) {
  .feeOwner__priceList {
    margin-top: 1.6em;
  }
}

.feeOwner__priceItem {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}
@media (min-width: 768px) {
  .feeOwner__priceItem {
    flex-direction: row;
    align-items: baseline;
    gap: 1.5em;
  }
}

.feeOwner__text {
  width: 100%;
}
@media (min-width: 768px) {
  .feeOwner__text {
    width: calc((50vw - 50%) * 0.3 + 100%);
  }
}

.feeFacility #sub04 {
  max-width: 1106px;
  width: 88%;
  margin-inline: auto;
  padding-top: 1.25em;
}
@media (min-width: 768px) {
  .feeFacility #sub04 {
    width: 100%;
  }
}
@media (min-width: 1600px) {
  .feeFacility #sub04 {
    max-width: 100%;
    width: 69.125%;
  }
}

.feeFacility__grid {
  --grid-gap: 32px;
}
@media (min-width: 768px) {
  .feeFacility__grid {
    --grid-gap: 24px;
    row-gap: 3.5em;
  }
}

.feeFacility__imgWrap {
  aspect-ratio: 692/416;
  overflow: hidden;
}
.feeFacility__imgWrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feeFacility__caption {
  margin-top: 0.8em;
}

.feeFirstOwner__leadWrap {
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
}

.feeFirstOwner__lead {
  width: 100%;
}
@media (min-width: 768px) {
  .feeFirstOwner__lead {
    width: calc((50vw - 50%) * 0.294 + 100%);
  }
}

.feeFirstOwner__imgWrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 768px) {
  .feeFirstOwner__imgWrap {
    width: calc(50vw - 50% + 100%);
    margin-left: 0;
  }
}
.feeFirstOwner__imgWrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feeFirstOwner__list {
  display: flex;
  flex-direction: column;
  gap: 2.5em;
  max-width: 882px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .feeFirstOwner__list {
    gap: 3.5em;
  }
}

.feeFirstOwner__item {
  display: flex;
  align-items: flex-start;
  gap: 0.8em;
  width: 100%;
}
@media (min-width: 768px) {
  .feeFirstOwner__item {
    width: calc((50vw - 50%) * 0.294 + 100%);
  }
}
@media (min-width: 768px) {
  .feeFirstOwner__item:nth-child(even) {
    padding-left: 4em;
  }
}

.feeFirstOwner__num {
  font-style: italic;
  flex-shrink: 0;
  margin-top: 0.15em;
}

.feeFirstOwner__body {
  flex: 1;
  min-width: 0;
}

.feeFirstOwner__note {
  width: 100%;
  margin-top: 1em;
}
@media (min-width: 768px) {
  .feeFirstOwner__note {
    width: calc((50vw - 50%) * 0.3 + 100%);
  }
}

/* -------------------------------------
お問い合わせ
------------------------------------- */
.contact__lineBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2em;
}
@media (min-width: 768px) {
  .contact__lineBox {
    flex-direction: row;
    justify-content: flex-start;
    gap: 3em;
  }
}

.contact__qr {
  width: 161px;
  aspect-ratio: 161/161;
}
.contact__qr img {
  display: block;
  width: 100%;
  height: auto;
}

.contact__lineBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7em;
  background: #06c755;
  border-radius: 34px;
  padding: 1.35em 2.2em;
  width: 100%;
  max-width: 335px;
  transition: opacity 0.3s;
}
@media (min-width: 768px) {
  .contact__lineBtn {
    width: 100%;
    max-width: 335px;
  }
}
.contact__lineBtn:hover img {
  display: block;
  transform: translateY(0) !important;
}

.contact__lineBtnIcon {
  width: 20px;
  flex-shrink: 0;
}
.contact__lineBtnIcon img {
  display: block;
  width: 100%;
  height: auto;
}

.contactLine #sub02 {
  max-width: 1012px;
  padding-top: 0;
  padding-bottom: 0;
}

.contactLine__inner {
  padding-inline: 0.5em;
}

@media (min-width: 768px) {
  .contactLine__body {
    padding-left: 1em;
  }
}

.contactLine__qr {
  max-width: 193px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .contactLine__qr {
    max-width: 241px;
    margin-inline: 0 auto;
  }
}

.contactLine__benefitsList {
  list-style: none;
  padding: 0;
  margin-top: 0.4em;
}
.contactLine__benefitsList li + li {
  margin-top: 0.4em;
}

.contactForm #sub03 {
  max-width: 942px;
  padding-top: 1.5em;
}

.contactForm__row {
  padding: 1.2em 0;
}
@media (min-width: 768px) {
  .contactForm__row {
    display: flex;
    align-items: flex-start;
    gap: 2em;
  }
}

.contactForm__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em 1em;
  line-height: 2;
}
@media (min-width: 768px) {
  .contactForm__label {
    max-width: 140px;
    width: 100%;
    flex-shrink: 0;
    padding-top: 1.4em;
  }
}

.contactForm__required {
  display: inline-block;
  background: #c9000a;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 0px 9px 2px;
  line-height: 1.6;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .contactForm__required {
    font-size: 14px;
    padding: 2px 12px;
  }
}

.contactForm__input {
  max-width: 557px;
  width: 100%;
  margin-top: 0.6em;
}
@media (min-width: 768px) {
  .contactForm__input {
    margin-top: 0;
  }
}

.contactForm__fieldWrap {
  overflow: hidden;
}

.contactForm__field,
.contactForm__textarea {
  background: #fff;
  border-radius: 12px;
  width: 100%;
  color: #000;
  padding: 21px 2em;
  appearance: none;
  font-size: 16px;
}
@media (min-width: 768px) {
  .contactForm__field,
  .contactForm__textarea {
    font-size: 14px;
    padding: 21px 3em;
  }
}
.contactForm__field::placeholder,
.contactForm__textarea::placeholder {
  color: #B5B5B5;
}
.contactForm__field:focus,
.contactForm__textarea:focus {
  outline: none;
}

.contactForm__textarea {
  resize: vertical;
  min-height: 245px;
}
.contactForm__textarea:focus {
  outline: none;
}

.contactForm__dateRow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em 2.5em;
}
@media (min-width: 768px) {
  .contactForm__dateRow {
    flex-direction: row;
  }
}
.contactForm__dateRow + .contactForm__dateRow {
  margin-top: 2.4em;
}

.contactForm__datePref {
  min-width: 4em;
  flex-shrink: 0;
  line-height: 2.2;
  padding-top: 1.2em;
}

.contactForm__dateBody {
  flex: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.contactForm__selectWrap {
  position: relative;
  width: 100%;
}
.contactForm__selectWrap::after {
  content: "▼";
  position: absolute;
  right: 3em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 7px;
  color: #B5B5B5;
  pointer-events: none;
}
@media (min-width: 768px) {
  .contactForm__selectWrap::after {
    right: 4em;
  }
}
.contactForm__selectWrap.short {
  width: 100%;
  max-width: 244px;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .contactForm__selectWrap.short {
    max-width: 264px;
  }
}

.contactForm__select {
  width: 100%;
  background: #fff;
  border-radius: 12px;
  padding: 22px 2em;
  appearance: none;
  cursor: pointer;
  color: #B5B5B5;
  font-size: 16px;
}
@media (min-width: 768px) {
  .contactForm__select {
    font-size: 14px;
    padding: 22px 3em;
  }
}
.contactForm__select:focus {
  outline: none;
}
.contactForm__select > option {
  color: #000;
}

.contactForm__timeWrap {
  display: flex;
  align-items: center;
  gap: 1.5em;
}

.contactForm__submitWrap {
  text-align: center;
  max-width: 840px;
  width: 100%;
}

.contactForm__privacy {
  max-width: 730px;
  width: 100%;
}

.contactForm__submit {
  border-radius: 40px;
  display: inline-block;
  width: 100%;
  max-width: 481px;
  background: #736357;
  color: #FFF;
  border: none;
  padding: 1.45em 2em;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
}
.contactForm__submit:hover {
  transform: translateY(-6px);
}