@charset "utf-8";

/*----------------------------------------------------------------------------------------------
  LANDSCAPE PLAN
----------------------------------------------------------------------------------------------*/
.l-sec__block {
  width: 100%;
  margin-inline: auto;
  padding: 80px 5%;
}

.l-sec__block.mp_0 {
  padding-bottom: 0;
}

.l-sec__block.l-land-sec01 {
  background: linear-gradient(149deg, rgb(245 245 245) 0%, rgba(233, 238, 235, 1) 100%);
  padding: 80px 5% 200px;
}

.c-page_ttl_lv01 {
  font-family: 'garamond', sans-serif;
  text-transform: uppercase;
  font-size: calc(38 / 1920 * 100vw);
  text-align: center;
  line-height: 1;
  letter-spacing: .2em;
  text-indent: .2em;
}

.c-page_ttl_lv02 {
  font-size: calc(39 / 1920 * 100vw);
  text-align: center;
  margin-top: 1.5em;
  line-height: 1.4;
  letter-spacing: .2em;
}

.c-lead__txt01 {
  font-size: calc(19 / 1920 * 100vw);
  text-align: center;
  margin-top: 4em;
  line-height: 2;
  letter-spacing: .1em;
}

.p-land-kukauzu {
  max-width: 1200px;
  margin-inline: auto;
  margin-top: 80px;
  position: relative;
}

.kukakuzu-badge {
  position: absolute;
  width: 33%;
  top: -10px;
  right: -5px;
}

@media (max-width: 800px) {
  .kukakuzu-badge {
    position: absolute;
    width: 35%;
    top: -10px;
    right: -5px;
  }
}

/* l-land-sec02 */
.l-land-sec02 {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 300px 0 180px;
}

.l-land-sec02::before {
  position: absolute;
  content: '';
  display: block;
  width: 100%;
  height: 68.5%;
  bottom: 0;
  left: 0;
  /* top: 66vw; */
  background: #E9EDEA;
  z-index: -1;
}

.l-land-sec02-set-wrap {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 100px 7.5%;
}

.l-land-sec02-set {
  width: calc((100% - 15%) / 2);
  position: relative;
}

.l-land-sec02-set::before {
  position: absolute;
  content: '';
  display: block;
  width: 92.1%;
  height: 48%;
  top: -5%;
  left: -3%;
  background: url(../../img/04landscapeplan/v02/landscapeplan_symbolfort_bg.jpg) no-repeat center top / cover;
}

.l-land-sec02-set.ls02::before {
  background: url(../../img/04landscapeplan/v02/landscapeplan_cascade_bg.jpg) no-repeat center top / cover;
  margin-left: auto;
}

.l-land-sec02-set.ls03::before {
  background: url(../../img/04landscapeplan/v02/landscapeplan_hilltop_bg.jpg) no-repeat center top / cover;
}

.l-land-sec02-set.ls04::before {
  background: url(../../img/04landscapeplan/v02/landscapeplan_hillside_bg.jpg) no-repeat center top / cover;
  margin-left: auto;
}

.l-land-sec02-column {
  max-width: 1600px;
  position: relative;
  /* display: flex; */
  gap: 7.5%;
  margin-inline: auto;
  margin: 0;
}

.l-land-sec02-column_img {
  width: 100%;
  position: relative;
}

.l-land-sec02-column_txt {
  width: 100%;
  position: relative;
  margin-top: -2.7em;
}

.l-land-sec02-column_txt::before {
  position: absolute;
  content: '';
  display: block;
  width: 79.1%;
  height: 100%;
  top: -2em;
  left: 0;
  background: #E9EDEA;
  z-index: -1;
}


.c-land-sec02-column_ttl01 {
  position: relative;
  font-family: 'garamond', sans-serif;
  text-transform: uppercase;
  font-size: clamp(30px, 3.4vw, 55px);
  letter-spacing: .1em;
  display: flex;
  line-height: 1;
  flex-direction: column;
}

