@charset "UTF-8";

@media (prefers-reduced-motion: no-preference) {
	:root {
	  scroll-behavior: auto;
	}
}
body{
	font-family: 'ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
	font-style: normal;
	font-size: 16px;
	line-height: 1.8;
	font-weight: 400;
	color: #000;


}

html,body,h1,h2,h3,h4,ul,ol,li,p,span,iframe,footer,address,h1,h2,h3,h4,h5,dl,dt,dd{
  margin: 0;
  padding:0;
}
*:focus {
	outline: none;
}
/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio:0){
    body {
        image-rendering: -webkit-optimize-contrast;
    }
}
/* font
------------------------------*/
.min-font {
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    /* font-weight: 500; */
}
/* animation
------------------------------*/
.main_text{
    position: absolute;
	top: 10vh;
	left: 50%;
	height: 40vh;
	opacity: 0;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}
.main_text.en {
	top: 30vh;
	height: auto;
}
.main_text.en img{
	max-width: 900px;
	height: auto;
	width: 100%;
}
.opening-stage.playing .main_text.en {
	animation: 4s ease-in-out 0s 1 alternate EnopeningTextAnime;
	opacity: 1;
	width: 90%;
	margin: 0 auto;
	text-align: center;
}
.opening-stage.playing .main_character.en {
	animation: 9s ease-in-out 0s 1 alternate EnopeningCharacterAnime;
	opacity: 1;
}
@keyframes EnopeningTextAnime{
	0% {
		opacity: 0;
		top: 28vh;
	}
	40% {
		opacity: 0;
		top: 28vh;
	}
	100% {
		opacity: 1;
		top: 30vh;
	}
}
@keyframes EnopeningCharacterAnime{
	0% {
		opacity: 0;
		bottom: 22vh;
	}
	50% {
		opacity: 0;
		bottom: 22vh;
	}
	80% {
		opacity: 1;
		bottom: 20vh;
	}
	100% {
		opacity: 1;
	}
}
.main_character.en{
	bottom: 20vh;
}
.main_character{
	position: absolute;
	bottom: 10vh;
	left: 52%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-52%);
	height: 30vh;
	opacity: 0;
}
.opening-stage {
	z-index: 30;
}
.opening-stage-bg {
	background-color: black;
}
.opening-stage.playing .main_text {
	animation: 3s ease-in-out 0s 1 alternate openingTextAnime;
	opacity: 1;
}
.opening-stage.playing .main_character {
	animation: 8s ease-in-out 0s 1 alternate openingCharacterAnime;
	opacity: 1;
}
@keyframes openingTextAnime{
	0% {
		opacity: 0;
		top: 8vh;
	}
	40% {
		opacity: 0;
		top: 8vh;
	}
	100% {
		opacity: 1;
		top: 10vh;
	}
}
@keyframes openingCharacterAnime{
	0% {
		opacity: 0;
		bottom: 12vh;
	}
	50% {
		opacity: 0;
		bottom: 12vh;
	}
	80% {
		opacity: 1;
		bottom: 10vh;
	}
	100% {
		opacity: 1;
	}
}
/* bg
------------------------------*/
.teaser_bg{
	background-image: url(./img/bg_teaser2509_sp.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	aspect-ratio: 2000 / 2811;
	height: 100%;
	position: relative;
}
/* box
------------------------------*/
.teaser_inner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-ransform: translateY(-50%) translateX(-50%);
}
.main_obi {
    background-color: #C30013;
    color: #FFF;
    padding: 15px 0;
    text-align: center;
    display: block;
}
.main_obi p{
	font-size: 21px;
}



/* footer
------------------------------*/
footer{
	background-color: #1A1A1A;
	color: #FFF;
	padding: 20px 0;
	position: sticky;
	top: 100vh;
	width: 100%;
}
.copy{
	text-align: center;
	font-size: 0.750rem;
	font-weight: normal;
}



@media (min-width: 768px) {
	/* bg
	------------------------------*/
	.teaser_bg{
		background-image: url(./img/bg_teaser2509.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		width: 100%;
		aspect-ratio: 280 / 169;
	}
	/* footer
	------------------------------*/
	footer{
		padding: 30px 0;
	}
	/* box
	------------------------------*/
	.main_obi {
		padding: 20px 0;
	}
}

@media (max-width: 767px){
	
}

@media (min-width: 992px){
	/* box
	------------------------------*/
	.main_obi p{
		font-size: 32px;
	}

}
@media (min-width: 768px) and (max-width: 991px) {
	/* box
	------------------------------*/
    .main_obi p {
        font-size: 28px;
    }
}
@media (max-width: 991px){}
@media (min-width: 1200px){}
@media (max-width: 1199px){}
@media (min-width: 576px){}
@media (max-width: 575px){
	footer{
		font-size: 0.875rem;
	}
}






@media print{
}
