/* ローディング画面 */
#loading{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url(../images/loading_bg.webp);
  background-size: cover;
  background-position: center center;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.5s ease;
}
.loading-content{
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  transition: opacity 0.7s ease;
}
.loading-logo{
  margin-bottom: 45px;
  transition: opacity 1s ease;
}
.loading-logo img{
  width: 130px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.loading-text{
  font-family: 'Bodoni Moda', serif;
  color: #231815;
  font-size: 16px;
  line-height: 1;
  margin-bottom: .5em;
  letter-spacing: 0.1em;
  /* border-top: 1px solid #231815; */
  padding-top: 22.5px;
  /* padding-left: 3.5em; */
  /* padding-right: 3.5em; */
}
.loading-percent{
  font-family: 'Bodoni Moda', serif;
  color: #231815;
  font-size: 14px;
  letter-spacing: 0.05em;
}
#topMv{
  position: relative;
  margin-top: 128px;
}
/* MVスライダー */
#topMv .slides{
  position: relative;
  aspect-ratio: 2400 / 1200; /* スライド画像の比率。読み込み前の高さ落ちを防ぐ */
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
#topMv .slide{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 0;
  transition: opacity 0.8s ease;
  pointer-events: none;
}
/* 退場中のスライドは不透明のまま下に敷く（切り替え中に両方が透けるのを防ぐ） */
#topMv .slide.is-prev{
  opacity: 1;
  z-index: 1;
  transition: none;
}
/* 入場するスライドを上に重ねてフェードインさせる */
#topMv .slide.is-current{
  opacity: 1;
  z-index: 2;
  pointer-events: auto;
}
#topMv .slide img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#topMv .pager{
  display: flex;
  justify-content: center;
  gap: 12px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}
#topMv .pager button{
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(35, 24, 21, 0.25);
  transition: background 0.4s ease;
  cursor: pointer;
  appearance: none;
}
#topMv .pager button.is-current{
  background: #231815;
}
/* 動きを減らす設定の環境ではクロスフェードを無効化（切り替えは行う） */
@media(prefers-reduced-motion: reduce){
  #topMv .slide{
    transition: none;
  }
}
.plan_bnr,
.select_bnr{
  display: block;
  position: fixed;
  bottom: 20px;
  left: 55.5px;
  width: 442px;
  opacity: 0;
  transition: opacity 0.8s ease;
  pointer-events: none;
  z-index: 10;
}
.select_bnr{
  left: 514px;
}
.plan_bnr.show,
.select_bnr.show{
  opacity: 1;
  pointer-events: auto;
}
/* 物件概要フローティングバナー（カンプ位置＝ヘッダー直下の左上） */
.ex_bnr{
  display: block;
  position: fixed;
  top: calc(128px + 1vw); /* ヘッダー128px＋スライド高の2.0%（1vw＝スライド高2%） */
  left: 0.6vw;
  width: 31vw; /* スライド4枚の空き領域の実測上限 */
  opacity: 0;
  transition: opacity 0.8s ease;
  pointer-events: none;
  z-index: 10;
}
.ex_bnr.show{
  opacity: 1;
  pointer-events: auto;
}
.ex_bnr .img{
  display: block;
  width: 100%;
  height: auto;
}
/* ×は本番の「ご来場感謝キャンペーン」バナーと同じ見た目に合わせる */
.ex_bnr .close{
  position: absolute;
  /* 画像の影ぶんだけ内側に寄せ、濃紺の箱の角に重ねる（本番バナーと同じ見え方） */
  top: calc(0.49vw - 10px);
  right: calc(0.99vw - 10px);
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #aaa;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M1%2C1%20L15%2C15%20M1%2C15%20L15%2C1%22%20stroke%3D%22rgb(255,255,255)%22%20stroke-width%3D%224%22%2F%3E%3C%2Fsvg%3E");
  background-size: 40%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  cursor: pointer;
  appearance: none;
}

/* スライダー直下の行動提起（紺帯） */
#lead_band{
  margin-top: 30px;
  padding: 14px 20px;
  background: linear-gradient(90deg, #001b31 0%, #21395c 50%, #001b31 100%);
  text-align: center;
}
#lead_band .img{
  display: inline-block;
  width: 832px; /* pl-teiki.svg の実寸 */
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.plan_bnr .close,
.select_bnr .close{
  position: absolute;
  top: 0;
  right: 5px;
  transform: translateY(-36%);
  width: 25px;
  height: 25px;
  padding: 0;
  border: 0;
  background: #000;
  cursor: pointer;
  appearance: none;
}
.plan_bnr .close::after,
.select_bnr .close::after{
  content: "×";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFF;
  font-size: 15px;
  line-height: 1;
  font-weight: 100;
}

