@charset "UTF-8";
/* CSS Document */
:root {
  --media_pc_wrap: 1680;
  --margin_side_sp: calc((40 / var(--media_sp)) * 100vw);
}

span {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* common */
.container {
  min-width: 1366px;
  width: 100%;
}

.sec_wrap {
  max-width: 1280px;
  margin: 0 auto;
}

.trajan {
  font-family: "TrajanPro-Regular";
}

.img {
  font-size: 0;
  line-height: 1;
}

.btn {
  position: relative;
  display: inline-block;
  width: 230px;
  height: 60px;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 60px;
  text-align: center;
  border-radius: 30px;
}
.btn .arrow {
  position: absolute;
  top: 48%;
  right: 33px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  user-select: none;
}

@media screen and (max-width: 768px) {
  .container {
    min-width: 100%;
  }
  .sec_wrap {
    max-width: 768px;
    width: var(--media_sp_inner);
  }
  .btn {
    height: calc(90 / var(--media_sp) * 100vw);
    font-size: calc(28 / var(--media_sp) * 100vw);
    line-height: calc(90 / var(--media_sp) * 100vw);
    text-align: center;
    border-radius: calc(45 / var(--media_sp) * 100vw);
  }
  .btn .arrow {
    top: 47%;
    right: calc(78 / var(--media_sp) * 100vw);
    width: calc(14 / var(--media_sp) * 100vw);
    height: calc(14 / var(--media_sp) * 100vw);
    border-top: calc(2 / var(--media_sp) * 100vw) solid #fff;
    border-right: calc(2 / var(--media_sp) * 100vw) solid #fff;
  }
}

.wap-wrap {
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: start;
  font-size: 0;
}
.wap-img {
  font-size: 0;
  aspect-ratio: 1 / 1;
}
@media (min-width:769px) {
  .wap-wrap {
    right: 30px;
    bottom: 30px;
    column-gap: 10px;
  }
  .wap-img {
    width: 175px;
  }
}
@media (max-width:768px) {
  .wap-wrap {
    right: calc((( 20 / var(--media_sp)) * 100) * var(--vw));
    bottom: calc((( 20 / var(--media_sp)) * 100) * var(--vw));
    /* bottom: 1.464%; */
    column-gap: calc((( 10 / var(--media_sp)) * 100) * var(--vw));
  }
  .wap-img {
    width: calc((( 173 / var(--media_sp)) * 100) * var(--vw));
    /* width: calc(12.664 * var(--vh)); */
  }
}

/* merit */
.merit_bnr {
  padding-block: 19px;
  background: linear-gradient(270deg, #9a7955 20%, #cbae83 80%);
}
.merit_bnr p {
  font-size: 47px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
  color: #fff;
}
@media screen and (max-width:768px) {
  .merit_bnr {
    padding-block: calc((( 25 / var(--media_sp)) * 100) * var(--vw)) calc((( 31 / var(--media_sp)) * 100) * var(--vw));
    background: linear-gradient(270deg, #9a7955 20%, #cbae83 80%);
  }
  .merit_bnr p {
    font-size: calc((( 70 / var(--media_sp)) * 100) * var(--vw));
    line-height: 1;
  }
}
.merit {
  padding: 38px 0 44px;
}
.merit .sec_wrap {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  /* align-items: start; */
  align-items: center;
  gap: 40px;
}
.merit p,
.merit p span {
  color: #333;
}
.merit .con_txt {
  font-size: 21px;
  line-height: 1;
}
.merit .con_txt sup {
  font-size: 0.65em;
  vertical-align: super;
}
.merit .con_copy {
  margin-top: 6px;
  font-size: 35px;
  line-height: 1;
}
.merit .merit_con-typeVar .con_copy .fz-num-l {
  font-size: 1.2em;
}
.merit .merit_con-typeVar .con_copy .fz-num-s {
  font-size: 0.9em;
}
.merit .merit_con-typeVar .con_txt span.sp-ls {
  letter-spacing: -0.115em;
}
.merit .con_copy strong {
  font-size: 52px;
  color: #383092;
  line-height: 30px;
}
.merit .con_scdTx {
  font-size: 12px;
  line-height: 1;
  text-align: right;
}
.merit .img {
  font-size: 0;
  width: 15px;
  height: 15px;
  align-self: center;
}
.merit .con_wrap01 .con_copy {
  line-height: 1;
  position: relative;
}
.merit .con_wrap01 .con_txt {
  letter-spacing: -0.04em;
}
.merit .con_wrap01 .con_copy::after {
  content: "(約620m)";
  position: absolute;
  bottom: -18px;
  right: 0;
  font-size: 12px;
  line-height: 1;
  text-align: right;
}
@media screen and (min-width:769px) {
  .merit .con_wrap01 .con_copy {
    margin-top: -1px;
    margin-left: 3px;
    letter-spacing: -0.01em;
    line-height: 1;
  }
  .merit .con_wrap01 small {
    position: relative;
    top: -6px;
    letter-spacing: 0.045em;
  }
  .merit .con_wrap01 .con_copy::after {
    bottom: -17px;
    right: 7px;
  }
  .merit .con_wrap02 .con_copy {
    margin-left: -5px;
  }
}
.merit_con-zeh {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 10px;
}
.merit_con-zeh_img {
  display: block;
  width: 72px;
}
.merit .merit_con-zeh .con_copy::before {
  content: "（ゼッチマンション）";
  position: absolute;
  bottom:  -17px;
  left: 80px;
  font-size: 14px;
  letter-spacing: -0.05em;
  line-height: 1;
  text-align: left;
}
/* .merit .con_wrap03 .con_copy::after {
  content: "※取得予定";
  position: absolute;
  bottom: -18px;
  right: 0;
  font-size: 12px;
  line-height: 1;
  text-align: right;
} */

/* puPlan */
.puPlan-sec {
  width: 100%;
  background: url(../img/top/puPlan_bg_img_pc.png) no-repeat top center/cover;
}
.puPlan_btn-wrap {
  margin-inline: auto;
  max-width: 1280px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: start;
  border-bottom: #aaa 1px solid;
}
.puPlan_btn{
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  
}
.puPlan_btn {
  flex: 1;
}
.puPlan_ttl {
  background: linear-gradient(270deg, #9a7955 20%, #cbae83 80%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  text-align: center;
}
.puPlan_txt {
  color: #fff;
  text-align: center;
}

.puPlan_btn {
  position: relative;
  background-color: #00000044;
}
.puPlan_btn.current {
  pointer-events: none;
}
.puPlan_btn.puPremium::before,
.puPlan_btn.puPremium::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, #9a7955 20%, #cbae83 80%);
  transition: opacity .4s;
  opacity: 0;
}
.puPlan_btn.puPremium.current::before,
.puPlan_btn.puPremium:hover::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, #9a7955 20%, #cbae83 80%);
  transition: opacity .4s;
  opacity: 1;
}

.puPlan_btn.puGarden::before,
.puPlan_btn.puGarden::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, #213e17 20%, #213e17 48%, #426132 80%);
  transition: opacity .4s;
  opacity: 0;
}
.puPlan_btn.puGarden.current::before,
.puPlan_btn.puGarden:hover::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, #213e17 20%, #213e17 48%, #426132 80%);
  transition: opacity .4s;
  opacity: 1;
}
.puPlan_btn_txt {
  position: relative;
  z-index: 1;
  color: #fff;
}
.puPlan_btn_txt::after {
  content: "";
  display: inline-block;
  rotate: 135deg;
  user-select: none;
}

