@charset "UTF-8";
/*仮ページ*/
#top01,
#top02,
#top03,
#top04,
#top05,
#top06,
#top07,
#top08,
#top09,
#top10,
#top11,
#top12,
#top13,
#top14,
#top15 {
  width: 88%;
  margin: 0 auto;
  text-align: left;
  padding: 2em 0;
}
@media (min-width: 768px) {
  #top01,
  #top02,
  #top03,
  #top04,
  #top05,
  #top06,
  #top07,
  #top08,
  #top09,
  #top10,
  #top11,
  #top12,
  #top13,
  #top14,
  #top15 {
    width: 88%;
  }
}
@media (min-width: 1200px) {
  #top01,
  #top02,
  #top03,
  #top04,
  #top05,
  #top06,
  #top07,
  #top08,
  #top09,
  #top10,
  #top11,
  #top12,
  #top13,
  #top14,
  #top15 {
    max-width: 1200px;
    padding: 40px 0;
  }
}

/*メインビジュアル*/
.mv {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 650px;
}
@media (min-width: 768px) {
  .mv {
    min-height: 850px;
  }
}

.mv__slides {
  position: absolute;
  inset: 0;
  z-index: 0;
  height: 100vh;
  min-height: 650px;
}
@media (min-width: 768px) {
  .mv__slides {
    min-height: 850px;
  }
}
.mv__slides .slick-list,
.mv__slides .slick-track,
.mv__slides .slick-slide,
.mv__slides .slick-slide > div {
  height: 100%;
}

.mv__slide {
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.mv__slide--01 {
  background-image: url("../img/top/mv_bg01_sp.jpg");
}
@media (min-width: 768px) {
  .mv__slide--01 {
    background-image: url("../img/top/mv_bg01.jpg");
  }
}
.mv__slide--02 {
  background-image: url("../img/top/mv_bg02_sp.jpg");
}
@media (min-width: 768px) {
  .mv__slide--02 {
    background-image: url("../img/top/mv_bg02.jpg");
  }
}
.mv__slide--03 {
  background-image: url("../img/top/mv_bg03_sp.jpg");
}
@media (min-width: 768px) {
  .mv__slide--03 {
    background-image: url("../img/top/mv_bg03.jpg");
  }
}

.mv__container {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 40%;
}
@media (min-width: 768px) {
  .mv__container {
    padding-top: 5%;
  }
}
.mv__container::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 3%, rgb(0, 0, 0) 3%, rgba(0, 0, 0, 0) 65%);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.mv__texts {
  position: relative;
  z-index: 1;
  width: 100%;
}

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

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

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

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

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

/* ------------
aboutセクション
------------- */
.about {
  position: relative;
  z-index: 1;
}
.about #top01 {
  max-width: 1257px;
}

.top01__header {
  max-width: 1090px;
  width: 100%;
  margin-inline: auto;
}

.top01__lead {
  max-width: 771px;
}

.top01__heading {
  font-size: 20px;
  line-height: 2.37;
  letter-spacing: 0.35em;
}
@media (min-width: 768px) {
  .top01__heading {
    font-size: 2.3183925811vw;
  }
}
@media (min-width: 1294px) {
  .top01__heading {
    font-size: 30px;
  }
}

.top01__flex {
  row-gap: 4em;
}

.top01__btnBox {
  max-width: 452px;
  width: 100%;
  margin-inline: auto;
}

/* ------------------------
newsセクション
------------------------- */
.news #top02 {
  max-width: 1060px;
}

.news__flex {
  row-gap: 0;
}

.news__header {
  width: 100%;
  display: contents;
}
@media (min-width: 768px) {
  .news__header {
    width: 28.87%;
    display: block;
  }
}

.news__heading {
  font-size: 24.8px;
  letter-spacing: 0.34em;
}
@media (min-width: 768px) {
  .news__heading {
    font-size: 31px;
  }
}

.news__body {
  margin-top: 3em;
}
@media (min-width: 768px) {
  .news__body {
    margin-top: 0;
  }
}