.c-land-sec02-column_ttl01>span {
  font-family: 'Zen Old Mincho', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-size: calc(25 / 1920 * 100vw);
  letter-spacing: .05em;
  margin-left: 10px;
  transform: translateX(-1em);
}

.c-land-sec02-column_ttl02 {
  font-size: calc(30 / 1920 * 100vw);
  margin-top: 1.5em;
  line-height: 1.7;
  letter-spacing: .1em;
}

.c-land-sec02-column_lead {
  font-size: calc(19 / 1920 * 100vw);
  margin-top: 1.5em;
  line-height: 2.0;
  letter-spacing: .1em;
}


.ls02 .l-land-sec02-column_txt,
.ls04 .l-land-sec02-column_txt {
  margin-right: -18%;
}

.ls01 .c-land-sec02-column_ttl01::after,
.ls03 .c-land-sec02-column_ttl01::after {
  content: '';
  display: none;
  width: 0.5px;
  height: 6em;
  background: #000;
  position: absolute;
  top: -248%;
  left: 8.1em;
  transform: rotate(45deg);
}

.ls03 .c-land-sec02-column_ttl01::after {
  left: 5.1em;
}

.ls02 .c-land-sec02-column_ttl01::after,
.ls04 .c-land-sec02-column_ttl01::after {
  content: '';
  display: none;
  width: 0.5px;
  height: 6em;
  background: #000;
  position: absolute;
  top: -348%;
  left: 1.1em;
  transform: rotate(45deg);
}

.ls02 .l-land-sec02-column::before {
  content: '';
  display: none;
  width: 0.5px;
  height: 100vw;
  background: #000;
  position: absolute;
  top: -180%;
  right: -10%;
  transform: rotate(45deg);
}

.l-land-sec02-set.ls04::after {
  content: '';
  display: none;
  width: 0.5px;
  height: 120vw;
  background: #000;
  position: absolute;
  top: -55%;
  left: -10%;
  transform: rotate(45deg);
}

@media (max-width: 768px) {
  img.pc_hidden {
    width: 100%;
  }
}

@media (max-width: 800px) {
  .l-sec__block {
    width: 100%;
    padding: 40px 5%;
  }

  .l-sec__block.l-land-sec01 {
    padding: 40px 5% 80px;
  }

  .c-page_ttl_lv01 {
    /* font-size: 38px; */
    font-size: calc(25 / 800 * 100vw);
    text-align: center;
    line-height: 1;
    letter-spacing: .2em;
    text-indent: .2em;
  }

  .c-page_ttl_lv02 {
    font-size: calc(27 / 800 * 100vw);
    text-align: center;
    margin-top: 1em;
    line-height: 1.4;
    letter-spacing: .2em;
  }

  .c-lead__txt01 {
    font-size: calc(16 / 800 * 100vw);
    text-align: justify;
    margin-top: 2em;
    line-height: 2;
    letter-spacing: .1em;
  }

  /* l-land-sec02 */
  .l-land-sec02 {
    width: 100%;
    overflow: hidden;
    padding: 100px 0 70px;
  }

  .l-land-sec02::before {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    /* bottom: 0; */
    left: 0;
    top: 66vw;
    background: #E9EDEA;
    z-index: -1;
  }
  
  .l-land-sec02-set-wrap {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 70px 7.5%;
    flex-direction: column;
  }
  
  .l-land-sec02-set {
    width: 100%;
    position: relative;
  }
  
  .l-land-sec02-set::before {
    position: absolute;
    content: '';
    display: block;
    width: 92.1%;
    height: 48%;
    top: -5%;
    left: -7%;
    background: url(../../img/04landscapeplan/v02/landscapeplan_symbolfort_bg.jpg) no-repeat center top / cover;
  }
  
  .l-land-sec02-set.ls02::before {
    background: url(../../img/04landscapeplan/v02/landscapeplan_cascade_bg.jpg) no-repeat center top / cover;
    margin-left: auto;
  }
  
  .l-land-sec02-set.ls03::before {
    background: url(../../img/04landscapeplan/v02/landscapeplan_hilltop_bg.jpg) no-repeat center top / cover;
  }
  
  .l-land-sec02-set.ls04::before {
    background: url(../../img/04landscapeplan/v02/landscapeplan_hillside_bg.jpg) no-repeat center top / cover;
    margin-left: auto;
  }

}

