@charset "utf-8";

:root {
  --margin-top: 0px;
  --margin-bottom: 0px;
  --leading-trim: ((1em - 1lh) / 2);
}
/* .eb {
  font-family: "EB Garamond", serif;
}
.notoeb {
  font-family: YakuHanMP, "EB Garamond", "Noto Serif JP", serif;
} */
.medium {
  font-weight: 500;
}
@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}



.merit-kv{
  position: relative;
  z-index: 1;
  margin-bottom: -1px;
  line-height: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  background: #fff;
}
@media screen and (max-width: 1500px) {
  .merit-kv {
    padding-top: 100px;
  }
}
@media screen and (max-width: 480px){
  .merit-kv {
    padding-top: 0;
  }
}



.intro {
  padding-top: 70px;
  padding-bottom: 150px;
  line-height: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  background: #D2E9E1;
}
/* .intro__desc {
} */
.intro__desc__heading {
  max-width: 1004px;
}
.intro__desc__copy {
  font-size: clamp(14px, calc(20 / 1200 * 100vw), 20px);
  line-height: 2.65;
  margin-top: calc(60px + var(--leading-trim));
  margin-bottom: calc(var(--leading-trim));
}
.intro__desc__copy em {
  font-size: 150%;
  font-style: normal;
  line-height: 0;
  background: linear-gradient(0deg, #FFDB00, #FFDB00) no-repeat bottom .1em left 0/100% calc(8 / 30 * 1em);
}
.intro__desc__copy em em {
  font-size: calc(200 / 150 * 100%);
  background: none;
}
.intro__list {
  max-width: 1360px;
  margin-top: 85px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
}
/* .intro__list__item {
}
.intro__list__item__link {
} */
@media screen and (min-width: 481px) and (max-width: 767px) {
  .intro__list {
    max-width: 400px;
    grid-template-columns: 100%;
  }
}
@media screen and (max-width: 480px){
  .intro {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .intro__desc__copy {
    font-size: calc(16 / 380 * 100vw);
    line-height: 2.3125;
    margin-top: calc(40px + var(--leading-trim));
  }
  .intro__desc__copy em {
    background-size: 100% calc(6 / 24 * 1em);
  }
  .intro__list {
    margin-top: 45px;
    grid-template-columns: 100%;
    gap: 20px 0;
  }
}



.heading {
  font-size: clamp(20px, calc(30 / 1200 * 100vw), 30px);
  line-height: 1.6;
  margin-top: calc(var(--margin-top) + var(--leading-trim));
  margin-bottom: calc(var(--margin-bottom) + var(--leading-trim));
}
.subheading {
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.6;
  margin-top: calc(var(--margin-top) + var(--leading-trim));
  margin-bottom: calc(var(--margin-bottom) + var(--leading-trim));
}
.subheading sup {
  font-size: 58.3%;
  vertical-align: super;
}
.copy {
  font-size: clamp(14px, calc(20 / 1200 * 100vw), 20px);
  line-height: 2.5;
  margin-top: calc(var(--margin-top) + var(--leading-trim));
  margin-bottom: calc(var(--margin-bottom) + var(--leading-trim));
}
.copy2 {
  font-size: clamp(11px, calc(16 / 1200 * 100vw), 16px);
  line-height: 2.125;
  margin-top: calc(var(--margin-top) + var(--leading-trim));
  margin-bottom: calc(var(--margin-bottom) + var(--leading-trim));
}
.caution {
  font-size: clamp(10px, calc(11 / 1200 * 100vw), 11px);
  line-height: 2.125;
  margin-top: calc(var(--margin-top) + var(--leading-trim));
  margin-bottom: calc(var(--margin-bottom) + var(--leading-trim));
}
@media screen and (max-width: 480px){
  .heading {
    font-size: calc(25 / 380 * 100vw);
    line-height: 1.44;
  }
  .subheading {
    font-size: calc(18 / 380 * 100vw);
    line-height: 1.44;
  }
  .copy {
    font-size: calc(16 / 380 * 100vw);
    line-height: 2.25;
  }
  .copy2 {
    font-size: calc(16 / 380 * 100vw);
  }
}



.point {
  line-height: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  background: #fff;
}
.point--1 {
  padding-top: 120px;
}
.point .inner {
  max-width: 1360px;
}
.point .flex {
  flex-wrap: wrap;
}
.point__heading img {
  display: block;
  width: calc((var(--window-half-width) - 50%) + 100%);
  max-width: none;
}
.point--1 .point__copy {
  margin-top: 100px;
}
.point__point1item {
  margin-top: 110px;
}
.point__point1item__group {
  position: relative;
  z-index: 1;
  align-items: flex-start;
  padding-bottom: 200px;
  background: linear-gradient(180deg, transparent calc(260 / 1920 * 100vw), #FFF7F9 calc(260 / 1920 * 100vw));
}
.point__point1item:nth-of-type(even) .point__point1item__group {
  flex-direction: row-reverse;
}
.point__point1item__group__photo {
  width: calc(1100 / 1920 * 100%);
}
.point__point1item:nth-of-type(even) .point__point1item__group__photo .p-caption {
  left: auto;
  right: 0;
}
.point__point1item__group__desc {
  flex: 1;
  box-sizing: border-box;
  padding-top: calc(370 / 1920 * 100vw);
  padding-inline: calc(160 / 1920 * 100%);
}
.point__point1item__group__desc__enheading {
  height: clamp(14px, calc(20 / 1200 * 100vw), 20px);
}
.point__point1item__group__desc__enheading img {
  height: 100%;
  object-fit: contain;
  object-position: top left;
}
.point__point1item__group__desc__heading {
  --margin-top: 30px;
}
.point__point1item__group__desc__copy {
  --margin-top: 60px;
}
.point__point1item__list {
  position: relative;
  z-index: 2;
  margin-top: -100px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 60px calc(40 / 1360 * 100%);
}
/* .point__point1item__list__item {
} */
.point__point1item:nth-of-type(even) .point__point1item__list__item:nth-child(1) {
  grid-column: 3 / 4;
}
.point__point1item:nth-of-type(even) .point__point1item__list__item:nth-child(2) {
  grid-column: 4 / 5;
}
/* .point__point1item__list__item__photo {
} */
.point__point1item__list__item__heading {
  --margin-top: 25px;
  margin-inline: -.5em;
}
.point__point1item__list__item__copy {
  --margin-top: 30px;
}
.point__point1item__list__item__caution {
  --margin-top: 15px;
}
.point__point1item--park .point__point1item__group::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  margin-top: calc(100 / 1920 * -100%);
  margin-right: calc(233 / 1920 * 100%);
  width: calc(366 / 1920 * 100%);
  padding-top: calc(243 / 1920 * 100%);
  background: url(../images/merit/icon_park.svg) no-repeat center/100% auto;
}
.point__point1item--lounge .point__point1item__group::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  margin-bottom: calc(185 / 1920 * -100%);
  margin-left: calc(302 / 1920 * 100%);
  width: calc(436 / 1920 * 100%);
  padding-top: calc(235 / 1920 * 100%);
  background: url(../images/merit/icon_lounge.svg) no-repeat center/100% auto;
}
.point__point1item--kids .point__point1item__group::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  margin-bottom: calc(231 / 1920 * -100%);
  margin-right: calc(231 / 1920 * 100%);
  width: calc(524 / 1920 * 100%);
  padding-top: calc(374 / 1920 * 100%);
  background: url(../images/merit/icon_kids.svg) no-repeat top right/calc(334 / 524 * 100%) auto,
              url(../images/merit/icon_kids2.svg) no-repeat bottom left/calc(173 / 524 * 100%) auto;
}
.point__point1other {
  max-width: 1360px;
  margin-top: 100px;
  box-sizing: border-box;
  padding: 100px 30px;
  background: #FFF7F9;
}
/* .point__point1other__heading {
} */
.point__point1other__copy {
  text-align: center;
  --margin-top: 55px;
}
.point__point1other__list {
  max-width: 1010px;
  margin-top: 90px;
  margin-inline: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px calc(40 / 1010 * 100%);
}
/* .point__point1other__list__item {
}
.point__point1other__list__item__photo {
} */
.point__point1other__list__item__heading {
  --margin-top: 25px;
}
.point__btn.inner {
  max-width: 530px;
}
.point__btn__link {
  width: 100%;
  min-height: calc(100 / 20 * 1em);
  border-radius: 5px;
  box-sizing: border-box;
  padding: .5em calc(40 / 20 * 1em);
  font-size: clamp(14px, calc(20 / 1200 * 100vw), 20px);
  letter-spacing: .04em;
  line-height: 1.2;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5.736" height="10.584" viewBox="0 0 5.736 10.584"><polygon points=".727 10.584 0 9.896 4.359 5.292 0 .688 .727 0 5.736 5.292 .727 10.584" fill="%23dfdfdf"/></svg>') no-repeat center right calc(18 / 20 * 1em)/calc(6 / 20 * 1em) auto #000;
}
.point--1 .point__btn {
  margin-top: 100px;
}
@media screen and (max-width: 480px){
  .point--1 {
    padding-top: 30px;
  }
  .point--1 .point__copy {
    margin-top: 60px;
  }
  .point__point1item {
    margin-top: 60px;
  }
  .point__point1item__group {
    padding-bottom: 120px;
    background: #FFF7F9;
  }
  .point__point1item__group__photo {
    width: 100%;
  }
  .point__point1item:nth-of-type(odd) .point__point1item__group__photo .p-caption {
    left: auto;
    right: 0;
  }
  .point__point1item__group__desc {
    flex: 1 0 100%;
    padding-top: 65px;
    padding-inline: 20px;
  }
  .point__point1item__group__desc__enheading {
    height: calc(14 / 380 * 100vw);
  }
  .point__point1item__group__desc__copy {
    --margin-top: 40px;
  }
  .point__point1item__list {
    margin-top: -60px;
    grid-template-columns: 100%;
    gap: 35px 0;
    width: calc(310 / 380 * 100vw);
  }
  .point__point1item:nth-of-type(even) .point__point1item__list__item:nth-child(1) {
    grid-column: auto;
  }
  .point__point1item:nth-of-type(even) .point__point1item__list__item:nth-child(2) {
    grid-column: auto;
  }
  .point__point1item__list__item__heading {
    --margin-top: 20px;
  }
  .point__point1item__list__item__copy {
    --margin-top: 20px;
  }
  .point__point1item__list__item__caution {
    --margin-top: 10px;
  }
  .point__point1item--park {
    margin-top: 190px;
  }
  .point__point1item--park .point__point1item__group::before {
    margin-top: calc(167 / 380 * -100%);
    margin-right: calc(46 / 380 * 100%);
    width: calc(167 / 380 * 100%);
    padding-top: calc(111 / 380 * 100%);
  }
  .point__point1item--lounge .point__point1item__group::before {
    margin-bottom: calc(91 / 380 * -100%);
    margin-left: calc((380 - 260) / 2vw);
    width: calc(260 / 380 * 100%);
    padding-top: calc(140 / 380 * 100%);
  }
  .point__point1item--lounge .point__point1item__list {
    margin-top: 155px;
  }
  .point__point1item--kids .point__point1item__group::before {
    margin-bottom: calc(55 / 380 * -100%);
    margin-right: calc(((380 - 199) / 2) / 380 * 100vw);
    width: calc(199 / 380 * 100%);
    padding-top: calc(110 / 380 * 100%);
    background: url(../images/merit/icon_kids.svg) no-repeat center/100% auto;
  }
  .point__point1item--kids .point__point1item__list {
    margin-top: 130px;
  }
  .point__point1other {
    margin-top: 60px;
    padding: 60px 20px;
  }
  .point__point1other__copy {
    text-align: justify;
    --margin-top: 45px;
  }
  .point__point1other__list {
    margin-top: 60px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 10px;
  }
  .point__point1other__list__item:nth-child(3) {
    margin-left: calc(50% + 10px);
    margin-right: calc(-50% + -10px);
  }
  .point__point1other__list__item__heading {
    --margin-top: 20px;
  }
  .point__btn.inner {
    max-width: 320px;
  }
  .point__btn__link {
    min-height: calc(80 / 16 * 1em);
    border-radius: 4px;
    padding: .5em;
    font-size: 16px;
    background-position: center right 20px;
    background-size: 6px auto;
  }
  .point--1 .point__btn {
    margin-top: 60px;
  }
}



