@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap');
.cinzel { font-family: "Cinzel", serif; }

/* ------------------------
MV effect
---------------------------*/
.page-ttl {
  background : #000;
  position : relative;
  margin : 0;
  padding : 80px 15px;
  text-align  : center;
  font-size : 40px;
  color : #fff;
  font-family: "Cinzel", serif;
}

.page-ttl p {
  margin-bottom : 0;
}

@media screen and (max-width: 767px) {
  .page-ttl {
    padding : 30px 10px;
  }
  .page-ttl p {
    font-size : 28px;
  }

  .msn-pageTitleBanner2__img {
    width: 100%;
    aspect-ratio: 1.34 / 1;
    object-fit: cover;
  }
}

/*.mv .cap-image .cap {
  bottom : -15px;
}

.mv-sub .cap-image .cap {
  color : #000
}*/

.mv-sub {
  position : relative;
  background : #000;
}

.mv-sub > div {
  opacity : 0;
  transition : 1s;
  filter: blur(10px);
}

.mv-sub.on > div {
  opacity : 1;
  filter: blur(0);
}

.mv__txt {
  position : absolute;
  top : 0;
  left : 0;
  color : #fff;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  text-align : center;
  opacity : 0;
  transition : 1s .5s;
}

.mv-sub.on .mv__txt {
  opacity : 1;
}

.mv__txt1 {
  font-size : 39px;
}

.mv__txt2 {
  font-size : 18px;
}

.mv-cap {
  position : absolute;
  font-size : 12px;
  right : 5px;
  bottom : 5px;
  color : #fff;
  z-index : 2;
}


/* ------------------------
base
---------------------------*/
.linebg-ttl {
  font-family: "UD Reimin Bold JIS2004", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HG明朝E", serif;
  font-weight: 700;
  font-size: 1.4rem;
  position : relative;
  text-align : center;
  letter-spacing : 0.16em;
  max-width : 1000px;
  margin : 0 auto;
  border-bottom : 1px solid #000;
  padding : 20px;
}

.linebg-ttl:before {
  content:"";
  background : url(../img/linebg-ttl_l.png?v=1793786286) no-repeat left center;
  background-size: 100%;
  width : 330px;
  height : 24px;
  display : block;
  position : absolute;
  left : 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
}

.linebg-ttl:after {
  content:"";
  background : url(../img/linebg-ttl_r.png?v=1793786286) no-repeat right center;
  background-size: 100%;
  width : 330px;
  height : 24px;
  display : block;
  position : absolute;
  right : 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .linebg-ttl {
    font-size : 1.2rem;
    letter-spacing : 0.10em;
  }
  .linebg-ttl:before,
  .linebg-ttl:after {
    width : 200px;
  }
}


/* ------------------------
fadein effect
---------------------------*/
.fadein,
.fadein_long {
    opacity: 0;
    transform: translate(0, 50px);
    transition: all 800ms;
}

.fadein.scrollin,
.fadein_long.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

/*-----------------------------------
.image caption
-----------------------------------*/
.cap-image {
  position : relative;
  display : block;
}

.cap-image .cap {
    position : absolute;
    left: 5px;
    bottom : 5px;
    color : #fff;
    z-index : 2;
    font-size : 10px;
    margin : 0;
    text-shadow: 0 0 5px #000,0 0 5px #000,0 0 5px #000;
}

.cap-image .cap.cap-right {
    left : auto;
    right : 10px;
}

.cap-image .cap.cap-left {
    right : auto;
    left : 10px;
}

.cap-image .cap.cap-bk {
    color : #000;
}

.cap-image .cap.cap-under {
    position : static;
    margin-top : 5px;
    color : #000;
}

.cap-image .cap.cap-ab-under {
    bottom : -15px;
}


/*-----------------------------------
screen trigger
-----------------------------------*/
.vpc1023_in {
    display: inline!important;
}

.vsp1023 {
    display: none!important;
}

.vsp1023_in {
    display: none!important;
}

@media screen and (max-width: 1023px) {
    .vsp1023 {
        display: block!important;
    }
    .vsp1023_in {
        display: inline!important;
    }
    .vpc1023,
    .vpc1023_in {
        display: none!important;
    }
}

.vpc767_in {
  display : inline!important;
}

.vsp767 {
    display: none!important;
}

.vsp767_in {
    display: none!important;
}

@media screen and (max-width: 767px) {
    .vsp767 {
        display: block!important;
    }
    .vsp767_in {
        display: inline!important;
    }
    .vpc767,
    .vpc767_in {
        display: none!important;
    }
}


/*-----------------------------------
回遊ボタン
-----------------------------------*/
.contact {
    background: none;
}

.contact::after {
  content : '';
}

/* ------------------------
contentnav
---------------------------*/
.msn-contentnav {
    padding: 20px 20px;
}

#contents-menu .msn-imageGrid__item {
  position : relative;
}

#contents-menu .msn-imageGrid__item:after {
  content : 'image photo';
  color : #fff;
  font-size : 10px;
  position : absolute;
  bottom : 2px;
  left : 5px;
  text-shadow: 0 0 2px #000,0 0 2px #000;
}

#contents-menu .content-menu-zeh-m,
#contents-menu .content-menu-sustainability {
  background-image: url("../img/contentNav-img-00.jpg?v=1793786281");
}

#contents-menu .content-menu-address {
  background-image: url("../img/contentNav-img-10.jpg");
}

#contents-menu .msn-imageGrid__item:nth-child(3):after {
  color : #fff;
  content : '久屋大通公園（徒歩17分／約1,350m）';
}

#contents-menu .msn-imageGrid__item:nth-child(4):after {
  color : #fff;
  content : '弊社モデルルーム';
}

#contents-menu .msn-imageGrid__item:nth-child(7):after {
  color : #fff;
  content : '現地周辺の航空写真（2026年8月撮影）';
}
