/* 内覧会入口：金色のベタ塗りを撤去し、実ページを扉の奥から見せる */
.entrance{
  background:#120804!important;
  transition:background 1.1s ease .45s!important;
}

.entrance.open{
  background:transparent!important;
}

/* 扉の奥を全面の金色面にしない。中央だけに柔らかな光を残す */
.entrance::after{
  background:
    radial-gradient(ellipse 18% 54% at 50% 50%,rgba(255,235,174,.34) 0%,rgba(232,164,63,.16) 34%,transparent 76%),
    radial-gradient(circle at 50% 34%,rgba(255,248,217,.26) 0%,rgba(255,201,93,.1) 18%,transparent 42%)!important;
  opacity:.3!important;
  transform:scale(.94)!important;
  transition:opacity .75s ease,transform 1.35s cubic-bezier(.22,1,.36,1)!important;
}

.entrance.open::after{
  opacity:0!important;
  transform:scale(1.16)!important;
}

/* 中央光は一瞬だけ広がり、その後消えて内覧会本文を見せる */
.entrance::before{
  width:8px!important;
  opacity:.7!important;
  background:linear-gradient(90deg,transparent,rgba(255,219,128,.72),rgba(255,252,224,.95),rgba(255,190,64,.68),transparent)!important;
  box-shadow:0 0 18px rgba(255,214,115,.62),0 0 42px rgba(255,164,40,.32)!important;
  animation:doorLightPulse 2.8s ease-in-out infinite!important;
}

.entrance.open::before{
  animation:doorBeamRelease 1.45s cubic-bezier(.22,1,.36,1) both!important;
}

/* 扉は左右へ退き、奥の内覧会ページがそのまま現れる */
.entrance.open .door-left{
  transform:translateX(-104%) rotateY(12deg)!important;
}

.entrance.open .door-right{
  transform:translateX(104%) rotateY(-12deg)!important;
}

.entrance.open .entrance-glow{
  opacity:0!important;
  transform:scale(1.35)!important;
}

@keyframes doorBeamRelease{
  0%{width:8px;opacity:.72;filter:brightness(1)}
  38%{width:min(18vw,120px);opacity:.88;filter:brightness(1.18)}
  72%{width:min(28vw,180px);opacity:.34;filter:brightness(1.04)}
  100%{width:min(34vw,220px);opacity:0;filter:brightness(.9)}
}

@media(max-width:720px){
  .entrance.open::before{animation:doorBeamReleaseMobile 1.35s cubic-bezier(.22,1,.36,1) both!important}
}

@keyframes doorBeamReleaseMobile{
  0%{width:6px;opacity:.7}
  40%{width:22vw;opacity:.82}
  72%{width:38vw;opacity:.3}
  100%{width:54vw;opacity:0}
}

@media(prefers-reduced-motion:reduce){
  .entrance.open::before{animation:none!important;opacity:0!important}
}

/* PC版：見出し末尾の「する。」だけが改行される崩れを防止 */
@media(min-width:1100px){
  #preview .section-head{
    max-width:1100px;
  }

  #preview .section-head h2{
    font-size:clamp(2.8rem,3vw,3.2rem);
    white-space:nowrap;
  }
}