@charset "UTF-8";

/* ==========================================================
 Layout
========================================================== */

html, body {
    min-height: 100vh;
}

html {
    position: relative;
    background: #f2f2f2;
    color: #555;
    font-size: 62.5%;
    line-height: 1.0;
}

body {
    padding: 0 0 200px 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: none;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

input, button, textarea, select {
    color: #555;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
}

img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

a {
    color: #555;
    text-decoration: none;
    cursor: pointer;
}

/* PC判定時のみhover処理 */
.device-pc a:hover {
    background-color: rgba(201, 20, 108, 0.1);
}

/* ==========================================================
 General
========================================================== */

/* デバイスサイズで出し分け
------------------------------ */

.disp-small {
    display: block;
}

.disp-large {
    display: none;
}

/* 文字
------------------------------ */

.line-through {
    text-decoration: line-through;
}

.-align_right {
    text-align: right;
}

/* 文字 - 色 */

.-color_pink {
    color: #c9146c !important;
}

.-color_darkgray {
    color: #555 !important;
}

.-color_gray {
    color: #888 !important;
}

.-color_lightgray {
    color: #999 !important;
}

/* 三点リーダー */

.el {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.el-2 {
    max-height: 3.0em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    word-wrap: break-word;
    word-break: break-all;
    line-height: 1.5;
}

/* 罫線
------------------------------ */

.md-hr {
    height: 0;
    margin: 0;
    border: none;
    border-top-style: solid;
    border-top-width: 1px;
    border-top-color: #dcdcdc;
}

.md-hr-browsehistory {
    height: 0;
    margin: 0;
    border: none;
    border-top-style: solid;
    border-top-width: 1px;
    border-top-color: #e5e5e5;
}

.md-hr.-margin_16 {
    margin: 16px 0;
}

.md-hr.-margin_24 {
    margin: 24px 0;
}

.md-hr.-margin_32 {
    margin: 32px 0;
}

.md-hr-browsehistory.-height_8,
.md-hr.-height_8 {
    border-top-width: 8px;
}

.md-hr.-color_lightgray {
    border-top-color: #e7e7e7;
}

/* リンク
------------------------------ */

/* リンク - 矢印 */

.link-arrow {
    display: block;
    margin: 6px 0;
}

.link-arrow--margin_large {
    margin: 16px 0;
}
.link-arrow--margin_large:first-of-type {
    margin: 0;
}

.link-arrow__link {
    display: inline-block;
    position: relative;
    padding: 3px 14px 3px 0;
    font-size: 1.2rem;
}

.link-arrow__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 5px;
    height: 9px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
    transform: translateY(-50%);
}

/* 転送禁止 */

.link-arrow__link--icon_lock {
    padding-left: 18px;
}

.link-arrow__link--icon_lock::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 15px;
    height: 15px;
    margin: -8px 0 0;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_lock_pink.png) no-repeat 50%;
    background-size: contain;
}

/* リンク - テキスト */

.link-text {
    color: #c9146c;
    text-decoration: underline;
}

/* リスト
------------------------------ */

/* リスト - テキスト（インデント） */

.list-text__item {
    padding-left: 1.0em;
    text-indent: -1.0em;
}

/* 注意事項エリア
------------------------------ */

/* リスト */

.md-caution__list {
    margin: 0 0 12px;
}

.md-caution__item {
    padding-left: 1.0em;
    text-indent: -1.0em;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.5;
}

/* テキスト */

.md-caution-text {
    margin: 12px 0;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.3;
}

/* ボタン
------------------------------ */

/* ボタン - 線 */

.md-btn-line {
    display: block;
    position: relative;
    width: 100%;
    height: 40px;
    margin: 0 auto;
    padding: 0 20px;
    border: 1px solid #888;
    text-align: center;
    font-size: 1.2rem;
    line-height: 39px;
    border-radius: 2px;
}

.md-btn-line::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 5px;
    height: 9px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
    transform: translateY(-50%);
}

.md-btn-line.-width_short {
    width: 240px;
}

/* ボタン - 機能系 */

.md-btn-function {
    display: block;
    position: relative;
    margin: 0 auto;
    text-align: center;
    background: #c9146c;
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: 0;
    border-radius: 4px;
}

/* PC判定時のみhover処理 */
.device-pc .md-btn-function:hover {
    background-color: #d84692;
    cursor: pointer;
}

/* PC判定時のみhover処理 */
.device-pc .md-btn-function.-disabled:hover {
    /* 非活性の時は色変えない */
    background-color: #ccc;
    cursor: auto;
}

/* PC判定時のみhover処理 */
.device-pc .md-btn-function.-light:hover {
    color: #fff;
}

.md-btn-function.-size_xsmall {
    height: 34px;
    line-height: 34px;
}

.md-btn-function.-size_small {
    height: 40px;
    line-height: 40px;
}

.md-btn-function.-size_medium {
    width: 80%;
    min-width: 260px;
    max-width: 360px;
    height: 50px;
    line-height: 50px;
}

.md-btn-function.-light {
    border: 1px solid #c9146c;
    background: #fff;
    color: #c9146c;
}

.md-btn-function.-size_xsmall.-light {
    line-height: 33px;
}

.md-btn-function.-size_small.-light {
    line-height: 39px;
}

.md-btn-function.-size_medium.-light {
    line-height: 49px;
}

.md-btn-function.-disabled {
    /*
        backgroundで背景色を指定するとボタンが消えてしまう。
        アイコン自体を::beforeで実装するとSPで正常に表示できないため、background-colorで指定
    */
    background-color: #ccc;
}

.md-btn-function.-icon_download::before {
    content: "";
    display: inline-block;
    width: 21px;
    height: 21px;
    margin: 0 12px 0 0;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_download_white.png) no-repeat right 50%;
    background-size: contain;
    vertical-align: -3px;
}

/* ボタン - リンク */

.md-btn-link {
    display: block;
    position: relative;
    width: 100%;
    height: 40px;
    margin: 0 auto;
    padding: 0 24px 0 12px;
    border: 1px solid #e7e7e7;
    text-align: left;
    background: #fff;
    color: #555;
    font-size: 1.2rem;
    line-height: 39px;
    border-radius: 2px;
}

.md-btn-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.md-btn-link.-color_pink {
    color: #c9146c;
}

.md-btn-link.-link_out::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 11px;
    height: 11px;
    margin: -5px 0 0;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_out.png) no-repeat 50%;
    background-size: contain;
}

/* チェックボックス
------------------------------ */

.md-check-box {
    color: #888;
}

.md-check-box .md-check-box__label:nth-child(1) {
    margin: 0 24px 0 0;
}

.md-check-box .md-check-box__tick {
    display: none;
}

.md-check-box-text {
    position: relative;
    padding: 0 0 0 18px;
    font-size: 1.3rem;
}

.md-check-box-text::before {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 10px;
    height: 10px;
    border: 1px solid #888;
}

.md-check-box .md-check-box__tick:checked + .md-check-box-text::after {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 2px;
    width: 11px;
    height: 11px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_check.png) no-repeat 50%;
    background-size: contain;
}

.md-check-box__label {
    display: block;
    padding: 16px;
    width: 100%;
    color: #555;
    border-top: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
    cursor: pointer;
}

.md-check-box__label:last-of-type {
    border-bottom: 1px solid #dcdcdc;
}

/* ラジオボタン
------------------------------ */

.md-radio {
    color: #888;
}

.md-radio .md-radio__label:nth-child(1) {
    margin: 0 24px 0 0;
}

.md-radio .md-radio__tick {
    display: none;
}

.md-radio-text {
    position: relative;
    padding: 0 0 0 18px;
    font-size: 1.3rem;
}

.md-radio-text::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 11px;
    height: 11px;
    border: 1px solid #ccc;
    border-radius: 15px;
    transform: translateY(-50%);
}

.md-radio .md-radio__tick:checked + .md-radio-text::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 3px;
    width: 7px;
    height: 7px;
    background: #c9146c;
    background-size: contain;
    border-radius: 10px;
    transform: translateY(-50%);
}

.md-radio__label {
    display: block;
    padding: 16px;
    width: 100%;
    color: #555;
    border-top: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
}

.md-radio__label:last-of-type {
    border-bottom: 1px solid #dcdcdc;
}

/* 見出し
------------------------------ */

/* 共通 白背景・グレー下線 見出し */

.md-heading {
    position: relative;
    padding: 14px 16px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.6rem;
    line-height: 1.3;
    background: #fff;
}

.md-heading--margin-bottom {
    padding: 16px;
    margin: 0 0 16px 0;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.6rem;
    background: #fff;
}

.md-heading__back-btn {
    display: inline-block;
    vertical-align: 0;
}

.md-heading__back-btn img {
    width: 10px;
    vertical-align: 0;
}

.md-heading__title {
    display: inline-block;
    padding: 0 0 0 10px;
    vertical-align: 1px;
}

.md-heading--line_left {
    position: relative;
    margin: 16px 0;
    padding: 0 0 0 12px;
    font-size: 1.4rem;
    font-weight: 500;
}

.md-heading--line_left::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 100%;
    background: #c9146c;
}

/* リード文エリア
------------------------------ */

.md-lead-area {
    width: 100%;
    padding: 16px;
}

.md-lead-area__text {
    font-size: 1.2rem;
    line-height: 1.4;
}
.md-lead-area__text-paragraph {
    margin: 0 0 16px 0;
}
.md-lead-area__text-paragraph:last-of-type {
    margin: 0;
}

/* ==========================================================
 site-header
========================================================== */

.site-header {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 52px;
    background: #fff;
}

.site-header__logo {
    float: left;
    width: 90px;
    margin: 8px 0 8px 10px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.site-header__logo-link {
    display: block;
    width: 90px;
    height: 37px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/logo_dmusic.png) no-repeat 50%;
    background-size: contain;
}

.site-header__search-btn {
    float: right;
    width: 37px;
    height: 37px;
    margin: 8px 2px 8px 0;
    text-align: center;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_header_search.png) no-repeat 50%;
    background-size: contain;
    cursor: pointer;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.site-header__app-btn {
    float: right;
    width: 37px;
    height: 37px;
    margin: 8px 0;
}

.site-header__app-btn-link {
    display: block;
    width: 37px;
    height: 37px;
    text-align: center;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_header_player.png) no-repeat 50%;
    background-size: contain;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.site-header__myportal-btn {
    float: right;
    width: 50px;
    height: 50px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/btn_myportal_nav.png) no-repeat 50%;
    background-size: 44px auto;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
}

/* dポイント表示部分 */

.site-header__dpoint {
    float: right;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.site-header__dpoint .dpoint-block-wrapper {
    float: right;
    width: 130px;
    height: 37px;
    margin: 8px 5px 7px 3px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-d1/front/dpoint/icon_arrow.png) right 3px top 14px no-repeat;
    background-size: 5px 9px;
}

.site-header__dpoint .dpoint-block {
    float: right;
    width: 100px;
    margin-right: 11px;
}

.site-header__dpoint .dpoint-block__inner {
    height: 34px;
    background-position: right top 5px;
    background-size: 30px;
    background-repeat: no-repeat;
}

.site-header__dpoint .dpoint-block__logo {
    float: left;
    padding: 8px 0 0 3px;
    text-indent: -20px;
}

.site-header__dpoint .dpoint-block__logo-image {
    width: 21px;
    height: 21px;
}

.site-header__dpoint .dpoint-block__point {
    float: right;
    padding: 4px 34px 0 0;
    line-height: 1.0;
}

.site-header__dpoint .dpoint-block__number {
    float: right;
    padding: 4px 34px 5px 0;
    line-height: 1.0;
}

.site-header__dpoint .dpoint-block__number-point {
    color: #000;
    font-size: 12px;
}

.site-header__dpoint .dpoint-block__number-p {
    padding-left: 0.5px;
    color: #999;
    font-size: 10px;
}

.site-header__dpoint .dpoint-block__number--minus .dpoint-block__number-point {
    color: #c00000;
}

.site-header__dpoint .dpoint-block__number--minus .dpoint-block__number-p {
    color: #996666;
}

.site-header__dpoint .dpoint-block__text-wrapper {
    margin-right: 11px;
}

.site-header__dpoint .dpoint-block__text {
    padding: 12px 3px 13px 3px;
    text-align: center;
    background: none;
    color: #000;
    font-size: 12px;
    line-height: 1.25;
}

/* dアカウント表示部分 */

.daccount-header .daccount-block__inner {
    border: 1px solid #969696;
    line-height: 1.9em;
    background-color: #fff;
    font-size: 1.2rem;
    padding-right: 3px;
}

/* PC判定時のみhover処理 */
.daccount-header .daccount-block__link,
.device-pc .daccount-header .daccount-block__link:hover {
    display: block;
    overflow: hidden;
    color: #555;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/dpoint/arw_g.png) no-repeat right center;
    background-size: 6px;
}

.daccount-header .daccount-block__link--unissued,
.daccount-header .daccount-block__link--daccount {
    background: none;
}

.daccount-header .daccount-block__info {
    position: relative;
}

.daccount-header .daccount-block__logo {
    float: left;
    color: #fff;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/dpoint/daccount.png) no-repeat #fff center center;
    background-size: 64px;
    text-indent: -9999px;
    width: 75px;
    border-right: 1px solid #969696;
    padding: 2px;
}

.daccount-header .daccount-block__text {
    margin: 0 0 0 75px;
    padding: 2px 10px 2px 7px;
    font-size: 1.2rem;
}

/* ==========================================================
 site-footer
========================================================== */

.site-footer {
    position: absolute;
    padding: 32px 16px;
    height: 200px;
    width: 100%;
    text-align: center;
    background: #fff;
    color: #888;
    font-size: 1.0rem;
    bottom: 0;
}

.site-footer__lmark {
    width: 180px;
    margin: 0 auto 10px;
}

.site-footer__logo {
    width: 210px;
    height: 24px;
    margin: 0 auto 6px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/logo_docomoxrecochoku.png) no-repeat 50%;
    background-size: 210px auto;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.site-footer__copyright {
    line-height: 1.3;
}

/* ==========================================================
 modal-nav
========================================================== */

.modal-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: #fff;
    z-index: 30;
}

.modal-nav__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    background: #fff;
    cursor: pointer;
    z-index: 40;
}

.modal-nav__close::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_close_pink.png) no-repeat 50%;
    background-size: 18px auto;
}

.modal-nav__inner {
    overflow-y: scroll;
    height: 100vh;
    padding: 50px 0 0;
}

/* ==========================================================
 site-search-nav
========================================================== */

.site-search-nav__search {
    padding: 0 16px 24px;
}

/* ==========================================================
 site-global-nav
========================================================== */

.site-global-nav__search {
    padding: 0 16px 24px;
}

.site-global-nav__list {
    border-top: 1px solid #ddd;
}

.site-global-nav__item {
    border-bottom: 1px solid #ddd;
    overflow: hidden;
}

.site-global-nav__item-link {
    display: block;
    position: relative;
    height: 40px;
    padding: 0 26px 0 62px;
    font-size: 1.4rem;
    line-height: 40px;
}

.site-global-nav__item-link::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.site-global-nav__item-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 16px;
    width: 36px;
    height: 36px;
    margin: -18px 0 0;
}

.site-global-nav__item-link--nav_top::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_top.png) no-repeat 50%;
    background-size: 21px auto;
}

.site-global-nav__item-link--nav_new::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_new.png) no-repeat 50%;
    background-size: 23px auto;
}

.site-global-nav__item-link--nav_ranking::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_ranking.png) no-repeat 50%;
    background-size: 20px auto;
}

.site-global-nav__item-link--nav_best-album::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_bestalbum.png) no-repeat 50%;
    background-size: 20px auto;
}

.site-global-nav__item-link--nav_special::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_special.png) no-repeat 50%;
    background-size: 18px auto;
}

.site-global-nav__item-link--nav_tv::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_tv.png) no-repeat 50%;
    background-size: 24px auto;
}

.site-global-nav__item-link--nav_genre::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_genre.png) no-repeat 50%;
    background-size: 24px auto;
}

.site-global-nav__item-link--nav_myportal::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_myportal.png) no-repeat 50%;
    background-size: 18px auto;
}

.site-global-nav__btn {
    position: fixed;
    bottom: 55px;
    left: 0;
    width: 60px;
    height: 50px;
    background: #c9146c;
    border-radius: 0 10px 10px 0;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
    z-index: 10;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    transition: 0.3s;
}

.site-global-nav__btn--state_active {
    bottom: 111px;
}

.site-global-nav__btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 50px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/btn_global_nav.png) no-repeat 50%;
    background-size: 26px auto;
}

/* ==========================================================
 common
========================================================== */

/* パンくずリスト
------------------------------ */

.breadcrumb {
    padding: 11px 16px 9px;
}

.breadcrumb__list {
    color: #aaa;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.breadcrumb__item {
    display: inline;
    line-height: 1.3; /* 英文字の"g"や"p"が見切れてしまうので追加 */
    color: #aaa;
    font-size: 1.0rem;
}

.breadcrumb__item:last-child {
    padding: 0;
}

.breadcrumb__item-link {
    position: relative;
}

.breadcrumb__item-link::after {
    content: "";
    display: inline-block;
    margin: 0 6px 0 8px;
    width: 5px;
    height: 9px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat 50%;
    background-size: 5px auto;
}

/* ページトップボタン
------------------------------ */

.page-top {
    position: fixed;
    bottom: 23px;
    right: 16px;
    width: 42px;
    height: 42px;
    background: rgba(201, 20, 108, 0.6) url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_pagetop.png) no-repeat 50% 45%;
    background-size: 18px auto;
    border-radius: 50%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    transition: bottom 0.3s;
    z-index: 28;
    transition: .3s;
    opacity: 0;
    visibility: hidden;
}

.page-top--state_active {
    bottom: 113px;
}

.container {
    z-index: 10;
}

/* 検索ボックス
------------------------------ */

.search-box {
    position: relative;
}

.search-box__form-wrap {
    position: relative;
}

.search-box__form {
    width: 100%;
    height: 40px;
    padding: 0 85px 0 12px;
    border: 2px solid #c9146c;
    font-size: 1.3rem;
    border-radius: 3px;
    box-shadow: 2px 2px 3px 1px rgba(0, 0, 0, 0.15) inset;
}

.search-box__form::-webkit-input-placeholder {
    color: #999;
}

.search-box__form::-moz-placeholder {
    color: #999;
}

.search-box__form:-ms-input-placeholder {
    color: #999;
}

.search-box__form::placeholder {
    color: #999;
}

.search-box__form::-ms-clear {
    visibility: hidden;
}

.search-box__btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background: #c9146c url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_search_white.png) no-repeat 50%;
    background-size: 20px 20px;
    border-radius: 0 3px 3px 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
}

.search-box__clear {
    position: absolute;
    width: 30px;
    height: 30px;
    right: 45px;
    top: 50%;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_clear.png) no-repeat 50%;
    background-size: 12px 12px;
    text-indent: -9999px;
    transform: translateY(-50%);
    cursor: pointer;
}

/* インクリメンタルサーチ */

.search-incremental {
    display: none;
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%;
    padding: 0 16px;
    border: 1px solid #ddd;
    border-top: none;
    background: #fff;
    line-height: 0;
    letter-spacing: -0.5em;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.08);
    z-index: 75;
}

.search-incremental__item {
    display: inline-block;
    width: 50%;
    border-bottom: 1px solid #ddd;
    line-height: 1.0;
    letter-spacing: 0;
}

.search-incremental__item:nth-child(2n+1) {
    border-right: 1px solid #ddd;
}

.search-incremental__item:nth-child(n+5) {
    border-bottom: none;
}

.search-incremental__item-link {
    display: block;
    height: 36px;
    padding: 0 10px;
    color: #666;
    line-height: 36px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-incremental__item:nth-child(2n+1) .search-incremental__item-link {
    padding: 0 10px 0 0;
}

.search-incremental__item:nth-child(2n) .search-incremental__item-link {
    padding: 0 0 0 10px;
}

/* セクション
------------------------------ */

.section {
    margin: 0 0 16px;
}

.section-browsehistory {
    padding: 0 0 0 16px;
}

.section--bg_white {
    border-bottom: 1px solid #e7e7e7;
    background: #fff;
}

.section__body {
    padding: 0 16px;
}

.section__body--bg_white {
    padding: 16px;
}

.section__footer {
    padding: 0 16px;
}

/* 見出し */

.section-header {
    position: relative;
    border-bottom: 1px solid #f2f2f2;
}

.section-header__heading {
    padding: 16px;
    border-top: 2px solid #c9146c;
    color: #c9146c;
    font-size: 1.8rem;
    font-weight: 700;
}

.section-header__heading--section_d {
    font-size: 1.4rem;
}

.section-header__sub-heading {
    padding: 16px;
    font-size: 1.6rem;
    font-weight: 700;
}

.section-header__sub-heading--font_small {
    font-size: 1.2rem;
}

.section-header__more {
    position: absolute;
    top: 50%;
    right: 16px;
    margin: -11px 0 0;
}

.section-header__more-link {
    display: inline-block;
    position: relative;
    padding: 6px 12px 6px 0;
    font-size: 1.2rem;
}

.section-header__more-link::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 5px;
    height: 9px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
    transform: translateY(-50%);
}

.section-header__number {
    position: absolute;
    top: 15px;
    right: 16px;
}

/* タイトル上に一文ある場合 */

.section-header__catch {
    padding: 16px 0 10px 16px;
    font-size: 1.4rem;
}

.section-header-with-catch .section-header__sub-heading {
    padding: 0 0 16px 16px;
}

.section-header-with-catch .section-header__more {
    top: auto;
    bottom: 10px;
    right: 16px;
}

/* 楽曲／アルバムリスト
------------------------------ */

.product-list {
    letter-spacing: -0.5em;
}

.product-list__item {
    position: relative;
    letter-spacing: 0;
}

.product-list__link {
    display: block;
    background: #fff;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}

.product-list__unavailable {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0 0 12px;
    background: #e3e3e3;
}

.product-list__unavailable .product-list__thum {
    opacity: .3;
}

/* リンクにしない場合（マイアーティスト編集画面） */

.product-list__block {
    display: block;
    background: #fff;
}

.product-list__thum {
    display: table-cell;
    vertical-align: middle;
    letter-spacing: -0.5em;
}

.product-list__thum-image {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: contain;
}

.product-list__info {
    line-height: 1.2;
}

.product-list__title {
    padding: 2px 0;
    font-size: 1.4rem;
    font-weight: 700;
}

.product-list__artist {
    padding: 2px 0;
    color: #999;
    font-size: 1.2rem;
}

.product-list__artist--page_artist-album {
    padding: 2px 0 8px;
    color: #999;
    font-size: 1.2rem;
}

.product-list__tieup {
    padding: 2px 0;
    color: #555;
    font-size: 1.2rem;
}

.product-list__subtext {
    padding: 2px 0;
    color: #999;
    font-size: 1.2rem;
}

.product-list__icon {
    margin: 2px 0 0;
    font-size: 0;
}

.product-list__icon-image {
    width: auto;
    height: 12px;
    margin: 0 2px 2px 0;
}

.product-list__new {
    margin: 0 4px 0 0;
    color: #c9146c;
    font-size: 1.2rem;
    font-weight: 400;
}

/* ランキング用 */

.product-list__rank {
    display: table-cell;
    width: 28px;
    vertical-align: top;
    padding: 10px 0 0 10px;
}

.product-list__rank-number {
    width: 19px;
    height: 19px;
    text-align: center;
    border: 1px solid #bbb;
    color: #888;
    line-height: 17px;
}

.product-list__rank-number--no_1 {
    background: #e3d70f;
    color: #fff;
    border: 1px solid #e3d70f;
}

.product-list__rank-number--no_2 {
    background: #afafaf;
    color: #fff;
    border: 1px solid #afafaf;
}

.product-list__rank-number--no_3 {
    background: #c68910;
    color: #fff;
    border: 1px solid #c68910;
}

.product-list__rank-number--other {
    background: #fff;
    color: #888;
    border: 1px solid #bbb;
}

.product-list__rank-arrow {
    width: 18px;
    height: 18px;
    margin: 6px 0 0;
}

.product-list__rank-arrow--state_same {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_rank_same.png) no-repeat 50%;
    background-size: 13px auto;
}

.product-list__rank-arrow--state_up {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_rank_up.png) no-repeat 50%;
    background-size: 6px auto;
}

.product-list__rank-arrow--state_semiup {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_rank_semiup.png) no-repeat 50%;
    background-size: 10px auto;
}

.product-list__rank-arrow--state_down {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_rank_down.png) no-repeat 50%;
    background-size: 7px auto;
}

.product-list__rank-arrow--state_semidown {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_rank_semidown.png) no-repeat 50%;
    background-size: 10px auto;
}

.product-list__price {
    display: table-cell;
    width: 60px;
    padding: 0 10px 10px 0;
    vertical-align: bottom;
}

.product-list__price-link {
    height: 24px;
    border: 2px solid #c9146c;
    text-align: center;
    color: #c9146c;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 21px;
    border-radius: 4px;
}

/* アルバムスマート購入用ディスカウント表示 */

.product-list__discount {
    padding: 2px 0;
    font-size: 1.1rem;
    font-weight: 700;
}

.product-list__discount-arrow {
    margin: 0 10px;
}

.product-list__discount-original {
    text-decoration: line-through;
}

.product-list__discount-discounted {
    color: #c9146c;
}

/* 横型リスト */

.product-list__item--horizontal:last-child .product-list__link {
    margin-bottom: 0;
}

.product-list__item--horizontal .product-list__link {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0 0 12px;
    outline: none;
}

.product-list__item--horizontal .product-list__link--margin--bottom-narrow {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0 0 4px;
}

.product-list__item--horizontal .product-list__thum {
    display: table-cell;
    vertical-align: top;
    width: 85px;
}

.product-list__item--horizontal .product-list__info {
    display: table-cell;
    vertical-align: middle;
    padding: 0 10px;
}

/* 縦型リスト */

.product-list__item--vertical {
    display: inline-block;
    width: 31%;
    vertical-align: top;
    margin-right: 3.5%;
    margin-bottom: 12px;
}

.product-list__item--vertical:nth-child(3n) {
    margin-right: 0;
}

.product-list__item--vertical:nth-last-child(-n+3) {
    margin-bottom: 0;
}

.product-list__item--vertical .product-list__thum {
    display: block;
}

.product-list__item--vertical .product-list__info {
    padding: 6px;
}

.product-list__item--vertical .product-list__title {
    font-size: 1.2rem;
}

/* もっとみるボタン */

.product-list__more-link {
    display: block;
    position: relative;
    margin: 0 auto;
    padding: 13px 16px 15px;
    text-align: center;
    background: #fff;
    font-size: 1.2rem;
    letter-spacing: 0;
}

.product-list__more-link::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 9px;
    height: 5px;
    margin: 0 0 0 6px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
}

/* 試聴 */

.product-list__audition {
    position: absolute;
    top: 0;
    left: 0;
    width: 85px;
    height: 85px;
}

.product-list__audition-btn {
    display: block;
    position: relative;
    width: 85px;
    height: 85px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.product-list__audition-btn::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 25px;
    height: 25px;
}

.product-list__audition-btn--state_play::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_a.png) no-repeat right 50%;
    background-size: contain;
}

.product-list__audition-btn--state_pause::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_pause_a.png) no-repeat right 50%;
    background-size: contain;
}

/* ビデオクリップ プレビューボタン */

.product-list__video-preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 85px;
    height: 85px;
}

.product-list__video-preview-btn {
    display: block;
    position: relative;
    width: 85px;
    height: 85px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.product-list__video-preview-btn::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 25px;
    height: 25px;
}

.product-list__video-preview-btn--state_play::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_a.png) no-repeat right 50%;
    background-size: contain;
}

.product-list__video-preview-btn--state_pause::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_pause_a.png) no-repeat right 50%;
    background-size: contain;
}

/* 試聴プレイヤー （mediaElementsのオーバーライド）
------------------------------ */

.mejs__button > button {
    margin: 5px 6px;
}

.mejs__currenttime-container {
    /* 現在の再生時間の余白調整 */
    padding: 10px 6px 0;
}

.mejs__duration-container {
    /* 全体時間の余白調整：一部状況で見切れないように右端を少し多めにとる */
    padding: 10px 16px 0 6px;
}

.mejs__time-rail {
    padding-top: 5px;
    height: auto;
}

.mejs__container {
    background: transparent;
    /* タイトルとアーティスト名のline-heightで高さが増したので調整用 */
    margin: 0 0 -5px 0
}

.mejs__controls:not([style*="display: none"]) {
    background: transparent;
}

.mejs__horizontal-volume-total {
    top: 11px;
}

/* ビデオクリップ モーダル部分
------------------------------ */

.video-preview-modal__overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: rgba(255, 255, 255, 0.6);
    z-index: 80;
    cursor: pointer;
}

.video-preview-modal__close {
    position: absolute;
    top: -25px;
    right: -25px;
    width: 50px;
    height: 50px;
    z-index: 90;
    cursor: pointer;
}

.video-preview-modal__close::after {
    content: "";
    position: absolute;
    width: 50px;
    height: 50px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_close_circle.png) no-repeat 50%;
    background-size: 36px auto;
}

.video-preview-modal__body {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 90%;
    max-width: 480px;
    height: auto;
    background: #000;
    color: #fff;
    transform: translate(-50%, -50%);
    z-index: 90;
}

.video-preview-modal__inner {
    height: 100%;
}

/* 特集バナーリスト
------------------------------ */

.specialbnr-list__item {
    margin: 0 0 16px;
}

.specialbnr-list__item:last-child {
    margin: 0;
}

.specialbnr-list__item-link {
    display: block;
    position: relative;
    padding-top: 52.5%;
}

.specialbnr-list__item-image {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 50%/cover no-repeat;
}

/* ジャンル一覧
------------------------------ */

.genre-list {
    overflow: hidden;
    margin-bottom: 16px;
}

.genre-list__item {
    float: left;
    width: 31.8%;
    height: 90px;
    margin: 0 2.3% 2.3% 0;
}

.genre-list__item:nth-child(3n) {
    margin-right: 0;
}

.genre-list__item:nth-last-child(-n+2) {
    margin-bottom: 0;
}

.genre-list__link {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    filter: grayscale(0.4);
}

