@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : music.css
Description :
===================================================================== */

/* =====================================================================
*    music
* =================================================================== */
.music {
    padding: calc(100 / 750 * 100%) 0 calc(150 / 750 * 100%);
}

.opening_wrap {
    margin: 0 0 calc(130 / 630 * 100%);
}

.music .subttl {
    width: calc(247 / 630 * 100%);
    margin: 0 auto calc(15 / 630 * 100%);
}

.music_ttl1 {
    width: calc(485 / 630 * 100%);
    margin: 0 auto calc(40 / 630 * 100%);
}

.music_ttl1.wave_y::before,
.music_ttl1.wave_y::after {
    padding-top: calc(7 / 485 * 100%);
}

.music_photo {
    width: calc(400 / 630 * 100%);
    margin: 0 auto calc(30 / 630 * 100%);
    border-radius: calc(12 / 750 * 100vw);
    overflow: hidden;
}

.music_ttl2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin: 0 0 calc(50 / 630 * 100%);
}

.music_ttl2 dt {
    max-width: 60%;
    margin: 0 0.5em 0 0;
    padding: 0 1em 0 0;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
}

.music_ttl2 dt::after {
    content: "／";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    color: #fedeeb;
}

.music_ttl2 dd {
    color: #fedeeb;
    font-size: 2rem;
}

.music_txt {
    padding: calc(48 / 630 * 100%) 0 0;
    border-radius: calc(12 / 750 * 100vw);
    overflow: hidden;
}

.music_txt_box1 {
    padding: calc(70 / 630 * 100%) calc(50 / 630 * 100%) calc(80 / 630 * 100%);
    background-color: #fff;
    border-top-left-radius: calc(12 / 750 * 100vw);
    border-top-right-radius: calc(12 / 750 * 100vw);
}

.music_txt_box1::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: calc(9 / 630 * 100%);
    background: url(../images/music/bg_wave_p.png) repeat-x top left;
    background-size: auto 100%;
    position: absolute;
    bottom: -1px;
    left: 0;
}

.music_txt_box2 {
    padding: calc(80 / 630 * 100%) calc(50 / 630 * 100%);
    background-color: #ffeef6;
}

.music_txt_box2::before {
    content: "";
    display: block;
    width: calc(260 / 630 * 100%);
    padding-top: calc(260 / 630 * 100%);
    background: url(../images/common/bg_dot_p.png) repeat left bottom;
    background-size: calc(24 / 260 * 100%) auto;
    position: absolute;
    bottom: 0;
    right: 0;
}

.music_txt_box2::after {
    content: "";
    display: block;
    width: 100%;
    padding-top: calc(260 / 630 * 100%);
    -webkit-transform-origin: top right;
    transform-origin: top right;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    background-color: #ffeef6;
    position: absolute;
    bottom: 0;
    right: 0;
}

.music_txt dt {
    width: calc(205 / 630 * 100%);
    margin: calc(-43 / 630 * 100%) auto 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.music_txt dd {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.917;
    z-index: 2;
}

.music_txt_box1 dd {
    color: #0c65a3;
}

.music_link {
    width: calc(460 / 530 * 100%);
    margin: calc(60 / 530 * 100%) auto 0;
}

.music_link a {
    display: block;
    padding: calc(25 / 460 * 100%) 0;
    background: url(../images/common/bg_dot_b.png) repeat left bottom;
    background-size: calc(16 / 460 * 100%) auto;
    border-radius: 2em;
    -webkit-box-shadow: 0 0 calc(20 / 750 * 100vw) rgba(102, 102, 102, 0.5);
    box-shadow: 0 0 calc(20 / 750 * 100vw) rgba(102, 102, 102, 0.5);
    font-size: 2rem;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
}

.music_link a::before {
    content: "";
    display: block;
    width: calc(420 / 460 * 100%);
    height: 100%;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    background-color: #319ae3;
    position: absolute;
    top: 0;
    left: 0;
}

.music_link a img {
    width: calc(232 / 460 * 100%);
    margin: 0 auto;
}

@media screen and (min-width:768px){
    .music {
        padding: calc(110 / 1300 * 100%) 0 calc(130 / 1300 * 100%);
    }
    
    .opening_wrap {
        margin: 0 0 calc(80 / 1000 * 100%);
    }
    
    .music .subttl {
        width: calc(174 / 1000 * 100%);
        margin: 0 auto calc(10 / 1000 * 100%);
    }
    
    .music_ttl1 {
        width: calc(478 / 1000 * 100%);
        margin: 0 auto calc(40 / 1000 * 100%);
    }
    
    .music_ttl1.wave_y::before,
    .music_ttl1.wave_y::after {
        padding-top: calc(6 / 474 * 100%);
    }
    
    .music_photo {
        width: calc(400 / 1000 * 100%);
        margin: 0 auto calc(30 / 1000 * 100%);
        border-radius: calc(6 / 1300 * 100vw);
    }
    
    .music_ttl2 {
        margin: 0 0 calc(30 / 1000 * 100%);
    }
    
    .music_txt {
        width: calc(840 / 1000 * 100%);
        margin: 0 auto;
        padding: calc(32 / 1000 * 100%) 0 0;
        border-radius: calc(6 / 1300 * 100vw);
    }
    
    .music_txt_box1 {
        padding: calc(60 / 840 * 100%) calc(50 / 840 * 100%) calc(70 / 840 * 100%);
        border-top-left-radius: calc(6 / 1300 * 100vw);
        border-top-right-radius: calc(6 / 1300 * 100vw);
    }
    
    .music_txt_box1::before {
        padding-top: calc(9 / 840 * 100%);
    }
    
    .music_txt_box2 {
        padding: calc(50 / 840 * 100%) calc(50 / 840 * 100%);
    }
    
    .music_txt_box2::before {
        width: calc(180 / 840 * 100%);
        padding-top: calc(180 / 840 * 100%);
    }
    
    .music_txt_box2::after {
        padding-top: calc(180 / 840 * 100%);
    }
    
    .music_txt dt {
        width: calc(160 / 840 * 100%);
        margin: calc(-32 / 840 * 100%) auto 0;
    }
    
    .music_txt dd {
        font-size: 1.6rem;
        line-height: 1.875;
    }
    
    .music_link {
        width: calc(400 / 740 * 100%);
        margin: calc(30 / 740 * 100%) auto 0;
    }
    
    .music_link a {
        padding: calc(20 / 400 * 100%) 0;
        background-size: calc(16 / 400 * 100%) auto;
        -webkit-box-shadow: 0 0 calc(20 / 1300 * 100vw) rgba(102, 102, 102, 0.5);
        box-shadow: 0 0 calc(20 / 1300 * 100vw) rgba(102, 102, 102, 0.5);
        top: 0;
    }
    
    .music_link a::before {
        width: calc(410 / 460 * 100%);
    }
    
    .music_link a img {
        width: calc(198 / 400 * 100%);
    }
    
    .music_link a:hover {
        top: calc(-10 / 1300 * 100vw);
        top: -0.77vw;
    }
}

@media screen and (min-width:1300px){
	.music {
        padding: 110px 0 130px;
    }
    
    .music_photo,
    .music_txt {
        border-radius: 6px;
    }
    
    .music_txt_box1 {
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }
    
    .music_link a {
        -webkit-box-shadow: 0 0 20px rgba(102, 102, 102, 0.5);
        box-shadow: 0 0 20px rgba(102, 102, 102, 0.5);
    }
    
    .music_link a:hover {
        top: -10px;
    }
}
