@charset "utf-8";

/*****************************************
 *
 *  楽曲名・アルバム名・アーティスト名・キャッチ・ポイント
 *  購入日・ダウンロード期限日
 *
 *****************************************/
.contents-title-text,
.contents-artist-text,
.contents-newstitle-text,
.contents-point_info-text {
	font-size: 120%;
}
.contents-detail-box .contents-title-text,
.contents-detail-box .contents-artist-text {
	font-size: 130%;
}
.contents-feature-box .contents-title-text,
.contents-feature-box .contents-artist-text {
	font-size: 140%;
	font-weight: bold;
}
.contents-newstitle-text,
.contents-title-text {
	color: #285ca9;
}
.contents-dl_date-text,
.contents-dl_time-text,
.contents-term_date-text,
.contents-updated-text,
.contents-catch-text {
	font-size: 105%;
}
.contents-detail-box .contents-catch-text,
.contents-feature-box .contents-catch-text {
	font-size: 120%;
}
.contents-summary-text {
	font-size: 110%;
}
.contents-term_date-text {
	color: #f40f5c;
}
.contents-updated-text {
	color: #bfbfbf;
}
/* 上下余白 */
.contents-title-vertical-margin,
.contents-artist-vertical-margin,
.contents-term_date-vertical-margin,
.contents-point_info-vertical-margin {
	margin-top: 3px;		/* margin 連動: margin-top-small の 1/2 */
	margin-bottom: 3px;		/* margin 連動: margin-top-small の 1/2 */
}
.contents-dl_date-vertical-margin,
.contents-dl_time-vertical-margin {
	margin-top: 6px;		/* margin 連動: margin-top-small と同じ */
	margin-bottom: 3px;		/* margin 連動: margin-top-small の 1/2 */
}
.contents-newstitle-vertical-margin,
.contents-summary-vertical-margin,
.contents-updated-vertical-margin,
.contents-catch-vertical-margin {
	margin-top: 6px;		/* margin 連動: margin-top-small と同じ */
	margin-bottom: 6px;		/* margin 連動: margin-bottom-small と同じ */
}
.contents-title-vertical-margin:first-child,
.contents-artist-vertical-margin:first-child,
.contents-dl_date-vertical-margin:first-child,
.contents-dl_time-vertical-margin:first-child,
.contents-term_date-vertical-margin:first-child,
.contents-point_info-vertical-margin:first-child,
.contents-newstitle-vertical-margin:first-child,
.contents-summary-vertical-margin:first-child,
.contents-updated-vertical-margin:first-child,
.contents-catch-vertical-margin:first-child {
	margin-top: 0;
}
.contents-title-vertical-margin:last-child,
.contents-artist-vertical-margin:last-child,
.contents-dl_date-vertical-margin:last-child,
.contents-dl_time-vertical-margin:last-child,
.contents-term_date-vertical-margin:last-child,
.contents-point_info-vertical-margin:last-child,
.contents-newstitle-vertical-margin:last-child,
.contents-summary-vertical-margin:last-child,
.contents-updated-vertical-margin:last-child,
.contents-catch-vertical-margin:last-child {
	margin-bottom: 0;
}
/* グレーアウト*/
.contents-grayout .contents-title-text,
.contents-grayout .contents-artist-text,
.contents-grayout .contents-dl_date-text,
.contents-grayout .contents-dl_time-text,
.contents-grayout .contents-term_date-text,
.contents-grayout .contents-point_info-text,
.contents-grayout .contents-newstitle-text,
.contents-grayout .contents-summary-text,
.contents-grayout .contents-updated-text,
.contents-grayout .contents-catch-text {
	color: #a0a0a0;
}

/* キャッチの先頭に出す headline と末尾に出す note */
.contents-headline-text,
.contents-note-text {
	color: #f40f5c;
}

/**************************************
 *
 *  リスト形式 / グリッド形式の外枠の箱
 *
 **************************************/
/* 子要素が height:100% をするために必要 */
.contents-list-box > ul.flex-box > li,
.contents-grid-box > ul.flex-box > li {
	position: relative;
}
.contents-list-box > ul.flex-box > li.contents-invisible,
.contents-grid-box > ul.flex-box > li.contents-invisible {
	display: none;
}

/* 下線 */
.contents-list-box > ul.flex-box > li > .contents-border-bottom,
.contents-grid-box > ul.flex-box > li > .contents-border-bottom {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 0;
	box-sizing: border-box;
	border-bottom: 1px solid #bfbfbf;
}
.contents-list-box > ul.flex-box > li.contents-more-visible > .contents-border-bottom,
.contents-grid-box > ul.flex-box > li.contents-more-visible > .contents-border-bottom {
	display: none;
}
.contents-list-box.grid-column-gap-small > ul.flex-box > li > .contents-border-bottom,
.contents-grid-box.grid-column-gap-small > ul.flex-box > li > .contents-border-bottom {
	width: calc(100% - 6px);
	left: 3px;
}
.contents-list-box.grid-column-gap-medium > ul.flex-box > li > .contents-border-bottom,
.contents-grid-box.grid-column-gap-medium > ul.flex-box > li > .contents-border-bottom {
	width: calc(100% - 12px);
	left: 6px;
}

