/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
/  function                                                  */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
/  mixin                                                     */
.p-everyday__inner {
  padding-block: 64px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-everyday__inner {
    padding-block: 48px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-everyday__inner {
    padding-block: 32px;
  }
}
.p-everyday__row {
  display: grid;
  align-items: start;
  justify-content: space-between;
  grid-template-columns: repeat(2, minmax(0, auto));
  grid-template-areas: "img cont";
  column-gap: var(--gutter);
  max-width: 1076px;
}
@media screen and (max-width: 1024px) {
  .p-everyday__row {
    grid-template: "img" auto "cont" auto/auto;
    justify-items: center;
    justify-content: center;
    row-gap: 35px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-everyday__row {
    row-gap: 24px;
  }
}
.p-everyday__cont {
  grid-area: cont;
  display: grid;
  row-gap: 48px;
  max-width: 492px;
}
@media screen and (min-width: 1024.02px) {
  .p-everyday__cont {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 1024px) {
  .p-everyday__cont {
    row-gap: 27px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-everyday__cont {
    row-gap: 6px;
    max-width: 93.7142857143cqw;
    margin-inline: auto;
  }
}
.p-everyday__img {
  grid-area: img;
}
@media screen and (min-width: 1024.02px) {
  .p-everyday__photos {
    display: contents;
  }
}
@media screen and (max-width: 1024px) {
  .p-everyday__photos {
    display: grid;
    width: min(573px, 100%);
    margin-inline: auto;
    isolation: isolate;
  }
}
@media screen and (min-width: 1024.02px) {
  .p-everyday__photos_item {
    display: contents;
  }
}
@media screen and (max-width: 1024px) {
  .p-everyday__photos_item {
    display: grid;
  }
}
@media screen and (max-width: 1024px) {
  .p-everyday__photos_item:nth-child(1) {
    grid-template: "photo ." auto/239fr 111fr;
  }
}
@media screen and (max-width: 1024px) {
  .p-everyday__photos_item:nth-child(2) {
    grid-template: ". photo" auto/167fr 183fr;
    margin-top: -24.5714285714%;
  }
}
.p-everyday__photo {
  grid-area: photo;
}
@media screen and (min-width: 1024.02px) {
  .p-everyday__photo:where(.--position-absolute) {
    position: absolute;
    right: 0;
    bottom: 0;
    translate: 0 50%;
  }
}
.p-everyday__photo img {
  object-fit: cover;
}

.p-outdoor__inner {
  padding-block: 64px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-outdoor__inner {
    padding-block: 48px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-outdoor__inner {
    padding-block: 32px;
  }
}
.p-outdoor__row {
  display: grid;
  align-items: center;
  justify-content: space-between;
  grid-template-columns: repeat(2, minmax(0, auto));
  grid-template-areas: "img cont";
  column-gap: var(--gutter);
  max-width: 997px;
}
@media screen and (max-width: 1024px) {
  .p-outdoor__row {
    grid-template: "img" auto "cont" auto/auto;
    justify-items: center;
    justify-content: center;
    row-gap: 35px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-outdoor__row {
    row-gap: 24px;
  }
}
.p-outdoor__cont {
  grid-area: cont;
  display: grid;
  row-gap: 48px;
  max-width: 492px;
}
@media screen and (max-width: 1024px) {
  .p-outdoor__cont {
    row-gap: 27px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-outdoor__cont {
    row-gap: 6px;
    max-width: 93.7142857143cqw;
    margin-inline: auto;
  }
}
.p-outdoor__img {
  grid-area: img;
}
.p-outdoor__photo {
  grid-area: photo;
}
@media screen and (min-width: 1024.02px) {
  .p-outdoor__photo {
    position: relative;
    bottom: 20px;
  }
}
.p-outdoor__photo img {
  object-fit: cover;
}
@media screen and (max-width: 599.98px) {
  .p-outdoor__photo img {
    width: max(229px, 65.4285714286cqw);
  }
}

@media screen and (min-width: 1024.02px) {
  .p-private {
    margin-top: -185px;
  }
}
.p-private__inner {
  padding-block: 64px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-private__inner {
    padding-block: 48px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-private__inner {
    padding-block: 32px;
  }
}
.p-private__row {
  display: grid;
  align-items: end;
  justify-content: space-between;
  grid-template-columns: repeat(2, minmax(0, auto));
  grid-template-areas: "cont img";
  column-gap: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .p-private__row {
    grid-template: "img" auto "cont" auto/auto;
    justify-items: center;
    justify-content: center;
    row-gap: 35px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-private__row {
    row-gap: 24px;
  }
}
.p-private__cont {
  grid-area: cont;
  display: grid;
  row-gap: 48px;
  max-width: 492px;
}
@media screen and (max-width: 1024px) {
  .p-private__cont {
    row-gap: 27px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-private__cont {
    row-gap: 6px;
    max-width: 93.7142857143cqw;
    margin-inline: auto;
  }
}
.p-private__img {
  grid-area: img;
}
.p-private__photo {
  grid-area: photo;
}
.p-private__photo img {
  object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .p-private__photo img {
    aspect-ratio: 350/220;
  }
}

.p-merit {
  padding-block: 32px;
}
@media screen and (max-width: 1024px) {
  .p-merit {
    padding-block: 24px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-merit {
    padding-block: 16px;
  }
}
.p-merit__ttl {
  width: fit-content;
  margin-right: -0.15em;
  margin-inline: auto;
  border-bottom: 1px solid;
  padding-bottom: 1px;
  font-weight: 600;
  line-height: 1.6153846154;
  font-size: 2.6rem;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-merit__ttl {
    font-size: 2.2rem;
    letter-spacing: 0.075em;
  }
}
@media screen and (max-width: 599.98px) {
  .p-merit__ttl {
    font-size: 1.8rem;
    letter-spacing: 0;
  }
}
.p-merit__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 32px;
  max-width: 830px;
  margin-top: 24px;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .p-merit__list {
    gap: 14px 22.5px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-merit__list {
    display: grid;
    gap: 8px 13px;
  }
}
.p-merit__list_item {
  border: 1px solid;
  border-radius: 6px;
  padding: 2px 9px;
  line-height: 1.3571428571;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-merit__list_item {
    line-height: 1.4615384615;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 599.98px) {
  .p-merit__list_item {
    padding: 1px 11px;
    line-height: 1.5833333333;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 599.98px) {
  .p-merit__list_item:where(:nth-child(1)) {
    order: -3;
  }
}
@media screen and (max-width: 599.98px) {
  .p-merit__list_item:where(:nth-child(2)) {
    order: -2;
  }
}
@media screen and (max-width: 599.98px) {
  .p-merit__list_item:where(:nth-child(3)) {
    order: -1;
  }
}
@media screen and (max-width: 599.98px) {
  .p-merit__list_item:where(:nth-child(4)) {
    order: 10;
    justify-self: center;
  }
}

.p-points {
  padding-block: 32px;
}
@media screen and (max-width: 1024px) {
  .p-points {
    padding-block: 32px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-points {
    padding-block: 32px;
  }
}
.p-points__ttl {
  width: fit-content;
  margin-right: -0.15em;
  margin-inline: auto;
  border-bottom: 1px solid;
  padding-bottom: 1px;
  font-weight: 600;
  line-height: 1.6153846154;
  font-size: 2.6rem;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-points__ttl {
    font-size: 2.2rem;
    letter-spacing: 0.075em;
  }
}
@media screen and (max-width: 599.98px) {
  .p-points__ttl {
    font-size: 1.8rem;
    letter-spacing: 0;
  }
}
.p-points__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, auto));
  justify-content: space-between;
  justify-items: center;
  row-gap: 32px;
  column-gap: var(--gutter);
  margin-top: 48px;
}
@media screen and (max-width: 1024px) {
  .p-points__list {
    grid-template-columns: repeat(2, minmax(0, auto));
    justify-content: center;
    margin-top: 36px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-points__list {
    grid-template-columns: minmax(0, auto);
    margin-top: 24px;
  }
}
.p-points__list_item {
  display: grid;
  grid-template-rows: auto 15px auto 17px auto 29px;
  grid-template-columns: 22px 1fr 22px;
  grid-template-areas: "photo photo photo" "..... ..... ....." "..... ttl   ....." "..... ..... ....." "..... text  ....." "..... ..... .....";
  align-content: start;
  width: 345px;
  max-width: 100%;
  background-color: #fff;
}
@media screen and (max-width: 1024px) {
  .p-points__list_item {
    width: 322.5px;
    grid-template-rows: auto 12px auto 12.5px auto 25.5px;
    grid-template-columns: 20px 1fr 20px;
  }
}
@media (max-width: 1024px) and (min-width: 600px) {
  .p-points__list_item:where(:last-child:nth-child(odd)) {
    grid-column: span 2;
  }
}
@media screen and (max-width: 599.98px) {
  .p-points__list_item {
    width: 300px;
    grid-template-rows: auto 9px auto 8px auto 22px;
    grid-template-columns: 18px 1fr 18px;
  }
}
.p-points__list_ttl {
  grid-area: ttl;
  font-weight: 600;
  line-height: 1.4583333333;
  font-size: 2.4rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-points__list_ttl {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 599.98px) {
  .p-points__list_ttl {
    line-height: 1.6111111111;
    font-size: 1.8rem;
  }
}
.p-points__list_text {
  grid-area: text;
  min-height: 6lh;
  line-height: 1.3571428571;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-points__list_text {
    line-height: 1.4642857143;
  }
}
@media screen and (max-width: 599.98px) {
  .p-points__list_text {
    line-height: 1.5714285714;
  }
}
.p-points__list_photo {
  grid-area: photo;
}

.p-outro {
  background-color: #fff;
}
.p-outro__media {
  padding-block: 64px;
  background-color: #efefef;
}
@media screen and (max-width: 1024px) {
  .p-outro__media {
    padding-block: 48px 0;
    background-color: transparent;
  }
}
@media screen and (max-width: 599.98px) {
  .p-outro__media {
    padding-top: 32px;
  }
}
.p-outro__photo {
  width: fit-content;
  margin-inline: auto;
  border-radius: 8px;
  overflow: clip;
}
.p-outro__inner {
  padding-block: 64px;
}
@media screen and (max-width: 1024px) {
  .p-outro__inner {
    padding-block: 48px 56px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-outro__inner {
    padding-block: 32px 48px;
  }
}
.p-outro__text {
  text-align: center;
}
.p-outro__link {
  display: block;
  width: fit-content;
  margin-top: 64px;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .p-outro__link {
    margin-top: 48px;
  }
}
@media screen and (max-width: 599.98px) {
  .p-outro__link {
    margin-top: 32px;
  }
}
.p-outro__link:hover {
  opacity: 0.7;
}
.p-outro__link_en {
  display: block;
  padding-inline: 1em 0.85em;
  font-weight: 600;
  line-height: 1.619047619;
  font-size: 2.1rem;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-outro__link_en {
    line-height: 1.4871794872;
    font-size: 1.95rem;
  }
}
@media screen and (max-width: 599.98px) {
  .p-outro__link_en {
    line-height: 1.3333333333;
    font-size: 1.8rem;
  }
}
.p-outro__link_ja {
  display: block;
  border-top: 1px solid;
  padding-top: 4px;
  font-family: "BIZ UDPGothic", sans-serif;
  line-height: 1.1538461538;
  font-size: 1.3rem;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-outro__link_ja {
    margin-top: 0.5px;
    line-height: 1.1111111111;
    font-size: 1.35rem;
  }
}
@media screen and (max-width: 599.98px) {
  .p-outro__link_ja {
    margin-top: 1px;
    line-height: 1.0714285714;
    font-size: 1.4rem;
  }
}

/*# sourceMappingURL=page-rooftop_terrace.css.map */
