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

.bg-gray {
  background : #f1f1e9;
  padding : 100px 0 1px;
}

.bg-sky {
  background : url(../img/sky-bg_pc.jpg) repeat-y;
  background-size: cover;
  background-attachment: fixed;
  background-position : bottom;
  padding-top : 100px;
  padding-bottom : 10px;
}

.bg-lightpurple {
  background : #ECECF3;
}

@media screen and (max-width: 767px) {
  .bg-sky {
    background : url(../img/sky-bg_pc.jpg) repeat-y;
    background-size: cover;
    background-position : bottom;
    background-attachment: fixed;
    padding-top : 60px;
  }
}

/* ------------------------
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;
  }
}

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

.mv-sub.on {
  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-sub .cap-image .cap {
  position : absolute;
  font-size : 11px;
  right : 5px;
  bottom: 5px;
  color : #fff;
  z-index : 2;
}

/* MV 新型：コピー＋ページタイトルを下端にまたがせる（.mv-sub--copy を付与したページのみ） */
.mv-sub--copy {
  z-index : 1;
}

.mv-sub--copy .mv__txt {
  top : auto;
  bottom : 70px;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
}

.mv__copy {
  margin-bottom : 0;
  font-size : 34px;
  line-height : 2.3;
  letter-spacing : 0.2em;
  white-space : nowrap;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
}
.mv__copy2 {
  margin-bottom : 0;
  font-size : 42px;
  line-height : 1.6;
  letter-spacing : 0.16em;
  white-space : nowrap;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
}
.mv__copy2 small {
  font-size : 58%;
}

.mv__ttl {
  position : absolute;
  top : calc(100% - 25px);
  left : 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  z-index : 3;
  margin : 0;
  color : #e5572e;
  font-family: "Cinzel", serif;
  font-size : 80px;
  line-height : 1;
  letter-spacing : 0.05em;
  opacity : 0;
  transition : 1s .5s;
}

.mv-sub--copy.on .mv__ttl {
  opacity : 1;
}

@media screen and (max-width: 767px) {
  .mv-sub--copy .mv__txt {
    bottom : 30px;
  }
  .mv__copy {
    font-size : 18px;
    line-height : 2;
    letter-spacing : 0.2em;
  }
  .mv__copy2 {
    font-size : 30px;
    line-height : 1.8;
  }
  .mv__ttl {
    top : calc(100% - 13px);
    font-size : 44px;
  }
}


/* ------------------------
base
---------------------------*/



/* ------------------------
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;
    right: 5px;
    bottom : 5px;
    color : #fff;
    z-index : 2;
    font-size : 11px;
    margin : 0;
    text-shadow: 0 0 5px #000,0 0 5px #000,0 0 5px #000;
}

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

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

.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 : -19px;
}


/*-----------------------------------
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;
    }
}


/*-----------------------------------
回遊ボタン
-----------------------------------*/
.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;
}

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

#contents-menu .content-menu-concept {
  background-image: url("../img/contentNav-img-09.jpg?v=1794291871");
}



#contents-menu .msn-imageGrid__item:nth-child(2):after {
  color : #fff;
  content : '下茶屋公園（徒歩8分/約620m）';
}
#contents-menu .msn-imageGrid__item:nth-child(8):after {
  color : #fff;
  content : '現地周辺の航空写真（2025年3月撮影）';
}