/* 右側の ＞ */
.contents-list-box .contents-right-arrow {
	padding-right: 24px;
}
.contents-list-box .contents-right-arrow:after {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #285ca9;
	border-right: 1px solid #285ca9;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -5px;
}
.contents-list-box .contents-more-visible.contents-right-arrow:after,
.contents-list-box .contents-more-visible .contents-right-arrow:after {
	display: none;
}
.contents-list-box .contents-grayout.contents-right-arrow:after,
.contents-list-box .contents-grayout .contents-right-arrow:after {
	border-color: #bfbfbf;
}
.contents-list-box.grid-column-gap-small > ul.flex-box > li.contents-right-arrow {
	padding-right: 27px;
}
.contents-list-box.grid-column-gap-small > ul.flex-box > li.contents-right-arrow:after {
	right: 13px;
}
.contents-list-box.grid-column-gap-medium > ul.flex-box > li.contents-right-arrow {
	padding-right: 30px;
}
.contents-list-box.grid-column-gap-medium > ul.flex-box > li.contents-right-arrow:after {
	right: 16px;
}

/* もっと見る */
.contents-more-box {
	display: table;
	table-layout: fixed;
	width: 100%;
	min-height: 100%;
	box-sizing: border-box;
	padding-top: 18px;
}
.contents-more-button-box {
	display: table-cell;
	vertical-align: middle;
}

/* コンテンツ情報を囲み込む <a> or/and 下線付き box */
.contents-outer-box {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
}
.contents-invisible .contents-outer-box,
.contents-more-visible .contents-outer-box {
	display: none;
}

/* contents-article-box を上下中央にする表組用の箱 */
.contents-inner-box {
	display: block;
}
.contents-inner-cell-box {
	display: block;
}

/* リストの場合は contents-outer-box を li のheight 100% にして、contents-article-box を上下中央にする */
.contents-list-box .contents-outer-box {
	height: 100%;
}
.contents-list-box .contents-inner-box {
	position: relative;
	display: table;
	table-layout: fixed;
	height: 100%;
}
.contents-list-box .contents-inner-cell-box {
	display: table-cell;
	vertical-align: middle;
}

/* コンテンツ情報の外枠 */
.contents-article-box {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
	width: 100%;
	background-color: white;
}

/**************************************
 *
 * ランキング
 *
 **************************************/
