/* ==========================================================================
    月額動画 common.css
    ライトを除く月額動画のページにて読み込まれている
   ========================================================================== */
/* ==========================================================================
    initialize
   ========================================================================== */
.d-rst ul {
    margin: 0;
    padding: 0;
}
.d-rst li {
    list-style-type: none;
}
.d-rst dl,
.d-rst dd,
.d-rst p {
    margin: 0;
}
.d-rst a,
.d-rst a:link {
    color: #1f8bd0;
}
.d-rst a:visited {
    color: #a845a8;
}
.d-rst a:hover {
    color: #f66;
}

/* アイドルchのみ a要素の 色変更を打ち消す */
/* また.d-rst.gmonthly_idol内に.d-rstが使われているケースがあるため打ち消す */
.d-rst.gmonthly_idol a,
.d-rst.gmonthly_idol .d-rst a {
    color: #1f8bd0;
}
.d-rst.gmonthly_idol a:visited,
.d-rst.gmonthly_idol .d-rst a:visited {
    color: #909;
}
.d-rst.gmonthly_idol a:link,
.d-rst.gmonthly_idol .d-rst a:link {
    color: #005fc0;
}
.d-rst.gmonthly_idol a:hover,
.d-rst.gmonthly_idol .d-rst a:hover {
    color: #e20;
}

/* ==========================================================================
    modules
   ========================================================================== */
/*
    ボタン
 */
.dgm-btn {
    position: relative;
    display: inline-block;
    padding: 10px 0;
    text-align: center;
    border-radius: 4px;
    color: #333;
    background: #fff;
    border: 1px solid #cfcfcf;
    line-height: 1;
}
a.dgm-btn,
input.dgm-btn {
    cursor: pointer;
}
a.dgm-btn:hover,
input.dgm-btn:hover {
    opacity: .8;
    text-decoration: none;
}
.d-rst .dgm-btn:visited,
.d-rst .dgm-btn:link {
    color: #333;
}
.d-rst .dgm-btn.is-current {
    border-color: #f66;
    background-color: #f66;
    color: #fff;
}

