.talent_link_btn {
    display: inline-block;
    padding: 15px 40px;
    background-color: #333;
    color: #fff !important;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: 0.1em;
    border-radius: 3px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    position: relative;
    overflow: hidden;
}

.talent_link_btn:hover {
    background-color: #555;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.talent_link_btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.talent_link_btn .external-icon {
    font-size: 14px;
    margin-left: 8px;
    vertical-align: middle;
}

/* スマホ対応 */
@media screen and (max-width: 720px) {
    .talent_link_btn {
        width: 80%;
        max-width: 300px;
        padding: 15px 20px;
        font-size: 14px;
    }
}

/* アニメーション用クラス */
.models_link_area {
    opacity: 0;
    transform: translateY(-30px); /* 上から降りてくるように */
    transition: opacity 1s ease-out, transform 1s ease-out;
    will-change: opacity, transform;
}

.models_link_area.animated {
    opacity: 1;
    transform: translateY(0);
}