.news__link {
  order: 99;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  transition: all 0.25s ease-out;
  margin-top: 5em;
}
@media (min-width: 768px) {
  .news__link {
    order: unset;
    justify-content: flex-start;
    margin-top: 2.5em;
  }
}
.news__link:hover {
  transform: translateX(5px);
}
.news__link::before {
  content: "";
  display: inline-block;
  width: 29.8px;
  aspect-ratio: 29.8/7;
  background: url("../img/common/icon_arrow_gray.svg") center/contain no-repeat;
}

.news__body {
  flex: 1;
}

.news__postItem {
  border-bottom: 1px solid #4d4d4d;
}
.news__postItem:first-child .news__postLink {
  padding-top: 0;
}
@media (min-width: 768px) {
  .news__postItem:first-child .news__postLink {
    padding-top: 1em;
  }
}

.news__postLink {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding-block: 2em;
  padding-inline: 1em;
  gap: 1em;
}
@media (min-width: 768px) {
  .news__postLink {
    align-items: center;
    gap: 0;
  }
}

.news__tags {
  margin-left: 0;
}
@media (min-width: 768px) {
  .news__tags {
    margin-left: 7.9%;
  }
}

.news__tag {
  padding-block: 5px;
  padding-inline: 1em;
}

.news__title {
  width: 100%;
  margin-left: 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (min-width: 768px) {
  .news__title {
    margin-left: 5.3%;
    flex: 1;
  }
}

.new__text {
  padding-left: 0;
}
@media (min-width: 768px) {
  .new__text {
    padding-left: 1.5em;
  }
}

.news__btnBox {
  max-width: 452px;
  width: 100%;
  padding-left: 0;
}
@media (min-width: 768px) {
  .news__btnBox {
    padding-left: 1em;
  }
}

/* ------------
WORK、FITNESS、GOLFセクション
------------- */
.topDetails #top03 {
  max-width: 1040px;
}

.topDetails__title {
  font-size: 35px;
  letter-spacing: 0.34em;
}
@media (min-width: 768px) {
  .topDetails__title {
    font-size: 43.8px;
  }
}

.topDetails__item {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: 0;
  aspect-ratio: 1/.8;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
@media (min-width: 768px) {
  .topDetails__item {
    width: calc(50vw - 50% + 100%);
    margin-right: calc(50% - 50vw);
    aspect-ratio: 1353/772.6;
    margin-inline: auto 0;
    height: auto;
    min-height: unset;
    min-height: unset;
  }
}
.topDetails__item .topDetails__inner::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(35, 24, 21, 0.5) 0%, rgba(35, 24, 21, 0.5) 30%, rgba(35, 24, 21, 0.5) 30%, rgba(35, 24, 21, 0) 90%, rgba(35, 24, 21, 0) 100%);
}
.topDetails__item.work {
  background: url("../img/top/tentative_bg01.jpg") center/cover no-repeat;
}
.topDetails__item.fitness {
  background: url("../img/top/tentative_bg02.jpg") 50% center/cover no-repeat;
}
@media (min-width: 768px) {
  .topDetails__item.fitness {
    background: url("../img/top/tentative_bg02.jpg") center/cover no-repeat;
  }
}
.topDetails__item.golf {
  background: url("../img/top/tentative_bg03.jpg") center/cover no-repeat;
}
@media (min-width: 768px) {
  .topDetails__item.golf .topDetails__heading {
    padding-left: 57px;
  }
}

.topDetails__texts {
  position: relative;
  z-index: 1;
  max-width: 896px;
  width: 88%;
  margin-inline: auto;
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  .topDetails__texts {
    margin-bottom: 0;
  }
}

.topDetails__catch {
  padding-left: 0.5em;
}

.topDetails__textBox {
  max-width: 490px;
  width: 100%;
  padding-top: 1em;
}
@media (min-width: 768px) {
  .topDetails__textBox {
    padding-top: 6em;
    padding-left: 1em;
  }
}

.topDetails__heading {
  display: block;
  position: relative;
  top: 15%;
  font-size: 80px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.25);
}
@media (min-width: 768px) {
  .topDetails__heading {
    position: absolute;
    top: unset;
    bottom: -29px;
    left: 0;
    font-size: 21.5454545455vw;
  }
}
@media (min-width: 1100px) {
  .topDetails__heading {
    font-size: 196px;
  }
}

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

.topDetails__btnBox {
  max-width: 452px;
}