@media (max-width: 600px) {
  .c-page_ttl_lv01 {
    /* font-size: 38px; */
    font-size: calc(25 / 600 * 100vw);
    text-align: center;
    line-height: 1;
    letter-spacing: .2em;
    text-indent: .2em;
  }

  .c-page_ttl_lv02 {
    font-size: calc(27 / 600 * 100vw);
    text-align: center;
    margin-top: 1em;
    line-height: 1.4;
    letter-spacing: .2em;
  }

  .c-lead__txt01 {
    font-size: calc(16 / 500 * 100vw);
    text-align: justify;
    margin-top: 2em;
    line-height: 2;
    letter-spacing: .1em;
  }

  .p-land-kukauzu {
    margin: 30px -5% 0;
  }

  .c-land-sec02-column_ttl01 {
    font-size: 8.5vw;
    gap: 10px;
  }

  .c-land-sec02-column_ttl01>span {
    font-size: calc(25 / 700 * 100vw);
  }

  .c-land-sec02-column_ttl02 {
    font-size: calc(30 / 600 * 100vw);
  }

  .c-land-sec02-column_lead {
    font-size: calc(19 / 600 * 100vw);
  }

}


/* 追加コンテンツ　guideline */
.l-guideline-sec01 {
  width: 100%;
  margin-top: 0;
  background: url(../../img/04landscapeplan/v02/machinami_guideline_bg.jpg) no-repeat center top / cover;
}

.guideline-sec01__inner {
  max-width: 984px;
  margin-inline: auto;
  background: rgba(255, 255, 255, 0);
  position: relative;
  padding: 180px 0 160px;
  text-align: center;
  color: #fff;
  border-left: .5px solid #fff;
  border-right: .5px solid #fff;
}

.guideline-sec01__ttl01 {
  width: 100%;
  padding-bottom: 35px;
  /* border-bottom: .5px solid #000; */
}

.guideline-sec01__ttl02 {
  font-size: calc(39 / 1920 * 100vw);
  letter-spacing: .15em;
  margin-top: 1em;
}

.guideline-sec01__txt01 {
  font-size: calc(19 / 1920 * 100vw);
  margin-top: 1.8em;
  line-height: 2;
  letter-spacing: .1em;
}

.guideline-sec01__imgset {
  width: 68%;
  margin-inline: auto;
  margin-top: 80px;
  position: relative;
  display: flex;
  gap: 5%;
}

.guideline-sec01__imgset__img {
  width: calc(calc(100% - 5%) / 2);
  position: relative;
}

.guideline-scroll {
  width: .5px;
  height: 265px;
  background: #000;
  bottom: -187px;
  left: 50%;
  position: absolute;
}

.guideline-scroll__inner {
  position: relative;
}

.scroll__text {
  position: absolute;
  transform: rotate(90deg);
  top: 20px;
  left: -10px;
  font-size: 15px;
}

.l-guideline-sec02-bg {
  background-color: #769795;
  color: #fff;
}

.l-guideline-sec02 {
  width: 100%;
  margin-top: 0;
  /* overflow: hidden; */
  background: url(../../img/04landscapeplan/v02/bg_p01.png) no-repeat right top / 30%;
  padding: 180px 0 0;
  position: relative;
}

.guideline-sec02__inner {
  width: clamp(300px, 90%, 1400px);
  margin: 70px auto 0;
  margin-inline: auto;
  position: relative;
}

.guideline-sec02__inner__contents01 {
  display: flex;
  gap: 3.3%;
}

.guideline-sec02__inner__contents01__01 {
  width: 46.7%;
}

