// DOMContentLoadedは、画像などを待たずにHTML構造だけ読み込んだら実行されます document.addEventListener('DOMContentLoaded', () => { const loading = document.querySelector('.loading'); const main = document.querySelector('.mainContents'); const hasVisited = sessionStorage.getItem('hasVisited'); if (hasVisited) { // 2回目以降:即座にローディングを消してメインを表示 if (loading) loading.style.display = 'none'; if (main) { main.classList.add('show'); main.style.opacity = '1'; main.style.visibility = 'visible'; } } else { // 初回訪問時:アニメーションを開始 if (loading) loading.classList.add('animate'); // 初回のみ load イベントでフェードアウトさせる window.addEventListener('load', () => { setTimeout(() => { loading.classList.add('fade-out'); sessionStorage.setItem('hasVisited', 'true'); }, 3500); // MIN_LOADING_TIME }); loading.addEventListener('animationend', (e) => { if (e.animationName === 'fadeOut') { main.classList.add('show'); } }); } });