/* 左側にアイコンの付くボタン */
.dgm-btn.dgm-btn--ico-l:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 10px;
    bottom: 0;
    margin: auto;
    vertical-align: middle;
}
.dgm-btn.dgm-btn--ico-l--favorite:before {
    width: 21px;
    height: 20px;
    background: url(//p.dmm.co.jp/p/monthly/common/ico/ico_star.png);
}
.dgm-btn.dgm-btn--ico-l--history:before {
    width: 20px;
    height: 19px;
    background: url(//p.dmm.co.jp/p/monthly/common/ico/ico_clock.png);
}

/* オレンジ色の強調ボタン */
.dgm-btn.dgm-btn--em {
    background: #ff9000;
    color: #fff;
    border-color: #ff9000;
}
.dgm-btn.dgm-btn--em:visited,
.dgm-btn.dgm-btn--em:link,
.dgm-btn.dgm-btn--em:hover {
    color: #fff;
}
.dgm-btn.dgm-btn--em.is-inactive {
    background-color: #868686;
    border-color: #868686;
}

/* リスト 「本編再生」に使用している青色のボタン */
.dgm-btn.dgm-btn--mainMovie {
    border: 1px solid #1f8bd0;
    color: #1f8bd0 !important;
}
.dgm-btn.dgm-btn--mainMovie:visited,
.dgm-btn.dgm-btn--mainMovie:link,
.dgm-btn.dgm-btn--mainMovie:hover {
    color: #1f8bd0 !important;
}

/* リスト 「サンプル動画再生」に使用している灰色のボタン */
.dgm-btn.dgm-btn--sampleMovie {
    background-color: #fff;
    border: 1px solid #777;
    color: #777 !important;
}
.dgm-btn.dgm-btn--sampleMovie:visited,
.dgm-btn.dgm-btn--sampleMovie:link,
.dgm-btn.dgm-btn--sampleMovie:hover {
    color: #777 !important;
}

/* opacityのアニメーションなし */
.dgm-btn-noOp {
    display: inline-block;
    position: relative;
    border: 1px solid #1f8bd0;
    border-radius: 4px;
}

/* テキストリストなど再生開始ボタン */
.dgm-btn-noOp.dgm-btn-noOp--play {
    border-color: #1f8bd0;
    background-color: #fff;
}
.dgm-btn-noOp.dgm-btn-noOp--play:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 6px 0 6px 9px;
    border-color: transparent transparent transparent #1f8bd0;
}
.dgm-btn-noOp.dgm-btn-noOp--play:hover {
    border-color: #f66;
}
.dgm-btn-noOp.dgm-btn-noOp--play:hover:before {
    border-color: transparent transparent transparent #f66;
}

/* サンプル動画ボタンが押せない時 */
.dgm-btn-noOp.dgm-btn-noOp--play.is-inactive {
    border-color: #cfcfcf;
}
.dgm-btn-noOp.dgm-btn-noOp--play.is-inactive::before {
    border-color: transparent transparent transparent #cfcfcf;
}

/* 末端お気に入りに追加ボタン inputに対応するためアイコンはbackgroundで指定している  */
input.dgm-btn.dgm-btn--favorite {
    padding-left: 14px;
    background-image: url(//p.dmm.co.jp/p/monthly/common/ico/ico_star_sm.png);
    background-repeat: no-repeat;
    background-position: 26px center;
    box-sizing: border-box;
    cursor: pointer;
}
span.dgm-btn.dgm-btn--favorite:before {
    content: '';
    display: inline-block;
    margin-right: 6px;
    content: '★';
    color: #f66;
}

/*
    画像と文言が横並びになるボックス
    チャンネルトップ「お知らせ」など
 */
.dgm-media {
    display: table;
}
.dgm-media .dgm-item-media {
    display: table-cell;
    vertical-align: middle;
}
.dgm-media .dgm-item-media.dgm-item-media--pl18 {
    padding-left: 18px;
}
.dgm-media .dgm-item-media.dgm-item-media--newsSentence {
    padding-left: 18px;
}

/* メディアタイトル */
.dgm-media .dgm-ttl-mediaItem {
    display: block;
    margin-bottom: 3px;
    font-size: 16px;
}

/*
    セクション
 */
.dgm-sect {
    margin-bottom: 56px;
}

/*
    タイトル
 */
.dgm-ttl {
    position: relative;
    margin-bottom: 25px;
    padding: 0 10px;
    border-left: 3px solid #f66;
    font-size: 25px !important;
    color: #333;
    line-height: 1;
}

.dgm-ttl .dgm-ttl-btnList {
    position: absolute;
    top: 4px;
    right: 0;
    padding: 4px;
    height: 16px;
}

.dgm-ttl .dgm-ttl-btnList p {
    float: left;
}

.dgm-ttl .dgm-ttl-btnList p:first-child {
    padding-right: 4px;
}

/*
    点線ボーダーで仕切りが入っているタイトル
    チャンネルトップなど
 */
.d-rst .dgm-ttl-partition {
    position: relative;
    margin-bottom: 24px;
    width: 100%;
    font-size: 16px;
    color: #333;
    line-height: 1;
}
.dgm-ttl-partition:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 1px;
    display: block;
    border-top: 1px dotted #cfcfcf;
}
.dgm-ttl-partition .dgm-tx-ttlPartition {
    display: inline-block;
    position: relative;
    padding-right: 16px;
    background: #fff;
    z-index: 10;
}

/* 文字サイズが小さく、文字色が灰色 */
.dgm-tx-ttlPartition.dgm-tx-ttlPartition--sm {
    font-size: 12px;
    color: #868686;
}

/* アイコンと並んだ時 dreamのピックアップなど */
.dgm-wrap-ttlPartition {
    display: table;
    margin-bottom: 24px;
}
.dgm-wrap-ttlPartition > * {
    display: table-cell;
    vertical-align: middle;
}
.dgm-wrap-ttlPartition > a > img {
    padding-right: 15px;
}
.dgm-wrap-ttlPartition .dgm-ttl-partition {
    padding: 20px 0 0 0;
    box-sizing: border-box;
}
.dgm-wrap-ttlPartition .dgm-ttl-partition:before,
.dgm-wrap-ttlPartition .dgm-ttl-partition .dgm-tx-more {
    top: 20px;
}

/* 先頭に星アイコンあり */
.dgm-ttl-partition.dgm-ttl-partition--star {
    margin: 46px 0 18px;
}
.dgm-ttl-partition.dgm-ttl-partition--star .dgm-tx-ttlPartition {
    padding-left: 21px;
}
.dgm-ttl-partition.dgm-ttl-partition--star .dgm-tx-ttlPartition:before {
    content: '';
    display: inline-block;
    position: absolute;
    top: -2px;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 17px;
    height: 17px;
    background: url(//p.dmm.co.jp/p/monthly/common/ico/ico_star.png);
    background-size: cover;
}

/*
    もっと見るの矢印テキスト
 */
.dgm-tx-more {
    position: relative;
    display: inline-block;
    height: 14px;
    padding: 0 20px;
    font-size: 14px;
    line-height: 1;
    vertical-align: middle;
}
/* .dgm-ttl-partitionにはbackgroundにドット線があるため */
.dgm-ttl-partition .dgm-tx-more {
    background: #fff;
}
.dgm-tx-more:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 13px;
    height: 13px;
    background: url(//p.dmm.co.jp/p/monthly/common/ico/ico_arrow_dot.png) no-repeat right center;
    -webkit-transition: .1s linear transform;
    transition: .1s linear transform;
}
.dgm-tx-more:hover {
    text-decoration: none;
}
.dgm-tx-more:hover:before {
    transform: translateX(3px);
    background-image: url(//p.dmm.co.jp/p/monthly/common/ico/ico_arrow_dot_active.png);
}
.dgm-ttl-partition .dgm-tx-more {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

/*
    jquery.d-carousel.js
 */
.d-boxslidelist {
    max-width: 1400px;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}

/* base.cssの打ち消し */
#w .d-boxslidelist {
    margin: 0 auto 50px;
}
.d-boxslidelist .col-1 li {width: 50%}
.d-boxslidelist .col-2 li {width: 50%}
.d-boxslidelist .col-3 li {width: 33.3%}
.d-boxslidelist .col-4 li {width: 25%}
.d-boxslidelist .col-5 li {width: 20%}
.d-boxslidelist .col-6 li {width: 16.6%}
.d-boxslidelist .col-7 li {width: 14.2%}
.d-boxslidelist .col-8 li {width: 12.5%}
.d-boxslidelist .col-9 li {width: 11.1%}
.d-boxslidelist .col-10 li {width: 10%}
.d-boxslidelist .col-11 li {width: 9%}
.d-boxslidelist .col-12 li {width: 8.3%}
.d-boxslidelist .col-13 li {width: 7.6%}
.d-boxslidelist .col-14 li {width: 7.1%}
.d-boxslidelist .col-15 li {width: 6.6%}
.d-boxslidelist li.loading div {background: #fff url(//p.dmm.co.jp/p/title/loading.gif) no-repeat scroll 50% 50%}
.d-boxslidelist .d-prev,
.d-boxslidelist .d-next {
    top: 20px;
    bottom: 20px;
}
.d-boxslidelist li {
    float: left;
    width: 25%;
    height: 100%;
    text-align: left;
}
.d-boxslidelist li a {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 147px;
    height: 244px;
}
.d-boxslidelist li img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding-bottom: 3.6em;
}
.d-boxslidelist li b {
    display: block;
    position: absolute;
    bottom: 0;
    overflow: hidden;
    width: 100%;
    height: 2.8em;
    margin: 0 auto;
    font-weight: normal;
    line-height: 1.4;
}

.d-boxslidelist li div {
    width: 147px;
    margin: 0 auto;
}

.d-boxslidelist li .tx-date {
    display: block;
    padding-top: 4px;
    color: #868686;
    font-size: 11px;
    line-height: 1.4;
}

/* もっと見る */
.item-carousel-more a {
    padding: 75px 0;
    height: auto !important;
    text-align: center;
}
.item-carousel-more a img {
    position: static;
    padding-bottom: 0;
    width: 34px !important;
    height: 46px !important;
}
.item-carousel-more a b {
    color: #999;
    font-size: 12px !important;
}
.item-carousel-more a:hover {
    opacity: .7;
    text-decoration: none;
}

/* ランキングの数字 */
.d-boxslidelist .tx-rank {
    margin: 0 auto;
    width: 147px;
    height: 30px;
    line-height: 32px;
    color: #868686;
}
.d-boxslidelist .tx-rank span {
    font-family: 'Open Sans', sans-serif;
    font-weight: bold;
    font-size: 16px;
}
.d-boxslidelist .tx-rank span:after {
    display: inline-block;
    content: '位';
    font-weight: normal;
}
.d-boxslidelist .no1 .tx-rank span,
.d-boxslidelist .no2 .tx-rank span,
.d-boxslidelist .no3 .tx-rank span {
    display: inline-block;
    width: 40px;
    line-height: 20px;
    padding-top: 8px;
    background: url(//p.dmm.co.jp/p/ds/common/ico_rank.png) 0 0 no-repeat;
    color: #fff;
    font-size: 11px;
    text-align: center;
    vertical-align: top;
}
.d-boxslidelist .no1 .tx-rank span:after,
.d-boxslidelist .no2 .tx-rank span:after,
.d-boxslidelist .no3 .tx-rank span:after,
.item-carousel-more .tx-rank span:after {
    content: none;
}
.d-boxslidelist .no2 .tx-rank span {
    background-position: 0 -30px;
}
.d-boxslidelist .no3 .tx-rank span {
    background-position: 0 -60px;
}
.d-boxslidelist .item-carousel-more .tx-rank span {
    background: none;
}
.d-boxslidelist .tx-rank img {
    vertical-align: top;
}

/*
    スライダーの種類別CSS
    1. list-pic             パッケージ + 作品タイトル
    2. list-series          パッケージ + シリーズタイトル
    3. list-actress         女優画像  + 女優名
    4. list-pic-pt          パッケージ + 作品タイトル pt画像
    5. list-autoWidth       画像サイズがwidth: 100%; height: auto; になっており可変する
    6. list-popular-channel チャンネルロゴ + パッケージ + 価格 + 入会導線（月額トップで使用）
 */
/* pt画像 スライダー */
.d-boxslidelist.list-pic-pt li div {
    width: 90px;
}
.d-boxslidelist.list-pic-pt li a {
    width: 90px;
    height: 166px;
}
.d-boxslidelist.list-pic-pt .item-carousel-more a {
    padding: 35px 0;
}

/* シリーズ スライダー */
.d-boxslidelist.list-series li b {
    font-size: 14px;
}

/* 女優 スライダー */
.d-boxslidelist.list-actress li a {
    width: 125px;
    height: 168px;
}
.d-boxslidelist.list-actress li b {
    font-size: 14px;
    text-align: center;
}
.d-boxslidelist.list-actress li .tx-rank {
    width: 125px;
}
.d-boxslidelist.list-actress .item-carousel-more a {
    padding: 30px 0;
    min-height: 66px;
}

/* 人気のチャンネルスライダー */
.d-boxslidelist.list-popular-channel li a {
    position: static;
    height: auto;
}
.d-boxslidelist.list-popular-channel li img {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 0 7px;
    padding-bottom: 0;
}

.d-boxslidelist.list-popular-channel li .pic-channel-logo img {
    margin-bottom: 10px;
}

.d-boxslidelist.list-popular-channel li b {
    position: static;
}

.d-boxslidelist.list-popular-channel li > div {
    position: relative;
    padding: 0 10px;
    height: 360px;
    border: 1px solid #cfcfcf;
    border-radius: 8px;
}

.d-boxslidelist.list-popular-channel .dgm-btn {
    border: none;
}

#w .d-boxslidelist.list-popular-channel {
    overflow: inherit !important;
}
/* 人気のチャンネル ランク */
.d-boxslidelist.list-popular-channel .tx-rank {
    position: absolute;
    padding: 0 5px;
    width: auto;
    top: -14px;
    left: 10px;
    background: #fff;
}
/* 人気のチャンネル ロゴ */
.d-boxslidelist.list-popular-channel .pic-channel-logo {
    margin-top: 22px;
}
/* 人気のチャンネル 値段 */
.d-boxslidelist.list-popular-channel .tx-price {
    margin: 8px 0 13px;
    color: #dd0b0b;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
}
.d-boxslidelist.list-popular-channel .tx-price span {
    font-weight: bold;
    font-size: 16px;
}
.d-boxslidelist.list-popular-channel .tx-price.is-lineThrough {
    text-decoration: line-through;
}

/* 人気のチャンネル 値段 CPパターン*/
.d-boxslidelist.list-popular-channel .tx-price-cp {
    margin: 0 !important;
}

.d-boxslidelist.list-popular-channel .tx-price-cp del {
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
    font-weight: normal;
}
.d-boxslidelist.list-popular-channel .tx-price-cp del span {
    font-size: 12px;
    font-weight: normal;
}

.d-boxslidelist.list-popular-channel .tx-price-cp ins {
    display: block;
    margin-bottom: 6px;
    color: #f40;
    font-size: 14px;
    text-decoration: none;
}

.d-boxslidelist.list-popular-channel .tx-price ins span {
    color: #f40;
    font-size: 16px;
}

/* 人気のチャンネル ボタン */
.d-boxslidelist.list-popular-channel .dgm-btn {
    width: 147px;
    display: block;
    margin: auto auto 10px;
}

/* d-carousel.jsのloading */
.d-boxslidelist .loading {
    display: none;
}

/* 画像サイズが可変するスライダー */
.list-autoWidth li img {
    width: 100%;
    height: auto;
}
.list-autoWidth li a {
    max-width: 147px;
    width: auto;
}
@media screen and (max-width: 1100px) {
    .list-autoWidth li > div {
        padding: 0 6px;
    }
}

/*
    更新日のリストテキスト
    メンバー:チャンネルトップなど
 */
.dgm-list-updateDate .dgm-item-updateDateList {
    display: table;
    margin-bottom: 18px;
    line-height: 1;
}
.dgm-list-updateDate .dgm-item-updateDateList > * {
    display: table-cell;
}
.dgm-list-updateDate .dgm-tx-updateDate {
    width: 50px;
}
.dgm-list-updateDate .dgm-tx-updateInfo {
    font-size: 14px;
}

/*
    横並びアイテム
 */
.dgm-list {
    width: 100%;
    margin: 0 auto 50px;
    text-align: center;
}
.dgm-item-list {
    display: inline-block;
    margin-right: 22px;
}
.dgm-list .dgm-item-list:last-child {
    margin-right: 0;
}
.dgm-item-list img {
    display: block;
    margin-bottom: 10px;
}
.dgm-item-list b {
    font-size: 14px;
    font-weight: normal;
}

/*
    ヘッダーカルーセル
 */
.dgm-wrapper-headerCarousel {
    position: relative;
    margin-bottom: 20px;
    width: 100%;
    height: 270px;
    overflow: hidden;
}
.dgm-bx-headerCarousel {
    position: absolute !important;
    width: 100%;
    height: 250px;
    top: 0;
    left: 0;
}
.dgm-bx-headerCarousel .slick-list {
    height: 100%;
}

/* カルーセルの場合のみ */
.dgm-wrapper-headerCarousel .dgm-bx-headerPic .dgm-inner-headerPic {
    width: 1200px;
}

/* ナビゲーション */
.dgm-wrapper-headerCarousel .dgm-bx-headerCarouselNav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.dgm-wrapper-headerCarousel .dgm-bx-headerCarouselNav > div {
    position: absolute;
    width: 100%;
    height: 250px;
    top: 0;
    background: rgba(0, 0, 0, .5);
    cursor: pointer;
}
.dgm-wrapper-headerCarousel .dgm-bx-headerCarouselNav .dgm-btn-headerCarouselNav-prev {
    right: 100%;
}
.dgm-wrapper-headerCarousel .dgm-bx-headerCarouselNav .dgm-btn-headerCarouselNav-next {
    left: 100%;
}
.dgm-wrapper-headerCarousel .dgm-bx-headerCarouselNav span {
    position: absolute;
    top: 102px;
    width: 50px;
    height: 50px;
    background-image: url(//p.dmm.co.jp/p/mt_prime/ico_rotationCtrl.png);
    background-color: rgba(0, 0, 0, .1);
    background-repeat: no-repeat;
    font-size: 0;
    z-index: 5;
}
.dgm-wrapper-headerCarousel .dgm-bx-headerCarouselNav .dgm-btn-headerCarouselNav-prev span {
    right: -50px;
}
.dgm-wrapper-headerCarousel .dgm-bx-headerCarouselNav .dgm-btn-headerCarouselNav-next span {
    left: -50px;
    background-position: left -50px;
}
.dgm-wrapper-headerCarousel .dgm-bx-headerCarouselNav > div:hover span {
    background-color: rgba(0, 0, 0, .5);
}

/* ドットナビゲーション */
.dgm-wrapper-headerCarousel button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    font-size: 0;
}
.dgm-wrapper-headerCarousel .slick-dots {
    margin-top: 10px;
    text-align: center;
}
.dgm-wrapper-headerCarousel .slick-dots li {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
}
.dgm-wrapper-headerCarousel .slick-dots li.slick-active {
    border: 1px solid #ccc;
    background: #ccc;
}

/*
    カルーセル内画像、単体で使用可能
 */
.dgm-bx-headerPic {
    overflow: hidden;
    height: 250px;
    margin-bottom: 20px;
    background: #ededed;
}
.dgm-bx-headerPic .dgm-inner-headerPic {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 250px;
    margin: 0 auto;
}
.dgm-bx-headerPic img {
    position: absolute;
    right: -100%;
    left: -100%;
    margin: 0 auto;
    transform: translateX(0);
}

/* ヘッダー内の入会導線 パラダイスTVなど */
.dgm-bx-headerPic .dgm-bx-headerChannelJoin {
    display: inline-block;
    padding: 26px 0;
    width: 298px;
    height: 100%;
    background: rgba(246, 246, 246, .8);
    vertical-align: top;
    box-sizing: border-box;
}
/* チャンネルロゴなど画像 */
.dgm-bx-headerPic .dgm-bx-headerChannelJoin img {
    /* バナー画像の中央寄せCSSの打ち消し */
    position: inherit;
    display: block;
    margin: 0 auto 5px;
}
/* 入会テキスト */
.dgm-bx-headerPic .dgm-tx-headerChannelJoin {
    font-size: 14px;
}
.dgm-bx-headerPic .dgm-tx-headerChannelJoin .dgm-tx-headerChannelJoin-em {
    color: #dd0b0b;
    font-size: 16px;
}
.dgm-bx-headerPic .dgm-tx-headerChannelJoin .dgm-tx-headerChannelJoin-em .dgm-tx-headerChannelJoinPrice {
    font-size: 20px;
    font-weight: bold;
}
/* 入会ボタン */
.dgm-bx-headerPic .dgm-bx-headerChannelJoin .dgm-btn.dgm-btn--em {
    display: block;
    margin: 6px auto;
    padding: 14px 0 15px;
    width: 241px;
    font-size: 18px;
}

/*
    テーブルアイテム
*/
.dgm-table {
    display: table;
    width: 100%;
    table-layout: fixed;
}
.dgm-table .dgm-item-table {
    display: table-cell;
}

.dgm-table-half {
    width: 50%;
}

/*
    先頭に三角形のアイコンが付くテキスト
    ▶ ~~~
 */
.dgm-tx-icoHeadArrow:before {
    content: '';
    display: inline-block;
    margin-right: 5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 5px;
    border-color: transparent transparent transparent #007bff;
}
.dgm-tx-icoHeadArrow:hover:before {
    border-color: transparent transparent transparent #f66;
}

/*
    告知枠
 */
.dgm-bx-notice {
    margin-bottom: 12px;
    padding: 10px 0;
    border: 1px solid;
    border-radius: 4px;
    text-align: center;
    font-size: 14px;
    line-height: 1;
}
/* 警告告知 */
.dgm-bx-notice.dgm-bx-notice--warn {
    border-color: #e0160f;
}
.dgm-bx-notice.dgm-bx-notice--warn .dgm-tx-notice {
    color: #e0160f;
    font-size: 12px;
}
.dgm-bx-notice.dgm-bx-notice--warn .dgm-tx-notice-em {
    font-size: 14px;
    font-weight: bold;
}

/*
    jquery.d-carousel.jsの横並び
 */
.dgm-wrap-carousel {
    margin-bottom: -50px;
    width: 100%;
}
.dgm-wrap-carousel:after {
    content: "";
    display: table;
    clear: both;
}
.dgm-wrap-carousel .dgm-inner-wrapCarousel {
    padding-right: 12px;
}
.dgm-wrap-carousel.col-2 .dgm-item-wrapCarousel {
    width: 50%;
    float: left;
}
.dgm-wrap-carousel.col-2 .dgm-item-wrapCarousel:nth-child(2n) .dgm-inner-wrapCarousel {
    padding: 0 0 0 12px;
}

/*
    入会ボタンのあるチャンネルリスト
 */
.dgm-item-channelJoin {
    border: 1px solid #cfcfcf;
    vertical-align: top;
}
.dgm-bx-channelJoinImg {
    padding: 15px 0 10px;
    text-align: center;
}
.dgm-bx-channelJoinImg .dgm-pic-channelJoinLogo {
    margin-bottom: 12px;
}
.dgm-bx-channelJoinImg .dgm-pic-channelJoinProduct {
    display: table;
    width: 100%;
    height: 200px;
}
.dgm-bx-channelJoinImg .dgm-pic-channelJoinProduct > * {
    display: table-cell;
    vertical-align: middle;
}
.dgm-bx-channelJoinInfo {
    padding: 18px;
    background-color: #f5f5f5;
}
.dgm-bx-channelJoinInfo .dgm-btn {
    width: 100%;
}

/* チャンネル説明テキスト */
.dgm-bx-channelJoinInfo .dgm-tx-channelJoinInfo {
    margin-bottom: 6px;
    color: #333;
    font-size: 12px;
}
/* チャンネル本数テキスト */
.dgm-bx-channelJoinInfo .dgm-tx-channelJoinTotalNumber {
    margin-bottom: 8px;
    color: #868686;
    font-size: 10px;
}
.dgm-bx-channelJoinInfo .dgm-tx-channelJoinTotalNumber .dgm-item-channelJoinTotalNumber {
    display: inline-block;
}
/* チャンネル入会値段 */
.dgm-tx-channelJoinPrice {
    color: #dd0b0b;
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    line-height: 1;
}
.d-rst .dgm-tx-channelJoinPrice {
    margin-bottom: 12px;
}
.dgm-tx-channelJoinPrice .dgm-tx-channelJoinPrice-em {
    font-weight: bold;
    font-size: 16px;
}
.dgm-tx-channelJoinPrice.is-lineThrough {
    text-decoration: line-through;
}
.dgm-tx-channelJoinPrice del {
    font-weight: normal;
}
.dgm-tx-channelJoinPrice ins {
    padding-left: 2px;
    color: #f40;
    font-weight: bold;
    text-decoration: none;
}
.dgm-tx-channelJoinPrice ins:before {
    content: '\2192';
    font-size: 11px;
}

/*
    縦カルーセル
    月額動画 商品末端で共通
 */
.dgm-verticalCarousel {
    border: 2px solid #cfcfcf;
    border-radius: 4px;
}

 /* 縦カルーセル ヘッダー部分 */
.dgm-verticalCarousel .dgm-bx-verticalCarousel-header {
    padding: 8px 0 1px;
    border-bottom: 1px solid #cfcfcf;
}

/* タイトル */
.dgm-verticalCarousel .dgm-ttl-verticalCarousel {
    margin-bottom: 6px;
    font-size: 14px;
    color: #575757;
    text-align: center;
    line-height: 1;
}

/* ナビゲーション */
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav {
    padding: 0 6px;
    margin-bottom: 6px;
}
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav:after {
    display: block;
    clear: both;
    content: '';
}
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav span {
    position: relative;
    width: 62px;
    height: 15px;
    cursor: pointer;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background: #f2f4f7;
    float: left;
}
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav span:last-child {
    float: right;
    margin-right: 0;
}
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav span:before {
    content: '';
    display: block;
    position: absolute;
    margin: auto;
    width: 12px;
    height: 9px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-repeat: no-repeat;
}
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav .dgm-ico-verticalCarousel-prev:before {
    background: url(//p.dmm.co.jp/p/monthly/detail/ico_vertical_carousel_tp.png);
}
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav .dgm-ico-verticalCarousel-next:before {
    top: 1px;
    background: url(//p.dmm.co.jp/p/monthly/detail/ico_vertical_carousel_bt.png);
}
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav .dgm-ico-verticalCarousel-prev:hover:before {
    background: url(//p.dmm.co.jp/p/monthly/detail/ico_vertical_carousel_tp_active.png);
}
.dgm-verticalCarousel .dgm-bx-verticalCarousel-nav .dgm-ico-verticalCarousel-next:hover:before {
    background: url(//p.dmm.co.jp/p/monthly/detail/ico_vertical_carousel_bt_active.png);
}

/* 末尾の要素のborder-bottomを見えないようにする */
.dgm-bx-verticalCarousel-content {
    margin-bottom: -1px;
}
.dgm-verticalCarousel .dgm-item-verticalCarousel {
    padding: 10px 0;
    border-bottom: 1px dotted #cfcfcf;
}
.dgm-verticalCarousel .dgm-item-verticalCarousel a {
    outline: none;
}
.dgm-verticalCarousel .dgm-item-verticalCarousel a:hover {
    text-decoration: none;
}
.dgm-verticalCarousel .dgm-item-verticalCarousel a:hover img {
    opacity: .8;
}
/* 素人の100 x 100も90 x 122内におさめる */
.dgm-verticalCarousel .dgm-bx-verticalCarouselImg {
    position: relative;
    margin: 0 auto 10px;
    width: 90px;
    height: 122px;
}
.dgm-verticalCarousel .dgm-bx-verticalCarouselImg img {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: auto;
}
.dgm-verticalCarousel .dgm-bx-verticalCarouselInfo {
    height: 30px;
    padding: 0 12px;
    overflow: hidden;
    line-height: 1.3;
}
.dgm-verticalCarousel .dgm-bx-verticalCarouselInfo p {
    margin: 0;
    font-size: 12px;
}

/*
    HTML5 Player再生ボタンとパッケージ画像
    月額動画 商品末端で共通
 */
.dgm-playerCover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.dgm-playerCover .dgm-inner-playerCover {
    position: relative;
    width: 100%;
    height: 100%;
}

/* 状態変更 */
.dgm-playerCover.is-inactive {
    display: none;
}
/* 中央に再生マーク */
.dgm-playerCover.is-play .dgm-btn-playerCover.dgm-btn-playerCover--replay {
    display: none;
}
/* 中央にリプレイマーク */
.dgm-playerCover.is-replay .dgm-btn-playerCover.dgm-btn-playerCover--play {
    display: none;
}
.dgm-playerCover.is-replay .dgm-bx-playerCoverPic,
.dgm-playerCover.is-replay .dgm-bx-playerCoverTx {
    display: none;
}

/* パッケージ画像 */
.dgm-playerCover .dgm-bx-playerCoverPic {
    width: 100%;
    height: 100%;
    background: #000;
    font-size: 0;
    text-align: center;
}
.dgm-playerCover .dgm-bx-playerCoverPic:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}
.dgm-playerCover .dgm-bx-playerCoverPic img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    vertical-align: middle;
}

/* パッケージ画像がなくテキストが入る場合 */
.dgm-playerCover .dgm-bx-playerCoverTx {
    display: table;
    width: 100%;
    height: 100%;
    background: #000;
    text-align: center;
}
.dgm-playerCover .dgm-inner-playerCoverTx {
    display: table-cell;
    vertical-align: middle;
}
.dgm-playerCover .dgm-inner-playerCoverTx p {
    margin-bottom: 15px;
    font-size: 24px;
    color: #fff;
}
.dgm-playerCover .dgm-inner-playerCoverTx p:last-child {
    margin-bottom: 0;
}

/* 再生ボタン */
.dgm-wrap-playerCoverBtn {
    width: 100%;
    height: 100%;
}
.dgm-wrap-playerCoverBtn .dgm-btn-playerCover {
    position: absolute;
    width: 136px;
    height: 136px;
    top: 0;
    bottom: 66px;
    right: 0;
    left: 0;
    margin: auto;
    cursor: pointer;
}
/* 再生ボタン周りのローディング */
.dgm-btn-playerCover.dgm-btn-playerCover--loading img {
    animation: spin 1.3s linear infinite;
}

/*
    左ナビ「視聴前にCheck」
    月額動画 末端のみ
 */
#side-l .side-contents.dgm-side-guide {
    padding: 0;
    border: none;
    background: none;
}
#side-l .side-contents.dgm-side-guide .side-menu-ttl {
    margin: 0;
}
#side-l .side-contents.dgm-side-guide .side-menu {
    padding: 0;
    border: 2px solid #f66;
    border-top: none;
    background: #f8f8f8;
}
#side-l .side-contents.dgm-side-guide .side-menu a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px 0;
    text-align: center;
    font-size: 15px;
    color: #575757;
}
#side-l .side-contents.dgm-side-guide .side-menu a:hover {
    text-decoration: none;
}
#side-l .side-contents.dgm-side-guide .side-menu a:before {
    content: '';
    display: inline-block;
    width: 27px;
    height: 27px;
    margin-right: 6px;
    padding-top: 3px;
    background: url(//p.dmm.co.jp/p/monthly/common/side/ico_guide_text.png) no-repeat;
    vertical-align: middle;
}

