html, body { margin: 0; padding: 0; font-family: "M PLUS 1", sans-serif; width: 100%; height: 100%; color: #fff; } .fixed-background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: url("../image/haikei.webp") no-repeat center center; background-size: cover; background-attachment: fixed; z-index: -1; } #main-site { position: relative; z-index: 1; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; margin-bottom: 100px; } .coming-soon-text { font-size: 1.5rem; font-size: clamp(1rem, 5vmin, 5rem); margin-bottom: 10px; letter-spacing: 0.1rem; } .countdown-row { display: flex; gap: 20px; margin-bottom: 10px; } .count-block { display: flex; flex-direction: column; align-items: center; } .count-num { font-size: 3rem; font-size: clamp(2rem, 6vmin, 7.5rem); font-weight: 300; margin-bottom: 2.5px; } .label { font-size: 0.9rem; opacity: 0.8; } .project-sekai { font-size: 1rem; font-size: clamp(1rem, 4vmin, 2.5rem); opacity: 0.9; margin-bottom: 50px; } .footer-area { position: fixed; bottom: 15px; width: 90%; left: 0; right: 0; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 5px; } .footer-logo-img { height: 40px; } .footer-copy { font-size: 0.5rem; font-size: clamp(0.5rem, 3vmin, 1rem); opacity: 0.8; text-align: center; } .footer-copy a { text-decoration: none; color: inherit; } #intro-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #fff; z-index: 9999; opacity: 1; transition: opacity 2s ease; } #intro-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.5s ease; } #circle-wipe { position: absolute; top: 50%; left: 50%; width: 2000px; height: 2000px; transform: translate(-50%, -50%) scale(0); border-radius: 50%; pointer-events: none; } #circle-wipe.startWipe { animation: circleWipe 2.5s cubic-bezier(0.25, 0.8, 0.25, 1) forwards; } @keyframes circleWipe { 0% { transform: translate(-50%, -50%) scale(0); background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100% ); } 50% { transform: translate(-50%, -50%) scale(1.5); background: radial-gradient(circle, rgba(255,255,255,1) 30%, rgba(255,255,255,0.2) 60%, rgba(255,255,255,0) 100% ); } 90% { transform: translate(-50%, -50%) scale(2.5); background: radial-gradient(circle, rgba(255,255,255,1) 70%, rgba(255,255,255,0.1) 90%, rgba(255,255,255,0) 100% ); } 100% { transform: translate(-50%, -50%) scale(3.0); background: #fff; } } #triangle-burst { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } .triangle { position: absolute; width: 0; height: 0; border-left: 13px solid transparent; border-right:13px solid transparent; border-bottom:20px solid #f00; opacity: 0; animation: triBurst 1.5s ease forwards; } @keyframes triBurst { 0% { opacity: 0; transform: translate(0,0) scale(0.8) rotate(0deg); } 20% { opacity: 1; } 100% { opacity: 0; transform: var(--final-transform); } } #center-gray-band { position: absolute; top: 50%; left: 0; width: 100%; height: 200px; background: #aaa; transform: translateY(-50%); text-align: center; transition: opacity 1s ease; } .band-content { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .band-welcome { font-size: 2rem; font-size: clamp(1.2rem, 5vw, 2rem); margin-bottom: 20px; color: #ffffff; } #loader-bottom-right { position: absolute; bottom: 20px; right: 20px; width: 50px; height: 50px; transition: opacity 1s ease; } .circle-loader { width: 50px; aspect-ratio: 1; display: grid; mask: conic-gradient(from 15deg, #0000, #000); -webkit-mask: conic-gradient(from 15deg, #0000, #000); animation: ringSpin 1s infinite steps(12); } .circle-loader, .circle-loader:before, .circle-loader:after { background: radial-gradient(closest-side at 50% 12.5%, #fff 0%, #fff 70%, #000 70%, #000 85%, #0000 85% ) 50% 0/20% 80% repeat-y, radial-gradient(closest-side at 12.5% 50%, #fff 0%, #fff 70%, #000 70%, #000 85%, #0000 85% ) 0 50%/80% 20% repeat-x; } .circle-loader:before, .circle-loader:after { content: ""; grid-area: 1/1; transform: rotate(30deg); } .circle-loader:after { transform: rotate(60deg); } @keyframes ringSpin { 100% { transform: rotate(1turn); } } .confetti-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; z-index: 9998; } .confetti-piece { position: absolute; width: 15px; height: 15px; opacity: 0.9; animation: confettiFall linear forwards; animation-duration: calc(2s + 8s * var(--rand)); animation-delay: calc(1s * var(--rand)); } @keyframes confettiFall { 0% { transform: translateY(-10vh) rotate(0deg); } 50% { transform: translateY(50vh) rotate(180deg); } 100% { transform: translateY(100vh) rotate(360deg); opacity: 0; } } .hidden { opacity: 0; pointer-events: none; }