/* ========================================
   topSystem（共同オーナー制）
======================================== */
.topSystem {
  position: relative;
  background-color: #000;
  width: 100%;
  padding-top: 290px;
}
@media (min-width: 768px) {
  .topSystem {
    padding-top: 670px;
  }
}
.topSystem::before {
  content: "";
  display: inline-block;
  aspect-ratio: 3946/4075;
  background: url("../img/top/tentative_bg04.png") center/contain no-repeat;
  width: 700px;
  position: absolute;
  top: -9%;
  right: 0;
}
@media (min-width: 768px) {
  .topSystem::before {
    background-position: center;
    width: 1849px;
    top: -15%;
    right: -13%;
  }
}
.topSystem > article {
  position: relative;
  z-index: 1;
}
.topSystem #top06 {
  position: relative;
  z-index: 1;
  max-width: 1042px;
  width: 88%;
  margin-inline: auto;
}

.topSystem__heading {
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.48em;
}
@media (min-width: 768px) {
  .topSystem__heading {
    font-size: 4.6363636364vw;
  }
}
@media (min-width: 1100px) {
  .topSystem__heading {
    font-size: 51px;
  }
}

.topSystem__childHeading {
  font-size: 23px;
  line-height: 2.38;
  letter-spacing: 0.48em;
}
@media (min-width: 768px) {
  .topSystem__childHeading {
    font-size: 29.8px;
  }
}

.topSystem__subHeading {
  /* font-size: 18px; */
  letter-spacing: 0.26em;
}
@media (min-width: 768px) {
  .topSystem__subHeading {
    font-size: 2.2727272727vw;
  }
}
@media (min-width: 1100px) {
  .topSystem__subHeading {
    font-size: 25px;
  }
}

.topSystem__texts {
  max-width: 1040px;
}

.topSystem__note {
  display: flex;
  gap: 0.5em;
}

.topSystem__plans {
  flex-direction: column;
  gap: 60px 30px;
}
@media (min-width: 768px) {
  .topSystem__plans {
    flex-direction: row;
    justify-content: center;
  }
}

.topSystem__planCard {
  flex: 1;
  border: 1px solid #828282;
  padding: 1.8em 1.5em 2.5em;
  max-width: 400px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .topSystem__planCard {
    max-width: 433px;
    margin-inline: 0;
  }
}

.topSystem__planBody {
  width: 81%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .topSystem__planBody {
    width: 70%;
  }
}

.topSystem__planTitle {
  background: #fff;
  border-radius: 32px;
  text-align: center;
  width: 89%;
  margin-inline: auto;
  padding: 9px 1em;
  line-height: 2.2;
  letter-spacing: 0.06em;
  margin-top: -53px;
}
@media (min-width: 768px) {
  .topSystem__planTitle {
    margin-top: -16%;
  }
}

.topSystem__planNote {
  letter-spacing: 0.06em;
}

.topSystem__planPrice {
  display: flex;
  align-items: baseline;
  gap: 0.3em;
  font-size: 29px;
  margin-top: 0.9em;
}
.topSystem__planPrice:first-child {
  margin-top: 2em;
}
@media (min-width: 768px) {
  .topSystem__planPrice:first-child {
    margin-top: 2em;
  }
}

.topSystem__planAmount {
  font-size: 63px;
  font-style: italic;
  line-height: 1;
  margin-inline: 10px;
}
@media (min-width: 768px) {
  .topSystem__planAmount {
    font-size: 5.7272727273vw;
  }
}
@media (min-width: 1100px) {
  .topSystem__planAmount {
    font-size: 63px;
  }
}

.topSystem__planUnit,
.topSystem__planSuffix {
  letter-spacing: 0.06em;
}

.topSystem__salesTitle {
  letter-spacing: 0.1em;
}

.topSystem__soldBar {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 784px;
  width: 100%;
  margin-inline: auto;
  padding: 0.8em 1.2em;
}

.topSystem__soldText {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.3em;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
  .topSystem__soldText {
    justify-content: center;
  }
}

.topSystem__soldCount {
  font-size: 30px;
  font-style: italic;
  line-height: 1;
  margin-left: 0.5rem;
}
@media (min-width: 768px) {
  .topSystem__soldCount {
    font-size: 47px;
    margin-left: 1.5rem;
  }
}

.topSystem__unit {
  font-size: 30px;
}