.genre-list__link::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;
    background: rgba(0, 0, 0, 0.4);
}

.genre-list__item-image {
    display: block;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
}

.genre-list__link-text {
    position: absolute;
    top: 50%;
    width: 100%;
    padding: 0 10px;
    text-align: center;
    color: #fff;
    font-size: 1.3rem;
    transform: translateY(-50%);
    z-index: 1;
}

.genre-list__link-text--small {
    font-size: 1.2rem;
    line-height: 1.4;
}

/* 検索急上昇ワード
------------------------------ */

.trend-word__wrap {
    display: none; /* 0件だった際、タイトルが一瞬表示されるのを防ぐためdiplay:noneしておく */
}

.trend-word {
    padding: 16px 0 0;
}

.trend-word__list {
    letter-spacing: -0.5em;
}

.trend-word__item {
    display: inline-block;
    max-width: 100%;
    margin: 0 10px 10px 0;
    font-size: 1.1rem;
    letter-spacing: 0;
}

.trend-word__item-link {
    display: block;
    height: 30px;
    padding: 0 16px;
    border: 1px solid #888;
    background: #fff;
    color: #888;
    line-height: 30px;
    border-radius: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 結果なし文言（共通）
------------------------------ */

.no-result-message {
    padding: 24px;
    font-size: 1.4rem;
    line-height: 1.7;
    text-align: center;
    background: #fff;
}

/* ページ内リンク　リスト
------------------------------ */

.anchorlink {
    letter-spacing: -0.5em;
}

.anchorlink__item {
    display: inline-block;
    letter-spacing: 0;
}

.anchorlink__item--short {
    width: 48%;
}

.anchorlink__item--short:nth-child(2n+1) {
    margin: 0 4% 8px 0;
}

.anchorlink__item--short:nth-child(2n) {
    margin: 0 0 8px 0;
}

.anchorlink__item--long-sp {
    width: 100%;
}

.anchorlink__item-link {
    display: block;
    padding: 10px;
    font-size: 1.2rem;
    border: 1px solid #efefef;
    background: #fff;
}

/* ==========================================================
 タブ
========================================================== */

.tab-nav {
    display: table;
    table-layout: fixed;
    width: 100%;
    height: 40px;
    border-bottom: 2px solid #c9146c;
}

.tab-nav__item {
    display: table-cell;
    padding: 2px 0 0;
    border-right: 2px solid #f2f2f2;
    text-align: center;
    vertical-align: middle;
    background: #fff;
    color: #c9146c;
    font-size: 1.4rem;
    cursor: pointer;
}

/* PC判定時のみhover処理 */
.device-pc .tab-nav__item:hover {
    background-color: rgba(201, 20, 108, 0.1);
}

/* PC判定時のみhover処理 */
.device-pc .tab-nav__item--state_active:hover {
    background: #c9146c;
}

.tab-nav__item:last-child {
    border-right: none;
}

.tab-nav__item--state_active {
    background: #c9146c;
    color: #fff;
    border-right: 2px solid #d6d6d6;
    cursor: default;
}

.tab-nav__item--state_disabled {
    background: #ccc;
    color: #fff;
}

.js-tab-body__item {
    display: none;
}

.js-tab-body__item:first-child {
    display: block;
}

/* ==========================================================
モーダル
========================================================== */

.modal__close {
    position: absolute;
    top: -25px;
    right: -25px;
    width: 50px;
    height: 50px;
    z-index: 90;
    cursor: pointer;
}

.modal__close::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 7px;
    width: 50px;
    height: 50px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_close_circle.png) no-repeat 50%;
    background-size: 36px auto;
}

.modal__body {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 90vw;
    height: 80vh;
    background: #fff;
    transform: translate(-50%, -50%);
    z-index: 90;
}

.modal__body--width-short {
    max-width: 480px;
}

.modal__body--height-auto {
    height: auto;
}

.modal__inner {
    overflow-y: auto;
    padding: 24px 16px;
    height: auto;
    max-height: 80vh;
    /* webkit 慣性スクロール */
    -webkit-overflow-scrolling: touch;
}

.modal__heading {
    position: relative;
    margin: 0 0 24px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
}

.modal__heading--icon_lock::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 3px 0 0;
    vertical-align: top;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_lock_black.png) no-repeat 50%;
    background-size: contain;
}

.modal-section {
    padding: 16px 0 0;
}

.modal-section:first-of-type {
    padding: 0;
    border-top: none;
}

.modal-section__heading {
    margin: 0 0 12px;
    padding: 0 0 8px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
}

.modal-section__text {
    margin: 0 0 16px;
    font-size: 1.2rem;
    line-height: 1.7;
}

.modal-section__link {
    margin: 0 auto;
    font-size: 1.2rem;
    line-height: 1.4;
    text-align: center;
}
.modal-section-aks-image {
    max-width: 360px;
    margin: 0 auto 16px;
}

.modal-section__list {
    line-height: 1.7;
}

.modal__overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 80;
    cursor: pointer;
}

/* 価格変更時 */

.modal-ask-caution__close {
    position: absolute;
    top: -25px;
    right: -25px;
    width: 50px;
    height: 50px;
    z-index: 90;
    cursor: pointer;
}

.modal-ask-caution__close::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 7px;
    width: 50px;
    height: 50px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_close_circle.png) no-repeat 50%;
    background-size: 36px auto;
}

.modal-ask-caution {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 90vw;
    max-width: 800px;
    height: auto;
    background: #fff;
    transform: translate(-50%, -50%);
    z-index: 90;
}

.modal-ask-caution__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 80;
    cursor: pointer;
}

.modal-ask-caution .modal__inner {
    padding: 24px 16px 8px;
}

.modal-ask-caution__arrow {
    margin: 0 0.5em;
}

.modal-ask-caution__discount-discounted {
    margin: 0 0.5em 0 0;
    color: #c9146c;
    font-size: 1.4rem;
}

/* 失敗/エラーモーダル */

.modal-failure__close {
    position: absolute;
    top: -25px;
    right: -25px;
    width: 50px;
    height: 50px;
    z-index: 90;
    cursor: pointer;
}

.modal-failure__close::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 7px;
    width: 50px;
    height: 50px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_close_circle.png) no-repeat 50%;
    background-size: 36px auto;
}

.modal-failure {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 90vw;
    max-width: 480px;
    height: auto;
    background: #fff;
    transform: translate(-50%,-50%);
    z-index: 90;
}

.modal-failure-heading {
    position: relative;
    margin: 0 0 24px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
}

.modal-failure-paragraph {
    margin: 0 0 8px;
    text-align: left;
    font-size: 1.2rem;
    line-height: 1.7;
}

.modal-failure__overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background: rgba(0,0,0,0.6);
    z-index: 80;
    cursor: pointer;
}

.modal-failure .modal__inner {
    padding: 80px 16px 64px;
    text-align: center;
    /* webkit 慣性スクロール */
    -webkit-overflow-scrolling: touch;
}

.modal-failure__arrow {
    margin: 0 0.5em;
}

.modal-failure__discount-discounted {
    margin: 0 0.5em 0 0;
    color: #c9146c;
    font-size: 1.4rem;
}

/* dコイン購入時 */
.modal-payment__dcoin {
    width: 80%;
    margin: 0 auto;
    overflow: hidden;
}

.modal-payment__dcoin-button {
    display: inline-block;
    width: 47%;
    vertical-align: middle;
}

.modal-payment__dcoin-button:first-of-type {
    margin: 0 4% 0 0;
}

.modal-payment__dcoin-button:first-of-type .md-btn-function {
    cursor: pointer;
}

/* ハイレゾサンプル音源確認 */

.modal-hires-caution .modal__inner {
    padding: 24px 16px;
}

.modal-section__image--hires-caution {
    margin: 0 0 16px;
}

.modal-section__btn--hires-caution {
    margin: 0 0 30px;
    min-width: initial;
}

.modal-section__btn--hires-caution:last-child {
    margin: 0;
}

.md-btn-function.-size_medium.-hires-caution {
    min-width: initial;
}

.modal-section__text--hires-caution {
    margin: 0 0 4px;
}

/* タワーレコードリンク
------------------------------ */

.tower__link {
    display: block;
    position: relative;
    margin: 24px auto 8px;
    padding: 12px 44px 12px 16px;
    text-align: center;
    background: #fff;
}

.tower__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 11px;
    height: 11px;
    margin: -5px 0 0;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_out.png) no-repeat 50%;
    background-size: contain;
}

.tower__text {
    margin: 0 0 6px;
    font-size: 1.2rem;
    line-height: 1.4;
}

.tower__subtext {
    color: #888;
    font-size: 1.0rem;
    line-height: 1.3;
}

/* エラー画面
------------------------------ */

.error-heading {
    display: none;
}

.error-main {
    padding: 16px;
    margin: 20px 0;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #c9146c;
    background: #fff;
}

.error-main__text {
    margin: 0 0 16px;
}

.error-btn {
    margin: 0 16px;
}

/* 非対応端末文言
------------------------------ */

.unsupported-main {
    padding: 16px;
    margin: 20px 0;
    font-size: 1.2rem;
    line-height: 1.4;
    background: #fff;
}

.unsupported-main__text {
    margin: 0 0 16px;
}

.unsupported-main__text--important {
    color: #c9146c;

}

/* アーティスト情報エリア
------------------------------ */

.artist-sub {
    overflow: hidden;
    margin: 0 0 16px;
    padding: 16px;
    background: #fff;
    border-bottom: 1px solid #dcdcdc;
}

.artist-sub__photo {
    float: left;
    width: 85px;
}

.artist-sub__photo-inner {
    display: block;
    position: relative;
    padding-top: 66.67%;
    background: #fafafa;
}

.artist-sub__photo-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fafafa 50% no-repeat;
    background-size: contain;
}

.artist-sub__info {
    padding: 0 0 0 10px;
    overflow: hidden;
}

.artist-sub__artist {
    position: relative;
    margin: 0 0 16px;
    font-size: 1.4rem;
    line-height: 1.3;
}

.artist-sub__artist::before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 1px;
    width: 12px;
    height: 12px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_artist_black.png) no-repeat 50%;
    background-size: contain;
}

.artist-sub__artist-link {
    display: block;
    position: relative;
    min-width: 50%;
    padding: 0 0 0 18px;
}

a.artist-sub__artist-link::after {
    /* a要素使用時のみ */
    content: "";
    display: inline-block;
    width: 5px;
    height: 9px;
    margin: 0 0 0 7px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
}

.artist-sub__btn-wrap {
    clear: both;
    text-align: center;
    font-size: 0;
}

.artist-sub__btn {
    text-align: right;
}

.artist-sub__btn--col_1 {
    width: 200px;
    float: right;
}

.artist-sub__btn--col_2 {
    display: inline-block;
    width: 50%;
    max-width: 240px;
    font-size: 0;
}

.artist-sub__btn--col_2:nth-child(2n+1) {
    padding: 0 6px 0 0;
}

.artist-sub__btn--col_2:nth-child(2n) {
    padding: 0 0 0 6px;
}

/* ==========================================================
 トップページ
========================================================== */

/* セクション
------------------------------ */

.section--page_top {
    margin: 0 0 32px;
}

/* タブ
------------------------------ */

.tab--page_top {
    margin: 0 0 32px;
}

/* インフォメーションエリア
------------------------------ */

.top-info {
    padding: 8px 16px;
}

.top-info__item {
    margin: 0 auto 8px;
}

.top-info__item:last-child {
    margin: 0 auto;
}

.top-info__item-link {
    display: block;
    position: relative;
    padding: 11px 26px 11px 16px;
    border: 1px solid #e7e7e7;
    background: #fff;
    color: #c9146c;
    font-size: 1.2rem;
    line-height: 1.4;
    border-radius: 2px;
}

.top-info__item-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.top-info__item-link--icon_info {
    padding-left: 32px;
}

.top-info__item-link--icon_info::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 12px;
    width: 14px;
    height: 14px;
    margin: -7px 0 0;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_info_pink.png) no-repeat right 50%;
    background-size: contain;
}

/* トップスライダーバナー
------------------------------ */

.top-slider {
    position: relative;
    padding: 0 0 28px;
}

/* ページ読み込み時のバナー領域確保のため、バナーの整数比(161:60)で高さを算出。slickが初期化されたらautoに戻す */
.top-slider__list {
    height: calc(100vw / 161 * 60);
}

.top-slider__list.slick-initialized {
    height: auto;
}

.top-slider__item-link {
    display: block;
    position: relative;
    padding-top: 52.5%;
    outline: none;
}

/* PC判定時のみhover処理 */
.device-pc .top-slider__item-link:hover {
    opacity: 0.7;
    background-color: transparent;
}

.top-slider__item-image {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 50% no-repeat;
    background-size: cover;
}

.top-slider .slick-dots {
    position: absolute;
    bottom: -18px;
    width: 100%;
    text-align: center;
}

.top-slider .slick-dots__item {
    display: inline-block;
    padding: 0 4px;
}

/* PC判定時のみhover処理 */
.top-slider .slick-dots__item:hover {
    opacity: 0.7;
}

.top-slider .slick-dots__item button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    background: #ccc;
    color: transparent;
    font-size: 0;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
}

.top-slider .slick-dots .slick-active button {
    background: #666;
}

/* PC判定時のみhover処理 */
.device-pc .top-slider .slick-arrow:hover {
    background: rgba(255, 255, 255, 0.8);
}

.top-slider .slick-slide {
    position: relative;
}

.top-slider .slick-list {
    overflow: hidden;
}

.lmark {
    position: absolute;
    bottom: 12px;
    right: 6px;
    width: 10px;
}

/* 検索／メニューエリア
------------------------------ */

.top-search {
    padding: 16px;
    background: #fff;
    border-bottom: 1px solid #e7e7e7;
}

.top-nav {
    margin: 20px auto 0;
}

.top-nav__list {
    display: table;
    table-layout: fixed;
    width: 100%;
}

.top-nav__item {
    display: table-cell;
    width: 25%;
    height: 40px;
    text-align: center;
    vertical-align: middle;
    border-right: 1px solid #ccc;
    color: #666;
    font-size: 1.0rem;
}

.top-nav__item:first-child {
    border-left: 1px solid #ccc;
}

.top-nav__item-link {
    display: block;
    color: #666;
}

.top-nav__item-link::before {
    content: "";
    display: block;
    position: relative;
    width: 36px;
    height: 16px;
    margin: 0 auto 6px;
}

.top-nav__item-link--nav_new::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_new.png) no-repeat 50%;
    background-size: 21px auto;
}

.top-nav__item-link--nav_ranking::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_ranking.png) no-repeat 50%;
    background-size: 19px auto;
}

.top-nav__item-link--nav_best-album::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_bestalbum.png) no-repeat 50%;
    background-size: 16px auto;
}

.top-nav__item-link--nav_special::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_special.png) no-repeat 50%;
    background-size: 16px auto;
}

.top-nav__item-link--nav_tv::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_tv.png) no-repeat 50%;
    background-size: 18px auto;
}

.top-nav__item-link--nav_genre::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_nav_genre.png) no-repeat 50%;
    background-size: 18px auto;
}

/* キャンペーン訴求エリア
------------------------------ */

.top-campaign {
    padding: 16px 0 0;
    background: #fff;
}

.top-campaign__item {
    margin: 0 auto 8px;
}

.top-campaign__item:last-child {
    margin: 0 auto;
}

.top-campaign__item-link {
    display: block;
    position: relative;
    padding: 11px 26px 11px 16px;
    border: 1px solid #e7e7e7;
    background: #fff;
    color: #c9146c;
    font-size: 1.2rem;
    line-height: 1.4;
    border-radius: 2px;
}

.top-campaign__item-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.top-campaign__item-link--icon_info {
    padding-left: 32px;
}

.top-campaign__item-link--icon_info::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 12px;
    width: 14px;
    height: 14px;
    margin: -7px 0 0;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_info_pink.png) no-repeat right 50%;
    background-size: contain;
}

/* PC判定時のみhover処理 */
.device-pc .top-campaign__bnr-link:hover {
    opacity: 0.7;
}

/* 楽曲リスト／特集バナーリスト
------------------------------ */

.section--section_top, .section--section_feature {
    margin: 0 0 4px;
}

.section--section_recommend .product-list__item:nth-child(n+4) {
    display: none;
}

.product-list__item--horizontal:last-child .product-list__link,
.specialbnr-list__item:last-child {
    margin: 0 0 12px;
}

/* PC判定時のみhover処理 */
.device-pc .product-list__link:hover .product-list__thum {
    opacity: 0.7;
}

/* PC判定時のみhover処理 */
.device-pc .specialbnr-list__item-link:hover {
    opacity: 0.7;
}

/* サポートメニューエリア
------------------------------ */

.support-nav__heading {
    background: #ccc;
    padding: 9px 16px;
    font-size: 1.4rem;
    font-weight: 500;
}

.support-nav__body {
    padding: 0 16px 16px;
}

.support-nav__item {
    border-bottom: 1px solid #ddd;
}

.support-nav__item-link {
    display: block;
    position: relative;
    padding: 11px 26px 10px 0;
    font-size: 1.2rem;
    line-height: 1.3;
}

.support-nav__item-link::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 5px;
    height: 9px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_gray_small.png) no-repeat right 50%;
    background-size: 5px auto;
    transform: translateY(-50%);
}

/* 月額訴求エリア
------------------------------ */

.d-hits-bnr {
    padding: 12px 16px;
}

.d-hits-bnr__link {
    display: block;
    max-width: 322px;
    margin: auto;
}

.d-hits {
    display: table;
    table-layout: fixed;
    position: relative;
    width: 100%;
    padding: 0;
}

.d-hits__thum {
    display: table-cell;
    width: 128px;
    vertical-align: middle;
    letter-spacing: -0.5em;
}

.d-hits__thum-image {
    width: 60px;
    height: 60px;
    margin: 0 0 8px 0;
    background: 50% no-repeat;
    background-size: cover;
}

.d-hits__thum-image:nth-child(2n+1) {
    margin-right: 8px;
}

.d-hits__thum-image:nth-child(n + 3) {
    margin-bottom: 0;
}

.d-hits__info {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    padding: 0 0 0 10px;
}

.d-hits__text {
    margin: 0 0 10px;
    color: #555;
    font-size: 1.3rem;
    font-weight: 700;
}

.d-hits__subtext {
    font-size: 1.1rem;
    line-height: 1.4;
}

.d-hits__heading-image {
    width: 74px;
}

.d-hits__text-emphasis {
    margin: 0 0 10px;
    color: #cc0033;
    font-size: 1.6rem;
    font-weight: 700;
}

.d-hits-table {
    width: 100%;
    margin: 16px auto 0;
    border: 1px solid #ddd;
    font-size: 1.1rem;
    line-height: 1.3;
}

.d-hits-table__row:not(:last-of-type) {
    border-bottom: 1px solid #ddd;
}

.d-hits-table__column-head {
    padding: 8px 9px;
    background: #f2f2f2;
}

.d-hits-table__item {
    padding: 8px 9px;
}

.d-hits-table__column-head:not(:last-child),
.d-hits-table__item:not(:last-child) {
    border-right: 1px solid #ddd;
}

.d-hits-table__row-head {
    width: 70px;
    background: #f2f2f2;
}

.d-hits-table-list__item {
    padding: 0 0 0 1em;
    text-indent: -1em;
}

.d-hits-table-list__item::before {
    content: "・";
}

.d-hits-table-list__item:not(:last-child) {
    margin: 0 0 8px;
}

.d-hits-more {
    margin: 8px 0 0;
    text-align: right;
}

.d-hits-more__link {
    display: inline-block;
    position: relative;
    padding: 6px 12px 6px 0;
    font-size: 1.2rem;
}

.d-hits-more__link::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 5px;
    height: 9px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
    transform: translateY(-50%);
}

/* dマーケットからのおすすめ
------------------------------ */

.d-recommend {
    letter-spacing: -0.5em;
}

.d-recommend__item {
    display: inline-block;
    width: 22.3%;
    margin: 0 3.6% 0 0;
    letter-spacing: 0;
}

.d-recommend__item:nth-child(4n) {
    margin: 0;
}

.d-recommend__link {
    display: block;
    background: #fff;
}

.d-recommend__store {
    padding: 2px 0;
    text-align: center;
    background: #ccc;
    color: #fff;
    font-size: 0.8rem;
}

.d-recommend__thum {
    display: block;
    width: 100%;
    border: 1px solid #e7e7e7;
    vertical-align: middle;
    letter-spacing: -0.5em;
}

.d-recommend__thum-image {
    background: 50% no-repeat;
    background-size: contain;
}

.d-recommend__title {
    overflow: hidden;
    height: 2.2em;
    margin: 8px 0 0;
    color: #666;
    font-size: 0.8rem;
    line-height: 1.2;
}

/* dTV */
.d-recommend__store--store_vi {
    background: #df062f;
}

/* dブック */
.d-recommend__store--store_bo {
    background: #6e9628;
}

/* dアニメストア */
.d-recommend__store--store_an {
    background: #eb5528;
}

/* dヒッツ */
.d-recommend__store--store_hi {
    background: #c36e96;
}

/* dショッピング */
.d-recommend__store--store_sh {
    background: #d72832;
}

/* dゲーム */
.d-recommend__store--store_ga {
    background: #144191;
}

/* dfashion */
.d-recommend__store--store_fa {
    background: #4a4a4a;
}

/* dミュージック */
.d-recommend__store--store_mu {
    background: #e64191;
}

/* dデリバリー */
.d-recommend__store--store_de {
    background: #d78113;
}

/* dキッズ */
.d-recommend__store--store_ki {
    background: #f6ab00;
}

/* dTV チャンネル */
.d-recommend__store--store_ch {
    background: #00a2e6;
}

/* dマガジン */
.d-recommend__store--store_ma {
    background: #009141;
}

/* dトラベル */
.d-recommend__store--store_tr {
    background: #21348c;
}

/* dアプリ&レビュー */
.d-recommend__store--store_ap {
    background: #0078c3;
}

/* dグルメ */
.d-recommend__store--store_go {
    background: #a50f23;
}

/* dヘルスケア */
.d-recommend__store--store_he {
    background: #14a6a0;
}

/* dフォト */
.d-recommend__store--store_ph {
    background: #3892b9;
}

/* dエンジョイパス */
.d-recommend__store--store_en {
    background: #5bbc2e;
}

/* dジョブ */
.d-recommend__store--store_jo {
    background: #00bac7;
}

/* カーシェア */
.d-recommend__store--store_ca {
    background: #03a9f4;
}

/* dミールキット */
.d-recommend__store--store_me {
    background: #d45215;
}

.d-recommend__heading-image {
    width: 74px;
    margin: 0 8px 0 0;
}

/* dマーケットストア一覧
------------------------------ */

.d-store__list {
    letter-spacing: -0.5em;
}

.d-store__item {
    display: inline-block;
    width: 50%;
    text-align: center;
    letter-spacing: 0;
}

.d-store__item:nth-child(2n+1) {
    padding: 0 4px 8px 0;
}

.d-store__item:nth-child(2n) {
    padding: 0 0 8px 4px;
}

.d-store__item-link {
    display: block;
    height: 30px;
    background: #f2f2f2;
    font-size: 1.2rem;
    line-height: 30px;
}

/* ajaxエラーメッセージ
------------------------------ */
.ajax-error-message {
    padding: 24px;
    margin: 20px;
    font-size: 1.2rem;
    line-height: 1.4;
    background: #fff;
}

/* ==========================================================
閲覧履歴
========================================================== */

.content-slider-browsehistory__item {
    float: left;
    display: inline-block;
    width: 31%;
    vertical-align: top;
    margin-bottom: 12px;
}

.content-slider-browsehistory__item .product-list__browse-info {
    display: block;
    padding: 6px;
    height: 48px;
}

.content-slider-browsehistory__item .product-list__thum {
    display: block;
}

.content-slider-browsehistory__item .product-list__info {
    padding: 6px;
}

.content-slider-browsehistory__item .product-list__title {
    font-size: 1.2rem;
}

/* アルバムページでの余白 */
.browse-history-album {
    padding: 10px 0;
}

/* ==========================================================
 楽曲／アルバム ページ共通
========================================================== */

/* メイン情報エリア
------------------------------ */

.song-main {
    background: #fff;
    border-bottom: 1px solid #e7e7e7;
}

.song-main__title {
    position: relative;
    padding: 12px 16px 12px 40px;
    color: #c9146c;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
}

.song-main__title--page_song::before {
    content: "";
    display: block;
    position: absolute;
    top: 17px;
    left: 17px;
    width: 15px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_song_pink.png) no-repeat 50%;
    background-size: contain;
}

.song-main__title--page_album::before {
    content: "";
    display: block;
    position: absolute;
    top: 16px;
    left: 16px;
    width: 18px;
    height: 18px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_album_pink.png) no-repeat 50%;
    background-size: contain;
}

.song-main__hero {
    position: relative;
    width: 100%;
    padding: 12px 16px;
    text-align: center;
    overflow: hidden;
    z-index: 0;
}

.song-main__hero-inner {
    display: table;
    table-layout: fixed;
    max-width: 280px;
    margin: 0 auto;
    text-align: center;
}

.song-main__photo-bg {
    opacity: 0.4;
    filter: blur(10px);
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    background: 50% no-repeat;
    background-size: cover;
    z-index: -1;
}

.song-main__photo {
    display: table-cell;
    width: 100px;
    height: 100px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.2)
}

.song-main__photo-image {
    background: 50% no-repeat;
    background-size: contain;
}

.song-main__info {
    padding: 16px;
}

.song-main__artist {
    position: relative;
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.3;
}

.song-main__artist::before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 0;
    width: 13px;
    height: 13px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_artist_black.png) no-repeat 50%;
    background-size: contain;
}

.song-main__artist-link {
    display: inline-block;
    position: relative;
    min-width: 50%;
    width: 100%;
    padding: 0 0 0 18px;
}

a.song-main__artist-link::after {
    /* a要素使用時のみ */
    content: "";
    display: inline-block;
    width: 5px;
    height: 9px;
    margin: 0 0 0 7px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
}

.song-main__album {
    position: relative;
    margin: 12px 0 0 0;
    font-size: 1.4rem;
    line-height: 1.4;
}

.song-main__album::before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 0;
    width: 13px;
    height: 13px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_album_black.png) no-repeat 50%;
    background-size: contain;
}

.song-main__album-link {
    display: inline-block;
    position: relative;
    padding: 0 12px 0 18px;
}

a.song-main__album-link::after {
    /* a要素使用時のみ */
    content: "";
    display: inline-block;
    width: 5px;
    height: 9px;
    margin: 0 0 0 7px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
}

.song-main__lock {
    margin: 24px 0 6px;
}

.song-main__tieup {
    margin: 12px 0 0;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4;
}

.song-main__comment {
    margin: 12px 0 0;
    text-align: right;
}

.song-main__comment-heading {
    margin: 0 0 6px;
    text-align: left;
    font-size: 1.2rem;
    font-weight: 700;
}

.song-main__comment-text {
    height: auto;
    margin: 0 0 6px;
    text-align: left;
    overflow: hidden;
    font-size: 1.2rem;
    line-height: 1.4;
}

.song-main__comment-text--state_close {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    word-wrap: break-word;
    word-break: break-all;
    height: 2.8em;
}

.song-main__comment-more {
    display: none;
    position: relative;
    padding: 3px 14px 3px 0;
    font-size: 1.2rem;
    cursor: pointer;
}

.song-main__comment-more::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 9px;
    height: 5px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
    transform: translateY(-50%);
}

.song-main__comment-more--state_open::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_t_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
}

/* 種別情報エリア */

.song-main-type {
    margin: 16px auto 24px;
}

.song-main-type__item {
    display: table;
    table-layout: fixed;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid#dcdcdc;
}

.song-main-type__type {
    display: table-cell;
    width: 45%;
    vertical-align: middle;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
}

.song-main-type__type-short {
    display: inline-block;
    height: 12px;
    width: auto;
    font-size: 1.0rem;
    vertical-align: baseline;
}

.song-main-type__spec {
    display: block;
    color: #999;
    font-size: 1.2rem;
    font-weight: 400;
}

.song-main-type__price {
    display: table-cell;
    width: 55%;
    text-align: right;
    vertical-align: middle;
    font-size: 0;
}

.song-main-type__price-usual {
    margin: 0 0.3em 0 0;
    color: #555;
    font-size: 1.3rem;
}

.song-main-type__price-btn {
    display: inline-block;
}

.song-main-type__price-btn-link {
    display: inline-block;
    width: 86px;
}

/* SNSアイコン */

.song-main-sns {
    margin: 32px 0 0 0;
    overflow: hidden;
}

.song-main-sns__list {
    float: right;
    margin: 0 auto;
}

.song-main-sns__item {
    display: inline-block;
    padding: 0 15px 0 0;
}

.song-main-sns__item:last-of-type {
    padding: 0;
}

.song-main-sns__link {
    display: block;
    width: 25px;
    height: 25px;
    text-indent: -9999px;
}

/* hoverで背景色が変わらないように対策 */
.device-pc .song-main-sns__link:hover {
    background-color: transparent;
}

.song-main-sns__link--facebook {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_facebook.png) no-repeat;
    background-size: 25px auto;
}

.song-main-sns__link--twitter {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_twitter.png) no-repeat;
    background-size: 25px auto;
}

.song-main-sns__link--line {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_line.png) no-repeat;
    background-size: 25px auto;
}

/* dヒッツバナー */

.song-main__bnr {
    margin: 0 16px 16px;
}

.artist-dhits-bnr {
    margin: 0 16px 16px;
}

/* タブエリア
------------------------------ */

.tab-nav--page_song {
    margin: 0 0 8px;
}

.tab-nav--page_song .tab-nav__item {
    font-size: 1.2rem;
}

/* 種別情報エリア
------------------------------ */

.song-type {
    padding: 12px 0 0;
    border-top: 1px solid #dcdcdc;
}

.song-type__item {
    margin: 0 0 24px;
}

.song-type__item:last-of-type {
    margin: 0;
}

.song-type__item::after {
    content: "";
    display: block;
    clear: both;
}

.song-type__title {
    position: relative;
    margin: 0 0 6px;
    padding: 0 0 0 18px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
}

.song-type__title--page_song::before {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 1px;
    width: 12px;
    height: 12px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_song_gray.png) no-repeat 50%;
    background-size: contain;
}