#merit{
  margin-top: 140px;
}
#merit .lists li:nth-child(1){
  width: 880px;
  margin-left: auto;
  margin-right: auto;
}
#merit .lists li:nth-child(2){
  width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
  padding-top: 80px;
  border-top: 1px solid #231815;
  padding-left: 50px;
  padding-right: 50px;
}

#property{
  position: relative;
  margin-top: 145px;
}
#property .inner{
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#property .conte_left .ttl{
  width: 325px;
  margin-left: auto;
  margin-right: auto;
}
#property .conte_left .head{
  font-size: 55px;
  font-weight: 500;
  margin: .5em 0;
  text-align: center;
}
#property .conte_left .btn_lists{
  width: 390px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
#property .conte_right{
  width: 616px;
}

#topics{
  position: relative;
  margin-top: 70px;
}
#topics .bnr_lists{
  width: 900px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 64px;
}
#topics .bnr_lists li{
  width: 48%;
}
#topics .bnr_lists li .txt_btn{
  width: 185px;
  position: absolute;
  bottom: 3em;
  left: 56%;
  transform: translateX(-50%);
  color: #FFF;
  font-size: 16px;
  line-height: 1;
  transition: .6s;
  box-sizing: border-box;
}
#topics .bnr_lists li a:hover .txt_btn{
  padding-left: .5em;
  transition: .6s;
}
#topics .bnr_lists li .txt_btn::after{
  position: absolute;
  content: "";
  display: block;
  bottom: -2px;
  left: 0;
  width: 185px;
  height: 22px;
  background: url(../../common/images/read-more_arrow_wh.svg);
  background-size: 100% 100%;
}

#menu{
  position: relative;
  margin-top: 250px;
  margin-bottom: 150px;
}
#menu .inner{
  position: relative;
  width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
#menu .inner .conte{
  position: relative;
  width: 1175px;
}
#menu .inner .conte:nth-child(even){
  margin-left: 0;
  margin-right: auto;
}
#menu .inner .conte:nth-child(odd){
  margin-left: auto;
  margin-right: 0;
}
#menu .inner .conte:nth-child(n+2){
  margin-top: 190px;
}
#menu .inner .conte .img_note{
  bottom: 7.7em;
}
#menu .inner .conte .ttl{
  width: 164px;
  position: absolute;
  top: -100px;
}
#menu .inner .conte.access_02 .ttl{
  width: 220px;
}
#menu .inner .conte.location_02 .ttl{
  width: 320px;
}

#menu .inner .conte:nth-child(even) .ttl{
  right: 160px;
}
#menu .inner .conte:nth-child(odd) .ttl{
  left: 160px;
}
#menu .inner .conte a{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
#menu .inner .conte a:hover{
  opacity: 1;
  transition: .5s;
}
#menu .inner .conte a:hover img.txt{
  opacity: .4;
  transition: .5s;
}
#menu .inner .conte a .btn_bg{
  position: relative;
  z-index: 0;
  mix-blend-mode: multiply;
}
#menu .inner .conte a img.txt{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 522px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  transition: .5s;
}

#property::before{
  pointer-events: none;
  content: "";
  position: absolute;
  right: 0;
  top: -340px;
  width: 100%;
  height: 1462px;
  background: url(../images/new/bg_03.webp);
  background-size: 100% 100%;
  z-index: -1;
}
#topics::after{
  pointer-events: none;
  content: "";
  position: absolute;
  left: 0;
  top: 460px;
  width: 100%;
  height: 1462px;
  background: url(../images/new/bg_02.webp);
  background-size: 100% 100%;
  z-index: -1;
}
#menu::before{
  pointer-events: none;
  content: "";
  position: absolute;
  right: 0;
  top: 1466px;
  width: 100%;
  height: 1462px;
  background: url(../images/new/bg_03.webp);
  background-size: 100% 100%;
  z-index: -1;
}
#menu::after{
  pointer-events: none;
  content: "";
  position: absolute;
  left: 0;
  top: 3306px;
  width: 100%;
  height: 1462px;
  background: url(../images/new/bg_04.webp);
  background-size: 100% 100%;
  z-index: -1;
}

.skipBtn{
  pointer-events: auto;
}

.replayBtn{
  pointer-events: none;
}