.topSystem__soldNote {
  align-self: center;
  justify-self: end;
  letter-spacing: 0.04em;
  margin-left: 0;
}
@media (min-width: 768px) {
  .topSystem__soldNote {
    margin-left: 1.5rem;
    justify-self: center;
  }
}

.topSystem__btnBox {
  max-width: 452px;
  width: 100%;
  margin-inline: auto;
}

/* ========================================
   topOverview（施設概要）
======================================== */
.topOverview #top05 {
  max-width: 1050px;
}

.topOverview__heading {
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.48em;
}
@media (min-width: 768px) {
  .topOverview__heading {
    font-size: 3.3636363636vw;
  }
}
@media (min-width: 1100px) {
  .topOverview__heading {
    font-size: 37px;
  }
}

.topOverview__lead {
  max-width: 660px;
}

.topOverview__mapWrap {
  width: calc((100vw - 100%) / 2 + 100%);
  aspect-ratio: 4/3;
}
@media (min-width: 768px) {
  .topOverview__mapWrap {
    aspect-ratio: 1325/399;
    height: 399px;
  }
}
.topOverview__mapWrap iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
}

.topOverview__infoRow {
  display: flex;
  align-items: flex-start;
  gap: 1.5em;
  padding: 0.3em 0;
}
@media (min-width: 768px) {
  .topOverview__infoRow {
    gap: 3em;
  }
}

.topOverview__infoLabel {
  text-align: center;
  border: 1px solid #828282;
  border-radius: 14.4px;
  max-width: 90px;
  width: 100%;
  line-height: 2.2;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .topOverview__infoLabel {
    max-width: 142px;
  }
}

.topOverview__infoValue {
  flex: 1;
  line-height: 2;
}

.topOverview__btnBox {
  max-width: 452px;
  width: 100%;
}

/* ========================================
   topPreview（内覧会のご案内）
======================================== */
.topPreview #top07 {
  max-width: 814px;
  padding-top: 0;
  padding-bottom: 0;
}

.topPreview__heading {
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.48em;
}
@media (min-width: 768px) {
  .topPreview__heading {
    font-size: 4.4545454545vw;
  }
}
@media (min-width: 1100px) {
  .topPreview__heading {
    font-size: 49px;
  }
}

.topPreview__body {
  padding-inline: 0.5em;
}

.topPreview__dateRange {
  display: flex;
  align-items: baseline;
  gap: 0.2em;
  font-size: 48px;
  line-height: 1.2;
  margin-top: -0.5rem;
}
@media (min-width: 768px) {
  .topPreview__dateRange {
    font-size: 59px;
  }
}
@media (min-width: 768px) {
  .topPreview__dateRange {
    font-size: 5.9090909091vw;
  }
}
@media (min-width: 1100px) {
  .topPreview__dateRange {
    font-size: 65px;
  }
}
.topPreview__dateRange span > span {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: 0.49em;
  margin-inline: 0.1em;
  transform: translateY(-0.12em);
}

.topPreview__dateStart {
  margin-right: 1rem;
}
@media (min-width: 768px) {
  .topPreview__dateStart {
    margin-right: 3rem;
  }
}

.topPreview__dateSep {
  font-size: 0.33em;
  align-self: center;
  transform: translateY(10px);
}

.topPreview__lineBox {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2em;
}

@media (min-width: 768px) {
  .topPreview__lineBox {
    flex-direction: row;
    justify-content: flex-start;
    gap: 3em;
  }
}

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

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

.topPreview__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) {
  .topPreview__lineBtn {
    width: 100%;
    max-width: 335px;
  }
}
.topPreview__lineBtn:hover img {
  display: block;
  transform: translateY(0) !important;
}

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


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

/* ========================================
   topForm（お問い合わせフォーム）
======================================== */
.topForm #top08 {
  max-width: 754px;
  padding-top: 1.5em;
}

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

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

.topForm__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) {
  .topForm__required {
    font-size: 14px;
    padding: 2px 12px;
  }
}

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

.topForm__fieldWrap {
  overflow: hidden;
}

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

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

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

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

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

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

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

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

.topForm__submitWrap {
  text-align: center;
}

.topForm__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;
}
.topForm__submit:hover {
  transform: translateY(-6px);
}