.point--2 {
  padding-top: 150px;
}
.point__point2item {
  position: relative;
  z-index: 1;
  max-width: 1620px;
  align-items: center;
}
.point__point2item:nth-of-type(even) {
  flex-direction: row-reverse;
}
.point__point2item::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #F9FBEF;
}
.point__point2item:nth-of-type(odd)::before {
  margin-left: calc(50% - var(--window-half-width));
}
.point__point2item:nth-of-type(even)::before {
  margin-right: calc(50% - var(--window-half-width));
}
.point__point2item__photo {
  width: calc(800 / 1620 * 100%);
  margin-top: -100px;
  margin-bottom: 100px;
}
.point__point2item__desc {
  width: min(calc(100% - (800 / 1620 * 100%) - 60px), 500px);
  margin-inline: auto;
  padding-block: 100px;
}
/* .point__point2item__desc__heading {
} */
.point__point2item__desc__copy {
  --margin-top: 55px;
}
.point__point2item--alsok {
  margin-top: 140px;
}
.point__point2item--support {
  margin-top: 190px;
}
.point__point2item--support .point__point2item__photo {
  margin-top: -90px;
  margin-bottom: 90px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 0 calc(40 / 800 * 100%);
}
.point__point2item--support .point__point2item__photo__item--2 {
  margin-top: 29px;
}
.point__point2item--floor {
  margin-top: 210px;
}
.point--2 .point__btn {
  margin-top: 90px;
}
@media screen and (max-width: 480px){
  .point--2 {
    padding-top: 85px;
  }
  .point__point2item:nth-of-type(odd)::before {
    margin-left: 0;
  }
  .point__point2item:nth-of-type(even)::before {
    margin-right: 0;
  }
  .point__point2item__photo {
    width: 100%;
    margin-top: -225px;
    margin-bottom: -50px;
  }
  .point__point2item__desc {
    width: calc(100% - 40px);
    padding-top: 110px;
    padding-bottom: 60px;
  }
  .point__point2item__desc__copy {
    --margin-top: 45px;
  }
  .point__point2item--alsok {
    margin-top: 285px;
  }
  .point__point2item--support {
    margin-top: 285px;
  }
  .point__point2item--support .point__point2item__photo {
    margin-top: -225px;
    margin-bottom: -50px;
    gap: 0 20px;
  }
  .point__point2item--support .point__point2item__photo__item--2 {
    margin-top: 15px;
  }
  .point__point2item--floor {
    margin-top: 285px;
  }
  .point--2 .point__btn {
    margin-top: 60px;
  }
}