.guideline-sec02__inner__contents01__01__ttl01 {
  font-family: 'garamond', sans-serif;
  text-transform: uppercase;
  font-size: 56px;
  text-align: center;
  line-height: 1;
  letter-spacing: .05em;
  text-align:center
}

.guideline-sec02__inner__contents01__01__ttl02 {font-size: 38px;}

.guideline-sec02__inner__contents01__01__txt {
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 2;
  letter-spacing: .05em;
  margin-top: 2em;
}

.guideline-sec02__inner__contents01__02__ttl {
  font-size: calc(26 / 1920 * 100vw);
  letter-spacing: .1em;
  margin-top: 2em;
  transform: translateX(-.5em);
}

.guideline-sec02__inner__contents01__02 {
  width: 50%;
  position: relative;
}

.guideline-sec02__inner__contents01__02__imgset {
  display: flex;
  gap: 3%;
  margin-top: 40px;
}

.guideline-sec02__inner__contents01__02__imgset__img {
  width: calc(calc(100% - 3%) / 2);
}

.guideline-sec02__inner__contents01__02__imgset__img .ttl01 {
  font-size: 20px;
  margin-top: .3em;
  transform: translateX(-.5em);
}

.guideline-sec02__inner__contents01__02__imgset__img .ttl02 {
  font-size: 20px;
  margin-top: .3em;
}

.guideline-sec02__inner__contents01__02__imgset__img .txt {
  font-size: 14px;
  text-align: justify;
  margin-top: .3em;
}

.guideline-sec02__inner__contents02 {
  width: 50.9vw;
  margin-inline: auto;
  margin-top: 130px;
  position: relative;
}

.guideline_sec02_04 {
  position: absolute;
  width: 16.3%;
  bottom: -75px;
  right: -6%;
}

.l-guideline-sec03 {
  width: 100%;
  margin-top: 0;
  overflow: hidden;
  background: url(../../img/04landscapeplan/v02/bg_p02.png) no-repeat left top / 33%;
  padding: 180px 0 180px;
  position: relative;
}

.guideline-sec03__inner {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  margin-top: 70px;
  position: relative;
}

.guideline-sec03__inner__set {
  display: flex;
  gap: 3.3%;
}

.guideline-sec03__inner__contents01__img {
  width: 43.2%;
}

.guideline-sec03__inner__contents01__01 {
  width: 53.5%;
}


.guideline-sec03__inner__contents01__01__ttl01 {
  font-family: 'garamond', sans-serif;
  text-transform: uppercase;
  font-size: 56px;
  text-align: center;
  line-height: 1;
  letter-spacing: .05em;
  text-align:center
}

.guideline-sec03__inner__contents01__01__ttl02 {
  font-size: 38px;
  margin-top: .5em;
}

.guideline-sec03__inner__contents01__01__txt {
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 2;
  letter-spacing: .05em;
  margin-top: 2em;
}

.guideline-sec03__inner__contents02 {
 text-align: center;
 margin-top: 180px;
 }

.guideline_sec03_01_ttl01 {
  font-size: 38px;
  letter-spacing: .05em;
}

.guideline_sec03_01_ttl02 {
  font-size: calc(46 / 1920 * 100vw);
  letter-spacing: .1em;
  margin-top: 3px;
}

.guideline_sec03_01_txt {
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 2;
  letter-spacing: .05em;
  margin-top: 2em;
}

.guideline-sec03__hillside {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  margin-top: 70px;
  padding-bottom: 25%;
}

.guideline-sec03__hillside__ttl01 {
  font-family: 'garamond', sans-serif;
  text-transform: uppercase;
  font-size: 132px;
  line-height: 1;
  letter-spacing: -.02em;
  margin: -.37em 0 0 10%;
}

.guideline-sec03__hillside__img02 {
  margin-top: 20px;
  margin-left: 10%;
  position: relative;
}

.guideline-sec03__hillside__img02_txt {
  margin-left: 10%;
}

