@charset "utf-8";
/* CSS Document */
/* ------------------------
デザインページ用
---------------------------*/

/* common
------------------ */
picture {
    display: block;
    width: 100%;
    height: auto;
}
.cover picture,
.cover picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
figure {
  position: relative;
  width: 100%;
  height: fit-content;
}
figcaption {
  display: inline-block;
  background-color: #000000cc;
  color: #fff;
  font-size: 10px;
  padding: 4px;
  position: absolute;
  bottom: 0;
  right: 0;
  text-align: right;
}
img {
    width: 100%;
}
img[src$=".svg"] {
    width: auto;
    height: auto;
}
.bg-gradation {
    background-image: linear-gradient(to right, #94928b, #ebe6d4 54%, #94928b);
}
.bg-gradation02 {
    background-image: linear-gradient(to bottom, #f5f2e8, #e6dfc9);
}
.tac {
    text-align: center;
}
* {
    box-sizing: border-box;
}
.contents {
    width: 100%;
    padding: 60px 0;
}
.contents__inner {
    width: min(1000px, calc(100% - 30px));
    margin-inline: auto;
    font-size: 16px;
    line-height: 1.8;
}
.contents__header {
}
.contents__title {
    text-transform: uppercase;
    padding-bottom: 1em;
}
.contents__lead {
    font-size: 160%;
    line-height: 1.6;
    padding-bottom: 0.8em;
}
.contents__text {}
.contents__caption {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-feature-settings: "vert";
    letter-spacing: 0.05em;
    color: #fff;
    position: absolute;
    top: 0.8em;
    right: 1em;
    font-size: min(21px, 2vw);
    line-height: 2;
}
.contents__caption--02 {
    /* text-transform: uppercase;
    writing-mode: unset; */
    right: unset;
    left: 1em;
    /* line-height: 1; */
}
.contents__caption--02 img {
    height: 18px;
}
.contents-wrap {
    width: min(1200px, 100%);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 1.25fr;
}
/* residence
-------------------- */
.residence {
    background-color: #3a3837;
    color: #fff;
    padding: 0 !important;
}
.residence__inner {
    width: 100% !important;
    /* display: flex; */
    /* justify-content: center; */
    display: grid;
    grid-template-columns: 1fr 2.15fr
}
.residence__header {
    margin-top: min(70px, 6vw);
    width: fit-content;
    margin-inline: auto;
    padding: 1em;
}
.residence__title {
    padding-bottom: 1em;
}
.residence__title img {
    height: 14px;
}

/* entrance
--------------- */
.entrance__title {
    padding-bottom: 0;
    padding-top: min(20px, 2vw);
}
.entrance__title img {
    height: 17px;
}

/* landplan
--------------- */
.landplan {
    position: relative;
}
.landplan__inner {
    width: min(1000px, calc(100% - 80px));
}
.landplan__header {
    padding-top: min(54px, 5vw);
}
.landplan__title img {
    height: 11px;
}
.landplan__lead {
    font-size: 151%;
    padding-bottom: 0;
}
.landplan__wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: min(10px, 1vw);
    margin-top: 20px;
}
.landplan__img03 {
    margin-top: -8%;
    width: 80%;
    margin-left: auto;
    /* position: absolute;
    bottom: 0;
    right: 0; */
}


@media screen and (max-width: 767px) {
    .contents {
        padding: 40px 0;
    }
    .contents__inner {
        width: min(1000px, calc(100% - 40px));
    }
    .contents__text {
        line-height: 1.4;
    }
    .residence__header {
        margin-top: 40px;
    }
    .residence__inner,
    .contents-wrap,
    .landplan__wrap {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .landplan__wrap {
        width: 90%;
        margin-inline: auto;
    }
    .contents__caption {
        font-size: max(16px, 4vw);
    }
    .landplan__lead {
        font-size: 116%;
        padding-bottom: 1em;
    }
    .landplan__img03 {
        margin-top: 20px;
        width: 100%;
    }
}