@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : cast.css
Description : 出演者ページ用CSS
===================================================================== */


/* ********************************************************************
banner
******************************************************************** */

#banner {
    background-color: #f8df08;
    padding: calc(15 / 750 * 100%) 0;
}

.banner_song {
    width: calc(600 / 670 * 100%);
    margin: 0 auto;
}

@media screen and (min-width: 768px) {
    #banner {
        padding: calc(20 / 1400 * 100%) 0;
    }
    .banner_song {
        width: calc(600 / 1200 * 100%);
    }
    .banner_song a:hover {
        opacity: .7;
    }
}

@media screen and (min-width: 1400px) {
    #banner {
        padding: 20px 0;
    }
}


/* =====================================================================
*    cast
* =================================================================== */

.main {
    position: relative;
}

.main::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background: url(../images/common/bg_mv_sp.jpg) repeat-y center top/100% auto;
    width: 100%;
    padding-top: calc(100 / 750 * 100%);
    z-index: 2;
}

.cast {
    padding: calc(90 / 750 * 100%) 0 calc(140 / 750 * 100%);
}

.cast::before,
.cast::after,
.semi::before,
.semi::after {
    padding-top: calc(1150 / 670 * 100%);
    position: absolute;
    top: 0;
    z-index: 1;
}

.cast::before,
.cast::after {
    margin-top: calc(175 / 750 * 100%);
}

.cast::before,
.semi::before {
    content: "";
    display: block;
    left: 0;
    width: calc(105 / 670 * 100%);
    background: url(../images/top/bg_deco2_L_sp.png) no-repeat left top/contain;
}

.cast::after,
.semi::after {
    content: "";
    display: block;
    width: calc(89 / 670 * 100%);
    background: url(../images/top/bg_deco2_R_sp.png) no-repeat right top/contain;
    right: 0;
}

.cast .inner {
    z-index: 2;
}

.cast .inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/cast/bg_heart1.png) no-repeat center/contain;
    width: calc(136 / 670 * 100%);
    padding-top: calc(130 / 670 * 100%);
    margin: calc(120 / 670 * 100%) 0 0 calc(-60 / 670 * 100%);
}

.cast .inner::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    background: url(../images/cast/bg_heart2.png) no-repeat center/contain;
    width: calc(95 / 670 * 100%);
    padding-top: calc(84 / 670 * 100%);
    margin: 0 calc(-10 / 670 * 100%) calc(-10 / 670 * 100%) 0;
}