.point--3 {
  padding-top: 150px;
}
.point--3 .point__copy {
  --margin-top: 30px;
}
.point__point3merit {
  max-width: 1360px;
  margin-top: 100px;
  box-sizing: border-box;
  padding: 100px min(calc(70 / 1360 * 100%), 70px) 80px;
  background: #F3FAFC;
}
/* .point__point3merit__heading {
} */
.point__point3merit__heading em {
  font-size: 150%;
  font-style: normal;
  line-height: 0;
  color: #009ea6;
}
.point__point3merit__list {
  margin-top: 55px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 40px;
}
/* .point__point3merit__list__item {
} */
.point--3 .point__btn {
  margin-top: 90px;
}
@media screen and (min-width: 481px) and (max-width: 767px) {
  .point__point3merit__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 480px){
  .point--3 {
    padding-top: 85px;
  }
  .point--3 .point__copy {
    --margin-top: 60px;
    letter-spacing: -.05em;
    white-space: nowrap;
  }
  .point__point3merit {
    margin-top: 60px;
    padding: 60px 20px 45px;
  }
  .point__point3merit__heading {
    line-height: 1.52;
  }
  .point__point3merit__list {
    grid-template-columns: 100%;
    gap: 30px 0;
  }
  .point--3 .point__btn {
    margin-top: 60px;
  }
}