/*
    左ナビ
    お気に入りボタン、視聴履歴ボタン
 */
#side-l .side-pickup .inner .box-bt a.ds-bkm-g {
    background-image: url(//p.dmm.co.jp/p/common/side/worldwide/bt_bkm_guest.gif);
}

#side-l .side-pickup .inner .box-bt a.ds-his-m {
    background-image: url(//p.dmm.co.jp/p/common/side/worldwide/bt_his_member.gif);
}

#side-l .side-pickup .inner .box-bt-bkm {
    margin: 6px 0 0;
}

#side-l .side-pickup .inner .box-bt-bkm span.status {
    display: block;
    position: absolute;
    top: 3px;
    right: 11px;
    line-height: 16px;
    font-family: Arial, sans-serif;
    font-weight: bold;
    font-size: 11px;
    color: #ff355f !important;
}
#side-l .side-pickup .inner .box-bt-bkm .ds-bkm-m {
    display: block;
    position: relative;
    height: 23px;
    background-image: url(//p.dmm.co.jp/p/common/side/worldwide/bt_bkm_member.gif);
}
#side-l .side-pickup .inner .box-bt-bkm .ds-bkm-m span.tx-bkm {
    visibility: hidden;
}

#side-l .side-pickup .inner .box-bt-bkm p.bkm-babble {
    position: relative;
    height: 20px;
    line-height: 20px;
    margin-bottom: 4px;
    padding-top: 2px;
    border-radius: 3px;
    text-align: center;
    background-color: #fffdd4;
    color: #000;
    font-size: 11px;
    font-weight: bold;
    z-index: 1;
}
#side-l .side-pickup .inner .box-bt-bkm p.bkm-babble span {
    color: #ff355f;
}
#side-l .side-pickup .inner .box-bt-bkm p.bkm-babble:before {
    position: absolute;
    right: 15px;
    bottom: -7px;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 7px 0 7px;
    border-color: #fffdd4 transparent transparent transparent;
    z-index: 2;
}
#side-l .side-pickup .inner .box-bt-bkm p.bkm-babble:after {
    position: absolute;
    right: 13px;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 9px 0 9px;
    border-color: #000 transparent transparent transparent;
}



/*
    slick.js ライブラリCSS
 */
.slick-slider {
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
     user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list {
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus {
    outline: none;
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
     transform: translate3d(0, 0, 0);
}
.slick-track {
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after {
    display: table;

    content: '';
}
.slick-track:after {
    clear: both;
}
.slick-loading .slick-track {
    visibility: hidden;
}
.slick-slide {
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide {
    float: right;
}
.slick-slide img {
    display: block;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-slide.dragging img {
    pointer-events: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
}
.slick-arrow.slick-hidden {
    display: none;
}