@media(min-width:1280px){
  #property .inner {
    justify-content: center;
  }
}

@media(max-width:1280px){
  /* ローディング画面 */
  .loading-logo{
    margin-bottom: 3.51vw;
  }
  .loading-logo img{
    width: 10.15vw;
  }
  .loading-text{
    font-size: 1.25vw;
    padding-top: 1.75vw;
  }
  .loading-percent{
    font-size: 1.09vw;
  }
 
  #topMv{
    margin-top: 10vw;
  }
  #topMv .pager{
    gap: 0.93vw;
    margin-top: 1.4vw;
  }
  #topMv .pager button{
    width: 0.78vw;
    height: 0.78vw;
  }

  .plan_bnr,
  .select_bnr{
    bottom: 1.56vw;
    left: 4.33vw;
    width: 34.53vw;
  }
  .select_bnr{
    left: 40.15vw;
  }
  .ex_bnr{
    top: 11vw; /* ヘッダー10vw＋スライド高の2.0%（1vw） */
  }

  #lead_band{
    margin-top: 2.34vw;
    padding: 1.09vw 1.56vw;
  }
  #lead_band .img{
    width: 65vw; /* 832px / 1280px */
  }

  .plan_bnr .close,
  .select_bnr .close{
    right: 0.39vw;
    width: 1.95vw;
    height: 1.95vw;
  }
  .plan_bnr .close::after,
  .select_bnr .close::after{
    font-size: 1.17vw;
  }

  #merit{
    margin-top: 10.93vw;
  }
  #merit .lists li:nth-child(1){
    width: 62.5vw;
  }
  #merit .lists li:nth-child(2){
    width: 62.5vw;
    margin-top: 6.25vw;
    padding-top: 6.25vw;
    padding-left: 3.90vw;
    padding-right: 3.90vw;
  }
  
  #property{
    margin-top: 11.32vw;
  }
  #property .conte_left .ttl{
    width: 25.39vw;
  }
  #property .conte_left .head{
    font-size: 4.29vw;
  }
  #property .conte_left .btn_lists{
    width: 30.46vw;
    gap: 2.34vw;
  }
  #property .conte_right{
    width: 48.12vw;
  }

  #topics{
    margin-top: 5.46vw;
  }
  #topics .bnr_lists{
    width: 70.31vw;
    margin-top: 5vw;
  }
  #topics .bnr_lists li .txt_btn{
    width: 14.45vw;
    font-size: 1.25vw;
  }
  #topics .bnr_lists li .txt_btn::after{
    width: 14.45vw;
    height: 1.71vw;
  }

  #menu{
    margin-top: 19.53vw;
    margin-bottom: 11.71vw;
  }
  #menu .inner{
    width: 100vw;
  }
  #menu .inner .conte{
    width: 91.79vw;
  }
  #menu .inner .conte:nth-child(n+2){
    margin-top: 14.84vw;
  }
  #menu .inner .conte .ttl{
    width: 12.81vw;
    top: -7.81vw;
  }
  #menu .inner .conte.access_02 .ttl{
    width: 17.18vw;
  }
  #menu .inner .conte.location_02 .ttl{
    width: 25vw;
  }
  
  #menu .inner .conte:nth-child(even) .ttl{
    right: 12.5vw;
  }
  #menu .inner .conte:nth-child(odd) .ttl{
    left: 12.5vw;
  }
  #menu .inner .conte a img.txt{
    width: 40.78vw;
  }
  
  #property::before{
    top: -26.56vw;
    height: 114.21vw;
  }
  #topics::after{
    top: 35.93vw;
    height: 114.21vw;
  }
  #menu::before{
    top: 114.53vw;
    height: 114.21vw;
  }
  #menu::after{
    top: 258.28vw;
    height: 114.21vw;
  }
}

