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;
}