.song-type__spec {
    margin: 0 0 8px;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.5;
}

.song-type__title + .song-type__spec {
    padding: 0 0 0 18px;
}

.song-type__unavailable {
    margin: 16px 0 24px;
    color: #888;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.5;
}

.song-type__purchase {
    float: right;
    text-align: right;
}

.song-type__price {
    margin: 0 0 6px;
    color: #c9146c;
    font-size: 2.0rem;
    font-weight: 700;
}

.song-type__price-usual {
    margin: 0 1.0em 0 0;
    color: #555;
    font-size: 1.8rem;
    font-weight: 700;
}

.song-type__tax {
    color: #888;
    font-size: 1.2rem;
    font-weight: 300;
}

.song-type__point {
    margin: 0 0 7px;
    color: #888;
    font-size: 1.2rem;
}

.song-type__btn-link {
    display: inline-block;
    width: 130px;
}

.song-type__caution {
    display: inline-block;
    margin: 0 0 8px;
    padding: 4px 6px;
    border: 1px solid #c9146c;
    color: #c9146c;
    font-size: 1.2rem;
}

.song-type__video-audition {
    float: right;
    width: 85px;
    height: 85px;
    margin: 0 16px 0 0;
    background: #f2f2f2;
}

.song-type__video-audition-image {
    background-color: #000;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: contain;
}

.song-type__video-audition-btn {
    display: block;
    position: relative;
}

.song-type__video-audition-btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 25px;
    transform: translate(-50%, -50%);
}

.song-type__video-audition-btn--state_play::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_a.png) no-repeat 50%;
    background-size: contain;
}

.song-type__video-audition-btn--state_pause::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_pause_a.png) no-repeat 50%;
    background-size: contain;
}

.song-type__more {
    display: none;
    padding: 16px 0 0;
    border-top: 1px solid #dcdcdc;
    text-align: center;
}

.song-type__more-link {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    padding: 0 12px 0 0;
    font-size: 1.2rem;
}

.song-type__more-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 10px;
    height: 5px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

/* 商品について
------------------------------ */

.song-caution {
    padding: 12px 16px;
}

.song-caution__list {
    margin: 0 0 12px;
}

.song-caution__item {
    padding-left: 1.0em;
    text-indent: -1.0em;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.5;
}

/* ==========================================================
 楽曲 ページ
========================================================== */

/* セクション
------------------------------ */

.section--page_song {
    margin: 0;
    padding: 0 0 16px;
    border-bottom: 8px solid #e5e5e5;
}

.section--page_song .section__body {
    margin: 0 0 16px;
}

.section--page_song .section__body:last-of-type {
    margin: 0;
}

/* 機能エリア（試聴・歌詞） */

.song-main-function {
    display: table-cell;
    vertical-align: middle;
}

.song-main-function__list {
    display: table;
    table-layout: fixed;
    width: 100%;
    padding: 0 0 0 32px;
}

.song-main-function__list--col_2 {
    width: 66.66666%;
}

.song-main-function__item {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.song-main-function__item:nth-child(1) {
    padding: 0 4px 0 0;
}

.song-main-function__item:nth-child(2) {
    padding: 0 0 0 4px;
}

.song-main-function__item-link {
    display: block;
    height: 52px;
    padding: 6px 0 0;
    background: rgba(255,255,255,0.5);
    color: #555;
    font-size: 1.0rem;
}

.song-main-function__item-link::before {
    content: "";
    display: block;
    position: relative;
    width: 24px;
    height: 24px;
    margin: 0 auto 4px;
}

.song-main-function__item_audition--state_play::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_audition_gray.png) no-repeat 50%;
    background-size: 20px auto;
}

.song-main-function__item_audition--state_pause::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_pause.png) no-repeat 50%;
    background-size: 20px auto;
}

.song-main-function__item_audition--state_unavailable {
    background: rgba(255,255,255,0.2);
    color: #999;
}

/* 1000px未満でPC判定時のhover処理 */
.device-pc .song-main-function__item_audition--state_unavailable:hover {
    background: rgba(255,255,255,0.2);
    cursor: default;
}

.song-main-function__item_audition--state_unavailable::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_audition_unavailable_gray.png) no-repeat 50%;
    background-size: 20px auto;
}

.song-main-function__item_lyrics::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_lyrics_gray.png) no-repeat 50%;
    background-size: 17px auto;
}

/* モーダル - 歌詞
------------------------------ */

.modal-lyrics {
    /* 環境によってはoverflowショートハンドは非対応なため、分けて定義 */
    overflow-x: hidden;
    overflow-y: scroll;
    height: 100%;
    /* webkit 慣性スクロール */
    -webkit-overflow-scrolling: touch;
}

.modal-lyrics_header {
    position: relative;
    padding: 16px 25px 16px 102px;
    border-bottom: 1px solid #dcdcdc;
}

.modal-lyrics_thum {
    display: table-cell;
    position: absolute;
    top: 16px;
    left: 16px;
    width: 70px;
    height: 70px;
    vertical-align: middle;
    letter-spacing: -0.5em;
}

.modal-lyrics_thum-image {
    background: 50% no-repeat;
    background-size: contain;
}

.modal-lyrics_title {
    padding: 0 0 6px; /* 英文字の"g"や"p"が見切れてしまうので変更 */
    line-height: 1.3;
    word-break: break-word;
    font-size: 1.4rem;
    font-weight: 700;
}

.modal-lyrics_artist {
    padding: 0 0 12px;
    line-height: 1.4;
    word-break: break-word;
    font-size: 1.2rem;
}

.modal-lyrics_lyricwriter {
    padding: 0 0 4px;
    line-height: 1.4;
    word-break: break-all; /* 「作詞：」で改行されないようにする */
    font-size: 1.2rem;
}

.modal-lyrics_composer {
    font-size: 1.2rem;
    line-height: 1.4;
    word-break: break-all; /* 「作曲：」で改行されないようにする */
    padding: 0 0 4px;
}

.modal-lyrics_body {
    padding: 16px;
    background: #f2f2f2;
    font-size: 1.2rem;
    line-height: 1.7;
    /* webkit 慣性スクロール */
    -webkit-overflow-scrolling: touch;
}

.modal-lyrics_no-lyrics {
    padding: 80px 0;
    font-size: 1.6rem;
    text-align: center;
}

/* ==========================================================
 アルバム ページ
========================================================== */

/* セクション
------------------------------ */

.section--page_album {
    margin: 0;
    padding: 0 0 16px;
    border-bottom: 8px solid #e5e5e5;
}

/* 収録曲リスト
------------------------------ */

.track {
    margin: 0 0 32px;
}

.track:last-of-type {
    margin: 0 0 16px;
}

.track_heading {
    margin: 0 0 12px;
    font-size: 1.4rem;
    font-weight: 700;
}

.track-list {
    border-top: 1px solid #e6e6e6;
}

.track-list__item {
    display: block;
}

.track-list__inner {
    display: table;
    table-layout: fixed;
    width: 100%;
    height: 64px;
    border-bottom: 1px solid #e6e6e6;
    background: #fff;
}

.track-list__audition {
    display: table-cell;
    position: relative;
    width: 44px;
    height: 100%;
    text-align: center;
    vertical-align: middle;
}

.track-list__audition-btn {
    display: block;
    width: 44px;
    height: 100%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.track-list__audition-btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 10px;
    width: 24px;
    height: 24px;
    margin: -12px 0 0;
}

.track-list__audition-btn--state_play::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play.png) no-repeat 50%;
    background-size: contain;
}

.track-list__audition-btn--state_pause::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_pause.png) no-repeat 50%;
    background-size: contain;
}

.track-list__number {
    display: table-cell;
    width: 22px;
    text-align: left;
    vertical-align: middle;
}

.track-list__info {
    display: table-cell;
    padding: 12px 0;
    text-align: left;
    vertical-align: middle;
    font-size: 1.2rem;
}

.track-list__title {
    padding: 0 0 2px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.track-list__artist {
    padding: 2px 0;
    font-size: 1.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.track-list__tieup {
    padding: 2px 0;
    color: #888;
    font-size: 1.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.track-list__price {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 82px;
    padding: 8px 0;
    font-size: 1.2rem;
}

.track-list__price-btn {
    width: 60px;
    margin: 3px auto;
}

/* PC判定時のみhover処理 */
.device-pc .track-list__price:hover {
    background: #fff;
}

.track-list__price-text {
    margin: 3px 0;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.2;
}

.track-list--list_header {
    height: auto;
}

.track-list--list_header .track-list__audition {
    color: #888;
    font-size: 1.2rem;
}

.track-list--list_header .track-list__info {
    color: #888;
}

.track-list--list_header .track-list__price {
    color: #888;
}

.track-list__more {
    display: none;
}

.track-list__more-link {
    display: block;
    position: relative;
    margin: 0 auto;
    padding: 13px 16px 15px;
    text-align: center;
    background: #fff;
    font-size: 1.2rem;
}

.track-list__more-link::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 9px;
    height: 5px;
    margin: 0 0 0 6px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
}

/* アルバムスマート購入の対象
------------------------------ */

.song-main__albumsmart-caution {
    padding: 8px 0;
    border-top: 1px solid #df72a7;
    border-bottom: 1px solid #df72a7;
    text-align: center;
    background: #fff;
    color: #c9146c;
    font-size: 1.4rem;
}

/* ==========================================================
 商品（支払い方法選択） ページ
========================================================== */

/* セクション
------------------------------ */

.section--page_product {
    padding: 12px 16px;
    border-bottom: 8px solid #e5e5e5;
}

.section--page_product:last-of-type {
    border-bottom: none;
}

.product-caution__list {
    margin: 0 0 12px;
}

.product-caution__item {
    padding-left: 1.0em;
    text-indent: -1.0em;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.5;
}

/* リード文エリア
------------------------------ */

.product-lead {
    padding: 16px;
    color: #c9146c;
    font-size: 1.1rem;
    line-height: 1.4;
}

/* 商品情報エリア
------------------------------ */

.product-info {
    overflow: hidden;
    padding: 16px;
    background: #fff;
    border-bottom: 1px solid #dcdcdc;
}

.product-info__photo {
    float: left;
    width: 68px;
}

.product-info__photo-image {
    width: 100%;
    height: 100%;
    background: #fafafa 50% no-repeat;
    background-size: contain;
}

.product-info__info {
    padding: 0 0 0 10px;
    overflow: hidden;
}

.product-info__title {
    position: relative;
    margin: 0 0 8px;
    padding: 0 0 0 18px;
    color: #c9146c;
    font-size: 1.3rem;
    line-height: 1.3;
}

.product-info__title--page_song::before {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 1px;
    width: 13px;
    height: 13px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_song_pink.png) no-repeat 50%;
    background-size: contain;
}

.product-info__title--page_album::before {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 12px;
    height: 12px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_album_pink.png) no-repeat 50%;
    background-size: contain;
}

.product-info__artist {
    position: relative;
    margin: 0 0 12px;
    padding: 0 0 0 18px;
    font-size: 1.1rem;
    line-height: 1.3;
}

.product-info__artist::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 1px;
    width: 11px;
    height: 11px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_artist_black.png) no-repeat 50%;
    background-size: contain;
}

.product-info__spec {
    color: #999;
    font-size: 1.1rem;
    line-height: 2.0;
}

.product-info__spec-detail {
    display: block;
}

.product-info__icon {
    width: auto;
    height: 14px;
    margin: 0 4px 0 0;
    vertical-align: -2px;
}

.product-info__albumsmart-caution {
    display: inline-block;
    margin: 8px 0;
    padding: 3px 6px;
    border: 1px solid #c9146c;
    color: #c9146c;
    font-size: 1.1rem;
}

.product-info__price {
    color: #c9146c;
    font-size: 1.4rem;
}

.product-info__price-usual {
    color: #555;
    font-size: 1.1rem;
}

/* メインエリア
------------------------------ */

.product-main {
    padding: 16px 16px 0;
}

.product-main__attention {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dcdcdc;
    color: #c9146c;
    font-size: 1.2rem;
    line-height: 1.5;
}

.product-main__terms {
    margin: 0 auto 16px;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.5;
}

.product-main__caution {
    font-size: 1.1rem;
    line-height: 1.4;
}

.product-main__cation--lock {
    margin: 12px auto 0;
}

.product-main__caution--pc_unavailable {
    margin: 0 auto 16px;
}

.product-redownload-btn {
    margin: 24px 0;
}

/* 支払い方法の選択
------------------------------ */

.payment {
    margin: 16px 0 0;
}

.payment__heading {
    padding: 0 0 16px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.6rem;
    font-weight: 700;
}

.payment__item {
    margin: 16px 0 0;
}

.payment__item-link {
    display: table;
    table-layout: fixed;
    position: relative;
    width: 100%;
    height: 60px;
    padding: 0 16px 0 48px;
    border: 1px solid #c9146c;
    background: #fff;
    border-radius: 4px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

.payment__text {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
}

.payment__subtext {
    color: #999;
    font-size: 1.1rem;
    font-weight: 400;
}

.payment__price {
    display: table-cell;
    vertical-align: middle;
    width: 90px;
    text-align: right;
    color: #c9146c;
    font-size: 1.5rem;
}

/* dコイン用に幅を広く */
.payment__dcoin-price {
    display: table-cell;
    vertical-align: middle;
    width: 120px;
    text-align: right;
    color: #c9146c;
    font-size: 1.5rem;
}

.payment__caution {
    margin: 4px 0 12px;
    text-align: right;
    color: #888;
    font-size: 0.9rem;
}

.payment__caution + .payment__item {
    margin: 10px 0 0;
}

.payment__caution-tax {
    margin: 12px 0;
    text-align: right;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.3;
}

/* アイコン */

.payment__item-link::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 48px;
    height: 60px;
}

.payment__item--item_dpayment .payment__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_pay_dpayment.png) no-repeat 50%;
    background-size: 14px auto;
}

.payment__item--item_dcoin .payment__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_pay_dcoin.png) no-repeat 50%;
    background-size: 20px auto;
}

.payment__item--item_point .payment__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_pay_point.png) no-repeat 50%;
    background-size: 20px auto;
}

.payment__item--item_dcard .payment__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_pay_dcard.png) no-repeat 50%;
    background-size: 20px auto;
}

.payment__item--item_credit .payment__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_pay_credit.png) no-repeat 50%;
    background-size: 20px auto;
}

.payment__item--item_dcoupon .payment__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_pay_dcoupon.png) no-repeat 50%;
    background-size: 20px auto;
}

/* dミュージッククーポン入力
------------------------------ */

.coupon {
    padding: 16px;
}

.coupon__message {
    margin: 0 0 16px 0;
    font-size: 1.2rem;
    line-height: 1.3;
    color: #888;
}

.coupon__error {
    display: none;
    margin: 0 0 16px 0;
    font-size: 1.2rem;
    color: #c9146c;
}

.coupon-input__input {
    width: 100%;
    height: 40px;
    padding: 0 52px 0 12px;
    margin: 0 0 32px 0;
    border: 2px solid #c9146c;
    font-size: 1.4rem;
    border-radius: 3px;
    box-shadow: 2px 2px 3px 1px rgba(0, 0, 0, 0.15) inset;
}

.coupon-input__input::placeholder {
    color: #888;
}

/* Myアーティスト登録 */

.product-main-myartist {
    margin: 16px 0;
    text-align: center;
    font-size: 1.2rem;
}

.product-main-myartist__heading {
    margin-bottom: 16px;
}

.product-main-myartist__text {
    margin-bottom: 16px;
    line-height: 1.5;
}

.product-main-myartist__radio {
    display: inline-block;
    margin-left: 12px;
}

.product-main-myartist__radio-input {
    display: none;
}

.product-main-myartist__radio-text {
    position: relative;
    padding-left: 18px;
    cursor: pointer;
}

.product-main-myartist__radio-text::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 11px;
    height: 11px;
    border: 1px solid #ccc;
    border-radius: 15px;
    transform: translateY(-50%);
}

.product-main-myartist__radio-input:checked + .product-main-myartist__radio-text::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 3px;
    width: 7px;
    height: 7px;
    background: #c9146c;
    background-size: contain;
    border-radius: 10px;
    transform: translateY(-50%);
}

.product-main-myartist__note {
    margin-top: 16px;
    line-height: 1.5;
}

/* メルマガエリア */

.product-main-mail {
    width: 240px;
    margin: 0 auto 16px;
    padding: 16px 0;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    text-align: center;
    font-size: 1.2rem;
}

.product-main-mail__check {
    margin: 16px 0 0;
    color: #888;
}

.product-main-mail__check label:nth-child(1) {
    margin: 0 24px 0 0;
}

.product-main-mail__check input {
    display: none;
}

.product-main-mail__check-text {
    position: relative;
    padding: 0 0 0 18px;
    cursor: pointer;
}

.product-main-mail__check-text::before {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 9px;
    height: 9px;
    border: 1px solid #888;
}

.product-main-mail__check input:checked + .product-main-mail__check-text::after {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 2px;
    width: 11px;
    height: 11px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_check.png) no-repeat 50%;
    background-size: contain;
}

/* 説明エリア
------------------------------ */

.product-lmark {
    margin: 12px 0 0;
}

.product-lmark__image {
    width: 50px;
    margin: 0 4px 0 0;
    vertical-align: -9px;
}

.product-lmark__text {
    display: inline-block;
    font-size: 0.9rem;
    line-height: 1.4;
}

/* ==========================================================
 購入完了 ページ
========================================================== */

.section--page_purchasecomp {
    padding: 0 0 16px;
}

.artist-sub--page_purchasecomp {
    border-bottom: none;
}

.artist-sub--page_purchasecomp .artist-sub__photo {
    margin: 0 0 16px 0;
}

.artist-sub--page_purchasecomp .artist-sub__btn {
    margin: 0;
}

.ask-product-btn {
    margin: 24px 0 16px;
}

/* リードエリア
------------------------------ */

.purchasecomp-lead {
    padding: 16px;
    color: #c9146c;
    font-size: 1.1rem;
    line-height: 1.4;
}

/* メインエリア
------------------------------ */

.purchasecomp-main {
    padding: 16px 16px 0;
}

.purchasecomp-main__heading {
    margin: 0 0 16px;
    padding: 0 0 10px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
}

.purchasecomp-main__heading-step {
    color: #c9146c;
    font-size: 1.4rem;
}

.purchasecomp-main__btn {
    margin: 24px auto;
}

.purchasecomp-main__btn-link {
    font-size: 1.6rem;
}

.purchasecomp-main__link-arrow {
    margin: 12px 0 0;
    text-align: center;
}

.purchasecomp-main__text {
    margin: 0 auto 16px;
    font-size: 1.2rem;
    line-height: 1.4;
}

.purchasecomp-howto-list__item {
    position: relative;
    margin: 0 0 12px;
    padding: 0 0 0 2.0em;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.4;
}

.purchasecomp-howto-list__number {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 17px;
    height: 17px;
    text-align: center;
    background: #e75ea1;
    color: #fff;
    font-size: 1.1rem;
    line-height: 17px;
    border-radius: 50%;
}

.purchasecomp-howto-list__appicon {
    width: 15px;
    margin: 0 3px;
}

/* WEBDLエリア
------------------------------ */

.js-purchasecomp-webdl {
    padding: 16px 16px 0;
}

.purchasecomp-webdl__heading {
    position: relative;
    padding: 0 0 10px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.4;
}

.purchasecomp-webdl__heading::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 15px;
    height: 10px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_medium.png) no-repeat right 50%;
    background-size: 15px auto;
    transform: translateY(-50%);
}

.purchasecomp-webdl__heading--state_open::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_t_pink_medium.png) no-repeat right 50%;
    background-size: 15px auto;
}

.purchasecomp-webdl__body {
    display: none;
    padding: 16px 0 0;
}

.purchasecomp-webdl__caution {
    margin: 0 0 32px;
    padding: 0 0 0 1.0em;
    text-indent: -1.0em;
    color: #888;
    font-size: 1.2rem;
    line-height: 1.4;
}

.purchasecomp-webdl__spec {
    margin: 0 0 8px;
    font-size: 1.3rem;
    font-weight: 700;
}

.purchasecomp-webdl__btn {
    margin: 0 auto;
}

.purchasecomp-webdl__btn-link {
    display: block;
    position: relative;
    width: 80%;
    min-width: 260px;
    max-width: 360px;
    height: 50px;
    margin: 0 auto;
    border: 1px solid #dcdcdc;
    text-align: center;
    background: #fff;
    font-size: 1.4rem;
    line-height: 50px;
    border-radius: 4px;
}

.purchasecomp-webdl__btn-link--icon_download::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 12px 0 0;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_download_gray.png) no-repeat right 50%;
    background-size: contain;
    vertical-align: -3px;
}

/* 非活性ボタン */

.purchasecomp-webdl__btn-link.-disabled {
    border: none;
    background: #ccc;
    color: #fff;
    cursor: default;
}

.purchasecomp-webdl__btn-link--icon_download.-disabled::before {
    /* background-imageのみ変更する */
    background-image: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_download_white.png);
}

.js-purchasecomp-webdl__start {
    display: none;
    height: 50px;
    margin: 0 auto;
    text-align: center;
}

.purchasecomp-webdl__no {
    height: 50px;
    margin: 0 auto;
    text-align: center;
}

/* 白抜き「ブラウザでダウンロード」ボタンに隣接しているときのみ適用する */
.purchasecomp-webdl__btn + .js-purchasecomp-webdl__start {
    margin: 24px auto 0;
}

.purchasecomp-webdl__btn + .purchasecomp-webdl__no {
    margin: 24px auto 0;
}

.purchasecomp-webdl__start-text {
    margin: 0 0 8px;
    color: #c9146c;
    font-size: 1.8rem;
}

.purchasecomp-webdl__no-text {
    margin: 0 0 8px;
    color: #c9146c;
    font-size: 1.2rem;
}

.purchasecomp-webdl__start-subtext {
    font-size: 1.2rem;
}

/* 収録曲リスト */

.purchasecomp-track {
    margin: 0 0 32px;
}

.purchasecomp-track:last-of-type {
    margin: 0 0 16px;
}

.purchasecomp-track_heading {
    margin: 0 0 12px;
    font-size: 1.4rem;
    font-weight: 700;
}

.purchasecomp-track-list {
    border-top: 1px solid #e6e6e6;
}

.purchasecomp-track-list__item {
    display: table;
    table-layout: fixed;
    width: 100%;
    height: 64px;
    border-bottom: 1px solid #e6e6e6;
    background: #fff;
}

.purchasecomp-track-list__number {
    display: table-cell;
    width: 48px;
    padding: 0 18px 0 0;
    text-align: right;
    vertical-align: middle;
}

.purchasecomp-track-list__info {
    display: table-cell;
    padding: 12px 0;
    text-align: left;
    vertical-align: middle;
    font-size: 1.2rem;
}

.purchasecomp-track-list__title {
    padding: 0 0 2px;
    font-size: 1.4rem;
    line-height: 1.4;
}

.purchasecomp-track-list__artist {
    margin: 2px 0 0;
    color: #999;
    font-size: 1.2rem;
    line-height: 1.4;
}

.purchasecomp-track-list__download {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 82px;
    padding: 8px 0;
    font-size: 1.2rem;
}

.purchasecomp-track-list__download-btn {
    width: 60px;
    margin: 3px auto;
    background: #c9146c url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_download_white.png) no-repeat 50%;
    background-size: 21px auto;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

/* 補足情報エリア
------------------------------ */

.purchasecomp-sub {
    padding: 0 16px 16px;
}

/* すごろくリンク
------------------------------ */

.sugoroku {
    margin: 24px auto 16px;
}

.sugoroku__link {
    display: block;
    width: 80%;
    min-width: 260px;
    max-width: 360px;
    position: relative;
    margin: 0 auto;
    padding: 12px 24px 12px 60px;
    border: 1px solid #dcdcdc;
    background: #fff;
    border-radius: 2px;
}

.sugoroku__link::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 16px;
    width: 34px;
    height: 34px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sugoroku.png) no-repeat right 50%;
    background-size: contain;
    transform: translateY(-50%);
}

.sugoroku__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.sugoroku__text {
    margin: 0 0 3px;
    color: #c9146c;
    font-size: 1.2rem;
}

.sugoroku__subtext {
    color: #999;
    font-size: 1.0rem;
    line-height: 1.3;
}

/* ==========================================================
 アーティスト ページ
========================================================== */

/* セクション
------------------------------ */

.section--page_artist {
    margin: 0;
    padding: 0 0 16px;
    border-bottom: 8px solid #e5e5e5;
}

.section--page_artist:last-of-type {
    border-bottom: none;
}

.section--page_artist .tab-body {
    padding: 16px 16px 0;
}

.section--page_artist .md-btn-line {
    margin: 24px auto 8px;
}

/* メイン情報エリア
------------------------------ */

.artist-main {
    background: #fff;
    border-bottom: 1px solid #e7e7e7;
}

.artist-main__photo {
    position: relative;
    width: 100%;
    padding: 16px;
    text-align: center;
    overflow: hidden;
    z-index: 0;
}

.artist-main__photo-bg {
    opacity: 0.25;
    filter: blur(10px);
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    background: 50% no-repeat;
    background-size: cover;
    z-index: -1;
}

.artist-main__photo-main {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding-top: 66.66666%;
}

.artist-main__photo-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 50% no-repeat;
    background-size: contain;
}

.artist-main__title {
    display: inline-block;
    position: relative;
    padding: 16px 24px 8px;
    max-width: 100%;
    color: #555;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
}

.artist-main__title::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 8px 0 0;
    top: 23px;
    left: 0;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_artist_black.png) no-repeat 50%;
    background-size: contain;
    vertical-align: -1px;
}

.artist-main__myartist {
    display: block;
    width: 210px;
    margin: 0 auto;
}

.artist-main__myartist-btn {
    display: block;
    width: 210px;
    height: 30px;
    border: 1px solid #c9146c;
    text-align: center;
    color: #c9146c;
    font-size: 1.2rem;
    line-height: 28px;
    border-radius: 15px;
}

.artist-main__myartist-btn::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 6px 0 0;
    vertical-align: -3px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myartist_pink.png) no-repeat 50%;
    background-size: contain;
}

.artist-main__myartist-btn--state_on::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myartist_pink_on.png) no-repeat 50%;
    background-size: contain;
}

.artist-main__myartist-btn--state_load::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/loading.gif) no-repeat 50%;
    background-size: contain;
}

/* 楽曲一覧・アルバム一覧の選択 */

.artist-main-nav {
    margin: 8px auto 24px;
}

.artist-main-nav__list {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0 auto;
    padding: 0 16px;
}

.artist-main-nav__list--col_2 {
    width: 66.66666%;
}

.artist-main-nav__item {
    display: table-cell;
    height: 46px;
    text-align: center;
    vertical-align: middle;
    border-right: 1px solid #ccc;
}

.artist-main-nav__item:first-child {
    border-left: 1px solid #ccc;
}

.artist-main-nav__item-link {
    display: block;
    height: 48px;
    padding: 5px 0 0;
    color: #666;
    font-size: 1.0rem;
}

.artist-main-nav__item-link::before {
    content: "";
    display: block;
    position: relative;
    width: 24px;
    height: 24px;
    margin: 0 auto 6px;
}

.artist-main-nav__item-link--item_song::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_song_black_medium.png) no-repeat 50%;
    background-size: 20px auto;
}

.artist-main-nav__item-link--item_album::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_album_black.png) no-repeat 50%;
    background-size: 23px auto;
}

.artist-main__info {
    padding: 16px;
}

.artist-main__profile {
    text-align: right;
}

.artist-main__profile-heading {
    margin: 0 0 6px;
    text-align: left;
    font-size: 1.2rem;
    font-weight: 700;
}

.artist-main__profile {
    margin: 12px 0 0;
    text-align: right;
}

.artist-main__profile-heading {
    margin: 0 0 6px;
    text-align: left;
    font-size: 1.2rem;
    font-weight: 700;
}

.artist-main__profile-text {
    height: auto;
    margin: 0 0 6px;
    text-align: left;
    overflow: hidden;
    font-size: 1.2rem;
    line-height: 1.4;
}

.artist-main__profile-text--state_close {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    word-wrap: break-word;
    word-break: break-all;
    height: 4.2em;
}

.artist-main__profile-more {
    display: none;
    position: relative;
    padding: 3px 14px 3px 0;
    font-size: 1.2rem;
    cursor: pointer;
}

.artist-main__profile-more::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 9px;
    height: 5px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
    transform: translateY(-50%);
}

.artist-main__profile-more--state_open::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_t_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
}

/* SNSアイコン */

.artist-main-sns {
    position: relative;
    margin: 32px 0 0 0;
    overflow: hidden;
}

.artist-main-sns__list {
    float: right;
    margin: 0 auto;
}

.artist-main-sns__item {
    display: inline-block;
    padding: 0 15px 0 0;
}

.artist-main-sns__item:last-of-type {
    padding: 0;
}

.artist-main-sns__link {
    display: block;
    width: 25px;
    height: 25px;
    text-indent: -9999px;
}

/* PC判定時のみhover処理 */
.device-pc .artist-main-sns__link:hover {
    background-color: transparent;
}

.artist-main-sns__link--twitter {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_twitter.png) no-repeat;
    background-size: 25px auto;
}

.artist-main-sns__link--facebook {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_facebook.png) no-repeat;
    background-size: 25px auto;
}

.artist-main-sns__link--line {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_line.png) no-repeat;
    background-size: 25px auto;
}

/* 商品の種別絞り込みプルダウン */

.type-select {
    display: block;
    position: absolute;
    top: 14px;
    right: 16px;
}

.type-select__label {
    position: absolute;
    top: 50%;
    right: 0;
    padding: 6px 16px 6px 0;
    text-align: right;
    font-size: 1.2rem;
    transform: translateY(-50%);
}

.type-select__select {
    opacity: 0;
    padding: 6px 16px 6px 8px;
    background: transparent;
    font-size: 1.2rem;
    line-height: 1.0;
}

.type-select::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 9px;
    height: 5px;
    vertical-align: 1px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
    transform: translateY(-50%);
}

/* 関連アーティスト
------------------------------ */

.related-artist__artist-name {
    display: inline-block;
    max-width: 50%;
}

.related-artist__title {
    display: inline-block;
}

