@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : cast.css
Description :
===================================================================== */

@media screen and (min-width: 768px) {
    .sub_wrap {
        padding-bottom: calc(120 / 1100 * 100%);
        background: url(../images/common/bg_sub_pc1.jpg) no-repeat center top;
        background-size: calc(1600 / 1100 * 100%) auto;
    }
    
    .sub_wrap::before,
    .sub_wrap::after,
    .sub_wrap .inner::after {
        content: "";
        display: block;
        width: calc(186 / 1100 * 100%);
        padding-top: calc(123 / 1100 * 100%);
        background: url(../images/common/bg_ring1.png) no-repeat left top;
        background-size: 100% auto;
        position: absolute;
        top: 0;
        left: 50%;
        margin: calc(746 / 1100 * 100%) 0 0 calc(461 / 1100 * 100%);
    }
    
    .sub_wrap::after {
        width: calc(189 / 1100 * 100%);
        padding-top: calc(126 / 1100 * 100%);
        background: url(../images/common/bg_ring2.png) no-repeat left top;
        background-size: 100% auto;
        margin: calc(1239 / 1100 * 100%) 0 0 calc(-647 / 1100 * 100%);
    }
    
    .sub_wrap .inner::after {
        width: calc(165 / 1100 * 100%);
        padding-top: calc(125 / 1100 * 100%);
        background: url(../images/common/bg_ring3.png) no-repeat left top;
        background-size: 100% auto;
        left: auto;
        right: 0;
        margin: calc(1960 / 1100 * 100%) calc(-56 / 1100 * 100%) 0 0;
    }
}

@media screen and (min-width: 1100px) {
    .sub_wrap {
        padding-bottom: 120px;
        background-size: 1600px auto;
    }
    
    .sub_wrap::before {
        width: 186px;
        padding-top: 123px;
        margin: 746px 0 0 461px;
    }
    
    .sub_wrap::after {
        width: 189px;
        padding-top: 126px;
        margin: 1331px 0 0 -647px;
    }
}


/* =====================================================================
*    cast
* =================================================================== */
.cast {
    margin: 0 0 calc(150 / 750 * 100%);
}

.sec_contents {
    width: calc(670 / 750 * 100%);
    margin: 0 auto;
    -webkit-box-shadow: 0 0 calc(10 / 750 * 100vw) rgba(0,0,0,0.1);
    box-shadow: 0 0 calc(10 / 750 * 100vw) rgba(0,0,0,0.1);
    z-index: 2;
}

.cast_box {
    background: linear-gradient(135deg, rgb(255, 252, 242) 0%, rgb(255, 250, 233) 30%, rgb(255, 250, 233) 100%);
}

.cast_box_wrap {
    padding: calc(130 / 670 * 100%) 0;
}

.cast_box::before,
.cast_box::after,
.cast_box_wrap::before,
.cast_box_wrap::after {
    content: "";
    display: block;
    width: calc(90 / 670 * 100%);
    padding-top: calc(90 / 670 * 100%);
    background: url(../images/common/bg_corner1.png) no-repeat center center;
    background-size: calc(80 / 90 * 100%) auto;
    position: absolute;
    top: 0;
    left: 0;
    margin: calc(15 / 670 * 100%) 0 0 calc(15 / 670 * 100%);
}

.cast_box::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    left: auto;
    right: 0;
    margin: calc(15 / 670 * 100%) calc(15 / 670 * 100%) 0 0;
}

.cast_box_wrap::before {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
    top: auto;
    bottom: 0;
    margin: 0 0 calc(15 / 670 * 100%) calc(15 / 670 * 100%);
}

.cast_box_wrap::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    top: auto;
    bottom: 0;
    left: auto;
    right: 0;
    margin: 0 calc(15 / 670 * 100%) calc(15 / 670 * 100%) 0;
}

.sec_subttl {
    width: calc(540 / 670 * 100%);
    margin: 0 auto calc(60 / 670 * 100%);
    padding: 0 0 calc(30 / 670 * 100%);
    background: url(../images/common/line_yellow.png) repeat-x left bottom;
    background-size: calc(10 / 540 * 100%) auto;
}

.sec_subttl img {
    width: calc(171 / 540 * 100%);
    margin: 0 auto;
}

.sec_subttl.staff {
    margin-top: calc(155 / 670 * 100%);
}

@media screen and (min-width: 768px) {
    .sec_contents {
        width: 100%;
        -webkit-box-shadow: 0 0 calc(10 / 1100 * 100vw) rgba(0,0,0,0.1);
        box-shadow: 0 0 calc(10 / 1100 * 100vw) rgba(0,0,0,0.1);
        z-index: 2;
    }
    
    .cast_box {
        background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(255, 250, 233) 50%, rgb(255, 250, 233) 100%);
    }
    
    .cast_box::before,
    .cast_box::after,
    .cast_box_wrap::before,
    .cast_box_wrap::after {
        width: calc(48 / 1000 * 100%);
        padding-top: calc(48 / 1000 * 100%);
        background-size: 100% auto;
        margin: calc(10 / 1000 * 100%) 0 0 calc(10 / 1000 * 100%);
    }
    
    .cast_box::after {
        margin: calc(10 / 1000 * 100%) calc(10 / 1000 * 100%) 0 0;
    }
    
    .cast_box_wrap::before {
        margin: 0 0 calc(10 / 1000 * 100%) calc(10 / 1000 * 100%);
    }
    
    .cast_box_wrap::after {
        margin: 0 calc(10 / 1000 * 100%) calc(10 / 1000 * 100%) 0;
    }
    
    .cast_box_wrap {
        padding: calc(80 / 1000 * 100%) calc(105 / 1000 * 100%);
    }
    
    .sec_subttl {
        width: 100%;
        margin: 0 auto calc(60 / 1000 * 100%);
        padding: 0 0 calc(30 / 1000 * 100%);
        background-size: calc(5 / 790 * 100%) auto;
    }
    
    .sec_subttl img {
        width: calc(107 / 790 * 100%);
        margin: 0 auto;
    }
    
    .sec_subttl.staff {
        margin-top: calc(120 / 790 * 100%);
    }
}

@media screen and (min-width: 1100px) {
    .sec_contents {
        -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.1);
        box-shadow: 0 0 10px rgba(0,0,0,0.1);
    }
}
