@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : cast.css
Description :
===================================================================== */

/* =====================================================================
*    cast
* =================================================================== */
.cast {
    padding: 0 0 calc(150 / 750 * 100%);
}

.cast::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    margin: calc(530 / 750 * 100%) 0 0;
}

.cast .inner {
    z-index: 2;
}

.cast_ttl1 {
    width: calc(431 / 750 * 100%);
    margin: 0 auto;
}

.cast_box {
    margin: calc(100 / 630 * 100%) 0 0;
}

.cast_ttl2 {
    width: calc(109 / 630 * 100%);
    margin: 0 auto;
}

.cast_list {
    margin: calc(50 / 630 * 100%) 0 0;
}

.cast_list dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 2.8rem;
    line-height: 1.714;
}

.cast_list dt {
    width: calc(270 / 630 * 100%);
    text-align: right;
}

.cast_list dt::after {
    content: ":";
    display: inline-block;
    color: #f03454;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0 calc(-45 / 270 * 100%) 0 0;
}

.cast_list dd {
    width: calc(270 / 630 * 100%);
}

.cast_list dd small {
    font-size: 71%;
}

.cast_list_margin {
}

.cast_list_margin::before,
.cast_list_margin2::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: calc(47 / 630 * 100%);
    background: url(../images/common/img_icon1.png) no-repeat center top;
    background-size: auto 100%;
    margin: calc(20 / 630 * 100%) 0;
}

.cast_list_margin2::before {
    margin-top: calc(90 / 630 * 100%);
}

/*
.cast_list_margin2::after {
    position: absolute;
    top: 0;
    left: 0;
}
*/

.staff_list {
    margin: calc(50 / 630 * 100%) 0 0;
}

.staff_list dl {
    margin: 0 0 calc(40 / 630 * 100%);
    line-height: 1.714;
    text-align: center;
}

.staff_list dl:last-child {
    margin-bottom: 0;
}

.staff_list dt {
    font-size: 2.4rem;
}

.staff_list dt::after {
    content: "";
    display: block;
    width: calc(20 / 630 * 100%);
    margin: 0.5em auto;
    padding-top: calc(3 / 630 * 100%);
    background-color: #f03454;
}

.staff_list_txt1 {
    font-size: 2.8rem;
}

.staff_list_txt1 small {
    font-size: 71%;
}

.staff_list_txt2 {
    margin: calc(40 / 630 * 100%) 0 0;
    font-size: 2rem;
    line-height: 1.5;
}

@media screen and (min-width: 768px) {
    .cast {
        padding: 0 0 calc(100 / 1280 * 100%);
        background-size: calc(200 / 1280 * 100%) auto;
    }

    .cast::after {
        margin: calc(720 / 1280 * 100%) 0 0;
    }

    .cast_ttl1 {
        width: calc(324 / 980 * 100%);
    }

    .cast .sec_contents {
        margin: calc(50 / 980 * 100%) 0 0;
        padding: calc(100 / 980 * 100%) 0 0;
        background-color: #fff;
    }

    .cast_box {
        margin: 0 0 calc(80 / 980 * 100%);
    }

    .cast_ttl2 {
        width: calc(82 / 980 * 100%);
    }

    .cast_list {
        margin: calc(35 / 980 * 100%) 0 0;
    }

    .cast_list dl {
        font-size: 2.1rem;
    }

    .cast_list dt {
        width: calc(455 / 980 * 100%);
    }

    .cast_list dt::after {
        margin: 0 calc(-40 / 455 * 100%) 0 0;
    }

    .cast_list dd {
        width: calc(455 / 980 * 100%);
    }

    .cast_list_margin::before,
    .cast_list_margin2::before {
        padding-top: calc(24 / 980 * 100%);
        margin: calc(20 / 980 * 100%) 0;
    }

/*
    .cast_list_margin2::before {
        margin-top: calc(65 / 980 * 100%);
    }
*/

    .staff_box {
        margin: 0;
    }

    .staff_list {
        margin: calc(35 / 980 * 100%) 0 0;
    }

    .staff_list dl {
        margin: 0 0 calc(25 / 980 * 100%);
    }

    .staff_list dt {
        font-size: 1.8rem;
    }

    .staff_list dt::after {
        width: calc(15 / 980 * 100%);
        padding-top: calc(2 / 980 * 100%);
    }

    .staff_list_txt1 {
        font-size: 2.1rem;
    }

    .staff_list_txt2 {
        width: calc(480 / 980 * 100%);
        margin: calc(25 / 980 * 100%) auto 0;
        font-size: 1.5rem;
    }
}

@media screen and (min-width: 1280px) {
    .cast {
        padding: 0 0 100px;
        background-size: 200px auto;
    }

    .cast::after {
        margin: 720px 0 0;
    }
}
