.elementor-10963 .elementor-element.elementor-element-6cf14f2{--display:flex;}/* Start custom CSS */<style>
#heaven-door{
  --ink:#f4ece1; --ink-soft:#c2b4a2; --gold:#cda86a; --gold-soft:#e7cf9c;
  --serif:"Shippori Mincho B1","Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --door-img:url('/wp-content/uploads/2026/06/heavensdoor.png');
  --scrim:.62;
  position:fixed; inset:0; z-index:99999; font-family:var(--serif);
}
.elementor-editor-active #heaven-door{display:none!important;}
#heaven-door .dim{position:absolute;inset:0;z-index:2;background:#070504;opacity:.93;transition:opacity 2s ease;}
#heaven-door .flare{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;
  transform:scale(.4);transform-origin:38% 50%;
  background:radial-gradient(70% 60% at 38% 50%, rgba(255,228,172,.97), rgba(231,196,140,.4) 38%, transparent 72%);}
#heaven-door .door{position:absolute;inset:0;z-index:5;transition:opacity 2.2s ease;
  background-color:#0d0a09;
  background-image:var(--door-img),linear-gradient(260deg,#070605,#100d0c 55%,#161210);
  background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat;}
#heaven-door .hero-inner{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:0 16px;
  transition:opacity .9s ease,transform 1.4s ease;}
#heaven-door .hero-inner::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(66% 62% at 50% 48%, rgba(6,4,3,var(--scrim)), rgba(6,4,3,calc(var(--scrim)*.6)) 48%, transparent 80%);}
#heaven-door .hv-kicker{font-size:16px;letter-spacing:.5em;color:var(--gold);margin:0 0 30px;text-indent:.5em;opacity:0;
  text-shadow:0 2px 14px rgba(0,0,0,.8);animation:hv-bloom 2.2s cubic-bezier(.2,.7,.2,1) .9s forwards;}
#heaven-door .hv-copy{margin:0;font-weight:400;line-height:2;}
#heaven-door .hv-ln{display:block;color:var(--ink);font-size:clamp(26px,6vw,40px);letter-spacing:.02em;opacity:0;
  text-shadow:0 1px 3px rgba(0,0,0,.92),0 2px 22px rgba(0,0,0,.8);}
#heaven-door .hv-ln1,#heaven-door .hv-ln2{color:var(--gold-soft);}
#heaven-door .hv-ln1{animation:hv-spread 2.2s cubic-bezier(.2,.7,.2,1) 2.4s forwards;}
#heaven-door .hv-ln2{animation:hv-spread 2.2s cubic-bezier(.2,.7,.2,1) 3.9s forwards;}
#heaven-door .hv-ln3{animation:hv-spread 2.2s cubic-bezier(.2,.7,.2,1) 5.4s forwards;}
#heaven-door .hv-ln4{animation:hv-spread 2.2s cubic-bezier(.2,.7,.2,1) 6.9s forwards;}
#heaven-door .hv-enter{margin-top:42px;font-family:var(--serif);font-size:16px;letter-spacing:.4em;text-indent:.4em;
  color:var(--ink);background:rgba(10,7,6,.35);cursor:pointer;padding:16px 44px;
  border:1px solid rgba(231,207,156,.5);border-radius:40px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  animation:hv-rise 1.5s ease 8.8s both;
  transition:background .5s,color .5s,border-color .5s,box-shadow .5s,transform .3s;}
#heaven-door .hv-enter:hover{background:var(--gold);color:#1a1110;border-color:var(--gold);box-shadow:0 0 34px -6px rgba(205,168,106,.7);transform:translateY(-1px);}
@keyframes hv-bloom{0%{opacity:0;letter-spacing:.05em;filter:blur(6px);}100%{opacity:1;letter-spacing:.5em;filter:blur(0);}}
@keyframes hv-spread{0%{opacity:0;letter-spacing:-.06em;filter:blur(10px);transform:scale(.97);}60%{opacity:1;filter:blur(0);}100%{opacity:1;letter-spacing:.02em;filter:blur(0);transform:scale(1);}}
@keyframes hv-rise{0%{opacity:0;transform:translateY(12px);}100%{opacity:1;transform:translateY(0);}}
@keyframes hv-flare{0%{opacity:0;transform:scale(.4);}20%{opacity:1;}50%{opacity:.9;}100%{opacity:0;transform:scale(2.1);}}
#heaven-door.go .door{opacity:0;}
#heaven-door.go .dim{opacity:0;}
#heaven-door.go .flare{animation:hv-flare 3.6s ease 0s forwards;}
#heaven-door.go .hero-inner{opacity:0;transform:translateY(-6px);pointer-events:none;}
#heaven-door.done{visibility:hidden;pointer-events:none;}
@media (prefers-reduced-motion: reduce){ #heaven-door .hv-kicker,#heaven-door .hv-ln,#heaven-door .hv-enter{animation:none;opacity:1;} }
</style>

<div id="heaven-door">
  <div class="dim"></div>
  <div class="flare"></div>
  <div class="door"></div>
  <div class="hero-inner">
    <div class="hv-kicker">上野広小路駅 徒歩30秒</div>
    <h1 class="hv-copy">
      <span class="hv-ln hv-ln1">心の鎧を少しずつ脱げる</span>
      <span class="hv-ln hv-ln2">コミュニケーションバー。</span>
      <span class="hv-ln hv-ln3">一人でも人見知りでも、</span>
      <span class="hv-ln hv-ln4">気づけば笑ってる夜。</span>
    </h1>
    <button type="button" class="hv-enter" id="hv-enter">扉を開ける</button>
  </div>
</div>

<script>
(function(){
  var wrap=document.getElementById('heaven-door');
  if(!wrap || document.body.classList.contains('elementor-editor-active')) return;
  var reduce=window.matchMedia('(prefers-reduced-motion: reduce)').matches;
  if(reduce){ wrap.classList.add('done'); return; }
  // サイト内移動（同じサイトから来た）なら扉を出さない／外部・直接アクセスは開く
  try{
    if(document.referrer && document.referrer.indexOf(location.host) !== -1){ wrap.classList.add('done'); return; }
  }catch(e){}
  var content=document.querySelector('#content')||document.querySelector('main')||document.querySelector('.elementor');
  if(content){ content.style.opacity='0'; content.style.transform='translateY(30px)';
    content.style.transition='opacity 1.6s ease, transform 1.6s cubic-bezier(.2,.7,.2,1)'; }
  var btn=document.getElementById('hv-enter'), opened=false;
  var prevOverflow=document.body.style.overflow;
  document.body.style.overflow='hidden';
  function reveal(){ if(content){ content.style.opacity='1'; content.style.transform='none'; } }
  function done(){ wrap.classList.add('done'); document.body.style.overflow=prevOverflow; }
  function go(){ if(opened)return; opened=true; wrap.classList.add('go'); setTimeout(reveal,900); setTimeout(done,3800); }
  if(btn) btn.addEventListener('click', go);
  setTimeout(go, 22000);
})();
</script>/* End custom CSS */