.guideline-sec03__hillside__img02_02 {
  width: 61%;
  position: absolute;
  top: -40%;
  right: 0;
}

.guideline-sec03__hilltop {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  margin-top: 70px;
  padding-bottom: 15%;
}

.guideline-sec03__hilltop__ttl01 {
  font-family: 'garamond', sans-serif;
  text-transform: uppercase;
  font-size: 132px;
  line-height: 1;
  letter-spacing: -.02em;
  margin: -.37em 0 0 48%;
}


.guideline-sec03__hilltop__img02 {
  margin-top: 20px;
  margin-left: 48%;
  position: relative;
}

.guideline-sec03__hilltop__img02_txt {
  margin-left: 0;
}

.guideline-sec03__hilltop__img02_02 {
  width: 99%;
  position: absolute;
  top: -40%;
  left: -104%;
}

.l-guideline-sec04 {
  width: 100%;
  position: relative;
  background: #F5EFE6;
  padding: 180px 0 200px;
}

.l-guideline-sec04::before {
  content: "";
  display: none;
  background: linear-gradient(135deg, #ffffff 10%, #f5efe6 100%);
  width: 100%;
  height: 48.9vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.guideline-sec04__inner {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  position: relative;
  /* display: flex; */
  gap: 5%;
}

.guideline-sec04__inner__contents01__01 {
  /* width: 50%; */
  /* margin-top: -23vw; */
  text-align: center;
}

.guideline-sec04__inner__contents01__01__ttl01 {
  /* width: 88.5%; */
  font-family: 'garamond', sans-serif;
  text-transform: uppercase;
  font-size: 56px;
  text-align: center;
  line-height: 1;
  letter-spacing: .05em;
}

.guideline-sec04__inner__contents01__01__ttl02 {
  /* width: 73.1%; */
  font-size: 38px;
  letter-spacing: .05em;
  margin-top: 50px;
}

.guideline-sec03__inner__contents01__01__txt {
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 2;
  letter-spacing: .05em;
  margin-top: 2em;
}

.guideline-sec04__inner__contents01__02 {
  width: 100%;
  margin-top: 80px;
  /* margin-top: -6vw; */
  display: flex;
  gap: 18px 1.2%;
  flex-wrap: wrap;
}

.guideline-sec04__inner__contents01__02 .img_base:nth-child(1) {
  width: 60.7%;
}
.guideline-sec04__inner__contents01__02 .img_base:nth-child(2) {
  width: 38.1%;
}
.guideline-sec04__inner__contents01__02 .img_base:nth-child(3) {
  width: 49.25%;
}
.guideline-sec04__inner__contents01__02 .img_base:nth-child(4) {
  width: 49.55%;
}

.guideline-sec04__inner__contents02 {
  width: clamp(300px, 90%, 1400px);
  margin: 80px 0 0;
  margin-inline: auto;
}

.guideline-sec04__inner__contents02__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
}

.guideline-sec04__inner__contents02__ttl span {
  margin: 0 1em;
  font-size: calc(27 / 1920 * 100vw);
  letter-spacing: .1em;
}

.guideline-sec04__inner__contents02__ttl::before,
.guideline-sec04__inner__contents02__ttl::after {
  content: "";
  flex: 1;
  display: block;
  width: 100%;
  height: .5px;
  background: #000;
}

.guideline-sec04__inner__contents02__imgset {
  display: flex;
  gap: 5%;
  margin-top: 80px;
}

.guideline-sec04__inner__contents02__imgset__img {
  width: calc(calc(100% - 10%) / 3);
  text-align: center;
}

.guideline-sec04__inner__contents02__imgset__img:nth-child(2) {
  margin-top: 90px;
}

.guideline-sec04__inner__contents02__imgset__img .txt {
  text-align: center;
  margin-top: 0.5em;
}

.guideline-sec05 {
  max-width: 1200px;
  margin: -80px 5% 0;
  margin-inline: auto;
  text-align: center;
}

.guideline-sec05::before {
  content: "";
  display: block;
  margin-inline: auto;
  background: #000;
  width: .5px;
  height: 160px;
}

.guideline-sec05__01 {
  width: 80%;
  margin-top: 40px;
  margin-inline: auto;
}

.guideline-sec05__02 {
  font-size: calc(19 / 1920 * 100vw);
  letter-spacing: .1em;
  margin-top: 2em;
}

@media (max-width: 800px) {

  /* 追加コンテンツ　guideline  SP*/
  .l-guideline-sec01 {
    width: 100%;
    margin-top: 0;
    background: url(../../img/04landscapeplan/v02/machinami_guideline_bg.jpg) no-repeat center top / cover;
  }

  .guideline-sec01__inner {
    max-width: 984px;
    margin-inline: auto;
    background: rgba(255, 255, 255, 0);
    position: relative;
    padding: 100px 0 100px;
    text-align: center;
    color: #fff;
    border-left: .5px solid #fff;
    border-right: .5px solid #fff;
  }

  .guideline-sec01__ttl01 {
    width: 100%;
    padding-bottom: 35px;
    /* border-bottom: .5px solid #000; */
    padding: 0 15% 30px;
  }

  .guideline-sec01__ttl02 {
    font-size: calc(39 / 1920 * 100vw);
    letter-spacing: .15em;
    margin-top: 1em;
  }

  .guideline-sec01__txt01 {
    font-size: calc(19 / 1920 * 100vw);
    margin-top: 1.8em;
    line-height: 2;
    letter-spacing: .1em;
  }

  .guideline-sec01__imgset {
    width: 81%;
    margin-inline: auto;
    margin-top: 50px;
    position: relative;
    display: flex;
    gap: 5%;
  }

  .guideline-sec01__imgset__img {
    width: calc(calc(100% - 5%) / 2);
    position: relative;
  }

  .guideline-scroll {
    width: .5px;
    height: 265px;
    background: #000;
    bottom: -187px;
    left: 50%;
    position: absolute;
  }

  .guideline-scroll__inner {
    position: relative;
  }

  .scroll__text {
    position: absolute;
    transform: rotate(90deg);
    top: 20px;
    left: -10px;
    font-size: 15px;
  }

  .l-guideline-sec02-bg {
    background-color: #769795;
    color: #fff;
  }

  .l-guideline-sec02 {
    width: 100%;
    margin-top: 0;
    /* overflow: hidden; */
    background: url(../../img/04landscapeplan/v02/bg_p01.png) no-repeat right top / 30%;
    padding: 70px 0 0;
    position: relative;
  }

  .guideline-sec02__inner {
    width: clamp(300px, 90%, 1400px);
    margin: 30px auto 0;
    margin-inline: auto;
    position: relative;
  }

  .guideline-sec02__inner__contents01 {
    display: flex;
    gap: 30px;
    flex-direction: column-reverse;
  }

  .guideline-sec02__inner__contents01__01 {
    width: 100%;
  }

  .guideline-sec02__inner__contents01__01__ttl01 {
    font-family: 'garamond', sans-serif;
    text-transform: uppercase;
    font-size: 7vw;
    text-align: center;
    line-height: 1;
    letter-spacing: .05em;
    text-align:center
  }

  .guideline-sec02__inner__contents01__01__ttl02 {font-size: 6vw;text-align: center;}

  .guideline-sec02__inner__contents01__01__txt {
    font-size: clamp(15px, 1.05vw, 18px);
    line-height: 2;
    letter-spacing: .05em;
    margin-top: 2em;
    text-align: justify;
  }

  .guideline-sec02__inner__contents01__02__ttl {
    font-size: calc(26 / 1920 * 100vw);
    letter-spacing: .1em;
    margin-top: 2em;
    transform: translateX(-.5em);
  }

  .guideline-sec02__inner__contents01__02 {
    width: 100%;
    position: relative;
  }

  .guideline-sec02__inner__contents01__02__imgset {
    display: flex;
    gap: 3%;
    margin-top: 30px;
  }

  .guideline-sec02__inner__contents01__02__imgset__img {
    width: calc(calc(100% - 3%) / 2);
  }

  .guideline-sec02__inner__contents01__02__imgset__img .ttl01 {
    font-size: 20px;
    margin-top: .3em;
    transform: translateX(-.5em);
  }

  .guideline-sec02__inner__contents01__02__imgset__img .ttl02 {
    font-size: 15px;
    margin-top: .3em;
  }

  .guideline-sec02__inner__contents01__02__imgset__img .txt {
    font-size: 14px;
    text-align: justify;
    margin-top: .3em;
  }

  .guideline-sec02__inner__contents02 {
    width: 50.9vw;
    margin-inline: auto;
    margin-top: 130px;
    position: relative;
  }

  .guideline_sec02_04 {
    position: absolute;
    width: 23.3%;
    bottom: -45px;
    right: -6%;
  }

  .l-guideline-sec03 {
    width: 100%;
    margin-top: 0;
    overflow: hidden;
    background: url(../../img/04landscapeplan/v02/bg_p02.png) no-repeat left top / 33%;
    padding: 70px 0 70px;
    position: relative;
  }

  .guideline-sec03__inner {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    margin-top: 30px;
    position: relative;
  }

  .guideline-sec03__inner__set {
    display: flex;
    gap: 30px;
    flex-direction: column-reverse;
  }

  .guideline-sec03__inner__contents01__img {
    width: 100%;
  }

  .guideline-sec03__inner__contents01__01 {
    width: 100%;
  }


  .guideline-sec03__inner__contents01__01__ttl01 {
    font-family: 'garamond', sans-serif;
    text-transform: uppercase;
    font-size: 7vw;
    text-align: center;
    line-height: 1;
    letter-spacing: .05em;
    text-align:center
  }

  .guideline-sec03__inner__contents01__01__ttl02 {
    font-size: 6vw;
    margin-top: 0;
    text-align: center;
  }

  .guideline-sec03__inner__contents01__01__txt {
    font-size: clamp(15px, 1.05vw, 18px);
    line-height: 2;
    letter-spacing: .05em;
    margin-top: 2em;
  }

  .guideline-sec03__inner__contents02 {
  text-align: center;
  margin-top: 40px;
  }

  .guideline_sec03_01_ttl01 {
    font-size: 6vw;
    letter-spacing: .05em;
  }

  .guideline_sec03_01_ttl02 {
    font-size: calc(46 / 1920 * 100vw);
    letter-spacing: .1em;
    margin-top: 3px;
  }

  .guideline_sec03_01_txt {
    font-size: clamp(15px, 1.05vw, 18px);
    line-height: 2;
    letter-spacing: .05em;
    margin-top: 2em;
    text-align: justify;
  }

  .guideline-sec03__hillside {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    margin-top: 40px;
    padding-bottom: 0;
  }

  .guideline-sec03__hillside__ttl01 {
    font-family: 'garamond', sans-serif;
    text-transform: uppercase;
    font-size: 16vw;
    line-height: 1;
    letter-spacing: -.02em;
    margin: -.37em 0 0 5%;
  }

  .guideline-sec03__hillside__img02 {
    margin-top: 20px;
    margin-left: 5%;
    position: relative;
  }

  .guideline-sec03__hillside__img02_txt {
    margin-left: 0;
  }

  .guideline-sec03__hillside__img02_02 {
    width: 110%;
    position: relative;
    top: 0;
    right: 0;
    margin: 20px 0 0 -10%;
  }

  .guideline-sec03__hilltop {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    margin-top: 70px;
    padding-bottom: 0;
  }

  .guideline-sec03__hilltop__ttl01 {
    font-family: 'garamond', sans-serif;
    text-transform: uppercase;
    font-size: 16vw;
    line-height: 1;
    letter-spacing: -.02em;
    margin: -.37em 0 0 21%;
  }


  .guideline-sec03__hilltop__img02 {
    margin-top: 20px;
    margin-left: 5%;
    position: relative;
  }

  .guideline-sec03__hilltop__img02_txt {
    margin-left: 0;
  }

  .guideline-sec03__hilltop__img02_02 {
    width: 110%;
    position: relative;
    top: 0;
    left: -10%;
    margin-top: 20px;
  }

  .l-guideline-sec04 {
    width: 100%;
    position: relative;
    padding: 70px 0 100px;
  }

  .guideline-sec04__inner {
    max-width: 1200px;
    margin: 0 5% 0;
    margin-inline: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .guideline-sec04__inner__contents01__01 {
    width: 100%;
  }

  .guideline-sec04__inner__contents01__01__ttl01 {
  font-size: 7vw;
  }

  .guideline-sec04__inner__contents01__01__ttl02 {
  font-size: 6vw;
  margin-top: 1em;
  }

  .guideline-sec03__inner__contents01__01__txt {
    font-size: 15px;
    line-height: 2;
    letter-spacing: .1em;
    margin-top: 2em;
    text-align: justify;
  }

  .guideline-sec04__inner__contents01__02 {
    margin-top: 30px;
    gap: 10px 2%;
  }

  .guideline-sec04__inner__contents01__02 .img_base:nth-child(1) {
    width: 100%;
    order: 1;
  }
  .guideline-sec04__inner__contents01__02 .img_base:nth-child(2) {
    width: 80%;
    order: 4;
  }
  .guideline-sec04__inner__contents01__02 .img_base:nth-child(3) {
    width: 49%;
    order: 2;
  }
  .guideline-sec04__inner__contents01__02 .img_base:nth-child(4) {
    width: 49%;
    order: 3;
  }

  .guideline-sec04__inner__contents02 {
    width: 90%;
    margin: 40px 5% 0;
    margin-inline: auto;
  }

  .guideline-sec04__inner__contents02__ttl span {
    margin: 0 1em;
    font-size: calc(30 / 800 * 100vw);
    letter-spacing: .1em;
  }

  .guideline-sec04__inner__contents02__imgset {
    display: flex;
    gap: 5%;
    margin-top: 40px;
  }

  .guideline-sec04__inner__contents02__imgset__img {
    width: calc(calc(100% - 10%) / 3);
    text-align: center;
  }

  .guideline-sec04__inner__contents02__imgset__img:nth-child(2) {
    margin-top: 40px;
  }

  .guideline-sec05 {
    max-width: 1200px;
    margin: -43px 5% 0;
    margin-inline: auto;
    text-align: center;
  }

  .guideline-sec05::before {
    content: "";
    display: block;
    margin-inline: auto;
    background: #000;
    width: .5px;
    height: 90px;
  }

  .guideline-sec05__01 {
    width: 80%;
    margin-top: 20px;
    margin-inline: auto;
  }

  .guideline-sec05__02 {
    font-size: calc(26 / 800 * 100vw);
    letter-spacing: .1em;
    margin-top: 2em;
  }
}



@media (max-width: 600px) {
  .guideline-sec01__ttl02 {
    font-size: 5.5vw;
    letter-spacing: .15em;
    margin-top: 1em;
  }

  .l-guideline-sec04::before {
    height: 130vw;
  }

  .guideline-sec04__inner__contents02__imgset {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
  }

  .guideline-sec04__inner__contents02__imgset__img {
    width: 100%;
    text-align: center;
  }

  .guideline-sec04__inner__contents02__imgset__img:nth-child(2) {
    margin-top: 0;
  }

  .guideline-sec04__inner__contents02__imgset__img .txt {
    text-align: center;
    margin-top: 0.5em;
  }
}

@media (max-width: 600px) {
  .guideline-sec01__txt01 {
    font-size: 3.5vw;
    margin-top: 1.8em;
    line-height: 2;
    letter-spacing: .1em;
  }
}