/* ==========================================================
 アーティストアルバムページ
========================================================== */

.artist-sub__photo-image--page_artist-album {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    pointer-events: none;
}

.product-list__thum--page_artist-album {
    position: relative;
    height: 85px;
}

.product-list__thum-image--page_artist-album {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    max-width: 100%;
    max-height: 100%;
    pointer-events: none;
}

/* ==========================================================
 マイポータル ページ
========================================================== */

/* メニュー
------------------------------ */

/* リスト */

.myportal-nav {
    padding: 16px;
}

.myportal-nav__heading {
    margin: 0 auto 12px;
    font-size: 1.4rem;
}

.myportal-nav__list {
    margin: 0 auto 24px;
}

.myportal-nav__item {
    margin: 0 auto 8px;
}

.myportal-nav__item-link {
    display: block;
    position: relative;
    padding: 14px 24px 14px 12px;
    border: 1px solid #e7e7e7;
    background: #fff;
    font-size: 1.2rem;
    border-radius: 2px;
}

.myportal-nav__item-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.myportal-nav__subtext {
    font-size: 1.0rem;
}

.myportal-nav__ask-number,
.myportal-nav__ask-artist {
    white-space: nowrap;
    overflow: hidden;
}

.myportal-nav__ask-number,
.myportal-nav__ask-artist,
.myportal-nav__ask-andmore {
    display: inline-block;
    vertical-align: middle;
    line-height: 1.4;
    color: #999;
    font-size: 1.1rem;
}

.myportal-nav__ask-number {
    display: block;
    margin: 4px 0 0;
}

.myportal-nav__ask-artist {
    max-width: 80%;
    padding: 0 2px 0 0;
    text-overflow: ellipsis;
}

/* アイコン */

.myportal-nav__list--nav_icon .myportal-nav__item-link {
    padding-left: 40px;
}

.myportal-nav__list--nav_icon .myportal-nav__item-link::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 10px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    background-size: contain;
}

.myportal-nav__item--nav_myartist .myportal-nav__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_myartist.png) no-repeat 50%;
    background-size: 18px auto;
}

.myportal-nav__item--nav_purchase .myportal-nav__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_purchase.png) no-repeat 50%;
    background-size: 18px auto;
}

.myportal-nav__item--nav_albumsmart .myportal-nav__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_albumsmart.png) no-repeat 50%;
    background-size: 20px auto;
}

.myportal-nav__item--nav_devicelist .myportal-nav__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_devicelist.png) no-repeat 50%;
    background-size: auto 20px;
}

.myportal-nav__item--nav_credit .myportal-nav__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_credit.png) no-repeat 50%;
    background-size: 20px auto;
}

.myportal-nav__item--nav_mail .myportal-nav__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_mail.png) no-repeat 50%;
    background-size: 18px auto;
}

.myportal-nav__item--nav_device .myportal-nav__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_device.png) no-repeat 50%;
    background-size: 20px auto;
}

.myportal-nav__item--nav_quality .myportal-nav__item-link::before {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_quality.png) no-repeat 50%;
    background-size: 20px auto;
}

/* マイポータル 右カラム ナビゲーション */

.myportal-right-col {
    display: none;
}


/* ==========================================================
 マイアーティスト ページ
========================================================== */

/* マイアーティスト一覧
------------------------------ */

/* マイアーティスト一覧 ヘッダ */

.myartist-lead {
    display: table;
    width: 100%;
    padding: 16px 0;
}

.myartist-lead--no-padding-bottom {
    padding: 16px 16px 0;
}

.myartist-lead__number {
    display: table-cell;
    vertical-align: middle;
    font-size: 1.2rem;
}

.myartist-lead__text {
    font-size: 1.2rem;
    line-height: 1.4;
}

.myartist__edit-btn {
    display: table-cell;
    float: right;
}

.myartist__edit-btn-link {
    display: block;
    position: relative;
    width: 130px;
    text-align: center;
    padding: 11px 16px;
    border: 1px solid #c9146c;
    background: #fff;
    color: #c9146c;
    font-size: 1.4rem;
    line-height: 1.4;
    border-radius: 2px;
}

.myartist__removal-btn {
    margin: 20px 0 0 0;
}

/* チェックボックス */

.myartist-check-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.myartist-check-box__label {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.myartist-check-box__tick {
    display: none;
}

.myartist-check-box__veil {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .6);
}

.myartist-check-box__veil::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 12px;
    height: 12px;
    border: 1px solid #888;
    transform: translateY(-50%);
}

.myartist-check-box__tick:checked + .myartist-check-box__veil {
    background: transparent;
}

.myartist-check-box__tick:checked + .myartist-check-box__veil::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 11px;
    height: 11px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_check.png) no-repeat 50%;
    background-size: contain;
    transform: translateY(-50%);
}

/* マイアーティスト編集画面
------------------------------ */

/* 右側にチェックボックスがあるのでアーティスト名が長い時にかぶらないように */

.product-list__info.-padding-right-wide {
    padding: 0 30px 0 10px;
}

/* マイアーティストログイン完了画面 */

.myartist-back-btn {
    margin: 10px 0 30px;
}

/* マイアーティストなし画面
------------------------------ */

.mail-service-registration {
    padding: 24px 16px 16px;
}

.mail-service-registration__title {
    margin: 0 0 16px 0;
    font-size: 16px;
}

.mail-service-registration__message {
    margin: 0 0 24px 0;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

.mail-service-registration__btn {
    margin: 0 auto 24px;
}

/* ==========================================================
 アルバムスマート購入ページ
========================================================== */

.section--myartist__ask .section__body {
    padding: 0 16px 32px 16px;
    margin: 0 0 16px 0;
    border-bottom: 8px solid #e7e7e7;
}

.section--myartist__ask .section__body:last-of-type {
    border-bottom: none;
    padding: 0 16px;
    margin: 0;
}

.albumsmart-products {
    display: block;
}

.albumsmart-notfound {
    display: none;
    font-size: 1.4rem;
    text-align: center;
}

/* ==========================================================
 購入履歴（再ダウンロード）ページ
========================================================== */

.section--page_purchasehistory .section__body {
    padding: 0 16px 16px;
}

.section--page_purchasehistory .product-list__link {
    position: relative;
    padding: 16px;
}

/* PC判定時のみhover処理 */
.device-pc .section--page_purchasehistory .product-list__link:not([data-is-link="true"]):hover {
    background: #fff;
    cursor: default;
}

/* PC判定時のみhover処理 */
.device-pc .section--page_purchasehistory .product-list__link:not([data-is-link="true"]):hover .product-list__thum {
    opacity: 1.0;
}

.section--page_purchasehistory .product-list__link[data-is-link="true"]::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.section--page_purchasehistory .product-list__thum {
    width: 67px;
}

.section--page_purchasehistory .product-list__info {
    width: 100%;
}

.section--page_purchasehistory .product-list__artist {
    color: #555;
    padding: 0 0 6px;
}

.section--page_purchasehistory .product-list__subtext {
    line-height: 1.4;
}

.section--page_purchasehistory .product-list__message {
    padding: 16px 0 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.section--page_purchasehistory .product-list__lock-image {
    width: 10px;
    margin: 0 0 0 3px;
    vertical-align: 2px;
}

/* ==========================================================
 ご利用端末一覧ページ
========================================================== */

.device {
    padding: 0 0 24px 0;
    border-bottom: 1px solid #dcdcdc;
}

.device:last-of-type {
    border-bottom: none;
}

.device__heading {
    padding: 24px 0 16px;
    font-size: 1.4rem;
    font-weight: 700;
}

.device-info-table {
    width: 100%;
    margin: 0 0 20px 0;
    font-size: 1.2rem;
    table-layout: fixed;
}

.device-info-table__head {
    width: 80px;
    background: #e7e7e7;
    font-weight: 500;
    border-bottom: 1px solid #fff;
}

.device-info-table__head--border-none {
    border-bottom: none;
}

.device-info-table__content {
    padding: 15px;
    background: #fff;
    border-bottom: 1px solid #f2f2f2;
}

.device-info-table__content--border-none {
    border-bottom: none;
}

/* ==========================================================
 メールサービス設定/変更、音質設定変更ページ共通
========================================================== */

.settings-current-settings {
    padding: 24px 16px;
    background: #fff;
}

.settings-current-settings__heading {
    margin: 0 0 25px 0;
    font-size: 1.4rem;
}

.settings-current-settings__check {
    margin: 0 0 20px 0;
    font-size: 0;
}

.settings-usage {
    padding: 24px 16px 32px;
    border-bottom: 1px solid #dcdcdc;
}

.settings-usage__link {
    margin: 0 0 15px 0;
    font-size: 1.2rem;
}

.settings-usage__link-text {
    display: inline-block;
    vertical-align: middle;
}

.settings-usage__link-arrow {
    display: inline-block;
    vertical-align: middle;
}

.settings-usage__link-arrow img {
    width: 5px;
}

.settings-usage__content {
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

.settings-note {
    padding: 16px;
}

.settings-note__title {
    margin: 14px 0;
    line-height: 1.4;
}

.settings-note__list {
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888
}

.settings-note__list-item {
    padding: 0 0 0 1.5em;
    text-indent: -1.5em;
}

.settings-note__list-item.-type-disc {
    padding: 0;
    margin: 0 0 0 16px;
    text-indent: 0;
    list-style: disc;
}

.settings-note__text {
    margin-bottom: 20px;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888
}

/* 設定ボタンを押して変更が完了したときのメッセージ */

.change-settings-btn--state_hidden {
    display: none;
}

.change-settings-completed {
    display: none;
    height: 50px;
    text-align: center;
    font-size: 1.4rem;
    line-height: 50px;
    color: #999;
}

/* ==========================================================
 ご利用端末ページ
========================================================== */

/* 端末編集
------------------------------ */

.edit-device {
    width: 80%;
    margin: 0 auto;
    overflow: hidden;
}

.edit-device__button {
    display: inline-block;
    width: 47%;
    vertical-align: middle;
}

.edit-device__button:first-of-type {
    margin: 0 4% 0 0;
}

.edit-device__button--state_hidden {
    display: none;
}

.edit-device__unavailable {
    color: #c9146c;
    font-size: 1.2rem;
    line-height: 1.4;
    text-align: center;
}

/* モーダル
------------------------------ */

.modal-edit-device {
    padding: 50px 15px;
    height: auto;
    max-height: 80vh;
    background: #f2f2f2;
    overflow-y: scroll;
}

.modal-edit-device__heading {
    position: relative;
    margin: 0 0 24px;
    text-align: left;
    font-size: 1.4rem;
    font-weight: 500;
}

.modal-edit-device__removal-notice {
    margin: 0 0 30px 1em;
    text-indent: -1em;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

/* テキスト入力欄
------------------------------ */

.text-input__input {
    width: 100%;
    margin: 0 0 35px;
    padding: 10px;
    border: solid 1px #e7e7e7;
}

/* ==========================================================
 よくある質問ページ
========================================================== */

.faq-inner {
    border-bottom: 8px solid #e7e7e7;
}

.faq-category-selector {
    margin: 0 0 20px 0;
}

.faq-main {
    margin-bottom: 16px;
}

.faq-main-inner--state_hidden {
    display: none;
}

.faq-main__item {
    background: #fff;
    margin: 0 0 8px 0;
    border: 1px solid #e7e7e7;
}

.faq-main__item:last-of-type {
    margin: 0;
}

.faq__question {
    display: block;
    position: relative;
    padding: 16px;
    font-size: 1.2rem;
    line-height: 1.3;
    cursor: pointer;
    transition: all 0.3s;
}

.faq__question::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 15px;
    height: 10px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.faq__check {
    display: none;
}

.faq__answer {
    height: 0;
    padding: 0 16px 0 16px;
    overflow: hidden;
    font-size: 1.2rem;
    line-height: 1.3;
    color: #888;
    opacity: 0;
    transition: 0.3s;
}

.faq__answer p {
    margin: 0 0 16px 0;
}

.faq__answer p:last-of-type {
    margin: 0;
}

.faq__check:checked + .faq__question + .faq__answer {
    height: auto;
    padding: 16px;
    border-top: 1px solid #e7e7e7;
    opacity: 1;
}

.faq__check:checked + .faq__question::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_t_pink_small.png) no-repeat right 50%/10px auto;
}

.faq-btns {
    padding: 24px 16px 0;
}

/* カテゴリ選択
------------------------------ */

.category-selector__item {
    display: inline-block;
    width: 49%;
    margin: 0 auto 10px;
}

.category-selector__item:nth-of-type(2n) {
    float: right;
}

.category-selector__check {
    display: none;
}

.category-selector__inner {
    display: block;
    position: relative;
    height: 30px;
    text-align: center;
    background: #fff;
    color: #c9146c;
    font-size: 1.2rem;
    line-height: 29px;
    border-radius: 4px;
    border: 1px solid #c9146c;
}

.category-selector__inner--font_small {
    font-size: 1.0rem;
}

.category-selector__check:checked + .category-selector__inner {
    background: #c9146c;
    color: #fff;
}

.category-selector__check:checked + .category-selector__inner--font_small {
    background: #c9146c;
    color: #fff;
}

.to-sitetop-btn,
.to-inquiry-btn {
    color: #c9146c;
}

.inquiry-btn__note {
    margin: 16px 0 0 0;
    padding: 0 5px;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

.inquiry-btn__note--margin_top {
    margin: 16px 0 0 0;
}

.inquiry-btn__note--margin_bottom {
    margin: 0 0 16px 0;
}

.faq-btns__myportal-btn {
    padding: 24px 0 0 0;
}

.faq__note {
    margin: 24px 0 0 0;
    font-size: 1.1rem;
    line-height: 1.3;
    color: #888;
}

/* チャットボット導線
------------------------------ */

.faq-chatbot__link {
    display: block;
    max-width: 300px;
    margin: 16px auto 0;
    border-radius: 4px;
    text-align: center;
    background-color: #c9146c;
    color: #fff;
    font-size: 1.2rem;
    line-height: 30px;
}

/* PC判定時のみhover処理 */
.device-pc .faq-chatbot__link:hover {
    background-color: #d84692;
}

.faq-widget {
    position: fixed;
    left: 50%;
    bottom: 16px;
    width: 90%;
    max-width: 350px;
    padding: 16px;
    border: 1px solid #c9146c;
    text-align: center;
    background: #fff;
    transform: translateX(-50%);
    /* ページトップボタンの上に表示 */
    z-index: 29;
}

.faq-widget__close {
    position: absolute;
    top: -25px;
    right: -25px;
    cursor: pointer;
}

.faq-widget__close::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 7px;
    width: 50px;
    height: 50px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_close_circle.png) no-repeat 50%;
    background-size: 36px auto;
}

.faq-widget__heading {
    font-size: 2rem;
    font-weight: bold;
}

.faq-widget__text {
    margin-top: 8px;
    font-size: 1.2rem;
    line-height: 1.2;
}

.faq-widget__link {
    display: block;
    max-width: 200px;
    margin: 16px auto 0;
    border-radius: 4px;
    background-color: #c9146c;
    color: #fff;
    font-size: 1.2rem;
    line-height: 30px;
}

/* PC判定時のみhover処理 */
.device-pc .faq-widget__link:hover {
    background-color: #d84692;
}

/* ==========================================================
 お問い合わせページ
========================================================== */

/* お問い合わせ 入力
------------------------------ */

.inquiry-notes {
    padding: 20px 15px 20px;
    background: #fff;
}

.inquiry-notes__heading {
    margin: 0 0 20px;
}

.inquiry-notes__title {
    font-size: 1.4rem;
    margin: 0 0 10px 0;
    color: #c9146c;
}

.inquiry-lock-icon {
    width: 12px;
}

.inquiry-notes__text {
    margin: 0 0 24px 0;
    padding: 0 0 24px 0;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

.inquiry-notes__text:last-of-type {
    margin: 0;
    padding: 0;
    border: none;
}

.inquiry-notes__paragraph {
    margin: 0 0 10px 0;
}

.inquiry-notes__paragraph--font_red {
    color: #c9146c;
}

.inquiry-notes--font_bold {
    margin: 0 0 5px 0;
    font-weight: 500;
}

.inquiry-notes__steps {
    font-size: 1.0rem;
}

.inquiry-form {
    padding: 24px 16px;
}

.inquiry-form__title {
    margin: 0 0 15px 0;
    font-weight: 500;
    font-size: 1.4rem;
}

.inquiry-form__label {
    display: block;
    margin-bottom: 24px;
}

.inquiry-form__textarea {
    width: 100%;
    height: 130px;
    padding: 10px;
    border: 2px solid #c9146c;
    font-size: 1.3rem;
    border-radius: 3px;
    box-shadow: 2px 2px 3px 1px rgba(0, 0, 0, 0.15) inset;
    resize: vertical;
}

/* お問い合わせ 確認
------------------------------ */

.inquiry-confirm {
    padding: 20px 15px;
}

.inquiry-confirm__title {
    margin: 0 0 15px 0;
    font-weight: 500;
}

.inquiry-confirm__text {
    padding: 10px;
    margin: 0 0 20px 0;
    min-height: 140px;
    font-size: 1.3rem;
    background: #fff;
}

.inquiry-confirm__btn-wrap {
    display: inline-block;
    width: 48%;
}

.inquiry-confirm__btn-wrap--float_right {
    float: right;
}

.inquiry-confirm__btn {
    display: block;
    width: 100%;
}

/* お問い合わせ 完了
------------------------------ */

.inquiry-thanks {
    padding: 20px 15px;
}

.inquiry-thanks__paragraph {
    margin: 0 0 20px 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.inquiry-thanks__paragraph:last-of-type {
    margin: 0;
}

.inquiry-thanks__paragraph--color_pink {
    color: #c9146c;
}

.inquiry-thanks__myportal-btn {
    margin: 30px 0 0 0;
}

/* ==========================================================
 初めての方へページ
========================================================== */

.firstinfo {
    margin: 0 0 8px 0;
    padding: 24px 16px;
    background: #fff;
}

.firstinfo:first-of-type {
    margin-top: 16px;
}

.firstinfo:last-of-type {
    margin-bottom: 0;
}

.firstinfo__title {
    margin: 0 0 16px;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.4;
}

.firstinfo__text {
    font-size: 1.2rem;
    line-height: 1.4;
}

.firstinfo__notes {
    font-size: 1.1rem;
    color: #999;
}

.about-dmusic__logo {
    display: inline-block;
    width: 120px;
    vertical-align: middle;
}

.about-dmusic__logo-text {
    display: inline-block;
    margin: 0 0 0 5px;
    vertical-align: -5px;
}

.dpoint-logo {
    width: 105px;
    margin: 0 auto 16px;
}

.dpoint-bnr {
    width: 60%;
    margin: 24px auto 0;
}

.multi-devices {
    width: 215px;
    margin: 0 auto 16px;
}

.firstinfo-link-wrapper {
    padding: 16px 0 8px 0;
}

/* ==========================================================
 新着曲ページ
========================================================== */

/* 見出し
------------------------------ */

.heading__total-title {
    display: inline-block;
}

.heading__total-songs {
    display: inline-block;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
}

/* タブ
------------------------------ */

.tab-body__inner {
    padding: 13px 15px;
}

/* リスト
------------------------------ */

.section--page_new-release .product-list__more {
    width: 80%;
    margin: 0 auto;
}

.product-list__item-container {
    margin: 0 0 24px 0;
}

.product-list__item-container .product-list__item--horizontal:last-child .product-list__link {
    margin: 0 0 4px;
}

.product-list__see-all-button {
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}

.product-list__see-all-button-link {
    display: block;
    width: 100%;
    padding: 13px 0 15px;
    font-size: 1.2rem;
    text-align: center;
    background: #fff;
}

.product-list__see-all-button-link::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 9px;
    margin: 0 0 0 10px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
}

/* 並び替え
------------------------------ */

.new-songs-sort {
    margin: 32px auto 16px;
    text-align: center;
}

.new-songs-sort__item {
    display: inline-block;
    position: relative;
    width: 40%;
    background: #fff;
    text-align: center;
}

.new-songs-sort__label {
    width: 100%;
    height: 40px;
    font-size: 1.1rem;
    line-height: 40px;
}

.new-songs-sort__select {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 40px;
    padding: 0 12px;
    background: transparent;
    font-size: 1.1rem;
}

.new-songs-sort__label::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 8px;
    width: 9px;
    height: 5px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
    transform: translateY(-50%);
}

.new-songs-sort__title {
    display: none;
}

.new-songs-artist {
    margin: 0 0 10px 0;
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: 0;
    overflow: hidden;
}

.new-songs-artist__title {
    display: inline-block;
    width: 75%;
    vertical-align: middle;
}

.new-songs-artist__added-songs {
    float: right;
    margin: 5px 0 0 10px;
    font-size: 1.0rem;
    vertical-align: -1px;
    color: #c9146c;
}

/* 新着無し
------------------------------ */

.new-songs-no-release-message {
    display: flex;
    display: -ms-flexbox;
    margin: 48px auto;
    padding: 16px;
    min-height: 96px;
    background: #fff;
    align-items: center;
    -ms-flex-align: center;
}

.new-songs-no-release-message__text {
    font-size: 1.2rem;
    line-height: 1.5;
}

/* ==========================================================
 ニュース ページ
========================================================== */

/* セクション
------------------------------ */

.section--page_news {
    margin: 0;
    padding: 0 0 16px;
    border-bottom: 8px solid #e5e5e5;
}

.section--page_news:last-of-type {
    border-bottom: none;
}

.section--page_news .tab-body {
    padding: 16px 16px 0;
}

.section--page_news .md-btn-line {
    margin: 24px auto 8px;
}

/* メインエリア
------------------------------ */

.news-main {
    padding: 15px 0 0;
}

/* ニュースアイテム
------------------------------ */

.news-item {
    padding: 16px;
    margin: 0 0 15px 0;
    background: #fff;
}

.news-item:last-of-type {
    margin: 0;
}

.news-item__title {
    padding: 0 0 10px 0;
    margin: 0 0 15px 0;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    border-bottom: 1px solid #dcdcdc
}

.news-item__content {
    font-size: 1.2rem;
    line-height: 1.4;
}

.news-date {
    color: #999;
    margin-bottom: 10px;
}

.news-text__paragraph {
    margin: 0 0 16px 0;
}

.news-text__paragraph:last-of-type {
    margin: 0;
}

/* ==========================================================
 ランキングページ
========================================================== */

/* セクション
------------------------------ */

.section--page_ranking {
    margin: 0;
    padding: 0 0 16px;
    border-bottom: 8px solid #e5e5e5;
}

.section--page_ranking:last-of-type {
    border-bottom: none;
}

.section--page_ranking .tab-body {
    padding: 10px 16px 0;
}

.section--page_ranking .md-btn-line {
    margin: 24px auto 8px;
}

/* 対象期間表示部分
------------------------------ */

.ranking-target-period {
    margin: 8px 16px;
    font-size: 1.1rem;
    text-align: right;
    color: #888;
}

/* ランキング下のテキスト
------------------------------ */

.single-ranking__list {
    padding: 0 0 25px 0;
    margin: 30px 0 10px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.2rem;
    color: #555;
    line-height: 1.4;
}

/* ランキング カテゴリのリスト
------------------------------ */

.ranking-category {
    letter-spacing: -0.5em;
}

.ranking-category__item {
    display: inline-block;
    letter-spacing: 0;
}

.ranking-category__item--short {
    width: 48%;
}

.ranking-category__item--short:nth-child(2n+1) {
    margin: 0 4% 8px 0;
}

.ranking-category__item--short:nth-child(2n) {
    margin: 0 0 8px 0;
}

.ranking-category__item--long-sp {
    width: 100%;
}

.ranking-category__item-link {
    display: block;
    position: relative;
    padding: 10px;
    font-size: 1.2rem;
    border: 1px solid #efefef;
    background: #fff;
}

.ranking-category__item-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    width: 5px;
    height: 9px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right center;
    background-size: 5px auto;
    transform: translateY(-50%);
}

/* ==========================================================
 急上昇ワードページ
========================================================== */

.ranking-word {
    padding: 0 16px;
}

.word {
    display: table;
    table-layout: fixed;
    position: relative;
    height: 40px;
    width: 100%;
    margin: 0 0 8px 0;
    background: #fff;
}

.word::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.word__rank {
    display: table-cell;
    width: 42px;
    vertical-align: middle;
    padding: 12px;
}

.word__rank-number {
    width: 19px;
    height: 19px;
    text-align: center;
    border: 1px solid #bbb;
    color: #888;
    line-height: 17px;
}

.word__rank-number--no_1 {
    background: #e3d70f;
    color: #fff;
    border: 1px solid #e3d70f;
}

.word__rank-number--no_2 {
    background: #afafaf;
    color: #fff;
    border: 1px solid #afafaf;
}

.word__rank-number--no_3 {
    background: #c68910;
    color: #fff;
    border: 1px solid #c68910;
}

.word__rank-number--other {
    background: #fff;
    color: #888;
    border: 1px solid #bbb;
}

.word__word {
    display: table-cell;
    vertical-align: middle;
    padding: 0 25px 0 0;
    font-size: 1.2rem;
    width: 100%;
}

/* ==========================================================
 検索結果
========================================================== */

/* 共通
------------------------------ */

.section--page_search {
    margin: 0 0 32px;
}

.section--page_search .search-box {
    margin: 0 auto 16px;
}

.section--page_search .tab-nav__item {
    padding: 0;
    font-size: 1.1rem;
}

.section--page_search .tab-nav__item-number {
    font-size: 1.0rem;
}

/* すべて
------------------------------ */

.search-more-btn {
    margin: 16px auto;
}

/* 楽曲
------------------------------ */

.select-search {
    margin: 16px auto;
    text-align: center;
}

.select-search__item {
    display: inline-block;
    position: relative;
    width: 40%;
    background: #fff;
    text-align: center;
}

.select-search__label {
    width: 100%;
    height: 40px;
    font-size: 1.1rem;
    line-height: 40px;
}

.select-search__select {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 40px;
    padding: 0 12px;
    background: transparent;
    font-size: 1.1rem;
}

.select-search__label::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 8px;
    width: 9px;
    height: 5px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
    transform: translateY(-50%);
}

.select-search__title {
    display: none;
}

.search-message {
    display: flex;
    display: -ms-flexbox;
    margin: 16px auto;
    padding: 16px;
    min-height: 96px;
    align-items: center;
    -ms-flex-align: center;
    background: #fff;
}

.search-message__text {
    font-size: 1.2rem;
    line-height: 1.5;
}

.section--page_search .trend-word {
    margin: 0 auto 16px;
}

/* ==========================================================
 50音/ABC検索
========================================================== */

/* 検索画面
------------------------------ */

.alphabetical-search-main {
    padding: 20px 15px;
    background: #fff;
}

.alphabetical-search__text {
    margin: 0 0 10px 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.alphabetical-search-type-select,
.alphabetical-search-method-select {
    margin: 0 0 25px 0;
}

.alphabetical-search__btn-container {
    display: inline-block;
    width: 48%;
}

.alphabetical-search__btn-container:last-of-type {
    float: right;
}

.alphabetical-search__btn {
    display: block;
    position: relative;
    margin: 0 auto;
    height: 34px;
    text-align: center;
    font-size: 1.4rem;
    line-height: 33px;
    border: 1px solid #c9146c;
    border-radius: 4px;
    background: #fff;
    color: #c9146c;
}

.alphabetical-search__check:checked + .alphabetical-search__btn {
    border: none;
    line-height: 34px;
    background: #c9146c;
    color: #fff;
}

.alphabetical-search__check {
    display: none;
}

.selected-letter {
    margin: 0 0 16px 0;
}

.selected-letter--state_hidden {
    display: none;
}

.selected-letter .alphabetical-search-table__cell {
    padding: 0 6px 8px 0;
}

.alphabetical-search-table {
    width: calc(100% + 8px);
    margin-left: -4px;
}

.alphabetical-search-table__cell {
    width: 20%;
    padding: 0 4px 8px;
}

.alphabetical-search-table__link {
    display: block;
    padding: 8px 0;
    font-size: 130%;
    border: 1px solid #c9146c;
    border-radius: 2px;
    text-align: center;
    background: #fff;
    color: #c9146c;
}

.alphabetical-search-table--abc {
    display: none;
}

/* 検索結果画面
------------------------------ */

.search-results-lead {
    display: table;
    width: 100%;
    padding: 16px;
}

.search-results-lead--no-padding-bottom {
    padding: 16px 16px 0;
}

.search-results-lead__number {
    display: table-cell;
    vertical-align: middle;
    font-size: 1.2rem;
    line-height: 1.4;
}

.search-results-lead__text {
    font-size: 1.2rem;
    line-height: 1.4;
}

.search-results__edit-btn {
    display: table-cell;
    float: right;
}

.search-results__edit-btn-link {
    display: block;
    position: relative;
    width: 130px;
    text-align: center;
    padding: 11px 16px;
    border: 1px solid #c9146c;
    background: #fff;
    color: #c9146c;
    font-size: 1.4rem;
    line-height: 1.4;
    border-radius: 2px;
}

/* 右カラム
------------------------------ */

.col2-right-col {
    display: none;
}
/* ==========================================================
 特集ページ共通
========================================================== */

/* 共通
------------------------------ */
.section--page_special {
    margin: 0 0 36px 0;
}

.step-number {
    display: inline-block;
    padding: 5px 16px;
    margin: 0 0 8px 0;
    font-size: 1.2rem;
    color: #fff;
    background: #c9146c;
}

/* フリーテンプレート
------------------------------ */
.special-banner {
    position: relative;
    padding: 52.5% 0 0 0; /* バナー表示部分の縦横比をpaddingで指定 */
}

.special-banner--no-margin-bottom {
    margin: 0;
}

.special-banner__image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
}

.special-detail-lead {
    margin: 0 0 32px 0;
    padding: 24px 16px;
    background: #fff;
}

.special-detail-lead__text {
    margin: 0 0 1.4rem;
    font-size: 1.2rem;
    line-height: 1.4;
}

.special-detail-lead__text:last-of-type {
    margin: 0;
}

/* ==========================================================
 特集一覧ページ
========================================================== */

/* 一覧リスト表示
------------------------------ */

.special-list {
    margin: 16px 0 0 0;
}

.special-list__item {
    position: relative;
    letter-spacing: 0;
}

