.tc {
    width: 100%;
    height: min(100vw, 100vh);
    background-color: #A9BCD0;
    position: relative;
    z-index: 100;
    overflow: hidden;
    font-family: "smart-ui";
}

.tc-triangle-1 {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: min(100vw, 100vh) 0 0 100vw;
    border-color: transparent transparent transparent #58A4B0;
    position: absolute;
    z-index: 105;
    top: 0;
    left: 0;

}

.tc-hexagon {
    animation: 1.5s ease-in-out 0s infinite alternate both hex-up-down;
    -webkit-animation: 1.5s ease-in-out 0s infinite alternate both hex-up-down;
    pointer-events: none;
}

.hex1 {
    position: absolute;
    z-index: 104;
    width: min(10vw, 10vh);
    left: 43vw;
    top: 10%;
    animation-delay: 0.4s;
}

.hex2 {
    position: absolute;
    z-index: 104;
    width: min(20vw, 20vh);
    left: 67vw;
    top: 17%;
}

.hex3 {
    position: absolute;
    z-index: 104;
    width: min(7vw, 7vh);
    left: 95vw;
    top: 38%;
    animation-delay: 0.7s;
}

.hex4 {
    position: absolute;
    z-index: 104;
    width: min(7vw, 7vh);
    left: 87vw;
    top: 70%;
    animation-delay: 0.7s;
}

.hex5 {
    position: absolute;
    z-index: 104;
    width: min(25vw, 25vh);
    left: 56vw;
    top: 50%;
    animation-delay: 0.1s;
}

.tc-miri {
    height: min(85%, 100vh);
    position: absolute;
    pointer-events: none;
    right: 3vw;
    top: calc(min(100vw, 100vh) - min(85%, 100vh));
    z-index: 110;
}

.tc .tc-title-box {
    width: 40vw;
    height: 100%;
    background-color: #373F51;
    position: absolute;
    top: 0;
    z-index: 108;
    justify-content: center;
    text-align: center;

}

.tc .tc-title-box .tc-title {
    display: inline-block;
    width: 80%;
    z-index: 1000;
    position: relative;
    top: 5%;
    /* left: 5%; */
    pointer-events: none;
}

.tc .tc-title-box .tc-subtitle {
    display: inline-block;
    font-size: min(7vw, 7vh);
    color: white;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    position: absolute;
    top: calc((min(100vw, 100vh) - min(7vw, 5vh) * 7) / 2);
    left: calc((40vw - min(7vw, 5vh))/2 - 3vw);
}

.tc .tc-title-box .tc-subtitle::after {
    content: "";
    width: calc(min(7vw, 7vh) + 1vw);
    height: calc(min(7vw, 7vh) * 7);
    background-color: white;
    position: absolute;
    top: 0;
    left: 0;
    animation: box-ninja 2.7s linear infinite 1s both;
    -webkit-animation: box-ninja 2.7s linear infinite 1s both;
}

.tc-triangle-flow-1 {
    position: absolute;
    top: 10%;
    right: 10%;
    z-index: 101;
    width: min(15%, 30vh);
    animation: 3s ease-in-out 0s infinite alternate both triangle-flow;
    -webkit-animation: 3s ease-in-out 0s infinite alternate both triangle-flow;
    pointer-events: none;
}

.tc-latest-music {
    display: none;
}

#tc-latest-music-button:checked~.tc-latest-music {
    transform: translateX(calc(-1 * min(20vw, 30vh) - 35vw));
    -webkit-transform: translateX(calc(-1 * min(20vw, 30vh) - 35vw));
    -moz-transform: translateX(calc(-1 * min(20vw, 30vh) - 35vw));
    -ms-transform: translateX(calc(-1 * min(20vw, 30vh) - 35vw));
    -o-transform: translateX(calc(-1 * min(20vw, 30vh) - 35vw));
    transition: ease-in-out 0.2s;
    -webkit-transition: ease-in-out 0.2s;
    -moz-transition: ease-in-out 0.2s;
    -ms-transition: ease-in-out 0.2s;
    -o-transition: ease-in-out 0.2s;
    opacity: 0;
}

#tc-latest-music-button:checked~.tc-latest-music::after {
    content: "CLOSING";
}

#tc-latest-music-button:checked~.tc-latest-music-close {
    display: none;
}

