@charset "UTF-8";

:root {
  --min-layout-width: 375;
  --max-layout-width: 1300;
  --min-ratio: calc(1 / var(--min-layout-width) * 100vw);
  --max-ratio: calc(1 / var(--max-layout-width) * 100vw);
}

@media (min-width: 768px) {
  .pc-hide-br {
    display: none;
  }
}

@media not all and (min-width: 768px) {
  .sp-hide-br {
    display: none;
  }
}

#main_top .main_ttlArea p {
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.7);
  opacity: 0.9;
}

@media (min-width: 768px) {
  #main_top .main_ttlArea h2 {
    color: #595757;
  }
}


#topWrap {
  background: url(../img/location/top_bg.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

/*---------------------*/
/* con01 */
/*---------------------*/
.con01 {
  width: 100%;
  margin: 0 auto;
  padding: calc(98 * var(--min-ratio)) 0 calc(30 * var(--min-ratio));
  background: url(../img/common/top_bg_kage.png) repeat-x 0% 0%;
}

.con01 .section_title {
  color: #191919;
}

.con01 .lead {
  color: #191919;
}

.con01 .section_title.slash01::before {
  background-color: #191919;
}

.con01 .section_title {
  margin-bottom: calc(15 * var(--min-ratio));
}

@media (min-width: 768px) {
  .con01 {
    padding-top: calc(196 * var(--max-ratio));
    padding-bottom: calc(60 * var(--max-ratio));
  }

  .con01 .section_title {
    margin-bottom: calc(30 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .con01 {
    padding-top: 196px;
    padding-bottom: 60px;
  }

  .con01 .section_title {
    margin-bottom: 30px;
  }
}



.grid {
  display: grid;
}

.cap {
  color: #fff;
}

.cap.fb,
.cap .fb {
  color: #fff;
}

.image {
  position: relative;
}

.image .cap {
  padding: calc(5 * var(--min-ratio)) calc(10 * var(--min-ratio));
  font-size: calc(10 * var(--min-ratio));
  line-height: calc(16 / 12);
  letter-spacing: 0.1em;
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
}

@media (min-width: 768px) {
  .image .cap {
    padding: calc(5 * var(--max-ratio)) calc(10 * var(--max-ratio));
    font-size: calc(12 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .image .cap {
    padding: 5px 10px;
    font-size: 12px;
  }
}

.text {
  font-size: calc(11.7 * var(--min-ratio));
  line-height: calc(28 / 14);
  letter-spacing: .12em;
}

@media (min-width: 768px) {
  .text {
    font-size: calc(14 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .text {
    font-size: 14px;
  }
}

.text p {
  letter-spacing: .12em;
}


.residence-section {
  padding: 0 calc(20 * var(--min-ratio));
  background: #fff;
}

@media (min-width: 768px) {
  .residence-section {
    padding: 0 calc(20 * var(--min-ratio));
  }
}

@media (min-width: 1148px) {
  .residence-section {
    padding: 0;
  }
}

.residence-section .catch {
  font-size: calc(20 * var(--min-ratio));
  line-height: calc(44 / 24);
  text-align: center;
}

.residence-section .catch p {
  letter-spacing: 0.18em;
}

.residence-section .catch+.text {
  text-align: center;
}

@media (min-width: 768px) {
  .residence-section .catch {
    font-size: calc(24 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .residence-section .catch {
    font-size: 24px;
  }
}


.residence-section .inner {
  max-width: 1122px;
  width: 100%;
  margin: 0 auto;
}

.section-image {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  position: relative;
}

.section-image img {
  position: relative;
  z-index: 1;
}

.section-image .cap {
  padding: calc(5 * var(--min-ratio)) calc(10 * var(--min-ratio));
  font-size: calc(12 * var(--min-ratio));
  line-height: calc(16 / 12);
  text-align: right;
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
}

.section-image .cap.static {
  color: #000;
  text-align: right;
  position: static;
  display: block;
}

@media (min-width: 768px) {
  .section-image .cap {
    padding: calc(5 * var(--max-ratio)) calc(10 * var(--max-ratio));
    font-size: calc(12 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .section-image .cap {
    padding: 5px 10px;
    font-size: 12px;
  }
}

.section-image .cap.left {
  right: auto;
  left: 0;
}

.residence-section-title {
  font-family: "goldenbook", serif;
  font-size: calc(19.5 * var(--min-ratio));
  color: #927f23;
  letter-spacing: 0.12em;
  text-align: center;
  position: relative;
  z-index: 100;
}

@media (min-width: 768px) {
  .residence-section-title {
    font-size: calc(26 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .residence-section-title {
    font-size: 26px;
  }
}

.facade-design {
  padding-bottom: calc(37 * var(--min-ratio));
}

@media (min-width: 768px) {
  .facade-design {
    padding-bottom: calc(74 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .facade-design {
    padding-bottom: 74px;
  }
}

.facade-design .section-image {
  position: relative;
  z-index: 50;
}

.facade-design .section-image+.section-image {
  padding-top: calc(26 * var(--min-ratio));
  margin-bottom: calc(35 * var(--min-ratio));
  background: url(../img/residence/bg-facade-design.jpg) no-repeat 50% 100% / 100% auto;
  position: relative;
}

.facade-design .section-image+.section-image .residence-section-title {
  margin-bottom: calc(15 * var(--min-ratio));
}

.facade-design .section-image+.section-image .cap {
  position: absolute;
  top: 100%;
  left: 0;
}

.facade-design .text {
  text-align: center;
}

@media (min-width: 768px) {
  .facade-design .section-image {
    margin-bottom: 0;
  }

  .facade-design .section-image+.section-image {
    padding-top: calc(120 * var(--max-ratio));
    margin-bottom: calc(70 * var(--max-ratio));
  }

  .facade-design .section-image+.section-image .residence-section-title {
    margin-bottom: calc(15 * var(--max-ratio));
  }

  .facade-design .section-image+.section-image img {
    width: 85%;
    margin: auto auto 0;
    display: block;
  }
}

@media (min-width: 1148px) {
  .facade-design .section-image+.section-image {
    height: auto;
    padding-top: 120px;
    margin-top: 0;
    margin-bottom: 70px;
  }

  .facade-design .section-image+.section-image .residence-section-title {
    margin-bottom: 80px;
  }
}

.facade-design .grid {
  grid-template-columns: 100%;
  row-gap: calc(40 * var(--min-ratio));
}

.facade-design .grid .image {
  margin-bottom: calc(18 * var(--min-ratio));
}

@media (min-width: 768px) {
  .facade-design .grid {
    grid-template-columns: repeat(2, calc((535 / 1122) * 100%));
    column-gap: calc((52 / 1122) * 100%);
    row-gap: unset;
  }

  .facade-design .grid .image {
    margin-bottom: calc(36 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .facade-design .grid .image {
    margin-bottom: 36px;
  }
}



.gate-design {
  padding-top: calc(48 * var(--min-ratio));
  padding-bottom: calc(49 * var(--min-ratio));
  background: url(../img/residence/bg-gate-design.jpg) repeat 50% 0 / cover
}

.gate-design .residence-section-title {
  margin-bottom: calc(32 * var(--min-ratio));
}

.gate-design .catch {
  margin-bottom: calc(19.5 * var(--min-ratio));
  line-height: 1.4;
}

.gate-design .text {
  margin-bottom: calc(37 * var(--min-ratio));
  text-align: center;
}

.gate-design .grid .text {
  text-align: left;
}

@media (min-width: 768px) {
  .gate-design {
    padding-top: calc(96 * var(--max-ratio));
    padding-bottom: calc(98 * var(--max-ratio));
  }

  .gate-design .residence-section-title {
    margin-bottom: calc(64 * var(--max-ratio));
  }

  .gate-design .catch {
    margin-bottom: calc(44 * var(--max-ratio));
  }

  .gate-design .text {
    margin-bottom: calc(75 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .gate-design {
    padding-top: 96px;
    padding-bottom: 98px;
  }

  .gate-design .residence-section-title {
    margin-bottom: 64px;
  }

  .gate-design .catch {
    margin-bottom: 44px;
  }

  .gate-design .text {
    margin-bottom: 75px;
  }
}

.gate-design .section-image {
  margin-bottom: calc(34 * var(--min-ratio));
}

@media (min-width: 768px) {
  .gate-design .section-image {
    margin-bottom: calc(68 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .gate-design .section-image {
    margin-bottom: 68px;
  }
}



.gate-design .grid {
  grid-template-columns: 100%;
  row-gap: calc(40 * var(--min-ratio));
}

.gate-design .grid .image {
  margin-bottom: calc(17 * var(--min-ratio));
}

@media (min-width: 768px) {
  .gate-design .grid {
    grid-template-columns: repeat(2, calc((535 / 1122) * 100%));
    column-gap: calc((52 / 1122) * 100%);
    row-gap: unset;
  }

  .gate-design .grid .image {
    margin-bottom: calc(34 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .gate-design .grid .image {
    margin-bottom: 34px;
  }
}



.architecture-design {
  padding-top: calc(58 * var(--min-ratio));
  padding-bottom: calc(60 * var(--min-ratio));
  background: url(../img/residence/bg-architecture-design.jpg) no-repeat 50% 50% / cover;
}

.architecture-design h2 {
  margin-bottom: calc(53 * var(--min-ratio));
  font-size: calc(28.4 * var(--min-ratio));
  color: #fff;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.12em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: calc(26 * var(--min-ratio));
}

.architecture-design h2 .en {
  font-family: "goldenbook", serif;
  font-size: calc(21.7 * var(--min-ratio));
  line-height: 1.3;
  letter-spacing: 0.12em;
}

.architecture-design h2 .jpn {
  line-height: 1.3;
  letter-spacing: 0.1em;
}

@media (min-width: 768px) {
  .architecture-design {
    padding-top: calc(58 * var(--max-ratio));
    padding-bottom: calc(60 * var(--max-ratio));
  }

  .architecture-design h2 {
    margin-bottom: calc(53 * var(--max-ratio));
    font-size: calc(34 * var(--max-ratio));
    row-gap: calc(26 * var(--max-ratio));
  }

  .architecture-design h2 .en {
    font-size: calc(26 * var(--max-ratio));
    line-height: 1;
  }
}

@media (min-width: 1148px) {
  .architecture-design {
    padding-top: 58px;
    padding-bottom: 60px;
  }

  .architecture-design h2 {
    margin-bottom: 53px;
    font-size: 34px;
    row-gap: 26px;
  }

  .architecture-design h2 .en {
    font-size: 26px;
  }
}

.architecture-design .text {
  margin-bottom: calc(13 * var(--min-ratio));
  font-size: calc(11.7 * var(--min-ratio));
  color: #fff;
  line-height: calc(26 / 14);
  text-align: center;
}

.architecture-design .text p {
  letter-spacing: 0.1em;
}

@media (min-width: 768px) {
  .architecture-design .text {
    margin-bottom: calc(73 * var(--max-ratio));
    font-size: calc(14 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .architecture-design .text {
    margin-bottom: 73px;
    font-size: 14px;
  }
}

.architecture-design .grid {
  grid-template-columns: repeat(2, 49%);
  column-gap: 2%;
  row-gap: calc(20 * var(--min-ratio));
}

.architecture-design .grid .image.img01 {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}

.architecture-design .grid .image.img02 {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}

.architecture-design .grid .image.img03 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.architecture-design figcaption {
  padding-top: calc(13 * var(--min-ratio));
  font-size: calc(9.2 * var(--min-ratio));
  color: #fff;
  letter-spacing: 0.05em;
  text-align: right;
}

@media (min-width: 768px) {
  .architecture-design .grid {
    grid-template-columns: calc((537 / 1122) * 100%) calc((31 / 1122) * 100%) calc((264 / 1122) * 100%) calc((26 / 1122) * 100%) calc((264 / 1122) * 100%);
    column-gap: unset;
    row-gap: unset;
  }

  .architecture-design .grid .image.img01 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .architecture-design .grid .image.img02 {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }

  .architecture-design .grid .image.img03 {
    grid-column: 5 / 6;
    grid-row: 1 / 3;
  }

  .architecture-design figcaption {
    padding-top: calc(13 * var(--max-ratio));
    font-size: calc(11 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .architecture-design figcaption {
    padding-top: 13px;
    font-size: 11px;
  }
}


.land-plan {
  padding-top: calc(41 * var(--min-ratio));
  padding-bottom: calc(52 * var(--min-ratio));
}

.land-plan .residence-section-title {
  margin-bottom: calc(30 * var(--min-ratio));
}

.land-plan .catch {
  margin-bottom: calc(18 * var(--min-ratio));
}

.land-plan .text {
  margin-bottom: calc(30 * var(--min-ratio));
}

.land-plan .image {
  max-width: 1090px;
  width: 100%;
  margin: 0 auto;
}

.land-plan .image picture {
  display: block;
}

@media (min-width: 768px) {
  .land-plan {
    padding-top: calc(82 * var(--max-ratio));
    padding-bottom: calc(104 * var(--max-ratio));
  }

  .land-plan .residence-section-title {
    margin-bottom: calc(60 * var(--max-ratio));
  }

  .land-plan .catch {
    margin-bottom: calc(35 * var(--max-ratio));
  }

  .land-plan .text {
    margin-bottom: calc(60 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .land-plan {
    padding-top: 82px;
    padding-bottom: 104px;
  }

  .land-plan .residence-section-title {
    margin-bottom: 60px;
  }

  .land-plan .catch {
    margin-bottom: 35px;
  }

  .land-plan .text {
    margin-bottom: 60px;
  }
}


.landscape-design {
  padding-top: calc(40 * var(--min-ratio));
  padding-bottom: calc(50 * var(--min-ratio));
  background: url(../img/residence/bg-landscape-design.jpg) no-repeat 50% 50% / cover;
}

.landscape-design h2 {
  margin-bottom: calc(25 * var(--min-ratio));
  font-family: "goldenbook", serif;
  font-size: calc(26 * var(--min-ratio));
  color: #fff;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.12em;
}

@media (min-width: 768px) {
  .landscape-design {
    padding-top: calc(82 * var(--max-ratio));
    padding-bottom: calc(100 * var(--max-ratio));
  }

  .landscape-design h2 {
    margin-bottom: calc(53 * var(--max-ratio));
    font-size: calc(26 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .landscape-design {
    padding-top: 82px;
    padding-bottom: 100px;
  }

  .landscape-design h2 {
    margin-bottom: 53px;
    font-size: 26px;
  }
}

.landscape-design .grid {
  grid-template-columns: repeat(2, 49%);
  column-gap: 2%;
  row-gap: calc(10 * var(--min-ratio));
}

.landscape-design .grid .image.img01 {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}

.landscape-design .grid .image.img02 {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}

.landscape-design .grid .image.img03 {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}

.landscape-design .grid .text {
  font-size: calc(11.7 * var(--min-ratio));
  color: #fff;
  line-height: calc(26 / 14);
  grid-column: 1 / 3;
  grid-row: 2 / 3;
}

.landscape-design .grid .text p {
  letter-spacing: 0.1em;
}

.landscape-design figcaption {
  padding-top: calc(4 * var(--min-ratio));
  font-size: calc(11 * var(--min-ratio));
  color: #fff;
  letter-spacing: 0.1em;
  text-align: right;
}

@media (min-width: 768px) {
  .landscape-design .grid {
    grid-template-columns: calc((451 / 1122) * 100%) calc((73 / 1122) * 100%) calc((284 / 1122) * 100%) calc((30 / 1122) * 100%) calc((284 / 1122) * 100%);
    column-gap: unset;
    row-gap: calc(13 * var(--max-ratio));
    align-items: end;
  }

  .landscape-design .grid .image.img01 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .landscape-design .grid .image.img02 {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }

  .landscape-design .grid .image.img03 {
    grid-column: 5 / 6;
    grid-row: 1 / 3;
  }

  .landscape-design .grid .text {
    font-size: calc(14 * var(--max-ratio));
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  .landscape-design figcaption {
    padding-top: calc(4 * var(--max-ratio));
    font-size: calc(11 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .landscape-design .grid {
    row-gap: 13px;
  }

  .landscape-design .grid .text {
    font-size: 14px;
  }

  .landscape-design figcaption {
    padding-top: 4px;
    font-size: 11px;
  }
}

.promenade {
  padding-top: calc(58 * var(--min-ratio));
  background: url(../img/residence/bg-promenade.jpg) repeat 50% 0 / cover;
}

@media (min-width: 768px) {
  .promenade {
    padding-top: calc(115 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .promenade {
    padding-top: 115px;
  }
}

.promenade .residence-section-title {
  margin-bottom: calc(28 * var(--min-ratio));
}

.promenade .catch {
  margin-bottom: calc(23 * var(--min-ratio));
}

.promenade .catch+.text {
  margin-bottom: calc(50 * var(--min-ratio));
}

@media (min-width: 768px) {
  .promenade .residence-section-title {
    margin-bottom: calc(56 * var(--max-ratio));
  }

  .promenade .catch {
    margin-bottom: calc(45 * var(--max-ratio));
  }

  .promenade .catch+.text {
    margin-bottom: calc(102 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .promenade .residence-section-title {
    margin-bottom: 56px;
  }

  .promenade .catch {
    margin-bottom: 45px;
  }

  .promenade .catch+.text {
    margin-bottom: 102px;
  }
}



.planting-plan {
  padding-top: calc(43 * var(--min-ratio));
  padding-bottom: calc(70 * var(--min-ratio));
}

@media (min-width: 768px) {
  .planting-plan {
    padding-top: calc(85 * var(--max-ratio));
    padding-bottom: calc(137 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .planting-plan {
    padding-top: 85px;
    padding-bottom: 137px;
  }
}

.planting-plan .grid:nth-of-type(1) {
  margin-bottom: calc(43 * var(--min-ratio));
  grid-template-columns: 100%;
  row-gap: calc(30 * var(--min-ratio));
}

.planting-plan .grid:nth-of-type(1) .residence-section-title {
  margin-bottom: calc(40 * var(--min-ratio));
}

.planting-plan .grid:nth-of-type(2) {
  margin-bottom: calc(7 * var(--min-ratio));
  grid-template-columns: repeat(2, 49.5%);
  column-gap: 1%;
  row-gap: calc(3 * var(--min-ratio));
}

.planting-plan .grid:nth-of-type(2) figcaption {
  padding-top: calc(10 * var(--min-ratio));
  font-size: calc(14 * var(--min-ratio));
  letter-spacing: 0.12em;
  text-align: center;
}

.planting-plan .grid:nth-of-type(2)+.cap {
  font-size: calc(10 * var(--min-ratio));
  color: #000;
  text-align: right;
}

@media (min-width: 768px) {
  .planting-plan .grid:nth-of-type(1) {
    margin-bottom: calc(85 * var(--max-ratio));
    grid-template-columns: calc((490 / 1122) * 100%) calc((590 / 1122) * 100%);
    align-items: center;
    column-gap: calc((42 / 1122) * 100%);
    row-gap: unset;
  }

  .planting-plan .grid:nth-of-type(1) .residence-section-title {
    margin-bottom: calc(96 * var(--max-ratio));
    text-align: left;
  }

  .planting-plan .grid:nth-of-type(2)+.cap {
    font-size: calc(10 * var(--max-ratio));
  }

  .planting-plan .grid:nth-of-type(2) {
    margin-bottom: calc(13 * var(--max-ratio));
    grid-template-columns: repeat(4, calc((276.75 / 1122) * 100%));
    column-gap: calc((5 / 1122) * 100%);
    row-gap: calc(5 * var(--max-ratio));
  }

  .planting-plan .grid:nth-of-type(2) figcaption {
    padding-top: calc(19 * var(--max-ratio));
    font-size: calc(14 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .planting-plan .grid:nth-of-type(1) {
    margin-bottom: 85px;
  }

  .planting-plan .grid:nth-of-type(1) .residence-section-title {
    margin-bottom: 96px;
  }

  .planting-plan .grid:nth-of-type(1) .image {
    width: calc(100% + calc(90 * var(--max-ratio)));
  }

  .planting-plan .grid:nth-of-type(2)+.cap {
    font-size: 10px;
  }

  .planting-plan .grid:nth-of-type(2) {
    margin-bottom: 13px;
    row-gap: 5px;
  }

  .planting-plan .grid:nth-of-type(2) figcaption {
    padding-top: 19px;
    font-size: 14px;
  }
}

@media (min-width: 1300px) {
  .planting-plan .grid:nth-of-type(1) .image {
    width: calc(100% + 90px);
  }
}

.residence {
  padding-top: calc(36 * var(--min-ratio));
}

.residence .catch {
  margin-bottom: calc(22 * var(--min-ratio));
}

.residence .text {
  margin-bottom: calc(37 * var(--min-ratio));
}

@media (min-width: 768px) {
  .residence {
    padding-top: calc(72 * var(--max-ratio));
  }

  .residence .catch {
    margin-bottom: calc(45 * var(--max-ratio));
  }

  .residence .text {
    margin-bottom: calc(74 * var(--max-ratio));
  }
}

@media (min-width: 1148px) {
  .residence {
    padding-top: 72px;
  }

  .residence .catch {
    margin-bottom: 45px;
  }

  .residence .text {
    margin-bottom: 74px;
  }
}