.special-list__link {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0 0 12px;
    background: #fff;
}

.special-list__item:last-child .special-list__link {
    margin-bottom: 0;
}

.special-list__thumb {
    display: table-cell;
    position: relative;
    padding: 26.25% 0 0 0; /* バナー表示部分の縦横比/2をpaddingで指定 */
}

.special-list__thumb-image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
}

.special-list__info {
    display: table-cell;
    vertical-align: middle;
    padding: 0 30px 0 10px;
    line-height: 1.2;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 10px top 50%;
    background-size: 10px auto;
}

.special-list__title {
    padding: 2px 0;
    font-size: 1.2rem;
    font-weight: 700;
}

.special-list__text {
    padding: 2px 0;
    font-size: 1.0rem;
    font-weight: 500;
}

/* ==========================================================
 特集 各記事表示
========================================================== */

/* メインエリア
------------------------------ */

.special-main {
    padding: 24px 16px;
    margin: 0 0 40px 0;
    background: #fff;
}

.special-main--margin-bottom_8 {
    margin: 0 0 8px 0;
}

.special-main:last-of-type {
    margin: 0;
}

.special-main__title {
    padding: 0 0 10px 0;
    margin: 0 0 15px 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.3;
    border-bottom: 1px solid #dcdcdc
}

.special-main__step {
    display: block;
    font-size: 1.4rem;
}

.special-main__content {
    font-size: 1.2rem;
    line-height: 1.4;
}

.special-main__content--margin-bottom_large {
    margin: 0 0 48px 0;
}

.special-main__paragraph {
    margin: 0 0 16px 0;
}

.special-main__left {
    display: inline-block;
    vertical-align: middle;
}

.special-main__app-icon {
    width: 36px;
    margin: 0 8px 0 0;
}

.special-main__right {
    display: inline-block;
    vertical-align: middle;
}

.special-main__download-icon {
    width: 20px;
}

.special-main__image {
    margin: 24px auto 48px;
    width: 256px;
}

.special-main__paragraph--align_center {
    text-align: center;
}

.special-main__paragraph:last-of-type {
    margin: 0;
}

.special-main__paragraph img {
    max-width: 328px;
}

/* 特集用チェックボックス */

.special-main__check {
    margin: 16px 0;
    text-align: center;
}

.special-main__check-text {
    position: relative;
    padding: 0 0 0 18px;
    cursor: pointer;
}

.special-main__check-text::before {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 9px;
    height: 9px;
    border: 1px solid #888;
}

.special-main__check input:checked + .special-main__check-text::after {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 2px;
    width: 11px;
    height: 11px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_check.png) no-repeat 50%;
    background-size: contain;
}

.special-content-heading {
    margin: 0 0 16px 0;
    font-size: 1.6rem;
}

.special-btn-area {
    margin: 24px auto 0;
}

/* サブエリア
------------------------------ */

.special-sub {
    padding: 16px;
    background: #fff;
}

.special-sub__text {
    margin: 0 0 16px;
    font-size: 1.2rem;
    line-height: 1.5;
}

.special-sub__caution {
    color: #888;
    font-size: 1.2rem;
    line-height: 1.5;
}

/* 楽曲特集
------------------------------ */

.section--special-product:not(:last-of-type) {
    margin: 0;
    padding: 0 0 16px;
    border-bottom: 8px solid #e5e5e5;
}

.section--special-product:last-of-type {
    margin: 0 0 32px;
}

.special-product__btn {
    margin: 32px auto;
}

.product-list + .special-product__btn {
    margin: 24px auto 8px;
}

.special-detail-lead--mb_narrow {
    margin: 0 0 16px;
}

/* バナーエリア
------------------------------ */
.special-heading {
    position: relative;
    overflow: hidden;
}

/* リード文
------------------------------ */
.special-heading-text {
    padding: 22px 10px;
}

.special-heading-text__heading {
    margin: 0 0 10px;
    font-size: 1.5em;
    font-weight: bold;
}

.special-heading-text__lead p {
    font-size: 1.3rem;
    line-height: 1.7;
}

.special-heading-text__lead h2 {
    font-size: 1.3rem;
    line-height: 1.7;
}

/* ランキング
------------------------------ */

/* 注意文言 */

.special-product-caution {
    margin: 0 0 12px;
    color: #888;
    font-size: 1.1rem;
    line-height: 1.5;
}

/* 受賞コメント */

.special-ranking-comment {
    margin: 0 0 12px;
    padding: 16px;
    background: #fff;
}

.special-ranking-comment__heading {
    color: #c8146c;
    margin: 0 0 16px;
    padding: 0 0 10px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    border-bottom: 1px solid #dcdcdc;
}

.special-ranking-comment__movie-wrap {
    max-width: 480px;
    margin: 0 auto 16px;
}

.special-ranking-comment__movie {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding: 56.25% 0 0;
}

.special-ranking-comment__movie iframe,
.special-ranking-comment__movie object,
.special-ranking-comment__movie embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.special-ranking-comment__text {
    font-size: 1.2rem;
    line-height: 1.5;
}

/* ==========================================================
 ジャンル一覧ページ
========================================================== */

/* 一覧リスト表示
------------------------------ */

.genre-list-wrapper {
    margin: 16px 16px 0;
}

/* ==========================================================
 アルバムスマート購入
========================================================== */

/* アコーディオン部分 */

.accordion-wrap {
    margin: 0 0 16px 0;
    padding: 0 16px;
}

.accordion-inner--state_hidden {
    display: none;
}

.accordion__item {
    background: #fff;
    margin: 0 0 8px 0;
    border: 1px solid #e7e7e7;
}

.accordion__item:last-of-type {
    margin: 0;
}

.accordion__label {
    display: block;
    position: relative;
    padding: 16px 32px 16px 32px;
    font-size: 1.2rem;
    line-height: 1.3;
    text-indent: -16px;
    cursor: pointer;
    transition: all 0.3s;
}

.accordion__label::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 15px;
    height: 10px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.accordion__check {
    display: none;
}

.accordion__content {
    height: 0;
    padding: 0 16px 0 16px;
    overflow: hidden;
    font-size: 1.2rem;
    line-height: 1.3;
    color: #888;
    opacity: 0;
    transition: 0.3s;
}

.accordion__content p {
    margin: 0 0 16px 0;
    padding: 0 0 16px 16px;
    text-indent: -16px;
}

.accordion__content p:last-of-type {
    margin: 0;
    padding: 0 0 0 16px;
}

.accordion__check:checked + .accordion__label + .accordion__content {
    height: auto;
    padding: 16px;
    border-top: 1px solid #e7e7e7;
    opacity: 1;
}

.accordion__check:checked + .accordion__label::after {
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_t_pink_small.png) no-repeat right 50%/10px auto;
}

/* ==========================================================
 dポイントを使おうページ
========================================================== */

.special-beginner-btn-area {
    margin: 24px auto 0;
    padding: 0 16px 0;
}

.special-beginner-btn-area__inner {
    padding: 16px 0 0;
    border-top: 1px solid #dcdcdc;
}

.special-beginner-btn {
    display: block;
    position: relative;
    width: 100%;
    height: 40px;
    margin: 0 auto;
    padding: 0 24px 0 12px;
    border: 1px solid #e7e7e7;
    text-align: left;
    background: #fff;
    color: #c9146c;
    font-size: 1.2rem;
    line-height: 39px;
    border-radius: 2px;
}

.special-beginner-btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

/* ==========================================================
 マイアーティスト登録キャンペーンページ
========================================================== */

.special-myartist__title {
    margin: 0 0 32px 0;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
}

.special-myartist__title .title__small {
    margin: 0 0 8px 0;
    font-size: 1.2rem;
}

.about-myartist {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
}

.campaign-detail__article {
    margin: 0 0 8px 0;
    font-size: 1.4rem;
    font-weight: 700;
}

.campaign-detail__article-text {
    margin: 0 0 24px 0;
    color: #888;
}

.campaign-detail__article-text:last-of-type {
    margin: 0;
}

.campaign-detail__list {
    margin: 0 0 0 5px;
}

.campaign-detail__list-item {
    margin: 0 0 0 12px;
    text-indent: -16px;
}

.campaign-detail__list-item::before {
    content: "\30fb";
}

.campaign-detail__notices-item {
    margin: 0 0 0 12px;
    text-indent: -12px;
}

.campaign-detail__notices-item::before {
    content: "\203b";
}

.myartist-btn-image {
    width: 142px;
    margin: 4px auto;
}

/* ==========================================================
 ハイレゾの楽しみ方ページ
========================================================== */

.about-hires-nav {
    padding: 16px;
    color: #555;
}

.about-hires-nav__item {
    margin: 0 0 12px;
}

.about-hires-nav__link {
    display: block;
    position: relative;
    padding: 12px;
    border: 1px solid #e7e7e7;
    background: #fff;
    font-size: 1.2rem;
}

.about-hires-nav__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 9px;
    height: 5px;
    margin: 0 0 0 6px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
    background-size: 9px auto;
}

.about-hires-nav__item:last-of-type {
    margin: 0;
}

.about-hires {
    padding: 20px;
    margin: 0 0 20px;
    background: #fff;
    font-size: 1.1rem;
    line-height: 1.4;
}

.about-hires__child {
    margin: 0 0 20px;
}

.about-hires__child:last-of-type {
    margin: 0;
}

.about-hires__heading {
    margin: 0 0 16px;
    padding: 0 0 16px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.6rem;
}

.about-hires__lead {
    margin: 0 0 16px;
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.4;
}

.about-hires__highlight {
    color: #c9146c;
}

.about-hires__text {
    margin: 0 0 20px;
    color: #888;
}

.about-hires-image {
    margin: 20px auto 0;
    text-align: center;
}

.about-hires-image--margin_bottom {
    margin: 20px auto;
}

.hires-specs-heading {
    margin: 0 0 18px;
    color: #c9146c;
    font-size: 1.2rem;
}

.hires-specs-detail {
    margin: 0 0 20px;
    letter-spacing: -0.4em; /* カラム落ち対策 */
}

.hires-specs-detail__item-name,
.hires-specs-detail__item-description {
    display: inline-block;
    margin: 0 0 5px 0;
    line-height: 1;
    letter-spacing: normal;
}

.hires-specs-detail__item-name {
    width: 33%;
    vertical-align: top;
}

.hires-specs-detail__item-description {
    width: 67%;
    vertical-align: top;
}

.hires-specs-detail__item-description::before {
    content: ":";
    display: inline-block;
    margin: 0 0.5em 0 0;
    vertical-align: top;
}

.hires-specs-text {
    text-align: center;
    font-size: 1.2rem;
}

.hires-trial:not(:last-child) {
    margin: 0 0 20px 0;
}

.hires-trial__image,
.hires-trial__info {
    display: inline-block;
    vertical-align: top;
}

.hires-trial__image {
    display: inline-block;
    width: 85px;
}

.hires-trial__info {
    padding: 12px 0 0 5px;
    font-size: 1.2rem;
}

.hires-trial__song {
    font-weight: 700;
}

.hires-trial__artist {
    color: #999;
}

.about-hires-btns {
    margin: 8px 0 0;
    letter-spacing: -0.4em; /* カラム落ち対策 */
}

.about-hires-btns__btn {
    display: inline-block;
    position: relative;
    width: 49%;
    margin: 0 2% 8px 0;
    padding: 10px;
    text-align: center;
    border: 1px solid #e7e7e7;
    font-size: 1.0rem;
    letter-spacing: normal;
}

.about-hires-btns__btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 6px;
    width: 5px;
    height: 9px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
    background-size: 5px auto;
    transform: translateY(-50%);
}

.about-hires-btns__btn:nth-child(2n) {
    margin: 0;
}

.how-to-play {
    margin: 0 0 16px 0;
}

.how-to-play__target {
    padding: 12px;
    text-align: center;
    background: #c9146c;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
}

.how-to-play__detail {
    padding: 12px;
    border-right: 1px solid #c9146c;
    border-bottom: 1px solid #c9146c;
    border-left: 1px solid #c9146c;
}

.how-to-play__steps {
    margin: 0 0 16px;
}

.how-to-play__step {
    margin: 0 0 8px;
    padding: 0 0 0 13px;
    text-indent: -13px;
}

.launch-app__link {
    display: table;
    table-layout: fixed;
}

.launch-app__icon,
.launch-app__text {
    display: table-cell;
    vertical-align: middle;
}

.launch-app__icon {
    padding: 0 4px 0 0;
}

.launch-app__icon-image {
    width: 25px;
}

.launch-app__text {
    color: #c9146c;
    font-size: 1.3rem;
    line-height: 1.3;
}

.download-notices__heading {
    margin: 0 0 12px;
    color: #555;
    font-size: 1.2rem;
}

.download-notices__item {
    padding: 0 0 0 14px;
    text-indent: -7px;
    color: #888;
}

.download-notices__item::before {
    content: "\30fb";
    display: inline-block;
}

.player-type {
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #dcdcdc;
}

.player-type__heading,
.hires-device-compatibilities__heading {
    margin: 0 0 16px;
    color: #c9146c;
    font-size: 1.2rem;
}

.player-type__sub-heading {
    margin: 0 0 12px;
    color: #555;
    font-size: 1.2rem;
}

.player-type__text {
    color: #888;
}

.pc-software {
    margin: 20px 0 0;
}

.pc-software__software-name {
    margin: 0 0 4px;
    color: #555;
    font-size: 1.2rem;
}

.pc-software__text {
    color: #888;
}

.pc-software-image {
    margin: 20px 0 0;
    padding: 0 16px;
}

.hires-device-compatibilities__text {
    line-height: 1.7;
}

/* ==========================================================
 サンプル音源（ハイレゾ）ページ
========================================================== */

.hires-sample-lead {
    width: 100%;
    padding: 16px;
}

.hires-sample-lead__text {
    font-size: 1.2rem;
    line-height: 1.4;
}

.hires-sample-block {
    padding: 12px;
    background: #fff;
}

.hires-sample-block:first-child {
    margin: 0 0 16px;
}

.hires-sample-block__heading {
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.4rem;
}

.hires-sample-list__item {
    text-align: center;
}

.hires-sample-list__heading {
    margin: 0 0 8px;
    font-size: 1.3rem;
}

.hires-sample-list__btn {
    margin: 0 0 24px;
}

.md-btn-function.-size_medium.-light.-hires-sample {
    min-width: initial;
}

.app-start {
    margin: 24px 0 0;
    text-align: center;
}

.app-start__lead {
    margin: 0 0 12px;
    font-size: 1.3rem;
}

.app-install {
    margin: 24px 0 0;
    text-align: center;
}

.app-install__lead {
    font-size: 1.3rem;
}

.app-install__btn {
    width: 60%;
    max-width: 300px;
    margin: 0 auto;
}

.md-btn-function.-size_medium.-hires-sample {
    min-width: initial;
}

.hires-sample__link-arrow {
    text-align: right;
}

/* ==========================================================
 iOSアプリ導線 ログインページ
========================================================== */

.app-login-section {
    margin-top: 16px;
    background: #fff;
}

.app-login-section__inner {
    padding: 32px 16px;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.3;
}

.app-login-section__button {
    margin-top: 16px;
}

/* ==========================================================
 インスタントウィン（くじ）ページ
========================================================== */

.iwin {
    margin: 0 0 8px 0;
    padding: 24px 16px;
    background: #fff;
}

.iwin:first-of-type {
    margin-top: 16px;
}

.iwin--margin-bottom__large {
    margin-bottom: 32px;
}

.iwin__message {
    margin: 0 0 40px 0;
    color: #c9146c;
    text-align: center;
    line-height: 1.4;
    font-size: 1.6rem;
    font-weight: 700;
}

.iwin__message--lose {
    color: #555;
}

.iwin__title {
    margin: 0 0 16px 0;
    font-size: 1.4rem;
    font-weight: 700;
}

.iwin__coupon-number-area {
    display: table;
    width: 100%;
    margin: 0 auto 32px;
    table-layout: fixed;
}

.iwin__coupon-number-inner {
    display: table-cell;
    padding: 8px;
    font-size: 1.6rem;
    border: 2px solid #c9146c;
}

.iwin__coupon-number {
    width: 100%;
    font-size: 1.8rem;
}

.iwin__copy-btn {
    display: table-cell;
    padding: 4px;
    width: 70px;
    height: 100%;
    text-align: center;
    font-size: 1.2rem;
    background: #c9146c;
    color: #fff;
    vertical-align: middle;
    cursor: pointer;
}

.iwin__text {
    font-size: 1.2rem;
    line-height: 1.4;
}

.iwin__text--error {
    color: #c9146c;
}

.iwin__paragraph {
    margin: 0 0 1.2rem 0;
}

.iwin__expiration-date {
    font-weight: 700;
    color: #c9146c;
}

.iwin__btn {
    margin: 24px auto;
}

.iwin__btn:first-child {
    margin: 0 auto 24px;
}

.iwin__btn:last-child {
    margin: 24px auto 0;
}

.iwin__caution {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.4;
    color: #c9146c;
}

.iwin__notices {
    margin: 16px 0 0 0;
    padding: 0 0 0 16px;
    text-indent: -8px;
    line-height: 1.4;
    font-size: 1.2rem;
}

.iwin__notices::before {
    display: inline-block;
    content: "\203b";
}

.iwin__notices-list {
    margin: 0 0 0 5px;
}

.iwin__notices-list__item {
    margin: 0 0 4px 4px;
    text-indent: -12px;
    line-height: 1.4;
}

.iwin__notices-list__item::before {
    content: "\30fb";
}