@media(max-width:750px){
  /* ローディング画面 */
  #loading{
    background: url(../images/loading_bg_sp.webp);
    background-size: cover;
    background-position: center center;
    height: 100%;
  }
  .loading-content{
    width: 55%;
    top: 50%;
  }
  .loading-logo{
    margin-bottom: 8.51vw;
  }
  .loading-logo img{
    width: 29vw;
  }
  .loading-text{
    font-size: 3.8vw;
    padding-top: 1.3em;
  }
  .loading-percent{
    font-size: 3.3vw;
  }

  #topMv{
    margin-top: 15vw;
  }
  #topMv .slides{
    aspect-ratio: 786 / 1280; /* SPスライド画像の比率 */
  }
  #topMv .pager{
    gap: 3vw;
    margin-top: 4.5vw;
  }
  #topMv .pager button{
    width: 2.4vw;
    height: 2.4vw;
  }

  .plan_bnr,
  .select_bnr{
    bottom: 34.7vw;
    left: 2.5vw;
    left: 50%;
    transform: translateX(-49.3%);
    width: 90%;
  }
  .select_bnr{
    bottom: 72vw;
  }
  .ex_bnr{
    top: 58.2vw; /* #topMvのmargin-top 15vw＋SPスライド高の26.5%。Singleのボックス下端(26.3%)直後 */
    left: 2.5vw;
    width: 60vw; /* Dinksの見出しに掛からない実測上限 */
  }
  .ex_bnr .close{
    top: calc(1.58vw - 10px);
    right: calc(2.79vw - 10px);
  }

  #lead_band{
    margin-top: 5vw;
    padding: 3.5vw 3vw;
  }
  #lead_band .img{
    width: 85.9vw; /* pl-teiki-sp.svg 338.41px / SPカンプ幅394px */
  }

  .plan_bnr .close,
  .select_bnr .close{
    right: 0.83vw;
    width: 4.6vw;
    height: 4.6vw;
  }
  .plan_bnr .close::after,
  .select_bnr .close::after{
    font-size: 2.8vw;
  }


  #merit{
    margin-top: 14.66vw;
  }
  #merit .lists li:nth-child(1){
    width: 84%;
  }
  #merit .lists li:nth-child(2){
    width: 64vw;
    margin-top: 8.33vw;
    padding-top: 8.33vw;
    padding-left: 1.33vw;
    padding-right: 1.33vw;
  }

  #property{
    margin-top: 13.33vw;
  }
  #property .inner{
    display: block;
  }
  #property .conte_left .ttl{
    width: 68vw;
  }
  #property .conte_left .property_img{
    width: 100%;
    margin-top: 9.33vw;
  }
  #property .conte_left .head{
    font-size: 6vw;
    margin: 1em 0 .8em;
  }
  #property .conte_left .btn_lists{
    width: 82.66vw;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
  #property .conte_left .btn_lists li{
    width: 48%;
  }

  #topics{
    padding: 9.16vw 0;
  }
  #topics .bnr_lists{
    display: block;
    width: 91.6vw;
    margin-top: 6.41vw;
  }
  #topics .bnr_lists li{
    width: 100%;
  }
  #topics .bnr_lists li:nth-child(n+2){
    margin-top: 8.65vw;
  }
  #topics .bnr_lists li .txt_btn{
    width: 30.02vw;
    bottom: 2em;
    font-size: 2.7vw;
  }
  #topics .bnr_lists li .txt_btn::after{
    width: 30.02vw;
    height: 3.3vw;
    background: url(../../common/images/read-more_arrow_wh_sp.svg);
    background-size: 100% 100%;
  }

  #menu{
    margin-top: 43.33vw;
    margin-bottom: 26.66vw;
  }
  #menu .inner{
    position: relative;
    width: 100%;
  }
  #menu .inner .conte{
    width: 91.33vw;
  }
  #menu .inner .conte:nth-child(n+2){
    margin-top: 26vw;
  }
  #menu .inner .conte .img_note{
    bottom: 6em;
    right: 0.5em;
  }
  #menu .inner .conte .ttl{
    width: 25.6vw;
    top: -16vw;
  }
  #menu .inner .conte.access_02 .ttl{
    width: 34.26vw;
  }
  #menu .inner .conte.location_02 .ttl{
    width: 50vw;
  }
  
  #menu .inner .conte:nth-child(even) .ttl{
    right: 7.46vw;
  }
  #menu .inner .conte:nth-child(odd) .ttl{
    left: 7.46vw;
  }
  #menu .inner .conte a img.txt{
    width: 81.46vw;
  }

  #property::before{
    top: -129.93vw;
    height: 143.46vw;
  }
  #topics::after{
    top: -123.67vw;
    height: 143.46vw;
  }
  #menu::before{
    top: -64.54vw;
    height: 143.46vw;
  }
  #menu::after{
    top: 196.8vw;
    height: 143.46vw;
  }
  #menu .inner::before{
    pointer-events: none;
    content: "";
    position: absolute;
    right: 0;
    top: 452vw;
    width: 100%;
    height: 143.46vw;
    background: url(../images/new/bg_01.webp);
    background-size: 100% 100%;
    z-index: -1;
  }

} 
