#cont_wrap{
    width: 100%;
    min-height: 100vh;
    padding: 60px 0;
    background-color: #e8eced;
}

/*powerplay*/

#pp_link_box{
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    font-family: 'Economica', sans-serif;
    margin: 30px 0;
}
.pp_link{
    font-size: 8.5rem;
    color: #aaa;
    font-weight: bold;
    letter-spacing: 1px;
}
.pp_link:hover{
    color: #69787f;
    opacity: 0.8;
}
.prev_month:hover{transform: translateX(-2px);}
.next_month:hover{transform: translateX(2px);}
.pp_link i{margin: 0 0.2em;}
#pp_link_box .nothing{visibility: hidden;}
#pp_month{
    text-align: center;
    font-size: 8rem;
    font-weight: bold;
    line-height: 0.2em;
    padding: 0 30px;
}
#pp_month b{
    display: block;
    font-family: "Oswald", sans-serif;
    font-size: 24rem;
    transform: translateY(-2px);
}
#pp_rank_wrap{
    width: 100%;
    margin-bottom: 60px;
}
.rank_hd_ttl{
    position: relative;
    font-family: "Oswald", sans-serif;
    color: #111;
    font-size: 16rem;
    letter-spacing: 1px;
    text-align: center;
    -webkit-box-reflect: below -15px -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .4));
    margin-bottom: 15px;
}
.pp_chart_list{
    box-sizing: border-box;
    width: 100%;
    padding: 20px 0;
}
.pp_chart_list li{
    box-sizing: border-box;
    background-color: #323537;
    padding: 8px 10px 8px 5px;
    margin-bottom: 5px;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
}
.pp_chart_no{
    flex: 0 0 auto;
    font-size:20rem;    
    position: relative;
    margin-top: -6px;
}
.pp_chart_no{color:crimson;}
.pp_recom .pp_chart_no{color:teal;}
.hot_tokyo .pp_chart_no{color:mediumpurple;}
.hot_nagoya .pp_chart_no{color:darkorange}
.hot_osaka .pp_chart_no{color: tomato;}
.pp_chart_no span{
    font-family: "Oswald", sans-serif;
    font-size: 9rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 0 10px #fff;
    position: absolute;
    top: 40%; left: 50%;
    transform: translate(-50%, -50%);
}
.pp_chart_no span i{font-size: 8rem;}
.pp_chart_img{
    flex: 0 0 auto;
    margin: 0 5px;
}
.pp_chart_img img{
    height: 50px;
}
.pp_chart_r{
    flex: 1 1 auto;
    box-sizing: border-box;
    min-height: 80px;
    padding: 0 5px;
    display: flex;
    flex-flow: row wrap;
    align-content: space-between;
}
.pp_chart_txt{
    width: 100%;
}
.pp_chart_song{
    width: 100%;
    font-size: 9rem;
    color: #fff;
}
.pp_chart_art{
    width: 100%;
    font-size: 7rem;
    color: #ddd;
    font-weight: normal;
}
.pp_chart_link_box{
    flex: 0 0 auto;
}
.pp_chart_link{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #69787f;
    font-size: 0em;
    color: #fff;
    line-height: 1.2em;
    text-align: center;
    border-radius: 5px;
    padding: 8px;
    margin: 5px 0;
}
.pp_chart_link:hover{
    transform: translateY(1px);
    opacity: 0.8;
}
.pp_chart_link i{
    font-size: 12rem;
}
.pp_chart_pt{
    display: inline-block;
    font-family: 'Economica', "游ゴシック Medium", "Yu Gothic Medium", "YuGothicM", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 7rem;
    color: goldenrod;
    margin-right: 15px;
}
.pp_chart_pt .pp_pt{
    background-color: #fff;
    font-size: 8rem;
    color: #323537;
    font-weight: bold;
    padding: 1px 1em;
    margin-left: 5px;
    border-radius: 3px;
    box-shadow: 0 0 3px #111 inset;
}
.pp_chart_disc{
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "YuGothicM", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 7rem;
    color: #999;
    display: block;
}
.pp_chart_disc::before{content: "『";}
.pp_chart_disc::after{content: "』収録";}
.pp_fm_region{
    box-sizing: border-box;
    width: 100%;
    font-family: "Yuji Syuku", serif;
    font-size: 12rem;
    margin: 10px 0 0;
    padding: 5px 1em;
    background: linear-gradient(to right, lightcoral, 15%, #fff);
}
.pp_fm_wrap{
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    margin: 15px 0 20px;
}
.pp_grid3 {
    width: 100%;
    margin-bottom: 10px;
}
.pp_fm_box{
    box-sizing: border-box;
    width: 100%;
    padding: 0 0 5px;
    background-color: #e8eced;
}
.pp_fm_station{
    color: #e8eced;
    font-size: 10rem;
    text-align: center;
    margin-bottom: 10px;
    padding: 10px;
    background-color: #323537;
}
.pp_fm_song,.pp_fm_art{
    padding-left: 10px;
    padding-right: 10px;
}
.pp_fm_song{
    font-size: 8.5rem;
    color: #222;
}
.pp_fm_art{
    font-size: 7rem;
    color: #69787f;
    text-indent: 0.2em;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: dashed 1px #69787f;
}
.pp_fm_box .pp_fm_art:last-of-type{
    margin-bottom: 0;
    border-bottom: none;
}
.pp_fm_link{
    display: block;
    box-sizing: border-box;
    width: 50%;
    padding: 5px;
    margin: 10px auto 5px;
    border-radius: 3px;
    background-color: #0e77d0;
    font-size: 8.5rem;
    color: #e9f3fa;
    text-align: center;
}
.pp_fm_link:hover{
    opacity: 0.8;
    transform: translateY(1px);
}
.fm_pickup{
    color: gold;
    text-shadow: 0 0 5px #111;
    font-size: 10rem;
    margin-right: 0.5em;
}


/*hot100*/

.hot_ttl_box{
    width: 100%;
    height: 120px;
    margin: 30px 0;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hot_ttl_box.tokyo{
    background-image: url('../images/hot100bk_tokyo.jpg');
}
.hot_ttl_box.nagoya{
    background-image: url('../images/hot100bk_nagoya.jpg');
}
.hot_ttl_box.osaka{
    background-image: url('../images/hot100bk_osaka.jpg');
}
.hot_ttl{
    font-family: 'Oswald',sans-serif;
    font-size: 18rem;
    color: #fff;
    font-weight: normal;
}
.hot_ttl span{    
    border: solid 4px #fff;
    padding: 0 1em;
    text-shadow: 0 0 5px #111;
    box-shadow: 0 0 5px #111;
}
.hot_rank_wrap{
    width: 100%;
    margin-bottom: 60px;    
}
.hot_radio_jump{
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
}
.hot_radio_jump li{
    padding: 0 5px;
    margin: 15px 5px;
}
.hot_radio_jump li a{
    font-family: 'Oswald',sans-serif;
    font-size: 7.5rem;
    color: #0e77d0;
    font-weight: bold;
    letter-spacing: 1px;
    text-decoration: underline;
    text-underline-offset: 5px;
}
.hot_radio_jump li a:hover{opacity: 0.7;}


/*radioList*/

#rs_list_wrap{
    box-sizing: border-box;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 10px;
    row-gap: 15px;
    margin: 30px 0 60px;
    padding: 0 10px;
}
#rs_list_wrap .rs_list{
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 3px rgba(20, 25, 28, 0.1);
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
}
.rs_logo{
    width: 40%;
    aspect-ratio: 16 / 5;
    display: block;
    background-size: cover;
}
.rs_list_r{
    box-sizing: border-box;
    width: 60%;
    padding-left: 5px;
}
.rs_list_ttl{
    text-align: right;
    font-size: 10.5rem;
    line-height: 1.0em;
    margin-bottom: 10px;
}
.rs_list_ttl span{
    display: block;
    font-size: 7rem;
    color: #69787f;
}
.rs_freq_container {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 0px;
}
.rs_place, .rs_mhz{
    font-size: 7.5rem;
    color: #69787f;
}
.rs_place{margin-right: 0.5em;}
.rs_decimal{
    font-size: 24px;
    font-weight: bold;
    display: flex;
    transform: translateY(5px);
}
.rs_mhz{margin-left: 0.25em;}
.rs_mhz_list{
    margin-top: 10px;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
}
.rs_mhz_list li{
    font-size: 7rem;
}