@media (max-width: calc(100vh * 5 / 3)) {
    .hex1 {
        display: none;
    }

    .hex5 {
        display: none;
    }
}

@media (min-width: calc(100vh * 5 / 3)) {
    .tc-latest-music {
        display: block;
        position: absolute;
        z-index: 130;
        top: calc(min(100vw, 100vh) - calc(min(20vw, 30vh) * 9 / 16 * 1.7));
        left: 30vw;
        width: min(20vw, 30vh);
        height: calc(min(20vw, 30vh) * 9 / 16);
        border-style: solid;
        border-color: #1B1B1E;
        border-width: 0.4vw;
        background-color: #1B1B1E;
        transform: translateX(0);
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
    }

    .tc-latest-music::after {
        content: "LATEST";
        letter-spacing: 0.3em;
        background-color: #1B1B1E;
        width: calc(min(20vw, 30vh) + 0.4vw);
        height: calc(min(20vw, 30vh) / 5);
        position: absolute;
        top: calc(min(20vw, 30vh) * 9 / 16);
        left: -0.4vw;
        padding-top: calc(min(20vw, 30vh) * 9 / 16 / 10);
        padding-left: 0.4vw;
        font-family: "smart-ui";
        color: white;
        font-size: calc(min(20vw, 30vh) / 5 / 1.5);
        text-align: center;
    }

    .tc-latest-music-close {
        width: calc(min(20vw, 30vh) / 12);
        height: calc(min(20vw, 30vh) / 12);
        background-color: #58A4B0;
        position: absolute;
        z-index: 131;
        top: calc(min(100vw, 100vh) - calc(min(20vw, 30vh) * 9 / 16 * 1.7) + calc(min(20vw, 30vh) * 9 / 16) + calc(min(20vw, 30vh) / 5));
        left: 30vw;
        cursor: pointer;
    }

    .tc-latest-music-close:hover {
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: calc(min(20vw, 30vh) / 12) 0 0 calc(min(20vw, 30vh) / 12);
        border-color: transparent transparent transparent #D8DBE2;
        position: absolute;
        z-index: 132;
        cursor: pointer;
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
        -moz-transition: all 0.2s;
        -ms-transition: all 0.2s;
        -o-transition: all 0.2s;
    }

    .tc-latest-music-close:hover~.tc-latest-music::after {
        content: "-CLOSE-";
    }

}

@keyframes hex-up-down {
    from {
        transform: translateY(-10%);
        -webkit-transform: translateY(-10%);
        -moz-transform: translateY(-10%);
        -ms-transform: translateY(-10%);
        -o-transform: translateY(-10%);
    }

    to {
        transform: translateY(10%);
        -webkit-transform: translateY(10%);
        -moz-transform: translateY(10%);
        -ms-transform: translateY(10%);
        -o-transform: translateY(10%);
    }
}

@keyframes triangle-flow {
    from {
        transform: translateY(0) rotateX(0) rotateZ(20deg);
        -webkit-transform: translateY(0) rotateX(0) rotateZ(20deg);
        -moz-transform: translateY(0) rotateX(0) rotateZ(20deg);
        -ms-transform: translateY(0) rotateX(0) rotateZ(20deg);
        -o-transform: translateY(0) rotateX(0) rotateZ(20deg);
    }

    to {
        transform: translateY(calc(min(100vw, 100vh) + 15vw)) rotateZ(450deg) translateX(-25vw);
        -webkit-transform: translateY(calc(min(100vw, 100vh) + 15vw)) rotateZ(450deg) translateX(-25vw);
        -moz-transform: translateY(calc(min(100vw, 100vh) + 15vw)) rotateZ(450deg) translateX(-25vw);
        -ms-transform: translateY(calc(min(100vw, 100vh) + 15vw)) rotateZ(450deg) translateX(-25vw);
        -o-transform: translateY(calc(min(100vw, 100vh) + 15vw)) rotateZ(450deg) translateX(-25vw);
    }
}

@keyframes box-ninja {
    0% {
        height: 0;
        top: 0;
    }

    15% {
        height: calc(min(7vw, 7vh) * 7);
        top: 0;
    }

    30% {
        height: calc(min(7vw, 7vh) * 7);
        top: 0;
    }

    45% {
        top: calc(min(7vw, 7vh) * 7);
        height: 0;
    }

    100% {
        top: calc(min(7vw, 7vh) * 7);
        height: 0;
    }
}