.iwin__step {
    margin: 0 0 40px 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.iwin__step:last-of-type {
    margin: 0;
}

.iwin__step-img {
    max-width: 328px;
    margin: 16px auto 0;
}

.iwin__step-notice {
    padding: 16px;
}

/* ==========================================================
 すごろくアイテム取得完了ページ
========================================================== */

.item-obtainment {
    margin: 0 0 24px 0;
    padding: 24px 16px;
    background: #fff;
}

.item-obtainment__message {
    margin: 0 0 24px 0;
    text-align: center;
}

.item-obtainment__message p {
    margin-bottom: 16px;
    font-size: 1.2rem;
}

.item-obtainment__message p:first-of-type {
    color: #c9146c;
    line-height: 1.4;
    font-size: 1.6rem;
    font-weight: 700;
}

.item-obtainment__message p:last-of-type {
    margin-bottom: 0;
}

.item-obtainment-btn {
    max-width: 360px;
    margin: 40px auto 0;
}

.item-obtainment__notices-inner {
    font-size: 1.2rem;
    line-height: 1.4;
}

.item-obtainment__notices-paragraph {
    margin: 0 0 8px 0;
}

.item-obtainment__notices-list {
    margin: 0 0 24px 12px;
}

.item-obtainment__notices-list-item {
    margin: 0 0 8px 0;
    list-style: decimal;
}

.item-obtainment__notices-list-item:last-of-type {
    margin: 0;
}

.item-obtainment__notices-notes {
    margin: 0 0 24px 10px;
    text-indent: -7px;
}

.item-obtainment__notices-notes-item {
    margin: 0 0 8px 0;
}

.item-obtainment__notices-notes-item::before {
    display: inline-block;
    content: "\203b";
}

.item-obtainment__notices-note--important {
    color: #c9146c;
}

/* ==========================================================
 テレビで話題
========================================================== */

.section--page_special .tab-nav {
    margin: 16px 0 0 0;
}

.section--page_special .tab-body {
    margin: 16px;
}

/* ==========================================================
ご利用規約ページ
========================================================== */

.terms-of-use {
    padding: 20px 10px;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

.terms-of-use__preamble {
    margin: 0 0 20px 0;
}

.terms-of-use__article-content {
    margin: 0 0 20px 0;
}

.tou-foot {
    line-height: 1.4;
    text-align: right;
}

.tou-foot__concluded {
    margin-bottom: 20px;
}

/* ==========================================================
 提供事業者等に関する表示
========================================================== */

.operator__heading {
    padding: 10px;
    font-size: 1.2rem;
    background: #f2f2f2;
    color: #888;
    border-bottom: 8px solid #e7e7e7;
}

.operator-content {
    background: #f2f2f2;
    border-bottom: 8px solid #e7e7e7;
}

.operator-content:last-of-type {
    border-bottom: none;
}

.operator-content__heading {
    padding: 15px;
    border-bottom: 1px solid #e7e7e7;
    font-size: 1.4rem;
}

.operator-content__text {
    padding: 15px;
    color: #888;
}

.operator-content__text-paragraph {
    margin: 0 0 20px 0;
    font-size: 1.2rem;
    line-height: 1.5;
}

.operator-content__text-paragraph:last-of-type,
.operator-content__text-paragraph.-margin-bottom-none {
    margin: 0;
}

.operator-content-list {
    margin: 0 0 20px 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.operator-content-list__item {
    padding: 0 0 0 1.5em;
    text-indent: -1.5em;
}

/* ==========================================================
 プライバシー・ポリシーページ
========================================================== */

.privacy-content {
    padding: 16px;
    background: #f2f2f2;
    border-bottom: 8px solid #e7e7e7;
    font-size: 1.2rem;
}

.privacy-content:last-of-type {
    border-bottom: none;
}

.privacy-content__heading {
    padding: 0 0 16px 0;
    font-size: 1.6rem;
    border-bottom: 1px solid #e7e7e7;
}

.privacy-content__text {
    padding: 16px 0 0 0;
    line-height: 1.5;
    color: #888;
}

.privacy-content__text-paragraph {
    margin: 0 0 20px 0;
}

.privacy-content__text-paragraph:last-of-type {
    margin: 0;
}

.privacy-content-list {
    margin: 0 0 20px 15px;
    font-size: 1.2rem;
    line-height: 1.4;
}

.privacy-content-list__item {
    margin: 0 0 10px 0;
    list-style-type: decimal;
}

/* ==========================================================
 メールサービスご確認事項ページ
========================================================== */

.mail-service-notice-preamble {
    padding: 20px 10px;
    border-bottom: 8px solid #e5e5e5;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

.mail-service-notice-content__heading {
    margin: 0 0 15px 0;
    padding: 0 0 15px 0;
    line-height: 1;
    border-bottom: 1px solid #e7e7e7;
    font-size: 1.4rem;
}

.mail-service-notice-content {
    padding: 15px;
    border-bottom: 8px solid #e7e7e7;
    line-height: 1.4;
    background: #f2f2f2;
}

.mail-service-notice-content:last-of-type {
    border-bottom: none;
}

.mail-service-notice-content-list {
    margin: 0 0 0 15px;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

.mail-service-notice-content-list__item {
    margin: 0 0 10px 0;
    list-style-type: disc;
}

.mail-service-notice-content-list__item:last-of-type {
    margin: 0;
}

/* ==========================================================
 対応機種一覧ページ
========================================================== */

.compatibility-content {
    padding: 16px;
}

.compatibility-content__heading {
    margin: 0 0 24px 0;
    font-size: 1.6rem;
}

.compatibility-content__careers {
    margin: 0 auto 24px;
    overflow: hidden;
}

.compatibility-content__career-item {
    float: left;
    width: 33.3333%;
    padding: 0 10px 0 0;
}

.compatibility-content__career-item:last-of-type {
    padding: 0;
}

.compatibility-content__career-item a {
    display: block;
    padding: 12px 0;
    width: 100%;
    font-size: 1.2rem;
    text-align: center;
    color: #c9146c;
    border: 1px solid #c9146c;
    border-radius: 4px;
    background: #fff;
}

.compatibility-lock-icon {
    width: 12px;
}

.compatibility-content__career-block {
    margin: 0 0 24px 0;
}

.compatibility-content__carrier-name {
    margin: 0 0 8px 0;
    font-size: 1.4rem;
    color: #555;
}

.compatibility-content__devices-list {
    font-size: 1.2rem;
    line-height: 1.4;
}

.compatibility-content__devices-list:last-of-type {
    margin: 0;
}

.devices-list-item__link {
    display: block;
    position: relative;
    width: 100%;
    margin: 0;
    padding: 12px 24px 12px 12px;
    border-top: 1px solid #e7e7e7;
    border-right: 1px solid #e7e7e7;
    border-left: 1px solid #e7e7e7;
    text-align: left;
    background: #fff;
    font-size: 1.2rem;
    border-radius: 2px;
}

.compatibility-content__devices-list-item:last-of-type .devices-list-item__link {
    border-bottom: 1px solid #e7e7e7;
}

.devices-list-item__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 10px;
    height: 15px;
    background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
    background-size: 10px auto;
    transform: translateY(-50%);
}

.compatibility-content__inner {
    margin: 0 0 24px 0;
}

.compatibility-content__inner:last-of-type {
    margin: 0;
}

.compatibility-content__devices-list:last-of-type {
    margin: 0;
}

.compatibility-content__notes {
    clear: both;
    margin: 0 0 32px 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.section-page__compatibility .tab-nav__item {
    font-size: 1.2rem;
    line-height: 1.2;
}

.requirements-title {
    margin: 0 0 16px 0;
    font-size: 1.4rem;
}

.requirements {
    font-size: 1.2rem;
    padding: 16px;
    margin: 0 0 32px 0;
    background: #fff;
}

/* 一番下の .requirements用 margin調整 */
.requirements--bottom {
    margin: 0 0 8px 0;
}

.requirements__list {
    list-style: disc;
    padding: 0 0 0 16px;
    margin: 0 0 24px 0;
}

.requirements__list:last-of-type {
    margin: 0;
}

.requirements__item {
    line-height: 1.4;
}

.requirements__notes {
    color: #999;
}

.requirements-notes__item {
    color: #999;
    padding: 0 0 0 1em;
    line-height: 1.4;
    text-indent: -1em;
}

/* ==========================================================
 対応機種詳細ページ
========================================================== */

.compatibility-detail-wrap {
    padding: 0 16px;
}

.compatibility-detail {
    padding: 0 0 24px;
    margin: 0 0 24px 0;
    border-bottom: 1px solid #dcdcdc;
}
.compatibility-detail:last-of-type {
    margin: 0;
    padding: 0;
    border-bottom: 0;
}
.compatibility-detail__title {
    font-size: 1.4rem;
    margin: 0 0 16px 0;
}

.compatibility-detail__os {
    padding: 12px;
    margin: 0 0 32px 0;
    font-size: 1.2rem;
    background: #fff;
}

.compatibility-detail-products {
    margin: 0 0 4px 0;
    letter-spacing: -.4em;
}

.compatibility-detail-products__item {
    display: inline-block;
    position: relative;
    width: 49.5%;
    padding: 12px;
    margin: 0 1% 4px 0;
    font-size: 1.2rem;
    letter-spacing: 0;
    text-indent: 15px;
    background: #fff;
}

.compatibility-detail-products__item:nth-of-type(2n) {
    margin: 0 0 4px 0;
}

.compatibility-detail-products__item.ok::before {
    display: block;
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    left: 10px;
    top: 50%;
    border: 2px solid #c9146c;
    border-radius: 20px;
    transform: translateY(-50%);
}

.compatibility-detail-products__item.ng::before,
.compatibility-detail-products__item.ng::after {
    display: block;
    content: "";
    position: absolute;
    width: 2px;
    height: 14px;
    left: 16px;
    top: 50%;
    background: #999;
}

.compatibility-detail-products__item.ng::before {
    transform: translateY(-50%) rotate(45deg);
}

.compatibility-detail-products__item.ng::after {
    transform: translateY(-50%) rotate(135deg);
}

/* ==========================================================
 著作権管理団体番号ページ
========================================================== */

.copyright_number {
    padding: 20px 15px 0 15px;
    font-size: 1.1rem;
    line-height: 1.4;
    color: #888;
}

.copyright_number__content {
    display: table;
    margin: 0 0 16px 0;
    padding: 0 0 0 12px;
}

.copyright_number__content:last-of-type {
    margin: 0;
}

.copyright-logo {
    display: table-cell;
    vertical-align: middle;
    width: 100px;
}

.copyright-number__list {
    display: table-cell;
    vertical-align: middle;
    padding: 0 0 0 12px;
}

/* ==========================================================
 商品説明ページ
========================================================== */

.about-products-item {
    padding: 16px;
    background: #fff;
}

.about-products-item:last-of-type {
    margin: 0;
}

.about-products-item__title {
    padding: 0 0 10px 0;
    margin: 0 0 15px 0;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    border-bottom: 1px solid #dcdcdc
}

.about-products-item__content {
    font-size: 1.2rem;
    line-height: 1.4;
    color: #888;
}

.about-products-text__paragraph {
    margin: 0 0 16px 0;
}

.about-products-text__paragraph:last-of-type {
    margin: 0;
}

.about-products-text .important-note {
    color: #c9146c;
}

.about-products-note {
    padding: 10px 15px;
    font-size: 1.2rem;
    line-height: 1.4;
}

.about-products-note__paragraph {
    margin: 0 0 16px 0;
    color: #888;
}

.about-products-note__paragraph:last-of-type {
    margin: 0;
}

.about-products-list {
    margin: 0 0 16px 0;
    color: #888;
}

.about-products-list:last-of-type {
    margin: 0;
}

.about-products-list__item {
    list-style: disc;
    margin: 0 0 0 16px;
}

/* ==========================================================
 Slick Slider
========================================================== */

.slick-slider {
    display: block;
    position: relative;
    box-sizing: border-box;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 0;
    left: 0;
}

.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;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* 幅：360未満 ------------------------------------------------------------ */

@media screen and (max-width: 359px) {

    /* ==========================================================
     site-header
    ========================================================== */

    /* 小さいデバイスはロゴを小さくする */
    .site-header__logo {
        width: 76px;
        margin: 8px 0 8px 8px;
    }

    .site-header__logo-link {
        width: 76px;
    }

    /* ==========================================================
     楽曲／アルバム ページ共通
    ========================================================== */

    /* メイン情報エリア
    ------------------------------ */

    .song-main-type__type {
        width: 35%;
        font-size: 1.2rem;
    }

    .song-main-type__price {
        width: 65%;
    }

    .song-main-type__price-usual {
        font-size: 1.3rem;
    }

    .song-main-type__spec {
        font-size: 1.0rem;
    }

    /* 種別情報エリア
    ------------------------------ */

    .song-type__price-usual {
        font-size: 1.5rem;
    }

    /* ==========================================================
     商品（支払い方法選択） ページ
    ========================================================== */

    /* 支払い方法の選択
    ------------------------------ */

    .payment__price {
        width: 60px;
    }

    .payment__dcoin-price {
        width: 110px;
    }

    .payment__text,
    .payment__price,
    .payment__dcoin-price {
        font-size: 1.4rem;
    }

    /* 高額商品用のレイアウト調整 */
    /* 価格が6桁か7桁の時に"payment__list"と並列して"payment__list--high-priced"クラスを付与 */

    .payment__list--high-priced .payment__text {
        font-size: 1.1rem;
    }

    .payment__list--high-priced .payment__price {
        width: 80px;
    }

    /* ==========================================================
     検索結果
    ========================================================== */

    /* 楽曲
    ------------------------------ */

    .section--page_search .tab-nav__item {
        font-size: 1.0rem;
    }

}

/* 幅：1000未満 ------------------------------------------------------------ */

@media screen and (max-width:999px) {

    /* ==========================================================
     common
    ========================================================== */

    .site-global-nav__btn--state_off {
        display: none;
    }

    /* 試聴プレイヤー
    ------------------------------ */

    .audition-player {
        position: fixed;
        bottom: -85px;
        left: 0;
        width: 100%;
        padding: 12px 0 0 12px;
        opacity: 0;
        background: rgba(51, 51, 51, 0.9);
        z-index: 20;
        transition: 0.3s;
    }

    .audition-player--state_active {
        bottom: 0;
        opacity: 1;
    }

    .audition-player__inner {
        display: table;
        table-layout: fixed;
        position: relative;
        width: 100%;
        height: 58px;
    }

    .audition-player__thum {
        display: table-cell;
        width: 58px;
        vertical-align: top;
    }

    .audition-player__thum-image {
        background: 50% no-repeat;
        background-size: contain;
    }

    .audition-player__audition {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 58px;
        text-align: center;
        vertical-align: middle;
    }

    .audition-player__audition-btn {
        display: block;
        width: 58px;
        height: 58px;
        margin: 0 auto;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
    }

    .audition-player__audition-btn--state_play {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_audition_player_play_small.png) no-repeat 50%;
        background-size: 24px auto;
    }

    .audition-player__audition-btn--state_pause {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_audition_player_pause_small.png) no-repeat 50%;
        background-size: 24px auto;
    }

    .audition-player__info {
        display: table-cell;
        position: relative;
        width: 100%;
        vertical-align: middle;
        padding: 0 5px;
        color: #fff;
    }

    .audition-player__title {
        margin: 0 0 5px 5px;
        font-size: 1.2rem;
        line-height: 1.4;
    }

    .audition-player__artist {
        margin: 0 0 0 5px;
        font-size: 1.0rem;
        line-height: 1.4;
    }

    .audition-player__control {
        position: relative;
        height: 2px;
        padding: 0 68px 0 0;
    }

    .audition-player__control-time {
        position: absolute;
        right: 0;
        top: -5px;
        width: 68px;
        text-align: right;
    }

    .audition-player__control-bar {
        width: 100%;
        height: 2px;
        margin: 0 68px 0 0;
        background: #fff;
    }

    .audition-player__control-bar-now {
        display: block;
        width: 30px;
        height: 2px;
        background: #c9146c;
    }

    .audition-player__control-volume {
        display: none;
    }

    .audition-player__purchase {
        display: table-cell;
        vertical-align: middle;
        width: 72px;
        padding: 0 8px 15px;
    }

    .audition-player__purchase .md-btn-function {
        height: 34px;
        line-height: 34px;
        font-size: 1.2rem;
    }

    .audition-player__close {
        display: none;
        position: absolute;
        top: -28px;
        right: 0;
        width: 48px;
        height: 28px;
        background: rgba(51, 51, 51, 0.9) url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_close_white.png) no-repeat 50%;
        background-size: 12px auto;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        cursor: pointer;
    }

    /* 試聴プレイヤー （mediaElementsのオーバーライド）
    ------------------------------ */

    .mejs__controls {
        padding: 0;
    }

    .mejs__volume-button {
        display: none;
    }

    .mejs__horizontal-volume-slider {
        display: none;
    }

    /* ==========================================================
     トップページ
    ========================================================== */

    /* スライダー
    ------------------------------ */

    .content-slider {
        overflow: hidden;
    }

    .content-slider__inner {
        overflow: hidden;
    }

    .content-slider__item {
        float: left;
        padding-left: 16px;
    }

    .content-slider__new,
    .content-slider__ranking {
        height: 291px;
    }

    .content-slider__tieup,
    .content-slider__recommend {
        height: 194px;
    }

    .content-slider-browsehistory {
        height: 194px;
    }

    /* 1行分のバナーの高さ × 2行 ＋ 1行めと2行めのマージン */
    .content-slider__special {
        height: calc(55vw / 161 * 60 * 2 + 16px + 12px);
    }

    /* 月額訴求エリア
    ------------------------------ */

    .d-monthly-bnr {
        margin-bottom: 28px;
    }

    /* ==========================================================
     楽曲ページ
    ========================================================== */

    .song-type--page_album .song-type__item:last-of-type {
        margin: 0 0 16px;
    }

    .product-list--section_other .product-list__more {
        display: none;
    }

    /* ==========================================================
     ニュース ページ
    ========================================================== */

    /* ニュースアイテム
    ------------------------------ */

    /* iOS端末でアンカーリンクの位置が少しずれることへの対策 */
    .news-item-anchor {
        margin-top: -16px;
        padding-top: 16px;
    }

}

/* 幅：1000以上 ------------------------------------------------------------ */

@media screen and (min-width:1000px) {

    /* デバイス */

    .disp-small {
        display: none;
    }

    .disp-large {
        display: block;
    }

    .disp-large-inner {
        display: block;
        position: relative;
        max-width: 1000px;
        margin: 0 auto;
    }

    /* ==========================================================
     General
    ========================================================== */

    /* ボタン
    ------------------------------ */

    /* ボタン - リンク */

    .md-btn-line {
        font-size: 1.3rem;
    }

    /* ボタン - もっとみる */

    .md-btn-line-more {
        display: block;
        position: relative;
        width: 240px;
        height: 40px;
        margin: 0 auto;
        padding: 0 24px;
        border: 1px solid #888;
        text-align: center;
        background: rgba(255, 255, 255, 0);
        font-size: 1.2rem;
        line-height: 39px;
        border-radius: 2px;
    }

    .md-btn-line-more::after {
        content: "";
        display: inline-block;
        position: relative;
        top: 0;
        right: 0;
        width: 9px;
        height: 5px;
        margin: 0 0 0 6px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_b_pink_small.png) no-repeat right 50%;
        background-size: 9px auto;
        transform: translateY(-50%);
    }

    /* 見出し
    ------------------------------ */

    /* 共通 白背景・グレー下線 見出し */

    .md-heading {
        font-size: 1.8rem;
    }

    .md-heading--margin-bottom {
        margin: 0 0 32px 0;
        font-size: 1.8rem;
    }

    /* リード文
    ------------------------------ */

    .md-lead-area {
        padding: 32px 0 24px 0;
        font-size: 1.4rem;
    }

    /* チェックボックス
    ------------------------------ */

    .md-check-box__label {
        display: inline-block;
        width: 50%;
        border: 1px solid #dcdcdc;
        cursor: pointer;
    }

    .md-check-box .md-check-box__label:nth-child(1) {
        margin: 0;
        border-right: none;
    }

    /* ラジオボタン
    ------------------------------ */

    .md-radio__label {
        display: inline-block;
        width: 50%;
        border: 1px solid #dcdcdc;
        cursor: pointer;
    }

    .md-radio .md-radio__label:nth-child(1) {
        margin: 0;
        border-right: none;
    }

    /* ==========================================================
     共通ヘッダー(site-header-pc)
    ========================================================== */

    /* 機能エリア
    ------------------------------ */

    .site-header-pc__function {
        background: #fff;
    }

    .site-header-pc__function-inner {
        width: 1000px;
        margin: 0 auto;
    }

    .site-header-pc__function-inner::after {
        content: " ";
        display: block;
        clear: both;
    }

    .site-header-pc__logo {
        display: inline-block;
        float: left;
        margin: 0 24px 0 0;
        padding: 18px 0;
    }

    .site-header-pc__logo-link {
        display: block;
        width: 120px;
        height: 24px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/logo_dmusic.png) no-repeat 50%;
        background-size: contain;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
    }

    .site-header-pc__function .search-box {
        float: left;
        width: 460px;
        margin: 10px 0 0 0;
    }

    /* dポイント */

    .site-header-pc__dpoint {
        float: right;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    }

    .site-header-pc__dpoint .dpoint-block-wrapper {
        float: right;
        width: 150px;
        height: 44px;
        margin: 8px 5px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-d1/front/dpoint/icon_arrow.png) right 6px top 17px no-repeat;
        background-size: 6px 10px;
    }

    .site-header-pc__dpoint .dpoint-block-wrapper:hover {
        background-color: #fff;
    }

    .site-header-pc__dpoint .dpoint-block {
        float: right;
        width: 115px;
        margin-right: 16px;
    }

    .site-header-pc__dpoint .dpoint-block__inner {
        height: 39px;
        background-position: right top 5px;
        background-size: 35px;
        background-repeat: no-repeat;
    }

    .site-header-pc__dpoint .dpoint-block__logo {
        float: left;
        padding: 10px 0 0 7px;
        text-indent: -23px;
    }

    .site-header-pc__dpoint .dpoint-block__logo-image {
        width: 24px;
        height: 24px;
    }

    .site-header-pc__dpoint .dpoint-block__point {
        float: right;
        padding: 7px 41px 0 0;
        line-height: 1.0;
    }

    .site-header-pc__dpoint .dpoint-block__number {
        float: right;
        padding: 4px 41px 9px 0;
        line-height: 1.0;
    }

    .site-header-pc__dpoint .dpoint-block__number-point {
        color: #000;
        font-size: 12px;
    }

    .site-header-pc__dpoint .dpoint-block__number-p {
        padding-left: 0.5px;
        color: #999;
        font-size: 10px;
    }

    .site-header-pc__dpoint .dpoint-block__number--minus .dpoint-block__number-point {
        color: #c00000;
    }

    .site-header-pc__dpoint .dpoint-block__number--minus .dpoint-block__number-p {
        color: #996666;
    }

    .site-header-pc__dpoint .dpoint-block__text-wrapper {
        margin-right: 16px;
    }

    .site-header-pc__dpoint .dpoint-block__text {
        padding: 15px 5px 17px;
        text-align: center;
        background: none;
        color: #000;
        font-size: 12px;
        line-height: 1.25;
    }

    /* dアカウント */

    .site-header-pc__daccount {
        float: right;
    }

    .site-header-pc__daccount #point_header_block {
        overflow: hidden;
        float: left;
    }

    .site-header-pc__daccount .daccount-block__inner {
        border: 1px solid #dbd9da;
        background: #fff;
        font-size: 1.2rem;
        margin: 8px 0 8px;
        border-radius: 2px;
    }

    .site-header-pc__daccount .daccount-block__link {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/dpoint/arw_g.png) no-repeat 152px center;
        background-size: 6px;
        display: block;
        width: 162px;
        height: 42px;
        padding: 4px 8px 4px 4px;
        color: #555;
    }

    /* 1000px以上でPC判定時にhoverで色が変わらないように対策 */
    .device-pc .site-header-pc__daccount .daccount-block__link:hover {
        background-color: #fff;
    }

    .site-header-pc__daccount .daccount-block__link--unissued,
    .site-header-pc__daccount .daccount-block__link--daccount {
        background: none;
    }

    .site-header-pc__daccount .daccount-block__info {
        position: relative;
    }

    .site-header-pc__daccount .daccount-block__logo {
        width: 80px;
        margin: 3px 0;
        color: #fff;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/dpoint/daccount.png) no-repeat left top;
        background-size: 50px;
        text-indent: -9999px;
    }

    .site-header-pc__daccount .daccount-block__text {
        float: none;
        line-height: 14px;
        height: 14px;
        font-size: 1.2rem;
    }

    /* プレイヤーアプリ起動ボタン */
    /* タブレットでPCレイアウトが表示されるときのみ適用 */

    .site-header-pc__app-btn {
        float: left;
        width: 37px;
        height: 37px;
        margin: 12px 16px;
    }

    /* ナビゲーション
    ------------------------------ */

    .site-header-pc__nav {
        background: #c9146c;
    }

    .site-header-pc__nav-inner {
        width: 1000px;
        margin: 0 auto;
    }

    .site-header-pc__nav-inner::after {
        content: " ";
        display: block;
        clear: both;
    }

    /* グローバルナビゲーション */

    .site-header-pc-gnav {
        display: inline-block;
        float: left;
    }

    .site-header-pc-gnav__item {
        display: block;
        position: relative;
        float: left;
    }

    .site-header-pc-gnav__item--state_active::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 0;
        border-bottom: 3px solid #fff;
    }

    .site-header-pc-gnav__item-link {
        display: block;
        height: 48px;
        padding: 0 24px;
        text-align: center;
        color: #fff;
        font-size: 1.4rem;
        font-weight: 300;
        line-height: 48px;
    }

    /* PC判定時のみhover処理 */
    .device-pc .site-header-pc-gnav__item-link:hover {
        background: #d44389;
    }

    .site-header-pc-gnav__child {
        display: none;
        position: absolute;
        top: 48px;
        left: 0;
        background: #fff;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
        z-index: 70;
    }

    .site-header-pc-gnav__child-item {
        border-bottom: 1px solid rgba(119, 119, 119, 0.2);
    }

    .site-header-pc-gnav__child-link {
        display: block;
        position: relative;
        width: 280px;
        height: 40px;
        padding: 0 16px;
        font-size: 1.3rem;
        line-height: 39px;
    }

    .site-header-pc-gnav__child-link::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 16px;
        width: 8px;
        height: 14px;
        margin: -7px 0 0;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink.png) no-repeat right 50%;
        background-size: 8px auto;
    }

    /* グローバルサブナビゲーション */

    .site-header-pc-subnav {
        display: inline-block;
        float: right;
    }

    .site-header-pc-subnav__item {
        display: inline-block;
        position: relative;
    }

    .site-header-pc-subnav__item-link {
        display: block;
        position: relative;
        width: 65px;
        height: 48px;
        padding: 34px 0 0;
        text-align: center;
        color: #fff;
        font-size: 0.85rem;
        font-weight: 300;
    }

    /* PC判定時＆1000px以上でhover処理 */
    .device-pc .site-header-pc-subnav__item-link:hover {
        background: #d44389;
    }

    .site-header-pc-subnav__item-link::before {
        content: "";
        display: block;
        position: absolute;
        top: 9px;
        left: 22px;
        width: 21px;
        height: 21px;
    }

    .site-header-pc-subnav__item-link--nav_myportal::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_white.png) no-repeat 50%;
        background-size: contain;
    }

    .site-header-pc-subnav__item-link--nav_first::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_first_white.png) no-repeat 50%;
        background-size: contain;
    }

    .site-header-pc-subnav__child {
        display: none;
        position: absolute;
        top: 48px;
        right: 0;
        background: #555555;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
        z-index: 70;
    }

    .site-header-pc-subnav__child-item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .site-header-pc-subnav__child-item:first-child {
        border-bottom: 1px solid rgba(255, 255, 255, 0.8);
    }

    .site-header-pc-subnav__child-link {
        display: block;
        position: relative;
        width: 280px;
        height: 40px;
        padding: 0 16px 0 42px;
        color: #fff;
        font-size: 1.3rem;
        font-weight: 300;
        line-height: 39px;
    }

    /* PC判定時＆1000px以上でhover処理 */
    .device-pc .site-header-pc-subnav__child-link:hover {
        background: #888;
    }

    .site-header-pc-subnav__child-link::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 16px;
        width: 8px;
        height: 14px;
        margin: -7px 0 0;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_white.png) no-repeat right 50%;
        background-size: 8px auto;
    }

    .site-header-pc-subnav__child-link::before {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: 16px;
        width: 16px;
        height: 16px;
        margin: -8px 0 0;
    }

    .site-header-pc-subnav__child-link--nav_myportal {
        padding: 0 16px;
    }

    .site-header-pc-subnav__child-link--nav_myportal::before {
        content: none;
    }

    .site-header-pc-subnav__child-link--nav_myartist::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_myartist_white.png) no-repeat right 50%;
        background-size: contain;
    }

    .site-header-pc-subnav__child-link--nav_purchase::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_purchase_white.png) no-repeat right 50%;
        background-size: contain;
    }

    .site-header-pc-subnav__child-link--nav_albumsmart::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_albumsmart_white.png) no-repeat right 50%;
        background-size: contain;
    }

    .site-header-pc-subnav__child-link--nav_mail::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_mail_white.png) no-repeat right 50%;
        background-size: contain;
    }

    .site-header-pc-subnav__child-link--nav_first::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_first_white.png) no-repeat right 50%;
        background-size: contain;
    }

    .site-header-pc-subnav__child-link--nav_qa::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_qa_white.png) no-repeat right 50%;
        background-size: contain;
    }

    .site-header-pc-subnav__child-link--nav_notice::before {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_myportal_notice_white.png) no-repeat right 50%;
        background-size: contain;
    }

    .site-global-nav__btn {
        display: none;
    }

    /* ==========================================================
     site-search-nav
    ========================================================== */

    .site-search-nav .section {
        padding: 0 16px;
    }

    .site-search-nav .section-header {
        border-bottom: none;
    }

    /* ==========================================================
     common
    ========================================================== */

    .container {
        margin: 0 auto 48px;
    }

    /* セクション
    ------------------------------ */

    .section {
        margin: 0 0 24px;
    }

    .section__body {
        padding: 0;
    }

    .section-header__heading {
        margin: 0 0 24px;
        padding: 0 0 14px;
        border-top: none;
        border-bottom: 2px solid #c9146c;
        color: #c9146c;
        font-size: 2.0rem;
        font-weight: 700;
    }

    .section-header__sub-heading {
        padding: 16px 0;
        font-size: 1.8rem;
    }

    .section-header__catch {
        padding: 16px 0 10px 0;
    }

    .section-header-with-catch .section-header__sub-heading {
        padding: 0 0 16px 0;
    }

    .section-header__number {
        top: 0;
        right: 0;
    }

    /* パンくず
    ------------------------------ */

    .breadcrumb__list {
        max-width: 1000px;
        margin: 0 auto;
    }

    /* ジャンル一覧
    ------------------------------ */

    .genre-list__item {
        width: calc(calc(100% - 1.2% * 6) / 7);
        height: 110px;
        margin: 0 1.2% 1.2% 0;
    }

    .genre-list__item:nth-child(3n) {
        margin-right: 1.2%;
    }

    .genre-list__item:nth-child(7n) {
        margin-right: 0;
    }

    .genre-list__item:nth-last-child(-n+7) {
        margin-bottom: 0;
    }

    .genre-list__link:hover {
        opacity: 0.6;
    }

    .genre-list__link:after {
        height: 110px;
    }

    .genre-list__link-text {
        font-size: 1.6rem;
    }

    .genre-list__link-text--small {
        font-size: 1.4rem;
    }

    /* 検索急上昇ワード
    ------------------------------ */

    .trend-word {
        padding: 0 0 24px;
    }

    .trend-word__item-link {
        height: 38px;
        font-size: 1.3rem;
        line-height: 37px;
    }

    /* 検索結果なし文言（共通）
    ------------------------------ */

    .no-result-message {
        margin: 0 0 16px 0;
        border-bottom: none;
    }

    /* 楽曲リスト／特集バナーリスト
    ------------------------------ */

    /* clearfix */
    .product-list--col_3::after {
        content: "";
        display: block;
        clear: both;
    }

    .product-list--col_3 .product-list__item--horizontal {
        display: inline-block;
        width: 32.4%;
        margin: 0 1.4% 0 0;
        vertical-align: top;
    }

    .product-list--col_3 .product-list__item--horizontal:nth-child(3n) {
        margin: 0;
    }

    .product-list__more {
        clear: both;
        margin: 24px auto 0;
        letter-spacing: 0;
    }

    /* ページ内リンク　リスト
    ------------------------------ */

    .anchorlink {
        letter-spacing: -0.5em;
    }

    .anchorlink__item {
        display: inline-block;
        letter-spacing: 0;
    }

    .anchorlink__item--short {
        width: 48%;
    }

    .anchorlink__item--short:nth-child(2n+1) {
        margin: 0 4% 8px 0;
    }

    .anchorlink__item--short:nth-child(2n) {
        margin: 0 0 8px 0;
    }

    .anchorlink__item--long-sp {
        width: 100%;
    }

    .anchorlink__item-link {
        display: block;
        padding: 10px;
        font-size: 1.2rem;
        border: 1px solid #efefef;
        background: #fff;
    }

    /* 種別タブ
    ------------------------------ */

    .tab-nav {
        /* table-layout:fixedのままだとSafariで意図しない幅になるので、autoを指定しておく */
        table-layout: auto;
        margin: 0;
        width: auto;
        border-bottom: none;
    }

    .tab-nav__item {
        width: 120px;
        font-size: 1.2rem;
    }

    /* モーダルウィンドウ
    ------------------------------ */

    .modal__body {
        max-width: 800px;
    }

    .modal__body--width-short {
        max-width: 480px;
    }

    .modal__inner {
        padding: 32px 24px;
    }

    .modal-ask-caution .modal-section__text {
        font-size: 1.3rem;
    }

    .modal-ask-caution__discount-discounted {
        font-size: 1.6rem;
    }

    /* 2カラムレイアウト
    ------------------------------ */

    /* 全体 */

    .col2-wrap {
        display: block;
        width: 1000px;
        margin: 0 auto;
    }

    /* clearfix */
    .col2-wrap::after {
        content: "";
        display: block;
        clear: both;
    }

    /* 左カラム */

    .col2-left-col {
        float: left;
        width: 725px;
    }

    /* 右カラム */

    .col2-right-col {
        display: block;
        float: right;
        width: 240px;
        margin: 32px 0 0 0;
    }

    .col2-aside {
        margin: 0 0 24px;
    }

    .col2-aside__title {
        margin: 0 0 13px 0;
        font-size: 1.4rem;
    }

    .col2-aside__more {
        text-align: right;
    }

    .col2-aside__more-link {
        display: inline-block;
        position: relative;
        margin: 12px 0 0 0;
        padding: 0 12px 0 0;
        font-size: 1.2rem;
    }

    .col2-aside__more-link::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 1px;
        width: 5px;
        height: 9px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_gray_small.png) no-repeat right 50%;
        background-size: 5px auto;
        transform: translateY(-50%);
    }

    .col2-aside-nav__item {
        margin: 0 auto 8px;
    }

    .col2-aside-nav__item:last-child {
        margin: 0;
    }

    .col2-aside-nav__item-link {
        display: block;
        position: relative;
        width: 100%;
        height: 40px;
        margin: 0 auto;
        padding: 0 24px 0 12px;
        border: 1px solid #e7e7e7;
        text-align: left;
        background: #fff;
        color: #555;
        font-size: 1.2rem;
        line-height: 39px;
        border-radius: 2px;
    }

    .col2-aside-nav__item-link::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 12px;
        width: 10px;
        height: 15px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
        background-size: 10px auto;
        transform: translateY(-50%);
    }

    .col2-aside-nav__item-link--nav_rank {
        padding: 0 24px 0 40px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .col2-aside-nav__rank-number {
        display: block;
        position: absolute;
        top: 12px;
        left: 12px;
        width: 16px;
        height: 16px;
        text-align: center;
        font-size: 1.0rem;
        line-height: 14px;
    }

    .col2-aside-nav__rank-number--no_1 {
        background: #e3d70f;
        color: #fff;
        border: 1px solid #e3d70f;
    }

    .col2-aside-nav__rank-number--no_2 {
        background: #afafaf;
        color: #fff;
        border: 1px solid #afafaf;
    }

    .col2-aside-nav__rank-number--no_3 {
        background: #c68910;
        color: #fff;
        border: 1px solid #c68910;
    }

    .col2-aside-nav__rank-number--other {
        background: #fff;
        color: #888;
        border: 1px solid #bbb;
        line-height: 14px;
    }

    /* 試聴プレイヤー
    ------------------------------ */

    .audition-player {
        position: fixed;
        bottom: -85px;
        left: 0;
        width: 100%;
        height: 85px;
        opacity: 0;
        background: rgba(51, 51, 51, 0.9);
        z-index: 20;
        transition: 0.3s;
    }

    .audition-player--state_active {
        bottom: 0;
        opacity: 1;
    }

    .audition-player__inner {
        display: table;
        table-layout: fixed;
        position: relative;
        width: 1000px;
        margin: 0 auto;
    }

    .audition-player__thum {
        display: table-cell;
        vertical-align: middle;
        width: 85px;
    }

    .audition-player__thum-image {
        background: 50% no-repeat;
        background-size: contain;
    }

    .audition-player__audition {
        display: table-cell;
        text-align: center;
        vertical-align: middle;
        width: 80px;
    }

    .audition-player__audition-btn {
        display: block;
        width: 33px;
        height: 33px;
        margin: 0 auto;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        border-radius: 50%;
    }

    .audition-player__audition-btn--state_play {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_audition_player_play.png) no-repeat 50%;
        background-size: contain;
    }

    .audition-player__audition-btn--state_pause {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_audition_player_pause.png) no-repeat 50%;
        background-size: contain;
    }

    .audition-player__info {
        display: table-cell;
        position: relative;
        vertical-align: middle;
        padding: 0 32px 0 0;
        color: #fff;
    }

    .audition-player__title {
        margin: 5px 0 5px 10px;
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .audition-player__artist {
        margin: 0 0 3px 10px;
        font-size: 1.2rem;
        font-weight: 300;
        line-height: 1.4;
    }

    .audition-player__control-time {
        padding: 0 35px 6px 0;
        text-align: right;
        font-weight: 300;
    }

    .audition-player__control-bar {
        width: 531px;
        height: 2px;
        background: #fff;
    }

    .audition-player__control-bar-now {
        display: block;
        width: 30px;
        height: 2px;
        background: #c9146c;
    }

    .audition-player__control-volume {
        position: absolute;
        bottom: 18px;
        right: 34px;
    }

    .audition-player__control-volume-btn {
        display: block;
        width: 18px;
        height: 14px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_audition_player_volume.png) no-repeat 50%;
        background-size: contain;
    }

    .audition-player__purchase {
        display: table-cell;
        vertical-align: middle;
        width: 240px;
    }

    .audition-player__close {
        display: none;
        position: absolute;
        top: -32px;
        right: 50%;
        width: 32px;
        height: 32px;
        margin: 0 -500px 0 0;
        background: rgba(51, 51, 51, 0.9) url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_close_white.png) no-repeat 50%;
        background-size: 16px auto;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        cursor: pointer;
    }

    /* タワーレコードリンク
    ------------------------------ */

    .tower {
        width: 480px;
        margin: 48px auto 0;
    }

    /* エラー画面
    ------------------------------ */

    .error-main {
        padding: 24px;
        margin: 24px 0 32px;
        font-size: 1.4rem;
        line-height: 1.8;
        color: #c9146c;
        background: #fff;
    }

    .error-btn {
        width: 240px;
        margin: 0 auto;
    }

    /* 非対応端末画面
    ------------------------------ */

    .unsuported-main {
        padding: 24px;
        margin: 24px 0 32px;
        font-size: 1.4rem;
        line-height: 1.8;
        background: #fff;
    }

    /* ページトップボタン
    ------------------------------ */

    .page-top--state_active {
        bottom: 125px;
    }

    /* アーティスト情報エリア
    ------------------------------ */

    .artist-sub {
        border-bottom: none;
    }

    .artist-sub__photo {
        width: 174px;
    }

    .artist-sub__info {
        padding: 0 0 0 16px;
    }

    .artist-sub__artist {
        font-size: 1.6rem;
    }

    .artist-sub__artist::before {
        width: 14px;
        height: 14px;
    }

    a.artist-sub__artist-link::after {
        /* a要素使用時のみ */
        vertical-align: 1px;
    }

    .artist-sub__artist-link {
        padding: 0 0 0 22px;
    }

    .artist-sub__btn--col_1 {
        float: left;
        width: auto;
        padding: 0 0 0 16px;
    }

    .artist-sub__btn--col_1 .md-btn-line {
        width: 240px;
    }

    /* ==========================================================
     TOPページ
    ========================================================== */

    /* width
    ------------------------------ */

    .container--page_top .section,
    .support-nav {
        width: 1000px;
        margin-right: auto;
        margin-left: auto;
    }

    /* section
    ------------------------------ */

    .tab--page_top .section-header__sub-heading {
        padding: 0 0 24px;
        font-size: 2.0rem;
    }

    /* js
    ------------------------------ */

    .content-slider .content-slider__item {
        float: none;
        min-width: 1000px;
        max-width: 1000px;
        padding: 0;
    }

    /* インフォメーションエリア
  ------------------------------ */

    .top-info {
        max-width: 1000px;
        margin: 0 auto;
        padding: 8px 0;
        overflow: hidden;
    }

    .top-info__list {
        display: table;
        table-layout: fixed;
        width: 1008px;
        margin: 0 0 0 -4px;
    }

    .top-info__item {
        display: table-cell;
        padding: 0 4px;
    }

    .top-info__item-link {
        padding: 13px 26px 13px 40px;
        border: 2px solid #c9146c;
        font-size: 1.4rem;
    }

    .top-info__item-link--icon_info::before {
        width: 18px;
        height: 18px;
        margin: -9px 0 0;
    }

    /* トップスライドバナー
    ------------------------------ */

    .top-slider {
        overflow: hidden;
        margin: 0 auto 32px;
        padding: 8px 0;
        border-bottom: 1px solid #dcdcdc;
        background: #fff;
    }

    .top-slider__list {
        height: 283px;
    }

    .top-slider__item {
        width: 500px;
        height: 262.5px;
        margin: 0 4px;
    }

    .top-slider__item-link {
        width: 500px;
        height: 262.5px;
    }

    .top-slider__item-image {
        width: 500px;
        height: 262.5px;
    }

    .slick-dots-wrap {
        width: 1000px;
        margin: 0 auto;
        overflow: hidden;
    }

    .top-slider .slick-dots {
        table-layout: fixed;
        position: relative;
        bottom: 0;
        width: 1008px;
        margin: 8px 0 0 -4px;
        text-align: center;
    }

    .top-slider .slick-dots__item {
        display: block;
        float: left;
        width: 10%;
    }

    .top-slider__thum {
        display: block;
        position: relative;
        padding-top: 52.5%;
        cursor: pointer;
    }

    .top-slider__thum-image {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: 50% no-repeat;
        background-size: cover;
    }

    .top-slider .slick-arrow {
        position: absolute;
        top: 0;
        width: 100%;
        height: 262.5px;
        background: rgba(255, 255, 255, 0.7);
        z-index: 20;
    }

    .top-slider .slick-arrow.slick-prev {
        right: 50%;
        margin: 0 500px 0 0;
    }

    .top-slider .slick-arrow.slick-next {
        left: 50%;
        margin: 0 0 0 500px;
    }

    .top-slider .slick-arrow::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        width: 16px;
        height: 25px;
        margin: -12px 0 0;
    }

    .top-slider .slick-arrow.slick-prev::after {
        right: 42px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_slider_arrow_l.png) no-repeat 50%;
        background-size: contain;
    }

    .top-slider .slick-arrow.slick-next::after {
        left: 42px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_slider_arrow_r.png) no-repeat 50%;
        background-size: contain;
    }

    .lmark {
        position: absolute;
        bottom: -24px;
        left: 50%;
        width: 16px;
        margin-left: 480px;
    }

    /* フリックコンテンツ
    ------------------------------ */

    .content-slider__inner {
        width: 1000px !important;
        transform: translate3d(0, 0, 0) !important;
    }

    /* clearfix */
    .content-slider__inner::after {
        content: "";
        display: block;
        clear: both;
    }

    .content-slider__new,
    .content-slider__ranking {
        height: 388px;
    }

    .content-slider__tieup,
    .content-slider__recommend {
        height: 194px;
    }

    .content-slider__browsehistory {
        height: 170px;
    }

    .content-slider__special {
        height: 265.47px;
    }

    /* キャンペーン訴求エリア
    ------------------------------ */

    .section--section_campaign {
        height: 208px;
        margin: 0 auto 32px;
    }

    .top-campaign {
        display: table;
        table-layout: fixed;
        width: 100%;
        padding: 24px;
        height: 208px;
    }

    .top-campaign__list {
        display: table-cell;
        width: 100%;
        vertical-align: top;
    }

    .top-campaign__item {
        margin: 0 auto 12px;
    }

    .top-campaign__item-link {
        padding: 26.3px 26px 26.3px 16px;
        font-size: 1.4rem;
    }

    .top-campaign__bnr {
        display: table-cell;
        width: 320px;
        padding: 0 0 0 16px;
        vertical-align: top;
    }

    .top-campaign__bnr-link {
        display: block;
    }

    /* 楽曲リスト／特集バナーリスト
    ------------------------------ */

    .section--section_top .product-list__item--horizontal,
    .section--section_feature .product-list__item--horizontal {
        display: inline-block;
        width: 32.4%;
        margin: 0 1.4% 0 0;
        vertical-align: top;
    }

    .section--section_top .product-list__item--horizontal:nth-child(3n),
    .section--section_feature .product-list__item--horizontal:nth-child(3n) {
        margin: 0;
    }

    /* section
    ------------------------------ */

    .section-header__more {
        top: 0;
        margin: 0;
    }

    /* content-slider
    ------------------------------ */

    .content-slider {
        width: 1000px !important;
        margin: 0 auto 24px;
    }

    .content-slider--section_media .content-slider__item:nth-child(n+4) {
        display: none;
    }

    /* section_recommend
    ------------------------------ */

    .section--section_recommend .section__body {
        margin: 0 0 24px;
    }

    .product-list__item--vertical {
        width: 15%;
        margin: 0 2% 12px 0;
    }

    .product-list__item--vertical:nth-child(3n) {
        margin: 0 2% 12px 0;
    }

    .product-list__item--vertical:nth-child(6n) {
        margin: 0 0 12px 0;
    }

    .product-list__item--vertical .product-list__title {
        font-size: 1.4rem;
    }

    .product-list__item--vertical .product-list__artist {
        font-size: 1.3rem;
    }

    .section--section_recommend .product-list__item:nth-child(n+4) {
        display: inline-block;
    }

    /* タブ
    ------------------------------ */

    .tab--page_top .js-tab-body__item {
        display: block;
    }

    /* サポートメニュー
    ------------------------------ */

    .support-nav {
        margin: 40px auto 48px;
    }

    .support-nav__heading {
        margin: 0 auto 24px;
        padding: 12px 16px;
        font-size: 1.6rem;
    }

    .support-nav__body {
        padding: 0;
        overflow: hidden;
    }

    .support-nav__block {
        float: left;
        width: 32.4%;
        margin: 0 1.4% 12px 0;
    }

    .support-nav__block:nth-child(3n) {
        margin: 0 0 12px;
    }

    .support-nav__item:first-child {
        border-top: 1px solid #ddd;
    }

    .support-nav__item-link {
        padding: 14px 26px 14px 16px;
        font-size: 1.3rem;
        line-height: 1.0;
    }

    .support-nav__item-link::before {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
    }

    /* 月額訴求エリア
    ------------------------------ */

    .d-hits-bnr {
        padding: 20px 16px 32px;
    }

    .d-hits-bnr__link {
        max-width: 51.2%;
    }

    /* dマーケットストア一覧
    ------------------------------ */

    .section--section_d-store {
        margin: 48px auto;
    }

    .section--section_d-store .section-header__sub-heading {
        padding: 0 0 16px;
        color: #b70024;
        font-size: 1.6rem;
    }

    .d-store-pc__list {
        letter-spacing: -.40em;
    }

    .d-store-pc__item {
        width: 19.4%;
        margin: 0 0.75% 10px 0;
        vertical-align: top;
        letter-spacing: normal;
        display: inline-block;
    }

    .d-store-pc__item:nth-child(5n) {
        margin: 0 0 10px;
    }

    .d-store-pc__item-link {
        background-color: #fff;
        display: block;
        height: 120px;
        padding: 10px;
        border-top: 2px solid #bc001a;
    }

    .d-store-pc__store-icon {
        overflow: hidden;
    }

    .d-store-pc__store-icon-image {
        float: left;
        margin-right: 10px;
        width: 45px;
    }

    .d-store-pc__store-name {
        min-height: 20px;
        padding: 4px 0 0 76px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_dstore_arrow.png) 56px 4px no-repeat;
        background-size: 16px 16px;
        font-size: 1.4rem;
        font-weight: 700;
    }

    .d-store-pc__store-text {
        border-top: 1px solid #d6ceb9;
        line-height: 1.3;
        margin-top: 5px;
        padding-top: 5px;
    }

    /* TV/特集/オススメ
    ------------------------------ */

    .section--section_feature .specialbnr-list__item {
        display: inline-block;
        float: left;
        width: 32.4%;
        margin: 0 1.4% 12px 0;
        vertical-align: top;
    }

    .section--section_feature .specialbnr-list__item:nth-child(2n) {
        margin: 0 1.4% 12px 0;
    }

    .section--section_feature .specialbnr-list__item:nth-child(3n) {
        margin: 0 0 12px;
    }

    .section--section_feature .product-list__item--horizontal {
        float: left;
    }

    .section--section_feature .content-slider__item:nth-child(2n) .specialbnr-list__item:nth-child(2n+1),
    .section--section_feature .content-slider__item:nth-child(3n) .specialbnr-list__item:nth-child(2n),
    .section--section_feature .content-slider__item:nth-child(2n) .product-list__item:nth-child(2n+1),
    .section--section_feature .content-slider__item:nth-child(3n) .product-list__item:nth-child(2n) {
        margin-right: 0;
    }

    .top-more-btn {
        margin: 0 auto 24px;
    }

    /* ajaxエラーメッセージ
    ------------------------------ */
    .ajax-error-message {
        margin: 24px 0 32px;
        font-size: 1.4rem;
        line-height: 1.8;
        background: #fff;
    }

    /* ==========================================================
     楽曲／アルバム ページ共通
    ========================================================== */

    /* メイン情報エリア
    ------------------------------ */

    .song-main {
        position: relative;
        overflow: hidden;
        margin-bottom: 12px;
        background: #fff;
    }

    .song-main__header {
        position: relative;
        padding: 12px 0;
        background: #fff;
        z-index: 1;
    }

    .song-main__title {
        background: #fff;
        width: 1000px;
        margin: 0 auto;
        padding: 0 0 0 22px;
    }

    .song-main__bg {
        opacity: 0.2;
        filter: blur(10px);
        position: absolute;
        top: -10px;
        left: -10px;
        right: -10px;
        bottom: -10px;
        background: 50% 0 no-repeat;
        background-size: cover;
        z-index: 0;
    }

    .song-main__inner {
        position: relative;
        width: 1000px;
        margin: 0 auto;
        padding: 32px 0 24px;
        overflow: hidden;
    }

    /* song-main__photo */
    .song-main__photo {
        display: block;
        float: left;
        width: 160px;
        height: 160px;
    }

    /* song-main__info */
    .song-main__info {
        float: left;
        width: 470px;
        padding: 0 32px 0 24px;
    }

    .song-main__title--page_song::before {
        top: 5px;
        left: 2px;
    }

    .song-main__title--page_album::before {
        top: 4px;
        left: 0;
    }

    .song-main__artist-link {
        padding: 0 0 0 22px;
    }

    .song-main__lyrics {
        position: relative;
        margin: 0 0 12px;
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .song-main__lyrics::before {
        content: "";
        display: block;
        position: absolute;
        top: 3px;
        left: 0;
        width: 13px;
        height: 13px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_lyrics_gray.png) no-repeat 50%;
        background-size: contain;
    }

    .song-main__lyrics-link {
        display: inline-block;
        position: relative;
        padding: 0 12px 0 22px;
        cursor: pointer;
    }

    .song-main__lyrics-link::after {
        content: "";
        display: inline-block;
        width: 5px;
        height: 9px;
        margin: 0 0 0 7px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
        background-size: 5px auto;
    }

    .song-main__tieup {
        margin: 24px 0 12px;
    }

    .song-main__comment {
        margin: 24px 0 12px;
    }

    .song-main__tieup + .song-main__comment {
        margin: 0 0 12px;
    }

    /* song-main-function */
    .song-main-function {
        display: block;
        margin: 24px 0;
    }

    .song-main-function__list {
        width: auto;
        padding: 0;
    }

    .song-main-function__item {
        width: 80px;
    }

    .song-main-function__item-link {
        background: #fff;
        border: 1px solid #e7e7e7;
        color: #333;
        font-size: 1.1rem;
        font-weight: 300;
    }

    .song-main-function__item_audition--state_unavailable {
        background: rgba(255,255,255,0.5);
        color: #999;
    }

    /* 1000px以上でPC判定時のhover処理 */
    .device-pc .song-main-function__item_audition--state_unavailable:hover {
        background: rgba(255,255,255,0.5);
        cursor: default;
    }

    /* song-main__purchase */
    .song-main__purchase {
        float: right;
        width: 370px;
    }

    .song-main-type {
        margin: 0 0 12px;
        padding: 0 16px;
        background: #fff;
    }

    .song-main-type__item:last-child {
        border-bottom: none;
    }

    .song-main-type__audition {
        display: table-cell;
        width: 40px;
        vertical-align: middle;
    }

    .song-main-type__audition-btn {
        display: block;
        width: 22px;
        height: 22px;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
    }

    .song-main-type__audition-btn--state_play {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_audition_gray.png) no-repeat 50%;
        background-size: contain;
    }

    .song-main-type__audition-btn--state_pause {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_play_pause.png) no-repeat 50%;
        background-size: contain;
    }

    .song-main-type__price-btn-link {
        font-size: 1.5rem;
    }

    .song-main__lock {
        margin: 0 0 24px 0;
        text-align: right;
    }

    .section--section_other .product-list__more {
        display: none;
        margin: 12px auto 0;
    }

    /* SNSアイコン */

    .song-main-sns-pc {
        overflow: hidden;
    }

    .song-main-sns-pc__list {
        float: right;
        margin: 0 auto;
    }

    .song-main-sns-pc__item {
        display: inline-block;
        padding: 0 15px 0 0;
    }

    .song-main-sns-pc__item:last-of-type {
        padding: 0;
    }

    .song-main-sns-pc__link {
        display: block;
        width: 25px;
        height: 25px;
        text-indent: -9999px;
    }

    /* PC判定時にhoverで色が変わらないように対策 */
    .device-pc .song-main-sns-pc__link:hover {
        background-color: transparent;
    }

    .song-main-sns-pc__link--twitter {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_twitter_pc.png) no-repeat;
        background-size: 25px auto;
    }

    .song-main-sns-pc__link--facebook {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_facebook_pc.png) no-repeat;
        background-size: 25px auto;
    }

    .song-main-sns-pc__link--line {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_line_pc.png) no-repeat;
        background-size: 25px auto;
    }

    /* dヒッツバナー */

    .song-main__bnr {
        width: 51.2%;
        margin: 0 auto 48px;
    }

    .artist-dhits-bnr {
        width: 51.2%;
        margin: 0 auto 32px;
    }

    /* タブエリア
    ------------------------------ */

    .tab {
        margin: 32px 0 0;
    }

    .tab--page_song {
        margin-top: 0;
    }

    .tab-nav--page_song {
        margin: 0;
    }

    .tab--page_song .tab-body {
        padding: 24px;
        border-top: 2px solid #c9146c;
        background: #fff;
    }

    /* 種別情報エリア
    ------------------------------ */

    .song-type {
        min-height: 61px;
        padding: 16px 0 0;
    }

    .song-type__item {
        position: relative;
        margin: 0 0 24px;
    }

    .song-type__title, .song-type__spec {
        width: 672px;
    }

    .song-type__title {
        font-size: 1.6rem;
        font-weight: 500;
    }

    .song-type__purchase {
        position: absolute;
        top: 0;
        right: 0;
        width: 280px;
        padding: 0 142px 0 0;
        float: none;
    }

    .song-type__btn {
        position: absolute;
        bottom: 3px;
        right: 0;
    }

    .song-type__btn-link {
        font-size: 1.6rem;
    }

    .song-type__more {
        margin: 24px auto;
        padding: 0;
        border-top: none;
    }

    .song-type__item--item_video {
        min-height: 85px;
    }

    .song-type__item--item_video .song-type__title,
    .song-type__item--item_video .song-type__spec {
        width: 556px;
        margin: 0 0 0 101px;
    }

    .song-type__video-audition {
        position: absolute;
        top: 0;
        left: 0;
        float: none;
        margin: 0;
    }

    .song-type__unavailable {
        margin: 24px 0 24px;
        font-size: 1.4rem;
    }

    /* この楽曲を含むアルバム
    ------------------------------ */

    .section--section_other .product-list {
        margin: 0 auto 12px;
    }

    /* song-caution
    ------------------------------ */

    .song-caution {
        padding: 12px 0;
    }

    /* ==========================================================
     楽曲 ページ
    ========================================================== */

    /* セクション
    ------------------------------ */

    .section--page_song {
        margin: 0;
        border-bottom: none;
    }

    .section--page_song .section__body {
        margin: 0 auto 32px;
    }

    .section--page_song .section-header {
        border-bottom: none;
    }

    .section--page_song .section__body:last-of-type {
        margin: 0 0 24px;
    }

    /* ==========================================================
     アルバム ページ
    ========================================================== */

    /* セクション
    ------------------------------ */

    .section--page_album {
        margin: 0 auto 48px;
        padding: 0;
        border-bottom: none;
    }

    .section--page_album:last-of-type {
        margin: 0 auto;
    }

    .song-main__albumsmart-caution {
        margin: 0 auto 12px;
        padding: 7px 0;
        border: 1px solid #df72a7;
        font-size: 1.3rem;
    }

    .song-type--page_album .song-type__item {
        overflow: hidden;
        margin: 0 auto 16px;
    }

    .song-type--page_album .song-type__spec {
        float: left;
        width: auto;
        font-size: 1.3rem;
    }

    .song-type--page_album .song-type__purchase {
        position: relative;
        top: 0;
        left: 0;
        float: right;
        width: 500px;
        padding: 0;
    }

    .song-type--page_album .song-type__caution {
        width: 370px;
        margin: 0 0 12px;
        padding: 7px 0;
        text-align: center;
        font-size: 1.3rem;
    }

    .song-type--page_album .song-type__price,
    .song-type--page_album .song-type__point {
        padding: 0 142px 0 0;
    }

    .section-header__sub-heading--section_track {
        padding: 0 0 12px;
        font-size: 1.6rem;
        font-weight: 400;
    }

    /* 収録曲リスト
    ------------------------------ */

    .track_heading {
        font-weight: 400;
    }

    .track-list__audition {
        width: 68px;
    }

    .track-list__audition-btn {
        width: 68px;
    }

    .track-list__audition-btn::before {
        left: 20px;
        width: 28px;
        height: 28px;
    }

    /* ==========================================================
     商品（支払い方法選択） ページ
    ========================================================== */

    /* セクション
    ------------------------------ */

    .section--page_product {
        border-bottom: 1px solid #dcdcdc;
    }

    /* リード文エリア
    ------------------------------ */

    .product-lead {
        padding: 16px 0 0;
        font-size: 1.3rem;
    }

    /* 商品情報エリア
    ------------------------------ */

    .product-info {
        margin: 16px auto;
        border-bottom: none;
    }

    .product-info__photo {
        width: 116px;
    }

    .product-info__info {
        padding: 0 0 0 16px;
    }

    .product-info__title {
        padding: 0 0 0 22px;
        font-size: 1.6rem;
    }

    .product-info__title::before {
        top: 4px;
        width: 14px;
        height: 14px;
    }

    .product-info__artist {
        margin: 0 0 8px;
        padding: 0 0 0 22px;
        font-size: 1.3rem;
    }

    .product-info__artist::before {
        width: 13px;
        height: 13px;
    }

    .product-info__spec {
        font-size: 1.3rem;
    }

    .product-info__spec-detail {
        display: inline-block;
        margin: 0 0 0 1.0em;
    }
    .product-info__albumsmart-caution {
        font-size: 1.3rem;
        padding: 7px 16px;
    }

    .product-info__price {
        display: inline-block;
        margin: 0 0 0 8px;
        font-size: 2.0rem;
    }

    .product-info__price-usual {
        font-size: 1.6rem;
    }

    /* メインエリア
    ------------------------------ */

    .product-main {
        padding: 32px;
        border-bottom: none;
        background: #fff;
    }

    .product-main__inner {
        width: 560px;
        margin: 0 auto;
    }

    .product-main__attention {
        margin-bottom: 32px;
        padding-bottom: 0;
        border: none;
        font-size: 1.6rem;
    }

    .product-main__terms {
        margin: 0 auto 32px;
        font-size: 1.6rem;
    }

    .product-main__caution {
        margin: 0 auto 48px;
        font-size: 1.2rem;
    }

    .product-main__cation--lock {
        width: 100%;
        margin: 0 auto;
        padding: 16px 0 0;
        overflow: hidden;
    }

    .product-main__caution--pc_unavailable {
        margin: 0 auto;
    }

    .product-redownload-btn {
        margin: 0;
    }

    .payment {
        margin: 32px 0 0;
    }

    .payment__heading {
        font-size: 2.0rem;
    }

    .payment__item {
        margin: 20px 0 0;
    }

    .payment__caution + .payment__item {
        margin: 16px 0 0;
    }

    .payment__item-link {
        height: 80px;
        border-radius: 8px;
        border: 2px solid #c9146c;
    }

    .payment__item-link::before {
        height: 76px;
    }

    .payment__text {
        font-size: 1.8rem;
    }

    .payment__subtext {
        font-size: 1.4rem;
    }

    .payment__price,
    .payment__dcoin-price {
        width: 180px;
        font-size: 2.4rem;
    }

    .payment__caution {
        font-size: 1.2rem;
    }

    /* dミュージッククーポン入力
    ------------------------------ */

    .coupon {
        padding: 24px;
        background: #fff;
    }

    .coupon-inner {
        width: 410px;
        margin: 0 auto;
    }

    .coupon__error {
        display: none;
        margin: 0 0 16px 0;
        font-size: 1.2rem;
        color: #c9146c;
    }

    .coupon-input__input {
        width: 100%;
        height: 40px;
        padding: 0 52px 0 12px;
        margin: 0 0 32px 0;
        border: 2px solid #c9146c;
        font-size: 1.4rem;
        border-radius: 3px;
        box-shadow: 2px 2px 3px 1px rgba(0, 0, 0, 0.15) inset;
    }

    .coupon-input__input::placeholder {
        color: #888;
    }

    /* Myアーティスト登録 */

    .product-main-myartist {
        margin: 32px 0;
        font-size: 1.6rem;
    }

    .product-main-myartist__radio {
        margin-left: 20px;
    }

    .product-main-myartist__radio-text {
        padding-left: 25px;
    }

    .product-main-myartist__radio-text::before {
        width: 14px;
        height: 14px;
    }

    .product-main-myartist__radio-input:checked + .product-main-myartist__radio-text::after {
        width: 10px;
        height: 10px;
    }

    /* メルマガエリア */

    .product-main-mail {
        width: auto;
        margin-bottom: 0;
        padding: 0;
        border: none;
        font-size: 1.6rem;
    }

    .product-main-mail__check-text::before {
        width: 14px;
        height: 14px;
    }

    .product-main-mail__check input:checked + .product-main-mail__check-text::after {
        top: 4px;
        left: 3px;
        width: 15px;
        height: 15px;
    }

    .product-main-mail__check-text {
        padding: 0 0 0 25px;
    }

    /* ==========================================================
     購入完了 ページ
    ========================================================== */

    .purchasecomp-main {
        margin: 0 0 32px;
        padding: 16px 0 0;
    }

    .purchasecomp-main__btn--page_pc {
        padding: 32px 0;
        background: #fff;
    }

    .purchasecomp-sub {
        padding: 24px 0 48px;
    }

    .purchasecomp-lead {
        padding: 16px 0 0;
        font-size: 1.3rem;
    }

    .section--page_purchasecomp {
        padding: 0;
    }

    .section--page_purchasecomp .tower {
        margin: 64px auto 0;
    }

    .ask-product-btn {
        margin: 48px 0 0 0;
    }

    /* WEBDLエリア
    ------------------------------ */

    .js-purchasecomp-webdl {
        padding: 16px 0;
    }

    .purchasecomp-webdl__heading {
        font-size: 1.6rem;
        font-weight: 700;
        cursor: pointer;
    }

    .purchasecomp-webdl__spec {
        font-size: 1.4rem;
    }

    .purchasecomp-track-list__number {
        width: 64px;
        padding: 0 24px 0 0;
    }

    .purchasecomp-track-list__download {
        width: 216px;
        padding: 16px 0;
    }

    .purchasecomp-track-list__download-btn {
        width: 168px;
        height: 40px !important;
        margin: 0 auto;
        padding: 0 26px 0 0;
        text-align: right;
        background-position: 26px 50%;
        line-height: 40px !important;
        text-indent: inherit;
    }

    /* アーティスト情報エリア
    ------------------------------ */

    .artist-sub--page_purchasecomp {
        margin: 0 0 32px;
    }

    .artist-sub--page_purchasecomp .artist-sub__photo {
        width: 85px;
        margin: 0;
    }

    .artist-sub--page_purchasecomp .artist-sub__artist {
        margin: 0 0 16px;
    }

    .artist-sub--page_purchasecomp .artist-sub__btn-wrap {
        margin: 0 auto 8px;
    }

    /* すごろくリンク
    ------------------------------ */

    .sugoroku {
        margin: 48px auto 0;
    }

    .sugoroku__link {
        padding: 12px 24px;
        text-align: center;
    }

    .sugoroku__text {
        margin: 0 0 4px;
        font-size: 1.4rem;
    }

    .sugoroku__subtext {
        font-size: 1.1rem;
    }

    /* ==========================================================
     アーティスト ページ
    ========================================================== */

    /* セクション
    ------------------------------ */

    .section--page_artist {
        margin: 0 auto 32px;
        padding: 0;
        border-bottom: none;
    }

    .section--page_artist .tab {
        margin: 0;
    }

    .section--page_artist .tab-body {
        padding: 24px 0 0;
        border-top: 2px solid #c9146c;
    }

    .section--page_artist .md-btn-line {
        margin: 24px auto 0;
    }

    /* メイン情報エリア
    ------------------------------ */

    .artist-main {
        position: relative;
        overflow: hidden;
        margin-bottom: 12px;
        background: rgba(255, 255, 255, 0.75);
    }

    .artist-main__inner {
        width: 1000px;
        min-height: 349px;
        margin: 0 auto;
        padding: 32px 0;
    }

    .artist-main__photo {
        position: inherit;
        overflow: inherit;
        padding: 0;
        text-align: left;
    }

    .artist-main__photo-main {
        float: left;
        width: 425px;
        height: 285px;
        padding: 0;
    }

    .artist-main__photo-bg {
        opacity: 1;
        z-index: -1;
        /* positionのみの変更*/
        background-position: 50% 0;
    }

    .artist-main__photo-image {
        position: absolute;
        top: 0;
        left: 0;
        background-color: rgba(255, 255, 255, 0.2);
    }

    .artist-main__title {
        display: block;
        margin: 0 0 0 473px;
        padding: 16px 0 16px 24px;
        font-size: 2.0rem;
    }

    .artist-main__title::before {
        vertical-align: 0;
    }

    .artist-main__myartist {
        position: relative;
        width: 230px;
        margin: 0 0 0 473px;
    }

    .artist-main__myartist-btn {
        width: 230px;
        font-size: 1.4rem;
    }

    .artist-main__info {
        margin: 0 0 0 473px;
        padding: 0;
    }

    .artist-main__profile {
        margin: 32px 0 0;
    }

    /* SNSアイコン */

    .artist-main-sns {
        margin: 24px auto 0;
        padding: 0;
        border-top: none;
    }

    .artist-main-sns__item {
        padding: 0 15px 0 0;
    }

    .artist-main-sns__link {
        width: 25px;
        height: 25px;
    }

    .artist-main-sns__link--twitter {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_twitter_pc.png) no-repeat;
        background-size: 25px auto;
    }

    .artist-main-sns__link--facebook {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_facebook_pc.png) no-repeat;
        background-size: 25px auto;
    }

    .artist-main-sns__link--line {
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_sns_line_pc.png) no-repeat;
        background-size: 25px auto;
    }

    /* 商品の種別絞り込みプルダウン */

    .type-select {
        top: inherit;
        bottom: -32px;
        right: 0;
    }

    .type-select__label {
        font-size: 1.4rem;
    }

    .type-select__select {
        font-size: 1.4rem;
        cursor: pointer;
        border: none;
    }

    /* モーダル */

    .modal-failure .modal-section__text {
        font-size: 1.6rem;
    }

    /* ==========================================================
      マイポータル ページ
     ========================================================== */

    /* メニュー
    ------------------------------ */

    /* リスト */

    .myportal-nav {
        padding: 32px 0;
    }

    .myportal-nav__heading {
        margin: 0 auto 16px;
        font-size: 1.6rem;
    }

    .myportal-nav__list {
        overflow: hidden;
    }

    .myportal-nav__item {
        float: left;
        width: 50%;
        margin: 0 auto 16px;
    }

    .myportal-nav__item:nth-child(2n+1) {
        padding: 0 8px 0 0;
    }

    .myportal-nav__item:nth-child(2n) {
        padding: 0 0 0 8px;
    }

    .myportal-nav__item-link {
        height: 52px;
        padding: 0 24px 0 16px;
        font-size: 1.4rem;
        line-height: 50px;
    }

    .myportal-nav__item--nav_albumsmart .myportal-nav__item-link {
        /* アルバムスマート購入のみ、2行表示の有無があるため、高さを可変にする */
        height: auto;
        padding: 16px 24px 16px 52px;
        line-height: 1.4;
    }

    .myportal-nav__subtext {
        font-size: 1.1rem;
    }

    .myportal-nav__ask-number {
        display: inline-block;
        max-width: 52%;
        margin: 0;
    }

    .myportal-nav__ask-artist {
        max-width: 32%;
        margin: 0 0 0 12px;
    }

    /* アイコン */

    .myportal-nav__list--nav_icon .myportal-nav__item-link {
        padding-left: 52px;
    }

    .myportal-nav__list--nav_icon .myportal-nav__item-link::before {
        left: 16px;
        width: 24px;
        height: 24px;
    }

    .myportal-nav__item--nav_myartist .myportal-nav__item-link::before {
        background-size: 22px auto;
    }

    .myportal-nav__item--nav_purchase .myportal-nav__item-link::before {
        background-size: 22px auto;
    }

    .myportal-nav__item--nav_albumsmart .myportal-nav__item-link::before {
        background-size: 24px auto;
    }

    .myportal-nav__item--nav_devicelist .myportal-nav__item-link::before {
        background-size: auto 24px;
    }

    .myportal-nav__item--nav_credit .myportal-nav__item-link::before {
        background-size: 24px auto;
    }

    .myportal-nav__item--nav_mail .myportal-nav__item-link::before {
        background-size: 22px auto;
    }

    .myportal-nav__item--nav_device .myportal-nav__item-link::before {
        background-size: 24px auto;
    }

    .myportal-nav__item--nav_quality .myportal-nav__item-link::before {
        background-size: 24px auto;
    }

    /* 共通
    ------------------------------ */

    /* 全体 */

    .myportal-wrap {
        display: block;
        width: 1000px;
        margin: 32px auto 0;
    }

    /* clearfix */
    .myportal-wrap::after {
        content: "";
        display: block;
        clear: both;
    }

    /* 左カラム */

    .myportal-left-col {
        float: left;
        width: 725px;
    }

    .myportal-left-col .md-lead-area {
        padding: 0 0 16px 0;
    }

    .myartist-lead {
        padding: 0 0 16px 0;
    }

    .myartist-check-box__veil::before {
        top: 50%;
        right: 16px;
        width: 16px;
        height: 16px;
    }

    .myartist-check-box__tick:checked + .myartist-check-box__veil::after {
        right: 14px;
        width: 16px;
        height: 13px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_check.png) no-repeat 50%;
        background-size: 16px auto;
    }

    .product-list__item.product-list__item--horizontal .product-list__info.-padding-right-wide {
        padding: 0 40px 0 10px;
    }

    /* 右カラム */

    .myportal-right-col {
        display: block;
        float: right;
        width: 240px;
        margin: 0;
    }

    .myportal-right-col__title {
        margin: 0 0 13px 0;
        font-size: 1.4rem;
    }

    .myportal-right-col__nav-link {
        display: block;
        position: relative;
        width: 100%;
        height: 40px;
        margin: 0 auto 8px;
        padding: 0 24px 0 12px;
        border: 1px solid #e7e7e7;
        text-align: left;
        background: #fff;
        color: #555;
        font-size: 1.2rem;
        line-height: 39px;
        border-radius: 2px;
    }

    .myportal-right-col__nav-link::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 12px;
        width: 10px;
        height: 15px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_medium.png) no-repeat right 50%;
        background-size: 10px auto;
        transform: translateY(-50%);
    }

    /* ==========================================================
     マイアーティスト ページ
    ========================================================== */

    /* マイアーティストなし画面
    ------------------------------ */

    .mail-service-registration {
        padding: 24px;
        background: #fff;
    }

    /* ==========================================================
     アルバムスマート購入ページ
    ========================================================== */

    .section--myartist__ask .section__body {
        padding: 0 0 32px 0;
        margin: 0 0 16px 0;
        border-bottom: 1px solid #e7e7e7;
    }

    .section--myartist__ask .section__body:last-of-type {
        padding: 0;
    }

    /* ==========================================================
     購入履歴（再ダウンロード）ページ
    ========================================================== */

    .section--page_purchasehistory .section__body {
        padding: 0;
    }

    .section--page_purchasehistory .product-list__thum {
        width: 112px;
    }

    .section--page_purchasehistory .product-list__item--horizontal .product-list__info {
        padding: 0 16px;
    }

    .section--page_purchasehistory .product-list__lock-image {
        vertical-align: 3px;
    }

    .section--page_purchasehistory .product-list__title {
        padding: 4px 0 4px;
        font-size: 1.6rem;
    }

    .section--page_purchasehistory .product-list__artist {
        font-size: 1.4rem;
    }

    .section--page_purchasehistory .product-list__message {
        font-size: 1.4rem;
    }

    .section--page_purchasehistory .col2-right-col {
        margin: 0;
    }

    /* ==========================================================
     ご利用端末ページ
    ========================================================== */

    .devices {
        letter-spacing: -.4em;
    }

    .device {
        display: inline-block;
        padding: 0 0 40px 0;
        width: 350px;
        border: none;
        letter-spacing: normal;
    }

    .device:nth-of-type(2n-1) {
        margin: 0 22px 0 0;
    }

    .device__heading {
        padding: 0 0 16px;
        font-size: 1.8rem;
    }

    .modal-edit-device {
        padding: 48px 24px;
        height: auto;
        background: #f2f2f2;
    }

    /* ==========================================================
     メールサービス設定/変更、音質設定変更ページ共通
    ========================================================== */

    .settings-current-settings {
        padding: 24px;
        background: #fff;
    }

    .settings-usage {
        padding: 20px 0;
    }

    .settings-note {
        padding: 10px 0;
    }

    .settings-note__title {
        font-size: 1.4rem;
    }

    .settings-note__list {
        font-size: 1.2rem;
    }

    .settings-note__text {
        font-size: 1.2rem;
    }

    .settings-note__list-item.-type-disc {
        margin: 0 0 0 18px;
    }

    /* ==========================================================
     よくある質問ページ
    ========================================================== */

    .faq-container {
        width: 1000px;
        margin: 0 auto;
    }

    .faq-inner {
        border-bottom: none;
    }

    /* カテゴリ選択
    ------------------------------ */

    .faq-category-selector {
        letter-spacing: -.4em;
    }

    .category-selector__item {
        width: 238px;
        margin: 0 16px 10px 0;
        letter-spacing: 0;
    }

    .category-selector__inner {
        height: 47px;
        line-height: 46px;
        font-size: 1.4rem;
        border-radius: 4px;
        cursor: pointer;
    }

    .category-selector__inner--font_small {
        font-size: 1.4rem;
    }

    .category-selector__item:nth-of-type(2n) {
        float: none;
    }

    .category-selector__item:nth-of-type(4n) {
        margin: 0;
    }

    .faq-btns {
        padding: 0;
    }

    .to-sitetop-btn,
    .to-inquiry-btn {
        width: 240px;
        text-align: center;
        border: 1px solid #555;
        background: none;
        color: #555;
    }

    .inquiry-btn__note {
        text-align: center;
    }

    /* チャットボット導線
    ------------------------------ */

    .faq-chatbot__link {
        max-width: 240px;
        margin-top: 24px;
        line-height: 40px;
    }

    .faq-widget {
        left: auto;
        right: 16px;
        transform: none;
    }

    /* ==========================================================
     お問い合わせページ
    ========================================================== */

    /* お問い合わせ 入力
    ------------------------------ */

    .inquiry-container {
        width: 1000px;
        margin: 0 auto;
    }

    .inquiry-notes {
        padding: 24px;
    }

    .inquiry-notes__text {
        margin: 0 0 32px 0;
        padding: 0;
        border-bottom: none;
    }

    .inquiry-form {
        padding: 40px 0 0 0;
    }

    .inquiry-form__label {
        margin: 0 0 32px 0;
    }

    .inquiry-form__btn {
        width: 250px;
    }

    /* お問い合わせ 確認
    ------------------------------ */

    .inquiry-confirm {
        padding: 16px 0 0 0;
    }

    .inquiry-confirm__title {
        font-size: 1.4rem;
    }

    .inquiry-confirm__btns {
        width: 510px;
        margin: 0 auto;
    }

    .inquiry-confirm__btn-wrap {
        width: 240px;
    }

    .inquiry-confirm__btn {
        height: 47px !important;
    }

    .inquiry-confirm__btn.-light {
        line-height: 45px !important;
    }

    /* お問い合わせ 完了
    ------------------------------ */

    .inquiry-thanks {
        width: 1000px;
        padding: 0;
        margin: 32px auto;
    }

    /* ==========================================================
     初めての方へページ
    ========================================================== */

    .firstinfo {
        margin: 0 0 24px 0;
        padding: 60px 160px;
    }

    .firstinfo__title {
        margin: 0 0 32px 0;
        font-size: 2.0rem;
    }

    .firstinfo__text {
        font-size: 1.6rem;
        line-height: 1.7;
    }

    .firstinfo__notes {
        font-size: 1.4rem;
    }

    .firstinfo__link {
        margin: 16px 0 0 0;
        font-size: 1.6rem;
    }

    .about-dmusic__logo-text {
        vertical-align: -7px;
    }

    .dpoint-bnr {
        width: 50%;
        margin-top: 60px;
    }

    .multi-devices {
        width: 300px;
    }

    .firstinfo-link-wrapper {
        padding: 0 160px;
        max-width: 1000px;
        text-align: left;
    }

    /* ==========================================================
     新着曲ページ
    ========================================================== */

    /* タブ
    ------------------------------ */

    .section--page_new-release .tab-body {
        padding: 16px 0 0;
        border-top: 2px solid #c9146c;
        background: transparent;
    }

    .tab-body__inner {
        padding: 0;
    }

    /* リスト
    ------------------------------ */

    .product-list__item-container {
        float: left;
        width: 32.4%;
        margin: 0 1.4% 32px 0;
    }

    .product-list__item-container:nth-child(3n) {
        margin: 0 0 32px 0;
    }

    /* clearfix */
    .section--page_new-release .product-list::after {
        content: "";
        display: block;
        clear: both;
    }

    .section--page_new-release .product-list__more {
        padding-top: 24px;
    }

    /* 並び替え
    ------------------------------ */

    .new-songs-sort__item {
        display: inline-block;
        width: auto;
        margin: 0 12px;
        background: inherit;
        text-align: left;
    }

    .new-songs-sort__select {
        height: 38px;
        font-size: 1.1rem;
    }

    .new-songs-sort__label {
        display: inline-block;
        position: relative;
        width: 160px;
        height: 38px;
        padding: 0 24px;
        background: #fff;
        font-size: 1.1rem;
    }

    .new-songs-sort__title {
        display: inline-block;
        height: 38px;
        margin: 0 6px 0 0;
        font-size: 1.1rem;
        line-height: 38px;
    }

    /* ==========================================================
     ニュース ページ
    ========================================================== */

    /* セクション
    ------------------------------ */

    .section--page_news {
        padding: 0;
    }

    .news-wrap {
        display: block;
        width: 1000px;
        margin: 0 auto;
        overflow: hidden;
    }

    /* ニュースアイテム
    ------------------------------ */

    .news-item {
        padding: 24px
    }

    /* ==========================================================
     ランキングページ
    ========================================================== */

    /* 種別タブ
    ------------------------------ */

    .section--page_ranking .tab-body {
        padding: 24px 0;
        border-top: 2px solid #c9146c;
        background: transparent;
    }

    /* リスト
    ------------------------------ */

    .section--page_ranking .product-list__item--horizontal {
        display: inline-block;
        width: 32.4%;
        margin: 0 1.4% 0 0;
        vertical-align: top;
    }

    .section--page_ranking .product-list__item--horizontal:nth-child(3n) {
        margin: 0;
    }

    /* ランキング カテゴリのリスト
    ------------------------------ */

    .ranking-category {
        margin: 0 0 10px 0;
    }

    .ranking-category__item {
        display: inline-block;
        letter-spacing: 0;
    }

    .ranking-category__item--short {
        width: 240px;
        margin: 0 13.3333px 13px 0;
    }

    .ranking-category__item--short:nth-child(2n) {
        margin: 0 13.3333px 13px 0;
    }

    .ranking-category__item--short:nth-child(2n+1) {
        margin: 0 13.3333px 13px 0;
    }

    .ranking-category__item--short:nth-child(4n) {
        margin: 0 0 13px 0;
    }

    .ranking-category__item--short-pc {
        width: 240px;
    }

    .ranking-category__item--long {
        width: 100%;
    }

    .ranking-category__item-link {
        display: block;
        position: relative;
        padding: 13px;
        font-size: 1.3rem;
        border-radius: 2px;
    }

    .ranking-category__item-link::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 10px;
        width: 5px;
        height: 9px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right center;
        background-size: 5px auto;
        transform: translateY(-50%);
    }

    /* ==========================================================
     急上昇ワードページ
    ========================================================== */

    .ranking-word {
        padding: 0;
    }

    /* ==========================================================
     検索結果
    ========================================================== */

    /* すべて
    ------------------------------ */

    .section--page_search .tab-nav {
        table-layout: fixed;
        width: 725px;
    }

    .section--page_search .tab-nav__item {
        width: auto;
        font-size: 1.2rem;
    }

    .section--page_search .tab-nav__item-number {
        font-size: 1.2rem;
    }

    .section--page_search .tab-body {
        padding: 16px 0 0;
        border-top: 2px solid #c9146c;
    }

    .search-message {
        margin: 16px auto 32px;
    }

    /* 楽曲
    ------------------------------ */

    .select-search {
        margin: 0 auto 16px;
        text-align: center;
    }

    .select-search__item {
        display: inline-block;
        width: auto;
        margin: 0 12px;
        background: inherit;
        text-align: left;
    }

    .select-search__select {
        height: 38px;
        font-size: 1.1rem;
    }

    .select-search__label {
        display: inline-block;
        position: relative;
        width: 160px;
        height: 38px;
        padding: 0 24px;
        background: #fff;
        font-size: 1.1rem;
    }

    .select-search__title {
        display: inline-block;
        height: 38px;
        margin: 0 6px 0 0;
        font-size: 1.1rem;
        line-height: 38px;
    }

    /* ==========================================================
     50音/ABC検索
    ========================================================== */

    /* 検索画面
    ------------------------------ */

    .alphabetical-search-main {
        padding: 24px;
    }

    .alphabetical-search__btn {
        height: 48px;
        line-height: 47px;
        cursor: pointer;
    }

    .alphabetical-search__check:checked + .alphabetical-search__btn {
        line-height: 48px;
    }

    .alphabetical-search-table__link {
        padding: 16px 0;
        font-size: 1.4rem;
    }

    /* 検索結果画面
    ------------------------------ */

    .search-results-lead {
        padding: 24px 0;
    }

    /* ==========================================================
     特集一覧ページ
    ========================================================== */

    /* 一覧リスト表示
    ------------------------------ */

    .special-list {
        width: 1000px;
        margin: 24px auto 0;
        letter-spacing: -.4em;
    }

    .special-list__item {
        display: inline-block;
        width: 238px;
        margin: 0 16px 24px 0;
        letter-spacing: normal;
        vertical-align: bottom;
    }

    .special-list__item:nth-of-type(4n) {
        margin: 0 0 24px 0;
    }

    .special-list__link {
        display: block;
        margin: 0;
    }

    .special-list__thumb {
        display: block;
        width: 100%;
        padding: 52.5% 0 0 0; /* バナー画像の縦横比をpaddingで指定 */
    }

    .special-list__thumb-image {
        background-size: cover;
    }

    .special-list__info {
        display: block;
        height: 86px;
        padding: 16px;
        background: none;
    }

    .special-list__title {
        padding: 2px 0 8px;
    }

    .special-wrap {
        display: block;
        width: 1000px;
        margin: 0 auto;
    }

    /* clearfix */
    .special-wrap::after {
        content: "";
        display: block;
        clear: both;
    }

    /* フリーテンプレート
    ------------------------------ */

    .special-banner {
        margin: 16px 0;
    }

    .special-banner--no-margin-bottom {
        margin: 16px 0 0 0;
    }

    .special-detail-lead {
        margin: 0 0 32px 0;
        padding: 24px 16px;
        background: #fff;
    }

    .special-detail-lead__text {
        margin: 0 0 1.4rem;
    }

    .special-detail-lead__text:last-of-type {
        margin: 0;
    }

    .accordion-wrap {
        padding: 0;
    }

    .special-btn-line {
        display: block;
        position: relative;
        width: 280px;
        height: 40px;
        margin: 0 auto;
        padding: 0 24px !important;
        border: 1px solid #888;
        text-align: center;
        background: rgba(255,255,255,0) !important;
        font-size: 1.2rem;
        line-height: 39px;
        border-radius: 2px;
        color: #555;
    }

    .special-btn-line::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 12px;
        width: 5px;
        height: 9px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
        background-size: 5px auto;
        transform: translateY(-50%);
    }

    /* ==========================================================
     特集 各記事表示
    ========================================================== */

    /* メインエリア
    ------------------------------ */

    .special-main {
        padding: 60px 120px;
    }

    .special-main__title {
        margin: 0 0 24px 0;
        font-size: 1.8rem;
    }

    .special-main__step {
        font-size: 1.6rem;
    }

    .special-main__content-wrap {
        display: table;
        margin: 0 auto;
    }

    .special-main__image {
        display: table-cell;
        padding: 0 56px 0 0;
        width: 350px;
        vertical-align: middle;
        box-sizing: content-box;
    }

    .special-main__text {
        display: table-cell;
        width: 350px;
        vertical-align: middle;
    }

    .special-main__paragraph {
        margin: 0 0 24px 0;
        font-size: 1.4rem;
    }

    .special-main__app-icon {
        width: 72px;
    }

    .special-banner--no-margin-bottom {
        margin: 16px 0 0 0;
    }

    /* バナーエリア
    ------------------------------ */
    .special-heading {
        margin: 0 0 18px 0;
    }

    .special-heading-bg {
        opacity: 0.25;
        filter: blur(20px);
        position: absolute;
        top: -10px;
        left: -10px;
        right: -10px;
        bottom: -10px;
        background: no-repeat 50%;
        background-size: cover;
        z-index: -1;
    }

    .special-heading__inner {
        display: table;
        table-layout: fixed;
        max-width: 1000px;
        margin: auto;
        padding: 24px 0;
        overflow: hidden;
    }

    .special-heading-img,
    .special-heading-text {
        display: table-cell;
        vertical-align: middle;
    }

    .special-heading-img {
        width: 53.6%;
        padding: 0 3.6% 0 0;
    }

    /* リード文
    ------------------------------ */
    .special-heading-text {
        width: 46.4%;
        padding: 0;
    }

    .special-heading-text__heading {
        margin: 0 0 24px;
        font-size: 2.2rem;
    }

    .special-heading-text__lead p {
        font-size: 1.4rem;
    }

    .special-heading-text__lead h2 {
        font-size: 1.4rem;
    }

    /* サブエリア
    ------------------------------ */

    .special-sub {
        padding: 24px;
    }

    .special-sub__text {
        font-size: 1.3rem;
    }

    /* 楽曲特集
    ------------------------------ */

    .section--special-product:not(:last-of-type) {
        margin: 0 0 32px;
        padding: 0;
        border-bottom: 0;
    }

    .section--special-product:last-of-type {
        margin: 0 0 32px;
    }

    .special-detail-lead--mb_narrow {
        margin: 0 0 32px;
    }

    /* ランキング
    ------------------------------ */

    /* 注意文言 */

    .special-product-caution {
        margin: 0 0 24px;
        font-size: 1.2rem;
    }

    /* 受賞コメント */

    .special-ranking-comment {
        padding: 16px 24px;
    }
    .special-ranking-comment__heading {
        font-size: 1.5rem;
    }

    .special-ranking-comment__text {
        font-size: 1.3rem;
        line-height: 1.7;
    }

    /* ==========================================================
     ジャンル一覧ページ
    ========================================================== */

    /* 一覧リスト表示
    ------------------------------ */

    .genre-list-wrapper {
        width: 1000px;
        margin: 24px auto 0;
    }

    /* ==========================================================
     dポイントを使おうページ
    ========================================================== */

    .special-beginner-btn-area__inner {
        border-top: none;
    }

    .special-beginner-btn {
        width: 280px;
        padding: 0 24px;
        border: 1px solid #888;
        text-align: center;
        background: rgba(255,255,255,0);
        color: #555;
    }

    .special-beginner-btn::after {
        width: 5px;
        height: 9px;
        background: url(https://img.dmusic.docomo.ne.jp/dm-p1/front/common/icon_arrow_r_pink_small.png) no-repeat right 50%;
        background-size: 5px auto;
    }

    .special-ranking-title {
        margin: 24px 0 0 0;
    }

    /* ==========================================================
     マイアーティスト登録キャンペーンページ
    ========================================================== */

    .special-myartist__title {
        margin: 0 0 48px 0;
        font-size: 2.0rem;
    }

    .special-main--margin-bottom_8 {
        margin: 0 0 16px 0;
        border-bottom: none;
    }

    .special-artist-title {
        margin: 24px 0 0 0;
    }

    .about-myartist {
        font-size: 1.6rem;
    }

    /* ==========================================================
     ハイレゾの楽しみ方ページ
    ========================================================== */

    .about-hires {
        margin: 0 0 40px;
    }

    .about-hires-nav {
        padding: 16px 0;
    }

    .about-hires-nav__list {
        letter-spacing: -0.4em; /* カラム落ち対策 */
    }

    .about-hires-nav__item {
        display: inline-block;
        width: 49%;
        margin: 0 2% 16px 0;
        letter-spacing: normal;
    }

    .about-hires-nav__item:nth-child(2n) {
        margin: 0 0 16px;
    }

    .about-hires-nav__link {
        padding: 20px;
        font-size: 1.4rem;
    }

    .about-hires {
        overflow: hidden;
        padding: 56px 120px;
        font-size: 1.4rem;
        line-height: 1.7;
    }

    .about-hires__child {
        margin: 0 0 56px 0;
    }

    .about-hires__heading {
        margin: 0 0 48px;
        font-size: 1.8rem;
    }

    .about-hires__lead {
        margin: 0 0 48px;
        font-size: 2.0rem;
    }

    .about-hires__lead--pc-no-margin {
        margin: 0;
    }

    .about-hires__text {
        margin: 0 0 48px;
    }

    .about-hires__text--pc-center {
        text-align: center;
    }

    .about-hires-image {
        margin: 40px auto 0;
    }

    .about-hires-image__image {
        width: auto;
    }

    .about-hires-image--margin_bottom {
        margin: 40px auto;
    }

    .hires-specs-heading {
        font-size: 1.6rem;
    }

    .hires-specs-detail {
        margin: 0 0 48px;
    }

    .hires-specs-detail__item-name {
        width: 20%;
    }

    .hires-specs-detail__item-description {
        width: 80%;
    }

    .hires-trial {
        float: left;
        width: 48%;
    }

    .hires-trial:not(:last-of-type) {
        margin: 0 4% 0 0;
    }

    .hires-trial__image {
        width: 95px;
    }

    .hires-trial__info {
        padding: 12px 0 0 12px;
    }

    .about-hires-btns {
        margin: 12px 0 0;
    }

    .about-hires-btns__btn {
        padding: 12px;
        font-size: 1.4rem;
    }

    .how-to-play-wrap {
        letter-spacing: -0.4em;
    }

    .how-to-play {
        display: inline-block;
        width: 32%;
        margin: 0 2% 24px 0;
        vertical-align: top;
        letter-spacing: normal;
    }

    .how-to-play:last-child {
        margin: 0;
    }

    .how-to-play__target {
        padding: 20px 0;
        font-size: 1.6rem;
    }

    .how-to-play__detail {
        padding: 16px;
        min-height: 255px;
    }

    .how-to-play__step {
        margin: 0 0 26px 0;
    }

    .download-notices__heading {
        font-size: 1.6rem;
    }

    .download-notices__item {
        line-height: 1.7;
    }

    .player-type {
        margin: 0 0 48px;
        padding: 0 0 48px;
    }

    .player-type__heading {
        margin: 0 0 20px;
        font-size: 1.8rem;
    }

    .player-type__sub-heading {
        font-size: 1.6rem;
    }

    .pc-software__software-name {
        font-size: 1.6rem;
    }

    .pc-software-image {
        width: 518px;
        margin: 40px auto 0;
    }

    .hires-device-compatibilities__heading {
        font-size: 1.8rem;
    }

    /* ==========================================================
     サンプル音源（ハイレゾ）ページ
　  ========================================================== */

    .hires-sample-lead {
        padding: 16px;
    }

    .hires-sample-lead__text {
        max-width: 1000px;
        margin: 0 auto;
    }

    .hires-sample {
        padding: 0 16px;
    }

    .hires-sample-block {
        max-width: 1000px;
        margin: 24px auto 0;
        padding: 24px;
    }

    .hires-sample-block:first-child {
        max-width: 1000px;
        margin: 0 auto;
    }

    .hires-sample-block__heading {
        font-size: 1.6rem;
        margin: 0 0 24px;
    }

    .hires-sample-list {
        font-size: 0;
    }

    .hires-sample-list__item {
        width: 50%;
        display: inline-block;
    }

    .hires-sample-list__heading {
        font-size: 1.4rem;
    }

    .hires-sample-list__btn {
        margin: 0 auto 24px;
    }

    .app-start__lead {
        margin: 0 0 16px;
        font-size: 1.4rem;
    }

    .app-install__lead {
        font-size: 1.4rem;
    }

    .app-install__btn {
        width: 30%;
    }

    .hires-sample__link-arrow {
        max-width: 1000px;
        margin: 16px auto 0;
    }

    /* ==========================================================
     インスタントウィン（くじ）ページ
    ========================================================== */

    .iwin {
        padding: 60px 160px;
    }

    .iwin--margin-bottom__large {
        margin-bottom: 32px;
    }

    .iwin__step-text {
        font-size: 1.4rem;
    }

    .iwin__coupon-number-area {
        width: 360px;
        margin: 0 auto 40px;
    }

    .iwin__step-img {
        margin: 16px auto 0;
    }

    .iwin__message {
        font-size: 1.8rem;
    }

    .iwin__title {
        margin: 0 0 24px 0;
        font-size: 1.6rem;
    }

    .iwin__text {
        font-size: 1.4rem;
    }

    .iwin__btn {
        margin: 32px auto;
    }

    .iwin__btn:first-child {
        margin: 0 auto 32px;
    }

    .iwin__btn:last-child {
        margin: 32px auto 0;
    }

    .iwin__caution {
        font-size: 1.4rem;
    }

    /* ==========================================================
     すごろくアイテム取得完了ページ
    ========================================================== */

    .item-obtainment {
        padding: 60px 16px;
    }

    .item-obtainment__message {
        font-size: 1.4rem;
    }

    .item-obtainment__message p:first-of-type {
        font-size: 1.8rem;
    }

    /* ==========================================================
     テレビで話題
    ========================================================== */

    .section--page_special .tab-nav {
        margin: 16px 0 0 0;
    }

    .section--page_special .tab-body {
        padding: 24px 0;
        margin: 0;
        border-top: 2px solid #c9146c;
        background: transparent;
    }
    /* ==========================================================
     共通
    ========================================================== */

    .break-sp-only {
        /* 改行解除 */
        display: none;
    }

    /* ==========================================================
     ご利用規約ページ
    ========================================================== */

    .terms-of-use {
        padding: 24px;
        margin: 24px auto 0;
        width: 1000px;
        color: #888;
        background-color: #fff;
    }

    /* ==========================================================
     提供事業者等に関する表示
    ========================================================== */

    .operator-content {
        padding: 24px 24px 16px;
        margin: 0 auto;
        width: 1000px;
        color: #888;
        background: #fff;
        border-bottom: none;
    }

    .operator-content:first-of-type {
        margin: 24px auto 0;
    }

    .operator-content:last-of-type {
        padding: 24px 24px 40px;
    }

    .operator-content__heading {
        padding: 0 0 16px 0;
        color: #555;
    }

    .operator-content__text {
        padding: 16px 0 0;
    }

    /* ==========================================================
     プライバシー・ポリシーページ
    ========================================================== */

    .privacy-content {
        width: 1000px;
        margin: 0 auto;
        padding: 24px;
        background: #fff;
        border-bottom: none;
    }

    .privacy-content:first-of-type {
        margin: 16px auto 0;
    }

    .privacy-content__heading {
        padding: 0 0 16px 0;
    }

    .privacy-content__text {
        padding: 16px 0 0 0;
    }

    /* ==========================================================
     メールサービスご確認事項ページ
    ========================================================== */

    .mail-service-notice {
        padding: 24px;
        margin: 24px auto 0;
        width: 1000px;
        color: #888;
        background-color: #fff;
    }

    .mail-service-notice-preamble {
        padding: 0;
        margin: 0 0 40px 0;
        border-bottom: none;
    }

    .mail-service-notice-content {
        padding: 0;
        margin: 0 0 40px 0;
        border-bottom: none;
        background: none;
    }

    .mail-service-notice-content__heading {
        font-size: 1.4rem;
        color: #555;
    }

    .mail-service-notice-content:last-of-type {
        margin: 0;
    }

    /* ==========================================================
     対応機種一覧ページ
    ========================================================== */

    .section-page__compatibility .tab-body {
        border-top: 2px solid #c9146c;
    }

    .compatibility-content {
        padding: 16px 0 0;
    }

    .compatibility-content__careers {
        display: none;
    }

    .compatibility-content__container {
        width: 100%;
        overflow: hidden;
    }

    .compatibility-content__inner {
        float: left;
        width: 33.333%;
    }

    .compatibility-content__devices-list-item {
        padding: 0 10px 0 0;
        overflow: hidden;
    }

    .compatibility-content__inner:last-of-type .compatibility-content__devices-list-item {
        padding: 0;
    }

    /* ==========================================================
     対応機種詳細ページ
    ========================================================== */

    .compatibility-detail-products {
        margin: 0;
    }

    .compatibility-detail-wrap {
        padding: 0;
    }

    .compatibility-detail {
        margin: 0 0 32px 0;
    }

    .compatibility-detail__os {
        padding: 16px;
    }

    .compatibility-detail-products__item {
        display: inline-block;
        position: relative;
        width: 242.5px;
        padding: 16px;
        margin: 0 10px 10px 0;
    }

    .compatibility-detail-products__item:nth-of-type(2n) {
        margin: 0 10px 10px 0;
    }

    .compatibility-detail-products__item:nth-of-type(4n) {
        margin: 0 0 10px 0;
    }

    /* ==========================================================
     著作権管理団体番号ページ
    ========================================================== */

    .copyright_number {
        width: 1000px;
        margin: 16px auto 0;
        padding: 24px;
        background: #fff;
        font-size: 1.2rem;
    }

    /* ==========================================================
     商品説明ページ
    ========================================================== */

    .about-products-item {
        padding: 24px 24px 16px;
        background: #fff;
    }

    .about-products-item:last-of-type {
        padding: 24px;
    }

    .about-products-note {
        padding: 10px 0;
    }

}

