/* ==========================
   WORKS
========================== */

.works-grid{
    max-width:1400px;
    margin:0 auto;
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(320px,1fr));
    gap:40px;
    padding:40px 20px;
}

/* ==========================
   CARD
========================== */

.work-card{
    background:#ffffff;
    border:1px solid #dddddd;
    overflow:hidden;
    transition:.3s;
}

.work-card:hover{
    transform:translateY(-5px);
    box-shadow:
    0 10px 25px rgba(0,0,0,.08);
}

/* ==========================
   IMAGE
========================== */

.work-image{
    margin:0;
}

.work-image img{
    width:100%;
    aspect-ratio:2 / 3;
    object-fit:cover;
    display:block;
}

/* ==========================
   COPYRIGHT
========================== */

.copyright{
    margin-top:8px;
    padding:0 12px;
    font-size:.7rem;
    color:#666666;
    line-height:1.4;
}

/* ==========================
   TEXT AREA
========================== */

.work-info{
    padding:20px;
}

.title{
    margin:0 0 12px;
    font-size:1.4rem;
    line-height:1.4;
    color:#333333;
}

.spec{
    margin-bottom:10px;
    font-size:.95rem;
    font-weight:bold;
    color:#444444;
}

.staff{
    display:flex;
    align-items:flex-start;
    gap:0.5em;
    margin-bottom:8px;
    line-height:1.7;
    color:#555;
}

.label{
    flex-shrink:0;
    font-weight:bold;
}

.value{
    flex:1;
    display:flex;
    flex-wrap:wrap;
    gap:0.3em 0.8em;
}

.cast-name{
    white-space:nowrap;
}

.description{
    text-align: justify;
    margin-bottom:20px;
    line-height:1.8;
    color:#333333;
}

/* ==========================
   BUTTON
========================== */

.schedule-link{
    display:inline-block;
    padding:10px 18px;
    background:#111111;
    color:#ffffff;
    text-decoration:none;
    transition:.3s;
}

.schedule-link:hover{
    background:#444444;
}

/* ==========================
   MOBILE
========================== */

@media (max-width:768px){

    .works-grid{
        grid-template-columns:1fr;
        gap:30px;
        padding:20px;
    }

}