@charset "UTF-8";
/* CSS Document */

#start{
	position: relative;
	width: 16em;
	font-size: 200%;
	font-weight: 400;
	margin: 20% auto;
	color: #4ee;
	opacity: 0;
	z-index: 1;
	animation-duration: 2s;
    animation-timing-function: ease-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
	animation-direction: normal;
    animation-fill-mode: none;
    animation-play-state: running;
    animation-name: intro;
    animation-timeline: auto;
    animation-range-start: normal;
    animation-range-end: normal;
}

.logo{
	position: absolute;
    left: 50%;
    top: 25%;
    font-size: 10em;
    text-align: center;
    margin-left: -2em;
    letter-spacing: -0.05em;
    opacity: 0;
    z-index: 1;
    -webkit-animation: logo 5s ease-out 2.5s;
    -moz-animation: logo 5s ease-out 2.5s;
    -ms-animation: logo 5s ease-out 2.5s;
    -o-animation: logo 5s ease-out 2.5s;
    animation: logo 5s ease-out 2.5s;
    animation-duration: 5s;
    animation-timing-function: ease-out;
    animation-delay: 2.5s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: none;
    animation-play-state: running;
    animation-name: logo;
    animation-timeline: auto;
    animation-range-start: normal;
    animation-range-end: normal;
}


.animation {
  	width: 100vw;
  	height: 100vh;
  	transition: all 1s;
  	background-color: #000;
	color: #ffdf00;	
	
  /* 以下のコードを追加 */
  	position: fixed;
  	top: 0;
  	left: 0;
  	z-index: 9999;
}

.loaded {
  	opacity: 0;
  	visibility: hidden;
}

.animation p{
	line-height: 100px;
}


#titles{
    position: absolute;
    width: 18em;
    height: 50em;
    bottom: 0;
    left: 50%;
    margin-left: -9em;
    font-size: 350%;
    font-weight: bold;
    text-align: justify;
    overflow: hidden;
    transform-origin: 50% 100%;
    transform: perspective(300px) rotateX(25deg);
}

#titles:after{
    position: absolute;
    content: ' ';
    left: 0;
    right: 0;
    top: 0;
    bottom: 60%;
    background-image: linear-gradient(top, rgba(0,0,0,1) 0%, transparent 100%);
    pointer-events: none;
}


#titlecontent{
    position: absolute;
    top: 100%;
    animation: scroll 100s linear 5s;
}



@keyframes scroll {
    0% { top: 100%; }
    100% { top: -170%; }
}

@keyframes intro{
	0% { opacity: 1; }
	90% { opacity: 1; }
	1000% { opacity: 0; }
}

@keyframes logo{
	0% { transform: scale(1);    
		 opacity: 1;}
	
	50% {
    opacity: 1;
	}
	
	100% {
    transform: scale(0.1);
    opacity: 0;
	}

}

@media only screen and (max-width:767px){
	
	body{
		width: 100%;
	}
	
	#start{
		width: 100%;
		height: 100%;
		margin: 50% auto;
		padding: 0 40px;
		top: 20%;
		text-align: center;
		line-height: 150%;
	}
		
	.animation{
		width: 100%;
		height: 100%;
	}
	
	.logo{
		width: 100%;
		left: 28%;
		top: 30%;
		margin-left: -1em;
	}
	
	.loaded{
		width: 100%;
	}
	
	#titles{
		width: 100%;
		margin-left: -4em;
	}
	
	#titlecontent{
		width: 100%;
	}

}