.cast_btn {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.cast_btn li {
    width: calc(320 / 670 * 100%);
    margin-top: calc(40 / 670 * 100%);
}

.cast_btn li:last-child {
    margin: calc(40 / 670 * 100%) auto;
}

.cast_list li:nth-child(1) {
    margin: 0 calc(50 / 320 * 100%);
}

.cast_list li:nth-child(3) {
    margin-left: calc(30 / 670 * 100%);
}

.cast_btn h3 {
    margin: 0 auto .8em;
}

.cast_list h3 {
    width: calc(130 / 320 * 100%);
}

.cast_btn dt {
    border-radius: calc(60 / 320 * 100%);
    overflow: hidden;
}

.cast_btn dd {
    text-align: center;
    font-weight: 900;
    font-size: 3.2rem;
    margin-top: .5em;
}

@media screen and (min-width:768px) {
    .cast {
        padding: calc(100 / 1400 * 100%) 0 calc(190 / 1400 * 100%);
        overflow: hidden;
    }
    .cast::before,
    .cast::after,
    .semi::before,
    .semi::after {
        padding-top: calc(888 / 1920 * 100%);
        opacity: .3;
    }
    .cast::before,
    .cast::after {
        margin-top: calc(106 / 1920 * 100%);
    }
    .cast::before,
    .semi::before {
        width: calc(326 / 1920 * 100%);
        background: url(../images/top/bg_deco2_L_pc.png) no-repeat center top/100% auto;
    }
    .cast::after,
    .semi::after {
        width: calc(331 / 1920 * 100%);
        background: url(../images/top/bg_deco2_R_pc.png) no-repeat center top/100% auto;
    }
    .cast .inner::before {
        width: calc(91 / 1400 * 100%);
        padding-top: calc(87 / 1400 * 100%);
        margin: calc(91 / 1400 * 100%) 0 0 calc(113 / 1400 * 100%);
    }
    .cast .inner::after {
        right: auto;
        left: 0;
        width: calc(64 / 1400 * 100%);
        padding-top: calc(56 / 1400 * 100%);
        margin: 0 0 calc(-140 / 1400 * 100%) calc(370 / 1400 * 100%);
    }
    .cast_btn {
        -ms-align-items: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .cast_btn li {
        cursor: pointer;
        width: calc(240 / 1200 * 100%);
        margin-top: 0;
    }
    .cast_btn dt {}
    .cast_btn dd {
        font-size: 2.4rem;
        margin-top: .2em;
    }
    .cast_list::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        background: url(../images/cast/bg_heart3.png) no-repeat center/contain;
        width: calc(82 / 1400 * 100%);
        padding-top: calc(76 / 1400 * 100%);
        margin: calc(-15 / 1400 * 100%) calc(390 / 1400 * 100%) 0 0;
    }
    .cast_list::after {
        content: '';
        position: absolute;
        bottom: 0;
        right: 0;
        background: url(../images/cast/bg_heart4.png) no-repeat center/contain;
        width: calc(144 / 1400 * 100%);
        padding-top: calc(171 / 1400 * 100%);
        margin: 0 calc(30 / 1400 * 100%) calc(-160 / 1400 * 100%) 0;
    }
    .cast_list li {
        margin: 0 calc(30 / 1200 * 100%);
    }
    .cast_btn li:last-child {
        margin: 0 calc(30 / 1200 * 100%);
    }
    .cast_list li:nth-child(1) {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin: 0 calc(160 / 1200 * 100%) !important;
    }
    .cast_list li:nth-child(3) {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    .cast_list li:nth-child(2) {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }
    .cast_list h3 {
        width: calc(130 / 240 * 100%);
    }
}

@media screen and (min-width:1400px) {
    .main::before {
        background-size: 460px auto;
        padding-top: 240px;
    }
    .main::after {
        background-size: 20px auto;
        padding-top: 30px;
        margin-bottom: 240px;
    }
    .cast {
        padding: 100px 0 190px;
    }
}

@media screen and (min-width: 1920px) {
    .cast::before,
    .cast::after,
    .semi::before,
    .semi::after {
        padding-top: 888px;
    }
    .cast::before,
    .cast::after {
        margin-top: 106px;
    }
    .cast::before,
    .semi::before {
        width: 326px;
        margin-left: 3vw;
    }
    .cast::after,
    .semi::after {
        width: 331px;
        margin-right: 3vw;
    }
}


/* =====================================================================
*    peach's
* =================================================================== */

.peachs {
    padding: calc(150 / 750 * 100%) 0;
    background: url(../images/cast/bg_yellow.jpg) repeat center/calc(195 / 750 * 100%) auto;
}

.peachs::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    background: url(../images/common/bg_deco1_sp.png) no-repeat center/100% auto;
    width: 100%;
    padding-top: calc(107 / 750 * 100%);
}

.peachs_list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.peachs_list li:nth-child(-n+2) {
    margin-top: 0;
}

@media screen and (min-width: 768px) {
    .peachs {
        padding: calc(140 / 1400 * 100%) 0 calc(100 / 1400 * 100%);
        background-size: calc(130 / 1400 * 100%) auto;
    }
    .peachs::before {
        background: url(../images/common/bg_deco1_pc.png) repeat-x center top/calc(960 / 1400 * 100%) auto;
        padding-top: calc(107 / 1400 * 100%);
    }
    .peachs h2 {
        margin-bottom: calc(80 / 1400 * 100%);
    }
    .peachs_list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: calc(1000 / 1200 * 100%);
        margin: 0 auto;
    }
    .peachs_list li {
        width: calc(200 / 1000 * 100%);
    }
    .peachs_list li:not(:nth-child(4n)) {
        margin-right: calc(34 / 1000 * 100%);
    }
    .peachs_list li:nth-child(4n+2),
    .peachs_list li:nth-child(4n+4) {
        margin-top: calc(65 / 1000 * 100%);
    }
}

@media screen and (min-width: 1400px) {
    .peachs {
        padding: 140px 0 100px;
        background-size: 130px auto;
    }
    .peachs::before {
        background-size: 960px auto;
        padding-top: 107px;
    }
}


/* =====================================================================
*    semi regular
* =================================================================== */

.semi {
    padding: calc(120 / 750 * 100%) 0 calc(180 / 750 * 100%);
    overflow: hidden;
}

.semi::before,
.semi::after {
    margin-top: calc(120 / 750 * 100%);
}

.semi .inner {
    z-index: 2;
}

.semi_list li {
    margin: 0 calc(50 / 670 * 100%);
}

.semi_list li:not(:last-child) {
    margin-bottom: calc(80 / 670 * 100%);
}

.semi_list li:first-child {
    /* padding-bottom: calc(80 / 670 * 100%); */
}


/* .semi_list li:first-child::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(670 / 320 * 100%);
	padding-top: calc(9 / 320 * 100%);
	margin-left: calc(-172 / 300 * 100%);
	background: url(../images/common/dotted1.png) round center/calc(36 / 670 * 100%) auto;
} */

.semi_list h3 {
    width: calc(150 / 320 * 100%);
}

@media screen and (min-width: 768px) {
    .semi {
        padding: calc(125 / 1400 * 100%) 0 calc(485 / 1400 * 100%);
    }
    .semi::before,
    .semi::after {
        margin-top: calc(100 / 1920 * 100%);
    }
    .semi_list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .semi_list li:nth-child(2) {
        cursor: default;
    }
    .semi_list li {
        margin: 0;
    }
    .semi_list li:not(:last-child) {
        padding-bottom: 0;
        margin: 0;
    }
    /* .semi_list li:first-child::before {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		right: 0;
		left: auto;
		width: calc(330 / 240 * 100%);
		padding-top: calc(5 / 240 * 100%);
		margin: 0 calc(-350 / 240 * 100%) 0 0;
	} */
    .semi_list h3 {
        width: calc(150 / 240 * 100%);
    }
}

@media screen and (min-width: 1400px) {
    .semi {
        padding: 125px 0 485px;
    }
}

@media screen and (min-width: 1920px) {
    .semi::before,
    .semi::after {
        margin-top: 100px;
    }
}