/* ==========================================================
 pwa用ヘッダー固定
========================================================== */
/**
 * display:modeはEdge非対応
 * PWAもEdge非対応であるため明示的に除外
 */
@supports not (-ms-ime-align: auto) {
    @media screen and (display-mode: standalone) {
        .site-header,
        .site-header-pc {
            position: fixed;
            z-index: 25;
        }

        .container {
            padding-top: 52px;
        }

        .container--page_top {
            padding-top: 0;
        }

        .daccount-header {
            padding-top: 52px;
        }
    }
}

@supports not (-ms-ime-align: auto) {
    @media screen and (display-mode: standalone) and (min-width:1000px) {
        .site-header,
        .site-header-pc {
            position: fixed;
            width: 100%;
            z-index: 100;
        }

        .container {
            padding-top: 108px;
            z-index: 50;
        }
    }
}

/* ==========================================================
 pjax遷移ロード画面マスク
========================================================== */
.pjax-content {
    position: relative;
}

.contents-loading {
    position: absolute;
    z-index: 15;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.93);
}

.contents-loading[data-is-hide="true"] {
    display: none;
}

.contents-loading[data-is-hide="false"] {
    display: block;
}

.contents-loading::before {
    position: absolute;
    content: '';
    margin: 200px auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 1em;
    height: 1em;
    font-size: 40px;
    border-radius: 50%;
    transform: translateZ(0);
    animation: loading 1.7s infinite ease, round 1.7s infinite ease;
}

.contents-loading[data-is-hide="true"]::before {
    position: absolute;
    margin: auto;
    content: '';
    top: 0;
    bottom: 0;
    left: -20%;
    right: 0;
    width: 1em;
    height: 1em;
    font-size: 40px;
    border-radius: 50%;
    transform: translateZ(0);
    animation: loading 1.7s infinite ease, round 1.7s infinite ease;
}
