/*---------------------------------------
Loading
-------------------------------*/
#loading {
    background-color: #1a1a1a;
}


/*---------------------------------------
Header
-------------------------------*/
header {
    width: 100%;
    margin: 0 auto;
    background-color: transparent;
    position: static;
}

nav {
    display: flex;
    padding: 2.5% 0 2.5% 0;
}

nav a {
    text-align: center;
    width: 25%;
}

nav a span {
    color: #1a1a1a;
}


/*---------------------------------------
Footer
-------------------------------*/
footer {
    background-color: #1a1a1a;
}


/*---------------------------------------
Main
-------------------------------*/
body {
    background-color: #1a1a1a;
}

main {
    overflow-x: hidden;
    margin: 0 auto;
}

#mv {
    padding: 0 2.5% 0 2.5%;
}

#mv .videobox {
    overflow-x: hidden;
    margin: 0 auto;
}

#mv .videobox video {
    overflow-x: hidden;
    margin: 0 auto;
    z-index: -1;
    position: absolute;
    object-fit: cover;
    top: 0;
    left: 0;
}

#mv .title {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    writing-mode: vertical-rl;
    justify-content: center;
    margin-top: 4.25rem;
    margin-bottom: 1.25rem;
}
@media screen and (min-width: 350px) {
    #mv .title {
        margin-top: 4.5rem;
        margin-bottom: 1.5rem;
    }
}
@media screen and (min-width: 500px) {
    #mv .title {
        margin-top: 4.75rem;
        margin-bottom: 1.75rem;
    }
}
@media screen and (min-width: 1000px) {
    #mv .title {
        margin-top: 5rem;
        margin-bottom: 2rem;
    }
}

#mv .title h1 {
    position: absolute;
    left: 65%;
    bottom: 0;
    line-height: 1.25;
    text-align: end;
    opacity: 0.88;
}
@media screen and (min-width: 350px) {
    #mv .title h1 {
        left: 62.5%;
    }
}
@media screen and (min-width: 500px) {
    #mv .title h1 {
        left: 60%;
    }
}
@media screen and (min-width: 1000px) {
    #mv .title h1 {
        left: 55%;
    }
}

#mv .title h1 span {
    color: #1a1a1a;
}

#mv .title h2 {
    color: #1a1a1a;
    font-size: 4.25rem; /* 68px */
    opacity: 0.88;
}
@media screen and (min-width: 350px) {
    #mv .title h2 {
        font-size: 4.5rem; /* 72px */
    }
}
@media screen and (min-width: 500px) {
    #mv .title h2 {
        font-size: 4.75rem; /* 76px */
    }
}
@media screen and (min-width: 1000px) {
    #mv .title h2 {
        font-size: 5rem; /* 80px */
    }
}

#mv .logo {
    display: flex;
    justify-content: center;
    width: 100%;
}

#mv .logo img {
    width: 4.25rem; /* 68px */
}
@media screen and (min-width: 350px) {
    #mv .logo img {
        width: 4.5rem; /* 72px */
    }
}
@media screen and (min-width: 500px) {
    #mv .logo img {
        width: 4.75rem; /* 76px */
    }
}
@media screen and (min-width: 1000px) {
    #mv .logo img {
        width: 5rem; /* 80px */
    }
}

#mv .menu {
    overflow-x: hidden;
    margin: 0 auto;
    position: absolute;
    bottom: 7.7%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    writing-mode: vertical-rl;
}

#mv .menu .info {
    padding: 0 5% 0 5%;
}

#mv .menu .info h4 {
    margin-left: 5%;
    padding: 0 2% 0 2%;
    color: #1a1a1a;
    border-left: 0.05rem solid #1a1a1a;
}

#mv .menu .info p {
    font-weight: 600;
    color: #ffffff;
    background-color: #1a1a1a;
    opacity: 0.88;
}