/*nextbreak*/

#nb_list_wrap{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1px;
    margin: 30px 0;
}
#nb_list_wrap .nb_list{
    box-sizing: border-box;
    width: 100%;
    padding: 20px 20px 10px;
    background-color: #fff;
    box-shadow: 0 0 3px rgba(20, 25, 28, 0.1);
    display: flex;
    flex-flow: row wrap;
    align-content: space-between;
}
#nb_list_wrap .nb_list .nb_list_hd{
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
}
.nb_img{width: 30%;}
.nb_img img{width: 100%;}
.nb_r{
    box-sizing: border-box;
    width: 70%;
    padding-left: 10px;
}
.nb_box_ttl{
    margin-bottom: 5px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
}
.nb_box_ttl .nb_ttl{
    background-color: crimson;
    font-family: 'Oswald',sans-serif;
    font-size: 7rem;
    color: #fff;
    letter-spacing: 1px;
    padding: 2px 1em;
}
.nb_update{
    font-size: 6.5rem;
    color: #69787f;
}
.nb_update::before{content: "更新日：";}
.nb_disc{
    font-size: 9.5rem;
    line-height: 1.2em;
}
.nb_art{
    font-size: 7.5rem;
    color: #69787f;
    font-weight: normal;
}
.nb_txt{
    margin: 10px 0;
    font-size: 8rem;
    line-height: 1.8em;    
}