.puPlan_panel-wrap {
  position: relative;
  margin-inline: auto;
  max-width: 1280px;
  width: 100%;
}
.puPlan_panel {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* aspect-ratio: 1 / 0.933; */
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s, visibility .4s;
}
.puPlan_panel.current {
  position: relative;
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}
.puPlan_slide a {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width:769px) {
  .puPlan_swiper-nav-wrap {
    display: none;
  }
  .puPlan-sec {
    padding-block: 98px 139px;
  }
  .puPlan_ttl {
    font-size: 56px;
    line-height: 1.1 ;
  }
  .puPlan_txt {
    margin-top: 22px;
    font-size: 27px;
    line-height: 1.703;
  }
  .puPlan_tab-container {
    margin-top: 72px;
  }
  .puPlan_btn-wrap {
    gap: 20px;
  }
  .puPlan_btn {
    padding-block: 31px;
  }
  .puPlan_btn_txt {
    font-size: 27px;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .puPlan_btn.puGarden .puPlan_btn_txt {
    letter-spacing: 0.15em;
  }
  .puPlan_btn_txt::after {
    margin-left: 20px;
    margin-bottom: 7px;
    width: 8px;
    height: 8px;
    rotate: 135deg;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  .puPlan_panel-wrap {
    margin-top: 40px;
    width: 100%;
    min-height: 610px;
  }
  #panel-2 .puPlan_slide-wrap {
    justify-content: center;
  }
  .puPlan_slide-wrap {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 40px;
  }
  .puPlan_slide {
    max-width: 400px;
    flex: 1;
  }
}
@media screen and (max-width: 768px) {
  .puPlan-sec {
    padding-block: calc((( 78 / var(--media_sp)) * 100) * var(--vw)) calc((( 99 / var(--media_sp)) * 100) * var(--vw));
    background: url(../img/top/puPlan_bg_img_sp.png) no-repeat top center/cover;
  }
   .puPlan_ttl {
    margin-top: calc((( 64 / var(--media_sp)) * 100) * var(--vw));
    font-size: calc((( 64 / var(--media_sp)) * 100) * var(--vw));
    line-height: 1.1;
  }
  .puPlan_txt {
    margin-top: calc((( 20 / var(--media_sp)) * 100) * var(--vw));
    font-size: calc((( 28 / var(--media_sp)) * 100) * var(--vw));
    line-height: 1.714;
  }
  .puPlan_tab-container {
    margin-top: calc((( 70 / var(--media_sp)) * 100) * var(--vw));
  }
  .puPlan_btn-wrap {
    width: 89.583%;
    gap: calc((( 20 / var(--media_sp)) * 100) * var(--vw));
  }
  .puPlan_btn {
    padding-block: calc((( 30 / var(--media_sp)) * 100) * var(--vw));
  }
  .puPlan_btn_txt {
    font-size: calc((( 27 / var(--media_sp)) * 100) * var(--vw));
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .puPlan_btn.puGarden .puPlan_btn_txt {
    letter-spacing: 0.15em;
  }
  .puPlan_btn_txt::after {
    margin-left: calc((( 22 / var(--media_sp)) * 100) * var(--vw));
    margin-bottom: calc((( 8 / var(--media_sp)) * 100) * var(--vw));
    width: calc((( 11 / var(--media_sp)) * 100) * var(--vw));
    height: calc((( 11 / var(--media_sp)) * 100) * var(--vw));
    rotate: 135deg;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  .puPlan_panel-wrap {
    margin-top: calc((( 40 / var(--media_sp)) * 100) * var(--vw));
    margin-inline: auto;
    width: 89.583%;
    min-height: 100vw;
  }
  /* .puPlan_slide-wrap {
  } */
  .puPlan_panel {
    margin-inline: auto;
    width: 100%;
  }
  .puPlan_panel-inner {
    width: calc((( 504 / var(--media_sp)) * 100) * var(--vw));
  }
  .puPlan_swiper-nav-wrap{
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .puPlan_swiper-nav-prev {
    width: calc((( 50 / var(--media_sp)) * 100) * var(--vw));
    font-size: 0;
    cursor: pointer;
  }
  .puPlan_swiper-nav-next {
    width: calc((( 50 / var(--media_sp)) * 100) * var(--vw));
    font-size: 0;
    cursor: pointer;  
  }
}
/* puPlan */

.merit-zeh {
  background-color: #f2f2f2;
}
.merit-zeh-wrap {
  margin-inline: auto;
}
.merit-zeh-wrap .merit-zeh_bnr {
  width: 100%;
}
.merit-zeh_btn {
  position: absolute;
  display: grid;
  place-items: center;
  border-radius: 100vmax;
  background: linear-gradient(to right, #8aaf6e 0%, #0c4e0c 100%) center/120% 100% no-repeat;
  color: #fff;
}
.merit-zeh_btn .arrow {
  position: absolute;
  transform: rotate(45deg) translateY(-50%);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  user-select: none;
}
@media (min-width:769px) {
  .merit .merit_con-zeh .con_txt {
    position: relative;
    /* left: -4px; */
    /* letter-spacing: -0.1em; */
  }
  .merit .merit_con-zeh .con_txt span.sp-ls {
    letter-spacing: -0.115em;
  }
  .merit .con_copy small {
    font-size: 19px;
  }
  .merit-zeh {
    padding-block: 93px 84px;
  }
  .merit-zeh-wrap {
    width: 1280px;
  }
  .merit-zeh_btn {
    top: 163px;
    left: 50%;
    translate: -50% 0;
    width: 360px;
    height: 60px;
    font-size: 15px;
  }
  .merit-zeh_btn .arrow {
    position: absolute;
    top: 50%;
    right: 35px;
    width: 7px;
    height: 7px;
    transform: rotate(45deg) translateY(-50%);
  }
}
@media screen and (max-width: 768px) {
  .merit {
    padding: calc(73 / var(--media_sp) * 100vw) 0 calc(100 / var(--media_sp) * 100vw);
    text-align: center;
  }
  .merit .sec_wrap {
    margin: 0 auto;
    display: block;
  }
  .merit .con_txt {
    font-size: calc(34 / var(--media_sp) * 100vw);
    line-height: 1.25;
    letter-spacing: 0.05em;
  }
  .merit .con_copy {
    font-size: calc(60 / var(--media_sp) * 100vw);
    line-height: 1.333;
  }
  .merit .merit_con-typeVar .con_copy {
    margin-top: 0;
  }
  .merit .con_copy strong {
    font-size: calc(100 / var(--media_sp) * 100vw);
  }
  .merit .con_copy small {
    font-size: calc(33.5 / var(--media_sp) * 100vw);
  }
  .merit .img {
    margin: calc(24 / var(--media_sp) * 100vw) auto calc(30 / var(--media_sp) * 100vw);
    font-size: 0;
    width: calc(30 / var(--media_sp) * 100vw);
    height: calc(30 / var(--media_sp) * 100vw);
  }
  .merit .img:nth-of-type(2) {
    margin-top: calc(30 / var(--media_sp) * 100vw);
    margin-bottom: calc(31 / var(--media_sp) * 100vw);
  }
  .merit .con_wrap01 .con_txt {
    text-indent: 0;
  }
  .merit .con_wrap01 .con_copy {
    margin-top: calc(34 / var(--media_sp) * 100vw);
    line-height: 1;
  }
  .merit .con_wrap01 .con_copy::after {
    content: "(約620m)";
    position: absolute;
    bottom:  calc(-32 / var(--media_sp) * 100vw);
    right: calc(12 / var(--media_sp) * 100vw);
    font-size: calc(20 / var(--media_sp) * 100vw);
    line-height: 1;
    text-align: right;
  }
  .merit .con_wrap01 .con_copy.sp .con_copy-inner {
    display: inline-block;
  }
  .merit .con_wrap01 .con_copy.sp .con_copy-inner.wrap {
    font-size: calc(24 / var(--media_sp) * 100vw);
    line-height: 1.333;
  }
  .merit .con_wrap02 {
    text-align: center;
  }
  .merit .con_wrap02 .con_copy {
    margin-top: calc(12 / var(--media_sp) * 100vw);
  }
  .merit .merit_con-zeh {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc( 20 / var(--media_sp) * 100vw);
  }
  .merit_con-zeh_img {
    display: block;
    width: calc( 122 / var(--media_sp) * 100vw);
  }
  .merit .merit_con-zeh .con_txt {
    letter-spacing: 0;
    /* text-align: left; */
  }
  .merit .merit_con-zeh .con_txt sup {
    font-size: 0.6em;
    letter-spacing: -0.05em;
  }
  .merit .merit_con-zeh .con_txt span.sp-ls {
    letter-spacing: -0.115em;
  }
  .merit .merit_con-zeh .con_copy {
    margin-top: calc(-2 / var(--media_sp) * 100vw);
    /* text-align: left; */
  }
  /*  */
  .merit .merit_con-zeh .con_copy small {
    position: relative;
    top: calc(-20 / var(--media_sp) * 100vw);
  }
  /*  */
  .merit .merit_con-zeh .con_copy::before {
    content: "（ゼッチマンション）";
    position: absolute;
    bottom:  calc(-20 / var(--media_sp) * 100vw);
    left: 29.3%;
    font-size: calc(20 / var(--media_sp) * 100vw);
    letter-spacing: -0.14em;
    line-height: 1;
    text-align: left;
  }
  /* .merit .con_wrap03 .con_copy::after {
    content: "※取得予定";
    position: absolute;
    bottom:  calc(-20 / var(--media_sp) * 100vw);
    right: 0;
    transform: translateX(-100%);
    font-size: calc(20 / var(--media_sp) * 100vw);
    line-height: 1;
    text-align: right;
  } */
   .merit-zeh {
    padding-block: 7.8125vw;
  }
  .merit-zeh-wrap {
    width: 89.583%;
  }
  .merit-zeh_btn {
    margin-inline: auto;
    width: 40.104vw;
    height: 8.724vw;
    font-size: 2.864vw;
    top: 54.6875vw;
    left: 0;
    right: 0;
  }
  .merit-zeh_btn .arrow {
    position: absolute;
    top: 50%;
    right: 4.6875vw;
    width: 1.302vw;
    height: 1.302vw;
    transform: rotate(45deg) translateY(-50%);
    border-width: 0.26vw;
  }
}
/* info */
.topInfo,
.btmInfo {
  padding: 118px 0 120px;
  background: -webkit-gradient(linear, right top, left top, color-stop(20%, #161e49), color-stop(80%, #32456f));
  background: linear-gradient(270deg, #161e49 20%, #32456f 80%);
}
.topInfo .sec_wrap,
.btmInfo .sec_wrap {
  display: grid;
  grid-template-columns: 1fr 920px;
  color: #fff;
}
.topInfo .sec_ttl,
.btmInfo .sec_ttl {
  font-size: 21px;
}
.topInfo .con_ttl,
.btmInfo .con_ttl {
  margin-top: -16px;
  font-size: 40px;
  line-height: 1.825;
  letter-spacing: normal;
}
.topInfo .con_ttl .small_char,
.btmInfo .con_ttl .small_char {
  font-size: 30px;
}
.topInfo .con_txt,
.btmInfo .con_txt {
  margin-top: 23px;
  font-size: 19px;
  line-height: 1.8;
}
.topInfo .btn,
.btmInfo .btn {
  margin-top: 36px;
  margin-left: 4px;
  /* width: 230px; */
  background: linear-gradient(270deg, #7c3f60 20%, #be5973 80%);
  /* background: linear-gradient(270deg, #7571b1 20%, #3b66c3 80%); */
}
.topInfo .btn.lim,
.btmInfo .btn.lim {
  width: 420px;
  background: linear-gradient(270deg, rgb(154, 121, 85) 0%, rgb(162, 128, 90) 48%, rgb(203, 174, 131) 100%);
}
.topInfo .btn.lim p,
.btmInfo .btn.lim p {
  margin-left: -36px;
  font-size: 18px;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  color: #fff;
}
.topInfo .btn.lim .arrow,
.btmInfo .btn.lim .arrow {
  top: 49%;
  right: 60px;
  width: 7px;
  height: 7px;
}
.topInfo .spInfo,
.btmInfo .spInfo {
  background-color: #3a4b78;
  width: 100%;
  color: #fff;
  box-sizing: border-box;
}
.topInfo .news {
  margin-top: 50px;
}
.btmInfo .news {
  margin-top: 80px;
}
.topInfo .news_item,
.btmInfo .news_item {
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
}
.topInfo .news_item .date,
.btmInfo .news_item .date {
  font-size: 17px;
  line-height: 2;
}
@media (min-width:769px) {
  .topInfo .spInfo,
  .btmInfo .spInfo {
    margin-top: 50px;
    padding: 23px 30px;
  }
  .topInfo .spInfo_ttl,
  .btmInfo .spInfo_ttl {
    margin-left: -7px;
    font-size: 19px;
    letter-spacing: 0.04em;
  }
  .topInfo .spInfo_txt,
  .btmInfo .spInfo_txt {
    margin-top: 6px;
    font-size: 17px;
    line-height: 1.588;
    letter-spacing: -0.02em;
  }
  .topInfo .news_item .date,
  .btmInfo .news_item .date {
    min-width: 86px;
  }
}
@media (max-width:768px) {
  .topInfo .spInfo,
  .btmInfo .spInfo {
    margin-top: calc((( 80 / var(--media_sp)) * 100) * var(--vw));
    padding: calc((( 23 / var(--media_sp)) * 100) * var(--vw)) calc((( 30 / var(--media_sp)) * 100) * var(--vw));
  }
  .topInfo .spInfo_ttl,
  .btmInfo .spInfo_ttl {
    text-align: center;
    font-size: calc((( 28 / var(--media_sp)) * 100) * var(--vw));
    letter-spacing: 0.05em;
  }
  .topInfo .spInfo_txt,
  .btmInfo .spInfo_txt {
    margin-top: calc((( 9 / var(--media_sp)) * 100) * var(--vw));
    font-size: calc((( 24 / var(--media_sp)) * 100) * var(--vw));
    line-height: 1.5;
    letter-spacing: -0.02em;
    text-align: left;
  }
  .topInfo .news_item .date,
  .btmInfo .news_item .date {
    min-width: 86px;
  }
}
.topInfo .news_item:first-child,
.btmInfo .news_item:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.topInfo .news_item .news_txt a {
  font: inherit;
  text-decoration: underline;
}
.topInfo .news_txt,
.btmInfo .news_txt {
  margin-left: 40px;
  font-size: 17px;
  line-height: 2;
}
.topInfo .bnr,
.btmInfo .bnr {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 80px;
  padding: 34px 40px 37px;
  background-color: #161d3f;
  color: #fff;
}
/* .btmInfo .spInfo + .bnr {
  margin-top: 50px;
} */
.topInfo .bnr_ttl,
.btmInfo .bnr_ttl {
  font-size: 21px;
  letter-spacing: -0.03em;
}
.topInfo .bnr_ttl .ls,
.btmInfo .bnr_ttl .ls {
  font-size: 21px;
  letter-spacing: -0.11em;
}
.topInfo .bnr_inner,
.btmInfo .bnr_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.topInfo .bnr_inner .txt,
.btmInfo .bnr_inner .txt {
  margin-left: 22px;
  font-size: 14px;
  line-height: 2;
}
.topInfo .bnr_tel,
.btmInfo .bnr_tel {
  margin-top: 13px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.topInfo .bnr_tel .img,
.btmInfo .bnr_tel .img {
  margin-right: 8px;
  margin-bottom: 3px;
  width: 77px;
  height: 46px;
  vertical-align: bottom;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
.topInfo .num,
.btmInfo .num {
  font-size: 60px;
  line-height: 1;
  letter-spacing: -0.01em;
  pointer-events: none;
  text-decoration: none !important;
}

@media screen and (max-width: 768px) {
  ::-webkit-full-page-media,
  :future,
  :root .topInfo .con_txt {
    white-space: nowrap;
  }
  ::-webkit-full-page-media,
  :future,
  :root .btmInfo .con_txt {
    white-space: nowrap;
  }
  .topInfo,
  .btmInfo {
    padding: calc(120 / var(--media_sp) * 100vw) 0;
    background: -webkit-gradient(linear, right top, left top, color-stop(20%, #161e49), color-stop(80%, #32456f));
    background: linear-gradient(270deg, #161e49 20%, #32456f 80%);
    overflow: hidden;
  }
  .topInfo .sec_wrap,
  .btmInfo .sec_wrap {
    display: block;
    width: var(--media_sp_inner);
    margin: 0 auto;
    color: #fff;
  }
  .topInfo .sec_ttl,
  .btmInfo .sec_ttl {
    font-size: calc(28 / var(--media_sp) * 100vw);
    line-height: 1;
    text-align: center;
  }
  .topInfo .con_ttl,
  .btmInfo .con_ttl {
    margin-top: calc(30 / var(--media_sp) * 100vw);
    margin-inline: calc(50% - 50vw);
    width: 100vw;
    font-size: calc(56 / var(--media_sp) * 100vw);
    line-height: 1.678;
    text-align: center;
  }
  .topInfo .con_ttl .small_char,
  .btmInfo .con_ttl .small_char {
    font-size: calc(( 36 / var(--media_sp)) * 100vw );
  }
  .topInfo .con_txt,
  .btmInfo .con_txt {
    margin-top: calc(52 / var(--media_sp) * 100vw);
    font-size: calc(28 / var(--media_sp) * 100vw);
    line-height: 1.7;
    letter-spacing: -0.07em;
    text-align: center;
  }
  .topInfo .btn,
  .btmInfo .btn {
    display: block;
    margin: calc(50 / var(--media_sp) * 100vw) auto 0;
    width: calc(540 / var(--media_sp) * 100vw);
    height: calc(90 / var(--media_sp) * 100vw);
    font-size: calc(28 / var(--media_sp) * 100vw);
    line-height: calc(90 / var(--media_sp) * 100vw);
    border-radius: calc(90 / var(--media_sp) * 100vw / 2);
  }
  .topInfo .btn.lim,
  .btmInfo .btn.lim {
    width: 100%;
    height: calc(90 / var(--media_sp) * 100vw);
  }
  .topInfo .btn.lim p,
  .btmInfo .btn.lim p {
    margin-left: 0;
    font-size: calc(32 / var(--media_sp) * 100vw);
  }
  .topInfo .btn.lim .arrow,
  .btmInfo .btn.lim .arrow {
    right: calc(38 / var(--media_sp) * 100vw);
    width: calc(14 / var(--media_sp) * 100vw);
    height: calc(14 / var(--media_sp) * 100vw);
    -webkit-transform: rotate(45deg) translateY(-50%);
            transform: rotate(45deg) translateY(-50%);
    border-top: calc(2 / var(--media_sp) * 100vw) solid #fff;
    border-right: calc(2 / var(--media_sp) * 100vw) solid #fff;
  }
  .topInfo .news {
    margin-top: calc((( 80 / var(--media_sp)) * 100) * var(--vw));
  }
  .btmInfo .news {
    margin-top: calc(120 / var(--media_sp) * 100vw);
    text-align: left;
  }
  .topInfo .news_item,
  .btmInfo .news_item {
    padding: calc(24 / var(--media_sp) * 100vw) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    display: block;
  }
  .topInfo .news_item .date,
  .btmInfo .news_item .date {
    font-size: calc(26 / var(--media_sp) * 100vw);
    line-height: 1;
  }
  .topInfo .news_item:first-child,
  .btmInfo .news_item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .topInfo .news_txt,
  .btmInfo .news_txt {
    margin-top: calc(( 8 / var(--media_sp)) * 100vw );
    margin-left: 0;
    font-size: calc(26 / var(--media_sp) * 100vw);
    line-height: 1.615;
  }
  .topInfo .bnr,
  .btmInfo .bnr {
    width: 100%;
    margin: calc(80 / var(--media_sp) * 100vw) auto 0;
    padding: calc(40 / var(--media_sp) * 100vw) 0 calc(42 / var(--media_sp) * 100vw);
    background-color: #161d3f;
    color: #fff;
    text-align: center;
  }
  .topInfo .bnr_ttl,
  .btmInfo .bnr_ttl {
    font-size: calc(30 / var(--media_sp) * 100vw);
    line-height: 1.6;
    letter-spacing: -0.03em;
  }
  .topInfo .bnr_ttl .ls,
  .btmInfo .bnr_ttl .ls {
    font-size: inherit;
    letter-spacing: -0.11em;
  }
  .topInfo .bnr_inner,
  .btmInfo .bnr_inner {
    display: contents;
  }
  .topInfo .bnr_inner .txt {
    margin: calc(26 / var(--media_sp) * 100vw) auto 0;
    font-size: calc(20 / var(--media_sp) * 100vw);
    line-height: 1.6;
  }
  .btmInfo .bnr_inner .txt:first-child {
    margin: calc(26 / var(--media_sp) * 100vw) auto 0;
  }
  .btmInfo .bnr_inner .txt {
    font-size: calc(20 / var(--media_sp) * 100vw);
    line-height: 1.6;
  }
  .topInfo .bnr_tel,
  .btmInfo .bnr_tel {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: calc(80 / var(--media_sp) * 100vw);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    margin: calc(19 / var(--media_sp) * 100vw) auto 0;
  }
  .topInfo .bnr_tel .img,
  .btmInfo .bnr_tel .img {
    -ms-flex-item-align: start;
        align-self: start;
    margin: 0;
    margin-top: calc(15 / var(--media_sp) * 100vw);
    margin-left: calc(3 / var(--media_sp) * 100vw);
    width: calc(103 / var(--media_sp) * 100vw);
    height: calc(61 / var(--media_sp) * 100vw);
    vertical-align: baseline;
  }
  .topInfo .bnr_tel .num,
  .btmInfo .bnr_tel .num {
    margin: 0;
    -ms-flex-item-align: start;
        align-self: flex-start;
    margin-left: calc(4 / var(--media_sp) * 100vw);
    font-size: calc(80 / var(--media_sp) * 100vw);
    line-height: 1;
  }
  .btmInfo {
    padding-bottom: calc(160 / var(--media_sp) * 100vw);
  }
}

/* sp-cont */
.sp-cont {
  display: grid;
  grid-template-columns: var(--grid_pc_col);
  background: url(../img/top/top_limited_bg01_pc.png) no-repeat center top/cover;
}
.sp-cont .sec_wrap {
  grid-column: 2 / 3;
  text-align: center;
}
.sp-cont .sec_ttl {
  line-height: normal;
  background: -webkit-gradient(linear, right top, left top, color-stop(20%, #9a7955), color-stop(80%, #cbae83));
  background: linear-gradient(270deg, #9a7955 20%, #cbae83 80%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 1679px) {
  .sp-cont {
    grid-template-columns: var(--grid_note_col);
  }
}
@media (min-width:751px) {
  .sp-cont {
    padding-block: 120px 156px;
  }
  .sp-cont .sec_ttl {
    font-size: 56px;
  }
}
@media screen and (max-width: 768px) {
  .sp-cont {
    grid-template-columns: var(--grid_sp_col);
    padding-block: calc( 111 / var(--media_sp) * 100vw) calc(120 / var(--media_sp) * 100vw);
    background: url(../img/top/top_limited_bg01_sp.png) no-repeat center center/cover;
  }
  .sp-cont .sec_ttl {
    font-size: calc(54 / var(--media_sp) * 100vw);
  }
}

.sp-cont .sec_wrap {
  grid-column: 2 / 3;
  margin-inline: auto;
  text-align: center;
}
.sp-cont .contents_img-wrap a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0;
}
@media (min-width:769px) {
  .sp-cont .contents-wrap {
    margin-top: 67px;
    margin-inline: auto;
    width: 1280px;
    display: flex;
    align-items: start;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 30px;
  }
  .sp-cont .contents_img-wrap {
    width: 625px;
  }
}
@media (max-width:768px) {
  .sp-cont .contents-wrap {
    margin-top: calc(30 / var(--media_sp) * 100vw);
  }
  .sp-cont .contents-wrap > * + * {
    margin-top: calc(41 / var(--media_sp) * 100vw);
  }
  .sp-cont .contents_img-wrap {
    width: 100%;
  }
}
/* sp-cont */

/* catch */
.catch .sec_wrap {
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.catch .sec_inner {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: grid;
  place-content: center;
}
.catch .sec_ttl {
  margin-top: 15px;
  margin-left: 12px;
  width: 435px;
  font-size: 0;
}
.catch .sec_txt {
  margin-top: 67px;
  margin-left: 19px;
  font-size: 19px;
  line-height: 2.5;
  letter-spacing: 0.07em;
}
.catch .img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.catch .img .cap {
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-size: 12px;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .catch .sec_wrap {
    width: 100%;
    padding: calc(180 / var(--media_sp) * 100vw) 0 0;
    display: block;
    overflow: visible;
  }
  .catch .sec_inner {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .catch .sec_ttl {
    margin: 0;
    margin-left: calc(18 / var(--media_sp) * 100vw);
    width: calc(567 / var(--media_sp) * 100vw);
    font-size: 0;
  }
  .catch .sec_txt {
    margin: calc(88 / var(--media_sp) * 100vw) auto 0 calc(20 / var(--media_sp) * 100vw);
    font-size: calc(28 / var(--media_sp) * 100vw);
    line-height: calc(72 / var(--media_sp) * 100vw);
    letter-spacing: -0.03em;
  }
  .catch .img {
    width: 100%;
    margin: 0;
    margin-top: calc(178 / var(--media_sp) * 100vw);
  }
  .catch .img .cap {
    font-size: calc(20 / var(--media_sp) * 100vw);
  }
}
/* section value common */
.city .sec_wrap,
.future .sec_wrap,
.residence .sec_wrap {
  display: grid;
  max-width: 100%;
  grid-template-columns: var(--grid_pc_col);
}
.city .sec_wrap img,
.future .sec_wrap img,
.residence .sec_wrap img {
  height: auto;
}
.city .sec_ttl,
.future .sec_ttl,
.residence .sec_ttl {
  font-size: 0;
}
.city .sec_txt,
.future .sec_txt,
.residence .sec_txt {
  color: #231815;
}

.gridType01,
.gridType02 {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
}
.gridType01 {
  grid-template-columns: 1fr 65.625%;
  /* grid-template-rows: 1fr 1fr 60px; */
  align-items: end;
}
.gridType01 .con_txt-wrap {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.gridType01 .con_img,
.gridType02 .con_img {
  position: relative;
  font-size: 0;
}
.gridType01 .con_img {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
.gridType01 .con_ttl,
.gridType02 .con_ttl {
  margin-bottom: 35px;
  font-size: 68px;
  line-height: 1;
  letter-spacing: -0.01em;
  color: #111;
}
.gridType01 .con_txt,
.gridType02 .con_txt {
  margin-bottom: 52px;
  font-size: 21px;
  line-height: 1.8;
  letter-spacing: -0.01em;
  color: #231815;
}
.gridType01 .con_btn,
.gridType02 .con_btn {
  background-color: #2f2f2f;
}

.gridType02 {
  grid-template-columns: 65.625% 1fr;
  /* grid-template-rows: 1fr 1fr 60px; */
  align-items: end;
}
.gridType02 .con_img {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.gridType02 .con_txt-wrap {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  margin-left: auto;
}


@media screen and (max-width: 768px) {
  .city .sec_wrap,
  .future .sec_wrap,
  .residence .sec_wrap {
    display: grid;
    max-width: 100%;
    width: 100%;
  }
  .gridType01,
  .gridType02 {
    max-width: 100%;
    grid-template-columns: 5.20833% 1fr 5.20833%;
    align-items: start;
  }
  .gridType01 {
    justify-content: end;
  }
  .gridType01 .con_img {
    grid-column: 2 / 4;
    grid-row: 1 / 2;
  }
  .gridType02 .con_img {
    grid-column: 1 / 3;
  }
  .gridType01 .con_txt-wrap {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    text-align: right;
  }
  .gridType02 .con_txt-wrap {
    margin-left: 0;
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: start;
  }
  .gridType01 .con_ttl,
  .gridType02 .con_ttl {
    margin: 0;
    margin-top: calc( 57 / var(--media_sp) * 100vw);
    font-size: calc(94 / var(--media_sp) * 100vw);
    letter-spacing: 0.02em;
  }
  .gridType01 .con_txt,
  .gridType02 .con_txt {
    margin: 0;
    margin-top: calc( 24 / var(--media_sp) * 100vw);
    font-size: calc(32 / var(--media_sp) * 100vw);
  }
  .gridType01 .con_btn,
  .gridType02 .con_btn {
    margin: 0;
    margin-top: calc( 48 / var(--media_sp) * 100vw);
    width: calc(360 / var(--media_sp) * 100vw);
    height: calc(90 / var(--media_sp) * 100vw);
    font-size: calc(24 / var(--media_sp) * 100vw);
    line-height: calc(90 / var(--media_sp) * 100vw);
    border-radius: calc(45 / var(--media_sp) * 100vw);
  }
  .gridType01 .con_btn .arrow,
  .gridType02 .con_btn .arrow {
    top: 48%;
    right: calc(47 / var(--media_sp) * 100vw);
    width: calc(13 / var(--media_sp) * 100vw);
    height: calc(13 / var(--media_sp) * 100vw);
  }
}
/* city */
.city {
  padding-top: 240px;
}
.city .sec_wrap {
  grid-template-rows: calc(130 / var(--media_pc_wrap) * 100vw) calc(251 / var(--media_pc_wrap) * 100vw) 379px 1fr;
}
.city .sec_ttl {
  margin-left: 9.642vw;
  width: calc(174 / var(--media_pc_wrap) * 100vw);
  min-width: 174px;
  z-index: 10;
  grid-column: 1/3;
  grid-row: 1/4;
  justify-self: start;
  align-self: start;
}
.city .sec_subTl {
  margin-left: calc(9.642vw + 174 / var(--media_pc_wrap) * 100vw + 40px);
  font-size: 27px;
  letter-spacing: 0.04em;
  color: #347595;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  grid-column: 1/3;
  grid-row: 1/3;
  justify-self: start;
}
.city .sec_txt {
  margin-top: -3px;
  margin-right: -12px;
  font-size: 31px;
  letter-spacing: 0.04em;
  line-height: 1;
  grid-column: 2/3;
  grid-row: 2/3;
  justify-self: end;
}
.city .sec_txt span {
  font-size: inherit;
  letter-spacing: 0.04em;
  line-height: 1;
}
.city .img {
  grid-column: 1/3;
  grid-row: 3/5;
  aspect-ratio: 1.644/1;
}
.city .con_wrap01 {
  margin-top: 178px;
}
.city .con_wrap02 {
  margin-top: 180px;
}
.city .gridType01 {
  margin-top: 178px;
}
.city .con-acc .con_txt-wrap {
  margin-right: 50px;
}

@media screen and (max-width: 1679px) {
  .city .sec_wrap {
    grid-template-rows: 130px 251px 379px 1fr;
  }
  .city .sec_subTl {
    margin-left: calc(9.642vw + 174px + 40px);
  }
}
@media screen and (max-width: 768px) {
  .city {
    padding-top: calc(170 / var(--media_sp) * 100vw);
  }
  .city .sec_wrap {
    grid-template-columns: 1fr repeat(2, 44.7915%) 1fr;
    grid-template-rows: calc(290 / var(--media_sp) * 100vw) calc(568 / var(--media_sp) * 100vw);
    align-items: start;
  }
  .city .sec_ttl {
    margin-left: calc(7 / var(--media_sp) * 100vw);
    width: calc(141 / var(--media_sp) * 100vw);
    min-width: 0;
    z-index: 10;
    grid-column: 2/3;
    grid-row: 1/3;
    justify-self: start;
  }
  .city .sec_subTl {
    margin-left: calc(179 / var(--media_sp) * 100vw);
    font-size: calc(22 / var(--media_sp) * 100vw);
    grid-column: 2/3;
    grid-row: 1/2;
    justify-self: start;
  }
  .city .sec_txt {
    margin: 0;
    margin-top: calc(-13 / var(--media_sp) * 100vw);
    margin-right: calc(9 / var(--media_sp) * 100vw);
    font-size: calc(32 / var(--media_sp) * 100vw);
    line-height: 1.8;
    grid-column: 3/4;
    grid-row: 1/2;
    justify-self: end;
    align-self: start;
    text-align: right;
    position: relative;
  }
  .city .sec_txt span {
    position: absolute;
    bottom: calc(13 / var(--media_sp) * 100vw);
  }
  .city .img {
    grid-column: 1/5;
    grid-row: 2/3;
  }
  .city .gridType01 {
    margin-top:  calc(119 / var(--media_sp) * 100vw);
  }
  .city .gridType01 .con_ttl {
    margin-right: calc(-6 / var(--media_sp) * 100vw);
  }
  .city .gridType01 .con_txt span {
    margin-right: 0.65em;
  }
  .city .gridType02 {
    margin-top: calc(161 / var(--media_sp) * 100vw);
  }
  .city .gridType02 .con_ttl {
    margin-left: calc(-8 / var(--media_sp) * 100vw);
  }
  .city .con-acc .con_txt-wrap {
    margin-right: 0;
  }
}
/* future */
.future {
  padding-top: 300px;
}
.future .sec_wrap {
  grid-template-rows: calc(221 / var(--media_pc_wrap) * 100vw) calc(150 / var(--media_pc_wrap) * 100vw) calc(371 / var(--media_pc_wrap) * 100vw) 1fr;
}
.future .sec_ttl {
  margin-right: 3.333vw;
  width: calc(181 / var(--media_pc_wrap) * 100vw);
  min-width: 181px;
  z-index: 10;
  grid-column: 2/3;
  grid-row: 1/4;
  justify-self: end;
  align-self: start;
}
.future .sec_subTl {
  font-size: 27px;
  letter-spacing: 0.04em;
  color: #347595;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  grid-column: 2/3;
  grid-row: 1/3;
  justify-self: end;
}
.future .sec_txt {
  font-size: 31px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  grid-column: 2/3;
  grid-row: 1/2;
  margin-bottom: -11px;
  justify-self: start;
  align-self: end;
}
.future .img {
  grid-column: 2/4;
  grid-row: 3/5;
}
.future .con_wrap01 {
  margin-top: 180px;
}
.future .gridType01 .con_ttl {
  margin-left: -7px;
}

@media screen and (max-width: 1679px) {
  .future .sec_wrap {
    grid-template-rows: 221px 150px 371px 1fr;
  }
}
@media screen and (max-width: 768px) {
  .future {
    padding-top: calc(201 / var(--media_sp) * 100vw);
  }
  .future .sec_wrap {
    grid-template-columns: 1fr repeat(2, 44.7915%) 1fr;
    grid-template-rows: calc(287 / var(--media_sp) * 100vw) calc(568 / var(--media_sp) * 100vw);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .future .sec_ttl {
    margin-left: 0;
    margin-right: calc(51 / var(--media_sp) * 100vw);
    width: calc(146 / var(--media_sp) * 100vw);
    min-width: 0;
    z-index: 10;
    grid-column: 3/4;
    grid-row: 1/2;
    justify-self: end;
  }
  .future .sec_subTl {
    font-size: calc(22 / var(--media_sp) * 100vw);
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    grid-column: 3/4;
    grid-row: 1/2;
    justify-self: end;
  }
  .future .sec_txt {
    margin-top: calc(-17 / var(--media_sp) * 100vw);
    font-size: calc(32 / var(--media_sp) * 100vw);
    letter-spacing: 0;
    line-height: 1.76;
    grid-column: 2/4;
    grid-row: 1/2;
    justify-self: start;
    align-self: start;
    text-align: left;
  }
  .future .img {
    grid-column: 1/5;
    grid-row: 2/3;
    align-self: end;
  }
  .future .con_wrap01 {
    margin-top: calc(120 / var(--media_sp) * 100vw);
  }
  .future .gridType01 {
    margin-top: calc(120 / var(--media_sp) * 100vw);
  }
  .future .gridType01 .con_img {
    grid-column: 1 / 3;
  }
  .future .gridType01 .con_txt-wrap {
    margin-left: 0;
    justify-self: start;
    text-align: left;
  }
  .future .gridType02 .con_img {
    grid-column: 2 / 4;
  }
  .future .gridType02 .con_txt-wrap {
    margin-left: auto;
    justify-self: end;
    text-align: right;
  }
  .future .gridType01 .con_ttl {
    margin-left: calc(-8 / var(--media_sp) * 100vw);
    letter-spacing: 0.02em;
  }
}
/* residence */
.residence {
  padding: 399px 0 220px;
}
.residence .sec_wrap {
  grid-template-rows: 1fr calc(375 / var(--media_pc_wrap) * 100vw) calc(196 / var(--media_pc_wrap) * 100vw) calc(173 / var(--media_pc_wrap) * 100vw);
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.residence .sec_wrap .img {
  position: relative;
}
.residence .sec_wrap .img::after {
  content: "リビング・ダイニング";
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-size: 12px;
  color: #fff;
}
.residence .sec_ttl {
  margin-left: -38px;
  width: calc(173 / var(--media_pc_wrap) * 100vw);
  min-width: 173px;
  z-index: 10;
  grid-column: 2/3;
  grid-row: 2/5;
  justify-self: start;
}
.residence .sec_subTl {
  font-size: 27px;
  color: #347595;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  grid-column: 2/3;
  grid-row: 3/5;
  justify-self: start;
  margin-left: calc(176 / var(--media_pc_wrap) * 100vw);
}
.residence .sec_txt {
  font-size: 31px;
  line-height: 1.8;
  grid-column: 2/3;
  grid-row: 4/5;
  justify-self: end;
  align-self: start;
  margin-top: -15px;
  margin-right: -12px;
}
.residence .sec_txt span {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.residence .img {
  grid-column: 1/3;
  grid-row: 1/3;
  align-self: start;
  position: relative;
}
.residence .con_wrap01 {
  margin-top: 120px;
}
.residence .con_wrap.con-model {
  margin-top: 177px;
}
.residence .con_wrap.con-equ {
  margin-top: 175px;
}
.residence .con_wrap02 {
  margin-top: 180px;
}
.residence .con_wrap01 .con_img {
  position: relative;
}
.residence .cap {
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-size: 12px;
  color: #fff;
}
.residence .con-des .cap {
  color: #000;
}
.residence .gridType01 .con_ttl {
  margin-left: -2px;
}
.residence .con-plan .con_txt-wrap {
  margin-right: 44px;
}
@media (min-width:769px) {
  .residence .con_wrap.con-equ .con_txt-wrap {
    position: relative;
    right: -25px;
  }
  .residence .con_wrap.con-model .con_ttl {
    margin-bottom: 15px;
  }
  .residence .con_wrap.con-equ .con_ttl {
    margin-bottom: 13px;
    line-height: 1.058;
  }
}
@media screen and (max-width: 1679px) {
  .residence .sec_wrap {
    grid-template-rows: 1fr 375px 196px 173px;
  }
  .residence .sec_subTl {
    margin-left: 176px;
  }
}
@media screen and (max-width: 768px) {
  .residence {
    padding: calc(199 / var(--media_sp) * 100vw) 0;
  }
  .residence .sec_wrap {
    grid-template-columns: 1fr repeat(2, 44.7915%) 1fr;
    grid-template-rows: calc(568 / var(--media_sp) * 100vw) calc(286 / var(--media_sp) * 100vw);
  }
  .residence .sec_wrap .img::after {
    font-size: calc(20 / var(--media_sp) * 100vw);
  }
  .residence .sec_ttl {
    margin: 0;
    margin-left: calc(2 / var(--media_sp) * 100vw);
    width: calc(141 / var(--media_sp) * 100vw);
    min-width: 0;
    z-index: 10;
    grid-column: 2/3;
    grid-row: 1/3;
    justify-self: start;
    align-self: end;
  }
  .residence .sec_subTl {
    margin: 0;
    margin-left: calc(173 / var(--media_sp) * 100vw);
    margin-bottom: calc(4 / var(--media_sp) * 100vw);
    font-size: calc(22 / var(--media_sp) * 100vw);
    letter-spacing: 0.01em;
    grid-column: 2/3;
    grid-row: 2/3;
    justify-self: start;
  }
  .residence .sec_txt {
    margin: 0;
    margin-bottom: calc(-9 / var(--media_sp) * 100vw);
    margin-right: calc(4 / var(--media_sp) * 100vw);
    font-size: calc(32 / var(--media_sp) * 100vw);
    line-height: 1.8;
    grid-column: 2/4;
    grid-row: 2/3;
    justify-self: end;
    align-self: end;
    text-align: right;
  }
  .residence .sec_txt span {
    display: inline-block;
    width: calc(16 / var(--media_sp) * 100vw);
  }
  .residence .img {
    grid-column: 1/5;
    grid-row: 1/2;
    align-self: start;
  }
  .residence .con_wrap01 {
    margin-top: calc(120 / var(--media_sp) * 100vw);
  }
  .residence .con_wrap02 {
    margin-top: calc(160 / var(--media_sp) * 100vw);
  }
  .residence .con_wrap.con-model {
    margin-top: calc(160 / var(--media_sp) * 100vw);
  }
  .residence .con_wrap.con-equ {
    margin-top: calc(160 / var(--media_sp) * 100vw);
  }
  .residence .gridType01 .con_ttl {
    margin-left: calc(-8 / var(--media_sp) * 100vw);
  }
  .residence .con_wrap.con-model .con_ttl {
    margin-top: calc((( 70 / var(--media_sp)) * 100) * var(--vw));
    letter-spacing: normal;
  }
  .residence .con_wrap.con-equ .con_ttl {
    margin-top: calc((( 51 / var(--media_sp)) * 100) * var(--vw));
    margin-left: calc((( -8 / var(--media_sp)) * 100) * var(--vw));
    letter-spacing: normal;
    line-height: 1.127;
  }
  .residence .cap {
    font-size: calc(20 / var(--media_sp) * 100vw);
  }
  .residence .con-plan .con_txt-wrap {
    margin-right: 0;
  }
}