@charset "UTF-8";
body{overflow: hidden;}
main .inner{
    position: absolute;
    left: 50%;
    top: 33%;
    transform: translateX(-50%);
    width: 85%;
    max-width: 500px;
}
main .inner p{
    color: #FFF;
    font-size: 2.5rem;
    letter-spacing: 0.3em;
    line-height: 1.7;
    text-align: center;
    margin: 0.5em 0;
}
main .inner .logo{
    max-width: 264px;
    margin: 0 auto 3em;
    display: block;
}
@media (max-width: 767px) {
    main .inner p{
        font-size: 1.6rem;
    }
}
@media (min-width: 768px) {
    main .inner p{
        font-size: 2.5rem;
    }
}
.box{
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.box video,
.box img{
    position: absolute;
    object-fit: cover;
}
@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
    .box video,.box img {
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    }
}
@media (max-aspect-ratio: 16/9) {
    .box video,.box img {
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    }
}
.masking::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    background-size: 10px 10px;
    margin: 0 auto;
    background-color: transparent;
    background-image: radial-gradient(#2E2E2E 10%, transparent 20%),
        radial-gradient(#2E2E2E 10%, transparent 20%);
    z-index: 1;
    background-position: 0 0, 5px 5px;
}

.change-texts{
    position :relative;
}
.change-texts span{
    display: block;
    width: 100%;
    animation: show 24s infinite;
    -webkit-animation: show 24s normal infinite;
    border-radius: 50%;
    height: auto;
    max-width: 100%;
    opacity: 0;
    position: absolute; /*全て重ねる*/
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

/*アニメーション*/
@keyframes show {
    0% {opacity:0;}
    10% {opacity:1;}
    25% {opacity:1;}
    45% {opacity:0;}
 }
@-webkit-keyframes show {
    0% {opacity:0;}
    10% {opacity:1;}
    25% {opacity:1;}
    45% {opacity:0;}
}
/*各画像のアニメーションの開始時間をずらす*/
.change-texts span:nth-of-type(1) {
    animation-delay: 0s;
    -webkit-animation-delay: 0s;
}
.change-texts span:nth-of-type(2) {
    animation-delay: 8s;
    -webkit-animation-delay: 8s;
}
.change-texts span:nth-of-type(3) {
    animation-delay: 16s;
    -webkit-animation-delay: 16s;
}

/* slider ========================================== */

.swiper-container {
    width: 100%;
    height: 100vh;
    background: #000;
}
.swiper-wrapper .swiper-slide {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.swiper-wrapper .swiper-slide .text-wrap{
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
}
.swiper-wrapper .swiper-slide .text-wrap p{
    font-size: 2.1vw;
    text-align: center;
    line-height: 2.3;
    color: #FFF;
}
.ls03{
    letter-spacing: 0.3em;
}
.ls001{
    letter-spacing: 0.01em;
}
.swiper-wrapper .swiper-slide.movie-box{
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.swiper-wrapper .swiper-slide.movie-box video{
    position: absolute;
    object-fit: cover;
}

@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
    .swiper-wrapper .swiper-slide.movie-box video {
        width: 100%;
        top: 50%;
        transform: translateY(-50%);
    }
}
@media (max-aspect-ratio: 16/9) {
    .swiper-wrapper .swiper-slide.movie-box video {
        height: 100vh;
    }
}
@media (max-width: 420px) {
    .swiper-wrapper .swiper-slide .text-wrap{
        right: auto;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 80%;
    }
    .swiper-wrapper .swiper-slide .text-wrap p{
        font-size: 5vmin;
        text-shadow: 0 0 3px rgba(0,0,0,0.5);
    }
    .swiper-wrapper .swiper-slide.movie-box video {
        width: 100%;
    }
}
@supports (-ms-ime-align: auto) {
	.swiper-wrapper .swiper-slide.movie-box video {
        width: auto;
    }
}
_:-ms-lang(x)::-ms-backdrop, .swiper-wrapper .swiper-slide.movie-box video {
        width: auto;
}