.nb_link{
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
}
.nb_link a{
    display: flex;
    align-items: center;
    font-size: 7rem;
    color: #0e77d0;
    margin: 0 1.5em;
}
.nb_link a:hover{color: lightskyblue;}
.nb_link a:active{transform: translateY(1px);}
.nb_link a i{
    font-size: 10rem;
    margin-right: 3px;
}
.nb_spot_frame{height: 75vh;}
.nb_load_more{
    text-align: center;
    margin: 30px 0 50px;
}
.nb_load_more a{
    cursor: pointer;
    display: block;
    font-weight: bold;
    color: #e9f3fa;
    background-color: #0e77d0;
    box-shadow: 0 0 3px rgba(20, 25, 28, 0.1);
    text-align: center;
    margin: 0 auto;
    border-radius: 5px;
    font-size: 11rem;
    width: 95%;
    padding: 10px 0;
}
.nb_load_more a:hover{opacity: 0.8;}

.nb_load_more a:active{transform: translateY(1px);}


/*favoriteArtist*/

#fa_list_wrap{
    box-sizing: border-box;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 15px;
    margin: 30px 0 60px;
    padding: 0 10px;
}
#fa_list_wrap .fa_list{
    box-sizing: border-box;
    width: 100%;
    aspect-ratio: 4 / 3;
    position: relative;
    overflow: hidden;
}
.fa_art{
    box-sizing: border-box;
    width: 100%;
    font-size: 9rem;
    color: #fff;
    text-shadow: 0 0 3px #111;
    background-color: #000000aa;
    text-align: center;
    padding: 8px 5px;
    position: absolute;
    bottom: 0;
    z-index: 3;
}
.fa_tag_box{
    padding: 5px;
    display: flex;
    flex-flow: row wrap;
    position: absolute;
    z-index: 10;
}
.fa_tag_box dd{
    background-color:maroon;
    font-family: 'Oswald',sans-serif;
    font-size: 6.5rem;
    color: #fff;
    letter-spacing: 1px;
    padding: 3px 1em;
    border-radius: 3px;
    margin-right: 5px;
}
.fa_tag_box dd::before{
    content: "#";
    margin-right: 1px;
}
.fa_tag{
    cursor: pointer;
    text-transform: uppercase;
}
.fa_link{
    width: 100%;
    aspect-ratio: 4 / 3;
    background-size: cover;
    border-radius: 3px;
    box-shadow: 0 0 3px rgba(20, 25, 28, 0.1);
    position: absolute;
    z-index: 2;
    transition: 0.3s;
}


/*artistPage*/

#art_box{
    padding-top: 15px;
    margin-bottom: 60px;
}
#art_box_tube{
    display: grid;
    row-gap: 15px;
    margin-top: 30px;
}
#art_box_tube dt{
    margin: 0 10px;
    font-size: 9rem;
    color: #fff;
    font-weight: bold;
    letter-spacing: 1px;
    text-align: center;
    background-color: #222;
    padding: 5px;
    border-radius: 3px;
}
#art_box_tube dd{
    box-sizing: border-box;
    width: 100%;
    padding: 0 10px;
}
#art_box_tube dd a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    aspect-ratio: 4 / 3;
    background-size: cover;    
}
#art_box_tube dd a i{
    font-size: 45rem;
    color: red;
    opacity: 0.6;
}
#art_box_tube dd a:hover i{
    opacity: 1.0;
    transform: translateY(1px);
}
.tube_ttl{
    margin-top: 5px;
    font-size: 8rem;
}
#art_box_txt{
    display: grid;
    row-gap: 30px;
}
#art_name{
    font-family: "Zen Antique", serif;
    font-size: 15rem;
    text-align: center;
    letter-spacing: 1px;
    border-bottom: solid 2px #222;
    margin: 0 20px;
}
#art_img{
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
}
#art_img img{
    width: 100%;
}
.art_sub_ttl{
    margin-left: 10px;
}
.art_sub_ttl span{
    font-family: "DM Serif Display", serif;
    font-size: 10rem;
    color: #323537;
    font-weight: bold;
    letter-spacing: 1px;
    border-left: solid 15px #323537;
    border-bottom: solid 2px #323537;
    padding: 0 1em;    
}
#art_prof{
    background-color: #323537;
    margin: -10px 10px 0;
    padding: 15px;
    border-radius: 3px;
    box-shadow: 0 0 3px rgba(20, 25, 28, 0.1);
    font-size: 8.5rem;
    color: #fff;
    line-height: 1.8em;
}
#art_sns_box{
    margin: -10px 10px 0;
    background-color: darkolivegreen;
    background-image: radial-gradient(rgba(0, 0, 0, 0.1) 1px, transparent 1px);
    background-size: 3px 3px;
    background-position: center;
    padding: 20px 5px 5px;
    box-shadow: 3px 3px 5px #222 inset;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items:last baseline;    
}
.art_sns a{
    display: block;
    color: #111;
    text-align: center;
    opacity: 0.5;
    transition: 0.3s;
    margin: 0 15px 10px;
}
.art_sns a i{font-size: 16rem;}
.art_sns a span{
    display: block;
    font-family: "DotGothic16", sans-serif;
    font-size: 6rem;
    letter-spacing: 0.5px;
    font-weight: bold;
}