.point--4 {
  padding-block: 150px;
}
/* .point__point4item {
} */
.point__point4item--plan {
  margin-top: 30px;
}
.point__point4item__group {
  align-items: flex-start;
  padding-bottom: 100px;
  background: linear-gradient(180deg, transparent calc(260 / 1920 * 100vw), #F6F7FD calc(260 / 1920 * 100vw));
}
.point__point4item__group__photo {
  width: calc(1100 / 1920 * 100%);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* .point__point4item__group__photo__item {
} */
.point__point4item__group__photo__item--1 {
  grid-column: 1 / 3;
}
/* .point__point4item__group__photo__item--2 {
}
.point__point4item__group__photo__item--3 {
} */
.point__point4item__group__desc {
  flex: 1;
  box-sizing: border-box;
  padding-top: calc(360 / 1920 * 100vw);
  padding-inline: calc(160 / 1920 * 100%);
}
/* .point__point4item__group__desc__copy {
} */
.point__point4item__group__desc__catch {
  margin-top: 60px;
}
.point--4 .point__copy {
  position: relative;
  z-index: 1;
  --margin-top: 100px;
}
.point--4 .point__copy::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  margin-left: calc(33 / 1360 * 100%);
  width: calc(237 / 1360 * 100%);
  padding-top: calc(160 / 1360 * 100%);
  background: url(../images/merit/icon_plan.svg) no-repeat center/100% auto;
}
.point__snowpeak {
  margin-top: 185px;
  padding-bottom: 100px;
  background: #E6E6E6;
}
.point__snowpeak__heading {
  height: 0;
}
.point__snowpeak__heading img {
  display: block;
  transform: translateY(-50%);
}
.point__snowpeak__copy {
  --margin-top: 185px;
}
.point__snowpeak__group {
  margin-top: 100px;
  gap: 60px calc(100 / 1920 * 100%);
}
.point__snowpeak__group__photo {
  width: calc(1200 / 1920 * 100%);
  align-self: flex-start;
}
.point__snowpeak__group__desc {
  flex: 0 1 auto;
  max-width: calc(100% - (1200 / 1920 * 100%) - (100 / 1920 * 100%) - 30px);
}
.point__snowpeak__group__desc__enheading {
  height: clamp(46px, calc(66 / 1200 * 100vw), 66px);
}
.point__snowpeak__group__desc__enheading img {
  height: 100%;
  object-fit: contain;
  object-position: top left;
}
.point__snowpeak__group__desc__copy {
  --margin-top: 45px;
}
.point__snowpeak__group__desc::after {
  content: "";
  display: block;
  margin-top: 100px;
}
.point__snowpeak__group--home .point__snowpeak__group__desc::after {
  width: calc(307 / 1920 * 100vw);
  padding-top: calc(137 / 1920 * 100vw);
  margin-left: calc(61 / 1920 * 100vw);
  background: url(../images/merit/icon_home.svg) no-repeat center/100% auto;
}
.point__snowpeak__group--active .point__snowpeak__group__desc::after {
  width: calc(254 / 1920 * 100vw);
  padding-top: calc(175 / 1920 * 100vw);
  margin-left: calc(66 / 1920 * 100vw);
  background: url(../images/merit/icon_active.svg) no-repeat center/100% auto;
}
.point--4 .point__btn {
  max-width: none;
  margin-top: 100px;
  gap: 50px;
}
.point--4 .point__btn a {
  width: min(100%, 530px);
}
@media screen and (min-width: 481px) and (max-width: 809px) {
  .point--4 .point__copy::before {
    content: none;
  }
}
@media screen and (max-width: 480px){
  .point--4 {
    padding-block: 85px;
  }
  .point__point4item--plan {
    margin-top: 60px;
  }
  .point__point4item__group {
    padding-bottom: 60px;
    background: #F6F7FD;
  }
  .point__point4item__group__photo {
    width: 100%;
  }
  .point__point4item__group__desc {
    flex: 1 0 100%;
    padding-top: 60px;
    padding-inline: 20px;
  }
  .point__point4item__group__desc__copy {
    text-align: center !important;
  }
  .point--4 .point__copy {
    --margin-top: 60px;
    text-align: justify !important;
  }
  .point--4 .point__copy::before {
    top: 100%;
    left: auto;
    right: 0;
    transform: none;
    margin-left: 0;
    width: calc(152 / 340 * 100%);
    padding-top: calc(103 / 340 * 100%);
  }
  .point__snowpeak {
    margin-top: 240px;
    padding-bottom: 60px;
  }
  .point__snowpeak__copy {
    --margin-top: 100px;
  }
  .point__snowpeak__group.jc-s {
    margin-top: 60px;
    gap: 30px 0;
    justify-content: center;
  }
  .point__snowpeak__group__photo {
    width: calc(300 / 380 * 100%);
    margin-right: auto;
  }
  .point__snowpeak__group__desc {
    flex: 1 0 100%;
    max-width: calc(100% - 80px);
  }
  .point__snowpeak__group__desc__enheading {
    height: calc(37 / 380 * 100vw);
  }
  .point__snowpeak__group__desc__copy {
    --margin-top: 30px;
  }
  .point__snowpeak__group__desc::after {
    margin-top: 35px;
  }
  .point__snowpeak__group--home .point__snowpeak__group__desc::after {
    width: calc(168 / 380 * 100vw);
    padding-top: calc(75 / 380 * 100vw);
    margin-left: auto;
  }
  .point__snowpeak__group--active {
    margin-top: 35px;
  }
  .point__snowpeak__group--active .point__snowpeak__group__photo {
    margin-left: auto;
    margin-right: 0;
  }
  .point__snowpeak__group--active .point__snowpeak__group__desc::after {
    width: calc(86 / 380 * 100vw);
    padding-top: calc(59 / 380 * 100vw);
    margin-left: auto;
    margin-top: -39px;
    margin-right: -5px;
  }
  .point--4 .point__btn {
    max-width: none;
    margin-top: 60px;
    gap: 20px 0;
  }
  .point--4 .point__btn a {
    width: 100%;
  }
}