.p-3 { padding: 0.75rem !important; }
.pt-\[30px\] { padding-top: 30px !important; }
.pb-\[19px\] { padding-bottom: 19px !important; }
.bottom-\[20px\] { bottom: 20px !important; }
.right-\[15px\] { right: 15px !important; }
.animate-scroll-drop { animation: scrollDrop 1.5s cubic-bezier(0.65, 0.05, 0.36, 1) infinite; }

@media (min-width: 640px) {
    .sm\:p-5 { padding: 1.25rem !important; }
    .sm\:bottom-\[30px\] { bottom: 30px !important; }
    .sm\:right-\[30px\] { right: 30px !important; }
}

@keyframes scrollDrop { 
    0% { transform: translateY(-100%); } 
    100% { transform: translateY(100%); } 
}

.custom-mv-container {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    height: 65vh; 
}
@media (min-width: 640px) {
    .custom-mv-container {
        height: 70vh; 
    }
}
@media (min-width: 1024px) {
    .custom-mv-container {
        height: 85vh; 
    }
}

.mv-catch-wrapper {
    position: absolute;
    top: 6%;
    right: 2%; 
    z-index: 50;
    display: flex;
    flex-direction: row-reverse;
    gap: 0.75rem;
    pointer-events: none;
    font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
}
@media (min-width: 640px) {
    .mv-catch-wrapper {
        top: 10%;
        right: 4%; 
        gap: 1.25rem;
    }
}

.mv-catch-box {
    background-color: rgba(255, 255, 255, 0.95);
    padding: 1.5rem 0.6rem;
    box-shadow: none; 
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    letter-spacing: 0.25em;
    font-size: 1.4rem;
    font-weight: 700;
    color: #222;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (min-width: 640px) {
    .mv-catch-box {
        padding: 2.5rem 1rem;
        font-size: 2.2rem;
    }
}

.tatechuyoko {
    text-combine-upright: all;
    -webkit-text-combine: horizontal;
    margin: 0 0.1em;
}

@keyframes mvFadeIn {
    0% { opacity: 0; transform: translateY(15px); }
    100% { opacity: 1; transform: translateY(0); }
}
.animate-mv-fade {
    animation: mvFadeIn 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0.3s both;
}