.contents-ranking-box {
	position: relative;
	display: block;
	box-sizing: border-box;
}
.contents-list-box .contents-ranking-box {
	padding-right: 6px;
}
.contents-ranking-box .contents-ranking-rank-box {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.contents-list-box .contents-ranking-box .contents-ranking-rank-box {
	height: 100%;
}
.contents-grid-box .contents-ranking-box .contents-ranking-rank-box {
	border-collapse: separate;
	border-spacing: 6px 0;
}
.contents-grid-box .contents-ranking-box .contents-ranking-rank-box:before,
.contents-grid-box .contents-ranking-box .contents-ranking-rank-box:after {
	content: '';
	display: table-cell;
}
.contents-ranking-box .contents-ranking-icon-box {
	display: table-cell;
	font-size: 150%;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
}
.contents-grid-box .contents-ranking-box .contents-ranking-icon-box {
		width: 30px;
}
@media (max-width: 320px) {
	.contents-grid-box .contents-ranking-box .contents-ranking-icon-box {
		width: 28px;
	}
}
@media (min-width: 540px) and (max-width: 735px) {
	.contents-grid-box .contents-ranking-box .contents-ranking-icon-box {
		width: 32px;
	}
}
@media (min-width: 736px) {
	.contents-grid-box .contents-ranking-box .contents-ranking-icon-box {
		width: 34px;
	}
}

/**************************************
 *
 * 期間限定テキストアイコンと価格表示
 *
 **************************************/
.contents-limited-box {
	display: block;
}
/* テキストアイコン */
.contents-limited-icon {
	display: inline-block;
	border: 1px solid #f40f5c;
	padding: 2px 2px 3px;
	border-radius: 2px;
	color: #f40f5c;
}
/* リスト形式の場合はサムネ幅に合わせる （幅定義は .contents-thumbnail-box と一緒にやる） */
.contents-list-box .contents-limited-icon {
	text-align: center;
	box-sizing: border-box;
	font-size: 110%;
}
.contents-list-box .contents-limited-box .contents-original-point-text {
	font-size: 110%;
}
.contents-list-box .contents-limited-box .contents-limited-point-text {
	font-size: 120%;
	color: #f40f5c;
}
/* グリッド形式でグリッド全幅でアイコンだけ表示 */
.contents-grid-box .contents-limited-box.contents-limited-icon-box {
	width: 100%;
}
.contents-grid-box .contents-limited-box.contents-limited-icon-box .contents-limited-icon {
	display: block;
	text-align: center;
	font-size: 120%;
}
/* グリッド形式でポイントと一緒に表示 （デフォで非表示 ・・・ グリッド幅が大きい場合はこちらを使用する） */
.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-icon {
	display: none;
	font-size: 95%;
}
.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-original-point-text {
	font-size: 100%;
}
.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-point-text {
	font-size: 110%;
	color: #f40f5c;
}
@media (min-width: 321px) and (max-width: 340px) {
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-icon {
		font-size: 90%;
	}
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-original-point-text {
		font-size: 95%;
	}
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-point-text {
		font-size: 100%;
	}
}
@media (min-width: 540px) and (max-width: 560px) {
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-icon {
		font-size: 90%;
	}
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-original-point-text {
		font-size: 95%;
	}
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-point-text {
		font-size: 100%;
	}
}
@media (min-width: 768px) and (max-width: 788px) {
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-icon {
		font-size: 90%;
	}
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-original-point-text {
		font-size: 95%;
	}
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-point-text {
		font-size: 100%;
	}
}
@media (min-width: 1024px) and (max-width: 1044px) {
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-icon {
		font-size: 90%;
	}
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-original-point-text {
		font-size: 95%;
	}
	.contents-grid-box .contents-limited-box.contents-limited-info-box .contents-limited-point-text {
		font-size: 100%;
	}
}
/* グリッド形式の
 *	.contents-limited-box.contents-limited-icon-box
 *	.contents-limited-box.contents-limited-info-box .contents-limited-icon
 * はトグルで使用する。
 *
 * ２列表示の場合で端末幅が  375px 以上（グリッド幅が 163px 以上）
 * ３列表示の場合で端末幅が  540px 以上（グリッド幅が 160px 以上）
 * ４列表示の場合で端末幅が  712px 以上（グリッド幅が 160px 以上）
 * ５列表示の場合で端末幅が  884px 以上（グリッド幅が 160px 以上）
 * ６列表示の場合で端末幅が 1056px 以上（グリッド幅が 160px 以上）
 *		サムネ上側：非表示
 *		サムネ下側：アイコン ＋ ポイント情報
 * 上記以外：
 *		サムネ上側：アイコンだけ
 *		サムネ下側：ポイント情報
 */
.contents-grid-box.contents-recommend-layout:not(.contents-small)	.contents-limited-box.contents-limited-icon-box,
.contents-grid-box.contents-large:not(.contents-small) 				.contents-limited-box.contents-limited-icon-box {
	display: none;
}
.contents-grid-box.contents-recommend-layout:not(.contents-small)	.contents-limited-box.contents-limited-info-box .contents-limited-icon,
.contents-grid-box.contents-large:not(.contents-small)				.contents-limited-box.contents-limited-info-box .contents-limited-icon {
	display: inline-block;
}

/**************************************
 *
 * サムネール
 *
 **************************************/
.contents-thumbnail-box {
	position: relative;
	display: block;
}
.contents-grid-box .contents-thumbnail-box {
	width: 100%;
}
.contents-thumbnail-border {
	border: 1px solid #eeeeee;
}

/**************************************
 *
 * テキスト情報
 *
 **************************************/
/* テキスト情報の外枠 */
.contents-info-box {
	display: block;
}
.contents-grid-box .contents-info-box {
	width: 100%;
}

/* テキスト情報の内枠（table-cell にするために使用する） */
.contents-info-inner-box {
	display: block;
}

/* リスト形式でサムネ表示の場合は縦中央にするために table にする
 * グリッド形式でトラック番号表示の場合も table にする
 */
.contents-list-box .contents-info-box,
.contents-grid-box .contents-info-box.contents-use-track-no {
	display: table;
	table-layout: fixed;
	width: 100%;
}
/* サムネの縦長に合わせる */
.contents-list-box .contents-thumb-on .contents-info-box {
	min-height: 90px;
}
.contents-list-box .contents-thumb-on.contents-thumb-bg-artist .contents-info-box {
	min-height: 60px;
}
.contents-list-box.contents-thumbnail-large .contents-thumb-on .contents-info-box {
	min-height: 117px;
}
.contents-list-box.contents-thumbnail-large .contents-thumb-on.contents-thumb-bg-artist .contents-info-box {
	min-height: 78px;
}
@media (max-width: 320px) {
	.contents-list-box .contents-thumb-on .contents-info-box {
		min-height: 76px;
	}
	.contents-list-box .contents-thumb-on.contents-thumb-bg-artist .contents-info-box {
		min-height: 48px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on .contents-info-box {
		min-height: 98px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on.contents-thumb-bg-artist .contents-info-box {
		min-height: 62px;
	}
}
@media (min-width: 540px) and (max-width: 735px) {
	.contents-list-box .contents-thumb-on .contents-info-box {
		min-height: 104px;
	}
	.contents-list-box .contents-thumb-on.contents-thumb-bg-artist .contents-info-box {
		min-height: 70px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on .contents-info-box {
		min-height: 135px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on.contents-thumb-bg-artist .contents-info-box {
		min-height: 90px;
	}
}
@media (min-width: 736px) {
	.contents-list-box .contents-thumb-on .contents-info-box {
		min-height: 120px;
	}
	.contents-list-box .contents-thumb-on.contents-thumb-bg-artist .contents-info-box {
		min-height: 80px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on .contents-info-box {
		min-height: 156px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on.contents-thumb-bg-artist .contents-info-box {
		min-height: 104px;
	}
}
/* 表組のセル */
.contents-list-box .contents-info-inner-box,
.contents-grid-box .contents-use-track-no .contents-info-inner-box {
	position: relative;
	display: table-cell;
	vertical-align: middle;
}
/* トラック番号のセルと番号表示 */
.contents-info-inner-box.contents-track-no-box {
	width: 28px;
}
.contents-track-no-bg-box {
	position: relative;
	display: block;
	width: 100%;
	height: 28px;
	background-color: #285ca9;
	border-radius: 50%;
	color: white;
}
.contents-grayout .contents-track-no-bg-box {
	background-color: #bfbfbf;
}
.contents-track-no-bg-box .contents-track-no-1,
.contents-track-no-bg-box .contents-track-no-x {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0%;
	margin-top: -0.5em;
	width: 100%;
	text-align: center;
	vertical-align: middle;
}
.contents-track-no-bg-box .contents-track-no-1 {
	font-size: 140%;
}
.contents-track-no-bg-box .contents-track-no-x {
	font-size: 120%;
}
/* アルバム限定配信のセルとテキストアイコン表示 */
.contents-info-inner-box.contents-album-only-box {
	font-size: 100%;
	width: 7.2em;
	text-align: right;
}
.contents-album-only-box .contents-album-only-icon {
	display: inline-block;
	border: 1px solid #f40f5c;
	padding: 2px 2px 3px;
	border-radius: 2px;
	color: #f40f5c;
}
/* 端末幅による調整 */
@media (max-width: 320px) {
	.contents-info-inner-box.contents-track-no-box {
		width: 26px;
	}
	.contents-track-no-bg-box {
		height: 26px;
	}
}
@media (min-width: 540px) and (max-width: 735px) {
	.contents-info-inner-box.contents-track-no-box {
		width: 30px;
	}
	.contents-track-no-bg-box {
		height: 30px;
	}
}
@media (min-width: 736px) {
	.contents-info-inner-box.contents-track-no-box {
		width: 32px;
	}
	.contents-track-no-bg-box {
		height: 32px;
	}
}

/* 楽曲名・アーティスト名・ポイントのアイコン */
.contents-list-box .contents-title-text,			.contents-detail-box .contents-title-text,
.contents-list-box .contents-artist-text,			.contents-detail-box .contents-artist-text,
.contents-list-box .contents-point_info-text,
.contents-grid-box .contents-point_info-text {
	padding-left: 1.4em;
}
.contents-list-box .contents-title-text:before,		.contents-detail-box .contents-title-text:before,
.contents-list-box .contents-artist-text:before,	.contents-detail-box .contents-artist-text:before,
.contents-list-box .contents-point_info-text:before,
.contents-grid-box .contents-point_info-text:before {
	content: '';
	position: absolute;
	top 0;
	left: 0;
	width: 1em;
	height: 1.1em;
	display: block;
	background-repeat: no-repeat;
	background-position: 0 0.1em;
	background-size: 100% auto;
}
.contents-list-box .contents-title-text:before,		.contents-detail-box .contents-title-text:before {
	background-image: url('/images/sp/new/icon/contents/music.png');
}
.contents-list-box .contents-artist-text:before,	.contents-detail-box .contents-artist-text:before {
	background-image: url('/images/sp/new/icon/contents/artist.png');
}
.contents-list-box .contents-point_info-text:before,
.contents-grid-box .contents-point_info-text:before {
	background-image: url('/image-music.happy.jp/images/img/PT_P_40.png');
}
.contents-list-box .contents-grayout .contents-title-text:before {
	background-image: url('/images/sp/new/icon/contents/music_gray.png');
}
.contents-list-box .contents-grayout .contents-artist-text:before {
	background-image: url('/images/sp/new/icon/contents/artist_gray.png');
}

/**************************************
 *
 * おすすめ
 *
 **************************************/
/* 外側の箱 */
.contents-recommend-box {
	display: block;
}
.contents-grid-box .contents-recommend-box {
	width: 100%;
}

/* スタッフ */
.contents-recommend-staff-box {
	font-size: 105%;
	color: #285ca9;
}

/* コメント */
.contents-recommend-comment-box {
	display: block;
}
.contents-grid-box .contents-recommend-comment-box {
	width: 100%;
}
/*** 画像に余白が入っているので不要
.contents-list-box .contents-recommend-comment-box {
	margin-left: 6px;
}
***/
.contents-recommend-balloon-box {
	position: relative;
	display: block;
	border: 2px solid #7295d3;
	border-radius: 4px;
	min-height: 30px;
}
.contents-list-box .contents-recommend-balloon-box {
	margin-left: 8px;
}
.contents-grid-box .contents-recommend-balloon-box {
	margin-bottom: 12px;
}
.contents-recommend-balloon-box:before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
}
.contents-recommend-balloon-box:after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
}
.contents-list-box .contents-recommend-balloon-box:before {
	left: -10px;
	top: 20px;
	border-right: 10px solid #7295d3;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}
.contents-list-box .contents-recommend-balloon-box:after {
	left: -7px;
	top: 20px;
	border-right: 10px solid white;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}
.contents-grid-box .contents-recommend-balloon-box:before {
	bottom: -10px;
	left: calc(50% - 8px);
	border-top: 10px solid #7295d3;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
}
.contents-grid-box .contents-recommend-balloon-box:after {
	bottom: -7px;
	left: calc(50% - 8px);
	border-top: 10px solid white;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
}
.contents-recommend-catch-text {
	font-size: 120%;
	color: #285ca9;
}
.contents-recommend-comment-text {
	font-size: 105%;
}

/* 楽曲詳細へのボタン */
.contents-button-box {
	display: block;
	width: 100%;
}

/* リスト用のスタッフとコメントを横配置する定義 / グリッド用のスタッフの幅定義 */
.contents-list-box .contents-recommend-table-box {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.contents-list-box .contents-recommend-table-box .contents-recommend-staff-box {
	display: table-cell;
	width: 54px;
}
.contents-grid-box .contents-recommend-staff-box {
	width: 54px;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 320px) {
	.contents-list-box .contents-recommend-table-box .contents-recommend-staff-box {
		width: 46px;
	}
	.contents-grid-box .contents-recommend-staff-box {
		width: 46px;
	}
}
@media (min-width: 540px) and (max-width: 735px) {
	.contents-list-box .contents-recommend-table-box .contents-recommend-staff-box {
		width: 63px;
	}
	.contents-grid-box .contents-recommend-staff-box {
		width: 63px;
	}
}
@media (min-width: 736px) {
	.contents-list-box .contents-recommend-table-box .contents-recommend-staff-box {
		width: 72px;
	}
	.contents-grid-box .contents-recommend-staff-box {
		width: 72px;
	}
}
.contents-list-box .contents-recommend-table-box .contents-recommend-comment-box {
	display: table-cell;
	vertical-align: top;
}

/*****************************************
 *
 *  コンテンツ配置
 *
 *****************************************/
/**********************
 * リスト形式の外枠
 **********************/
.contents-list-box > ul.flex-box > li {
	display: block;
	width: 100%;
}
@media (min-width: 768px) and (max-width: 1023px) {
	.contents-list-box:not(.contents-recommend-layout):not(.contents-full):not(.contents-large) > ul.flex-box > li {
		width: 50%;
	}
}
@media (min-width: 1024px) {
	.contents-list-box:not(.contents-recommend-layout):not(.contents-full):not(.contents-large) > ul.flex-box > li {
		width: 33.33%;
		width: calc(100% / 3);
	}
	.contents-list-box:not(.contents-recommend-layout):not(.contents-full).contents-large > ul.flex-box > li {
		width: 50%;
	}
}

/**********************
 * グリッド形式の外枠
 **********************/
.contents-grid-box > ul.flex-box > li {
	display: block;
	width: 50%;
}
.contents-grid-box:not(.contents-recommend-layout):not(.contents-large) > ul.flex-box > li {
	width: 33.33%;
	width: calc(100% / 3);
}
.contents-grid-box:not(.contents-recommend-layout).contents-small > ul.flex-box > li {
	width: 25%;
}
@media (min-width: 540px) and (max-width: 767px) {
	.contents-grid-box:not(.contents-recommend-layout):not(.contents-large) > ul.flex-box > li {
		width: 25%;
	}
	.contents-grid-box:not(.contents-recommend-layout).contents-small > ul.flex-box > li {
		width: 20%;
	}
	.contents-grid-box.contents-recommend-layout > ul.flex-box > li,
	.contents-grid-box.contents-large > ul.flex-box > li {
		width: 33.33%;
		width: calc(100% / 3);
	}
}
@media (min-width: 768px) and (max-width: 1023px) {
	.contents-grid-box:not(.contents-recommend-layout):not(.contents-large) > ul.flex-box > li {
		width: 20%;
	}
	.contents-grid-box:not(.contents-recommend-layout).contents-small > ul.flex-box > li {
		width: 16.66%;
		width: calc(100% / 6);
	}
	.contents-grid-box.contents-recommend-layout > ul.flex-box > li,
	.contents-grid-box.contents-large > ul.flex-box > li {
		width: 25%;
	}
}
@media (min-width: 1024px) {
	.contents-grid-box:not(.contents-recommend-layout):not(.contents-large) > ul.flex-box > li {
		width: 16.66%;
		width: calc(100% / 6);
	}
	.contents-grid-box:not(.contents-recommend-layout).contents-small > ul.flex-box > li {
		width: 12.5%;
	}
	.contents-grid-box.contents-recommend-layout > ul.flex-box > li,
	.contents-grid-box.contents-large > ul.flex-box > li {
		width: 20%;
	}
}

/**********************
 * リスト形式のコンテンツ配置
 **********************/
.contents-list-box .contents-ranking-box {
	width: 36px;
}
.contents-list-box .contents-limited-box {
	width: 100%;
}
.contents-list-box .contents-thumbnail-box,
.contents-list-box .contents-limited-icon {
	width: 90px;
}
.contents-list-box .contents-info-box {
	width: 100%;
}
.contents-list-box .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
	width: calc(100% - 90px);
}
.contents-list-box .contents-rank-on:not(.contents-thumb-on) .contents-info-box {
	width: calc(100% - 36px);
}
.contents-list-box .contents-thumb-on.contents-rank-on .contents-info-box {
	width: calc(100% - 90px - 36px);
}
.contents-list-box.contents-thumbnail-large .contents-thumbnail-box,
.contents-list-box.contents-thumbnail-large .contents-limited-icon {
	width: 117px;
}
.contents-list-box.contents-thumbnail-large .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
	width: calc(100% - 117px);
}
.contents-list-box.contents-thumbnail-large .contents-thumb-on.contents-rank-on .contents-info-box {
	width: calc(100% - 117px - 36px);
}
.contents-list-box .contents-recommend-box {
	width: 100%;
}
@media (max-width: 320px) {
	.contents-list-box .contents-ranking-box {
		width: 34px;
	}
	.contents-list-box .contents-thumbnail-box,
	.contents-list-box .contents-limited-icon {
		width: 76px;
	}
	.contents-list-box .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
		width: calc(100% - 76px);
	}
	.contents-list-box .contents-rank-on:not(.contents-thumb-on) .contents-info-box {
		width: calc(100% - 34px);
	}
	.contents-list-box .contents-thumb-on.contents-rank-on .contents-info-box {
		width: calc(100% - 76px - 34px);
	}
	.contents-list-box.contents-thumbnail-large .contents-thumbnail-box,
	.contents-list-box.contents-thumbnail-large .contents-limited-icon {
		width: 98px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
		width: calc(100% - 98px);
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on.contents-rank-on .contents-info-box {
		width: calc(100% - 98px - 34px);
	}
}
@media (min-width: 540px) and (max-width: 735px) {
	.contents-list-box .contents-ranking-box {
		width: 38px;
	}
	.contents-list-box .contents-thumbnail-box,
	.contents-list-box .contents-limited-icon {
		width: 104px;
	}
	.contents-list-box .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
		width: calc(100% - 104px);
	}
	.contents-list-box .contents-rank-on:not(.contents-thumb-on) .contents-info-box {
		width: calc(100% - 38px);
	}
	.contents-list-box .contents-thumb-on.contents-rank-on .contents-info-box {
		width: calc(100% - 104px - 38px);
	}
	.contents-list-box.contents-thumbnail-large .contents-thumbnail-box,
	.contents-list-box.contents-thumbnail-large .contents-limited-icon {
		width: 135px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
		width: calc(100% - 135px);
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on.contents-rank-on .contents-info-box {
		width: calc(100% - 135px - 38px);
	}
}
@media (min-width: 736px) {
	.contents-list-box .contents-ranking-box {
		width: 40px;
	}
	.contents-list-box .contents-thumbnail-box,
	.contents-list-box .contents-limited-icon {
		width: 120px;
	}
	.contents-list-box .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
		width: calc(100% - 120px);
	}
	.contents-list-box .contents-rank-on:not(.contents-thumb-on) .contents-info-box {
		width: calc(100% - 40px);
	}
	.contents-list-box .contents-thumb-on.contents-rank-on .contents-info-box {
		width: calc(100% - 120px - 40px);
	}
	.contents-list-box.contents-recommend-layout .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
		width: calc((100% - 120px) * 0.3);
	}
	.contents-list-box.contents-recommend-layout .contents-rank-on:not(.contents-thumb-on) .contents-info-box {
		width: calc((100% - 40px) * 0.3);
	}
	.contents-list-box.contents-recommend-layout .contents-thumb-on.contents-rank-on .contents-recommend-box {
		width: calc((100% - 120px - 40px) * 0.3);
	}
	.contents-list-box.contents-recommend-layout .contents-thumb-on:not(.contents-rank-on) .contents-recommend-box {
		width: calc((100% - 120px) * 0.7);
	}
	.contents-list-box.contents-recommend-layout .contents-rank-on:not(.contents-thumb-on) .contents-recommend-box {
		width: calc((100% - 40px) * 0.7);
	}
	.contents-list-box.contents-recommend-layout .contents-thumb-on.contents-rank-on .contents-info-box {
		width: calc((100% - 120px - 40px) * 0.7);
	}
	.contents-list-box.contents-thumbnail-large .contents-thumbnail-box,
	.contents-list-box.contents-thumbnail-large .contents-limited-icon {
		width: 156px;
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
		width: calc(100% - 156px);
	}
	.contents-list-box.contents-thumbnail-large .contents-thumb-on.contents-rank-on .contents-info-box {
		width: calc(100% - 156px - 40px);
	}
	.contents-list-box.contents-thumbnail-large.contents-recommend-layout .contents-thumb-on:not(.contents-rank-on) .contents-info-box {
		width: calc((100% - 156px) * 0.3);
	}
	.contents-list-box.contents-thumbnail-large.contents-recommend-layout .contents-thumb-on.contents-rank-on .contents-recommend-box {
		width: calc((100% - 156px - 40px) * 0.3);
	}
	.contents-list-box.contents-thumbnail-large.contents-recommend-layout .contents-thumb-on:not(.contents-rank-on) .contents-recommend-box {
		width: calc((100% - 156px) * 0.7);
	}
	.contents-list-box.contents-thumbnail-large.contents-recommend-layout .contents-thumb-on.contents-rank-on .contents-info-box {
		width: calc((100% - 156px - 40px) * 0.7);
	}
}

/*****************************************
 *
 *  リスト形式の１行めの表示制御
 *
 *****************************************/
.contents-list-box.contents-nowrap > ul.flex-box > li {
	display: none;
}
.contents-list-box.contents-nowrap > ul.flex-box > li:nth-child(1) {
	display: block;
}
@media (min-width: 768px) and (max-width: 1023px) {
	.contents-list-box.contents-nowrap:not(.contents-recommend-layout):not(.contents-full):not(.contents-large) > ul.flex-box > li:nth-child(2) {
		display: block;
	}
}
@media (min-width: 1024px) {
	.contents-list-box.contents-nowrap:not(.contents-recommend-layout):not(.contents-full):not(.contents-large) > ul.flex-box > li:nth-child(3) {
		display: block;
	}
	.contents-list-box.contents-nowrap.contents-recommend-layout:not(.contents-full) > ul.flex-box > li:nth-child(2),
	.contents-list-box.contents-nowrap.contents-large:not(.contents-full) > ul.flex-box > li:nth-child(2) {
		display: block;
	}
}

/*****************************************
 *
 *  グリッド形式の１行めの表示制御
 *
 *****************************************/
.contents-grid-box.contents-nowrap > ul.flex-box > li {
	display: none;
}
.contents-grid-box.contents-nowrap > ul.flex-box > li:nth-child(1),
.contents-grid-box.contents-nowrap > ul.flex-box > li:nth-child(2),
.contents-grid-box.contents-nowrap:not(.contents-large) > ul.flex-box > li:nth-child(3),
.contents-grid-box.contents-nowrap:not(.contents-recommend-layout) > ul.flex-box > li:nth-child(3),
.contents-grid-box.contents-nowrap.contents-small > ul.flex-box > li:nth-child(4) {
	display: block;
}
@media (min-width: 540px) {
	.contents-grid-box.contents-nowrap.contents-small > ul.flex-box > li:nth-child(5),
	.contents-grid-box.contents-nowrap:not(.contents-recommend-layout):not(.contents-large) > ul.flex-box > li:nth-child(4),
	.contents-grid-box.contents-nowrap.contents-recommend-layout > ul.flex-box > li:nth-child(3),
	.contents-grid-box.contents-nowrap.contents-large > ul.flex-box > li:nth-child(3) {
		display: block;
	}
}
@media (min-width: 768px) {
	.contents-grid-box.contents-nowrap.contents-small > ul.flex-box > li:nth-child(6),
	.contents-grid-box.contents-nowrap:not(.contents-recommend-layout):not(.contents-large) > ul.flex-box > li:nth-child(5),
	.contents-grid-box.contents-nowrap.contents-recommend-layout > ul.flex-box > li:nth-child(4),
	.contents-grid-box.contents-nowrap.contents-large > ul.flex-box > li:nth-child(4) {
		display: block;
	}
}
@media (min-width: 1024px) {
	.contents-grid-box.contents-nowrap.contents-small > ul.flex-box > li:nth-child(8),
	.contents-grid-box.contents-nowrap.contents-small > ul.flex-box > li:nth-child(7),
	.contents-grid-box.contents-nowrap:not(.contents-recommend-layout):not(.contents-large) > ul.flex-box > li:nth-child(6),
	.contents-grid-box.contents-nowrap.contents-recommend-layout > ul.flex-box > li:nth-child(5),
	.contents-grid-box.contents-nowrap.contents-large > ul.flex-box > li:nth-child(5) {
		display: block;
	}
}

/*****************************************
 *
 *  詳細ページ用
 *
 *****************************************/
/* ページ最上部に表示する中央寄せ（あるいは全幅）の画像 */
.contents-image-box {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.contents-image-box.contents-single:not(.contents-no-image),
.contents-image-box.contents-album:not(.contents-no-image) {
	width: 60%;
}
.contents-image-box.contents-small,
.contents-image-box.contents-single.contents-no-image,
.contents-image-box.contents-album.contents-no-image {
	width: 30%;
}
.contents-image-box.contents-news.contents-no-image,
.contents-image-box.contents-artist.contents-no-image {
	width: 40%;
}
.contents-image-box.contents-news:not(.contents-no-image) {
	margin-left: 18px;
	margin-right: 18px;
}
@media (min-width: 375px) {
	.contents-image-box.contents-single,
	.contents-image-box.contents-album {
		max-width: 375px;
	}
	.contents-image-box.contents-small,
	.contents-image-box.contents-single.contents-no-image,
	.contents-image-box.contents-album.contents-no-image {
		width: 112px;
	}
}
@media (min-width: 540px) {
	.contents-image-box.contents-artist:not(.contents-no-image)  {
		max-width: 540px;
	}
	.contents-image-box.contents-news:not(.contents-no-image)  {
		width: 504px;
		margin-left: auto;
		margin-right: auto;
	}
	.contents-image-box.contents-news.contents-no-image,
	.contents-image-box.contents-artist.contents-no-image {
		width: 216px;
	}
}
.contents-image-box .contents-image-border {
	box-sizing: border-box;
	border: 1px solid #eeeeee;
}

/* コンテンツ詳細のプレイスホルダ */
.contents-detail-box {
	position: relative;
}

/* サムネ ＋ 購入情報の表組 */
.contents-consume-info-box {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.contents-consume-info-box > .contents-thumbnail-box {
	display: table-cell;
	width: 40%;
	vertical-align: top;
}
@media (max-width: 374px) {
	.contents-consume-info-box > .contents-thumbnail-box {
		width: 35%;
	}
}
@media (min-width: 540px) {
	.contents-consume-info-box > .contents-thumbnail-box {
		width: 200px;
	}
}
.contents-consume-info-box > .contents-info-inner-box {
	display: table-cell;
	vertical-align: middle;
	padding-left: 18px;
	padding-right: 18px;
}

/* 保有ポイント・消費ポイントを表示する箱 */
.contents-consume-point-box {
	display: block;
	text-align: left;
}
.contents-consume-point-box .contents-consume-point-text {
	display: block;
	padding-bottom: 3px;
	border-bottom: 1px solid #bfbfbf;
}

/* ニュースタイトル */
.contents-news-title-box {
	font-size: 145%;
	color: #285ca9;
	line-height: 1.2;
}
/* ニュース配信日時 */
.contents-news-updated-box {
	font-size: 105%;
	text-align: right;
	color: #bfbfbf;
}
/* ニュース本文 */
.contents-news-content-box {
	font-size: 125%;
	line-height: 1.4;
}
.contents-news-content-box p {
	margin-top: 12px;
	margin-bottom: 12px;
	word-wrap: break-word;
}

.contents-news-content-box h2 {
	font-size: 115%;
	padding-bottom: 3px;
	color: #285ca9;
	border-bottom: 2px solid #285ca9;
}
.contents-news-content-box h3 {
	font-size: 115%;
	padding-top: 12px;
	color: #285ca9;
}
.contents-news-content-box h4 {
	font-size: 115%;
	padding-bottom: 3px;
	color: #285ca9;
	border-bottom: 2px solid #285ca9;
}
.contents-news-content-box h5 {
	font-size: 115%;
	padding-top: 12px;
	color: #285ca9;
}
.contents-news-content-box h6 {
	font-size: 105%;
}