body#index > header {
    position:fixed;
}
body#index:not(.scrolled) > header {
    background-image:linear-gradient(to bottom,var(--color-dark-glass) 0, rgb(255 255 255 / 0) 100%);
}
body#index:not(.scrolled) > header > div {
    border-bottom:solid 1px var(--color-white);
}
body#index:not(.scrolled) > header h1 img {
    opacity:0;
}
body#index:not(.scrolled) > header h1::before {
    opacity:1;
}
body#index > main {
    padding-top:0;
}

main header h1 {
    text-transform: uppercase;
    font-size:6em;
    text-align:center;
}

#mv {
    width:100%;
    height:100vh;
    display:flex;
    align-items: center;
    justify-content: center;
}
#mv figure {
    width:100%;
    height:100vh;
    position:absolute;
    top:0;
    left:0;
    margin:0;
    filter:blur(20px);
    transition: var(--transition);
}
#mv figure.is-completed {
    filter: blur(0);
}
#mv figure img {
    height:100%;
    object-fit: cover;
}
#mv h1 {
    z-index:2;
    width:80%;
    margin:0 auto;
    opacity:0;
    filter:blur(20px);
    transition: calc(var(--transition) * 3);
}
#mv figure.is-completed + h1 {
    opacity:1;
    filter: blur(0);
}

.parallax {
    right:-40px;
    z-index:-1;
}

main h2 {
    padding:0;
    margin:0;
    border:none;
    font-size:2.6em;
    font-weight:normal;
    text-transform: uppercase;
}

#sec-0 h2 {
    font-size:2.4em;
}

.sec figure {
    border-radius: 100%;
}
.sec:nth-child(odd) figure {
    right:-10vw;
}
.sec:nth-child(even) figure {
    left:-10vw;
}


#plan header {
    width:100%;
    aspect-ratio: 76 / 30;
    display:flex;
    align-items: center;
    justify-content: center;
    overflow:hidden;
}
#plan header figure {
    margin:0;
    z-index:-1;
}
#plan header figure img {
    height:100%;
    object-fit: cover;
}
#plan header h1 {
    z-index:2;
    color:var(--color-white);
}


#location h2 {
    font-size:1.2em;
}
#location h2 + p {
    margin-top:var(--padding);
    padding-bottom:var(--padding);
}
#location article {
    display:flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap:var(--gap);
}
#location article > p {

}
#location article p a {
    text-decoration: underline;
    text-underline-offset: 4px;
}
#location .information {
    border-top:solid 1px var(--color-black);
    padding-top:var(--padding);
}
#location ul {
    margin-top:0;
}

@media (max-width: 720px) {
    main h2 {
        font-size:2.2em;
    }
    #sec-0 h2 {
        font-size:2.0em;
    }
    main header h1 {
        font-size:3em;
    }
}