/*
 * トップページのローディング画面(扉が開く演出)。
 * 紺の背景に Ligareve の文字と細い進行線が出て、読み込みが終わると左右の扉が開く。
 * 2回目以降の訪問(同じタブ内)には出さない。動きを減らす設定の人には、動かさない版を出す。
 */
html.is-loading{overflow:hidden}
html.no-loader #loader,
html.loader-done #loader{display:none}
#loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;color:#f5f2ef;pointer-events:all;visibility:visible}
#loader .loader-door{position:absolute;top:0;bottom:0;width:50.2%;background:radial-gradient(ellipse at 50% 40%,#13293a,#08131e 78%);transition:transform 1.05s cubic-bezier(.77,0,.18,1)}
#loader .loader-door--l{left:0;border-right:1px solid rgba(222,191,168,.22)}
#loader .loader-door--r{right:0;border-left:1px solid rgba(222,191,168,.22)}
#loader .loader-core{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:26px;transition:opacity .5s ease,transform .6s ease}
#loader .loader-mark{font:400 clamp(34px,5.4vw,64px) Georgia,'Times New Roman',serif;letter-spacing:.24em;padding-left:.24em;opacity:0;transform:translateY(10px);animation:loader-in 1s .15s cubic-bezier(.2,.7,.2,1) forwards}
#loader .loader-sub{display:flex;align-items:center;gap:14px;font:10px Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;letter-spacing:.28em;color:#debfa8;opacity:0;animation:loader-in 1s .55s ease forwards}
#loader .loader-sub i{font-style:normal;color:rgba(245,242,239,.45)}
#loader .loader-line{position:relative;width:min(220px,52vw);height:1px;background:rgba(245,242,239,.18);overflow:hidden;opacity:0;animation:loader-in .8s .8s ease forwards}
#loader .loader-line span{position:absolute;inset:0;background:linear-gradient(90deg,#debfa8,#f5f2ef);transform:scaleX(0);transform-origin:left}
#loader .loader-count{position:absolute;right:clamp(22px,4vw,56px);bottom:clamp(20px,4vh,44px);z-index:2;font:10px Arial,sans-serif;letter-spacing:.22em;color:rgba(245,242,239,.55);transition:opacity .4s ease}
#loader .loader-count b{font-weight:400;display:inline-block;min-width:3ch;text-align:right}
@keyframes loader-in{to{opacity:1;transform:none}}
/* 完了: 文字が消え、扉が左右に開く */
#loader.is-done .loader-core,#loader.is-done .loader-count{opacity:0;transform:translateY(-8px)}
#loader.is-done .loader-door--l{transform:translateX(-101%);transition-delay:.25s}
#loader.is-done .loader-door--r{transform:translateX(101%);transition-delay:.25s}
#loader.is-done{pointer-events:none}
/* 「動きを減らす」設定の人にも表示する。動きはなくし、ふわっと出て、ふわっと消える */
@media (prefers-reduced-motion:reduce){
  #loader .loader-mark,#loader .loader-sub,#loader .loader-line{animation:none;opacity:1;transform:none}
  #loader .loader-core{transition:opacity .5s ease}
  #loader .loader-door{transition:none}
  #loader.is-done .loader-door--l,#loader.is-done .loader-door--r{transform:none;transition-delay:0s}
  #loader{transition:opacity .6s ease}
  #loader.is-done{opacity:0}
}
