@charset "utf-8";
/*/////////////////////////////////////////////////////////////////////////
らじる★らじる プレーヤー 番組詳細
/////////////////////////////////////////////////////////////////////////*/
body {
	min-width: 320px;
	background: #d2d2d2;
}
body.r1{ background:var(--c-r1-dark); }
body.r2{ background:var(--c-r2-dark); }
body.fm{ background:var(--c-fm-dark); }

/*画面幅*/
#container,
#container_player,
#container_caution,
#kakoLayer {
	max-width: 500px;
	margin: 0 auto;
}
#container,
#container_player,
#container_caution {
	font-size: 0.812rem;
	text-align: left;
}
#container_player {
	background: #fff;
}

/*タイトル*/
#header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 52px;
	background: #fff;
	padding: 0 10px;
	position: relative;
}
#header a {
	cursor: pointer;
}
#header h1 {
	width: 170px;
	margin-right: 5px;
}
#header h1 a {
	display: block;
	padding-bottom: 2px;
}
#header h1 a::after {
	content: "";
	display: block;
	width: 97px;
	height: 13px;
	background: url(../img/player/toplink.png) no-repeat;
	background-size: contain;
	margin-top: 5px;
}
#header h1 a:hover::after {
	background-image: url(../img/player/toplink_h.png);
}

/*コピーライト*/
#footer {
	text-align: center;
	background: #d2d2d2;
}
#footer .inner {
	font-size: 0.625rem;
	letter-spacing: normal;
	padding: 3px 0;
}


/*
================
プレーヤー
================
*/

/*放送局選択*/
#selectArea {
	line-height: 1;
	white-space: nowrap;
}
#selectArea .inner {
	display: flex;
	align-items: center;
}
.select-area-title {
	padding: 0 6px;
}
#areaOpen {
	height: 32px;
	font-size: 0.875rem;
	position: relative;
}
#areaOpen span {
	font-size: 10px;
	padding: 1px 0 0 1px;
}
@media screen and (min-width:501px) {
	#areaOpen {
		min-width: 120px;
		padding: 5px 15px 6px;
	}
	#areaOpen::after {
		width: 11px;
		height: 11px;
		margin-left: 3px;
	}
}
@media screen and (max-width:500px) {
	.select-area-title {
		font-size: 0.75rem;
	}
	#areaOpen {
		padding-left: 11px;
		padding-right: 25px;
	}
	#areaOpen::after {
		position: absolute;
		right: 11px;
	}
}

.select-area-list {
	min-width: 150px;
	top: 100%;
	left: initial;
	right: 10px;
	z-index: 10;
}
#selector[aria-expanded="true"] .select-area-list {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.select-area-btn {
	padding: 10px 7px;
}
.select-area-item.this .select-area-btn {
	background: var(--bg-gray);
}


/*選局*/
#selectChannel ul {
	display: flex;
}
#selectChannel li {
	width: 80px;
}
#selectChannel li:not(:last-child) {
	margin-right: 7px;
}
#selectChannel li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 70px;
	border-radius: 10px 10px 0 0;
	font-size: 0;
	color: transparent;
	padding-top: 1px;
}
#selectChannel li.r1 a { background-color: var(--c-r1-light);}
#selectChannel li.r2 a { background-color: var(--c-r2-light);}
#selectChannel li.fm a { background-color: var(--c-fm-light);}
#selectChannel li.kako a { background-color: var(--c-ondemand-light);}
#selectChannel li.r1 a:hover { background-color: var(--c-r1);}
#selectChannel li.r2 a:hover { background-color: var(--c-r2);}
#selectChannel li.fm a:hover { background-color: var(--c-fm);}
#selectChannel li.kako a:hover { background-color: var(--c-ondemand);}
.r1 #selectChannel li.r1 a { background-color: var(--c-r1); cursor:default;}
.r2 #selectChannel li.r2 a { background-color: var(--c-r2); cursor:default;}
.fm #selectChannel li.fm a { background-color: var(--c-fm); cursor:default;}
.od #selectChannel li.kako a { background-color: var(--c-ondemand); cursor:default;}

#selectChannel li a:before {
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	background-repeat: no-repeat;
	background-size: contain;
}
#selectChannel li.r1 a:before { background-image: url(../img/badge_r1.svg);}
#selectChannel li.r2 a:before { background-image: url(../img/badge_r2.svg);}
#selectChannel li.fm a:before { background-image: url(../img/badge_fm.svg);}
#selectChannel li.kako a:before { background-image: url(../img/badge_ondemand.svg);}

/*再生・停止・音量*/
#playerTitle {
	color: #fff;
	word-break: break-all;
	padding: 14px 12px 10px;
	margin-top: -1px;
	position: relative;
}
#playerTitle h2 {
	font-size: 1.1875rem;
	line-height: 1.2;
	width:92%;
}
.od #playerTitle h2 span {
	display: block;
	font-size: 14px;
	margin-bottom: 4px;
	margin-right:20px;
}
.r1 #playerTitle { background-color: var(--c-r1);}
.r2 #playerTitle { background-color: var(--c-r2);}
.fm #playerTitle { background-color: var(--c-fm);}
.od #playerTitle { background-color: var(--c-ondemand);}

/*プレイヤー*/
.r1 .nol_audio_player,
.r1 .nol_audio_player iframe {
	background: var(--c-r1);
}
.r2 .nol_audio_player,
.r2 .nol_audio_player iframe {
	background: var(--c-r2);
}
.fm .nol_audio_player,
.fm .nol_audio_player iframe {
	background: var(--c-fm);
}
.od .nol_audio_player,
.od .nol_audio_player iframe {
	background: var(--c-ondemand);
}

.r1 .nol_audio_player iframe,
.r2 .nol_audio_player iframe,
.fm .nol_audio_player iframe {
	height: 100px;
}
.r1 .nol_audio_player iframe.flashls,
.r2 .nol_audio_player iframe.flashls,
.fm .nol_audio_player iframe.flashls {
	height: 83px;
}
.od .nol_audio_player {
	min-height: 100px;
}

/*コネクションエラー*/
#c_error {
	position: relative;
	display: none;
}
#c_error .inner {
	position: absolute;
	top: -110px;
	width: 100%;
}
#c_error .inner2 {
	height: 100px;
	background: #3e45a8;
	text-align: center;
	color: #fff;
	border: solid 4px #ff0;
	border-radius: 10px;
	padding: 17px 12px 12px;
	margin: 0 12px;
}
#c_error .heading {
	font-size: 16px;
	color: #ff0;
	font-family: var(--font-HiraginoW6);
	padding-bottom: 14px;
}
#c_error .link1 a {
	display: block;
	background: #fff;
	color: #ee3109;
	border-radius: 15px;
	font-size: 14px;
	font-family: var(--font-HiraginoW6);
	margin: 0 12px 6px;
	padding: 6px;
}
#c_error .link1 a:hover {
	background: #ee3109;
	color: #fff;
}
#c_error .link2 a {
	font-size: 14px;
	color: #fff;
	text-decoration: underline;
}
#c_error .link2 a:hover {
	text-decoration: none !important;
}

/*Flashプラグイン*/
#f_error {
	position: relative;
	display: none;
}
#f_error .inner {
	position: absolute;
	top: -110px;
	width: 100%;
}
#f_error .inner2 {
	padding: 10px 6px;
	background: #333;
	margin: 0 12px;
	height: 100px;
	color: #fff;
	border: solid 3px #fff;
	text-align: center;
	border-radius: 10px;
}
#f_error p span {
	display: block;
	font-size: 10px;
	color: #999;
	text-align: center;
}
#f_error .heading {
	font-size: 16px;
	color: #fff;
	font-family: var(--font-HiraginoW6);
	padding-bottom: 6px;
}
#f_error .link1 {
	padding-bottom: 4px;
}
#f_error .link2 a {
	font-size: 14px;
	color: #fff;
	text-decoration: underline;
}
#f_error .link2 a:hover {
	text-decoration: none !important;
}

/*アプリ誘導*/
#s_error {
	position: relative;
	display: none;
}
#s_error .inner {
	position: absolute;
	top: -110px;
	width: 100%;
}
#s_error .inner2 {
	padding: 12px;
	background: #fff;
	margin: 0 12px;
	height: 100px;
	color: #fff;
	text-align: center;
	border-radius: 10px;
}
#s_error .heading {
	font-size: 16px;
	color: #333;
	font-family: var(--font-HiraginoW6);
	padding-bottom: 12px;
}
#s_error .link1 a {
	display: block;
	background: #ee3109;
	color: #fff;
	border-radius: 10px;
	font-size: 14px;
	font-family: var(--font-HiraginoW6);
	line-height: 1.35;
	margin: 0 12px 6px;
	padding: 6px;
}
#s_error .link1 a:hover {
	background: #333;
	color: #fff;
}

/*番組タイトル*/
#title {
	color: #fff;
	font-family: var(--font-HiraginoW6);
	line-height: 1.35;
	padding: 10px 12px 16px;
	position: relative;
}
.r1 #title { background: var(--c-r1-dark);}
.r2 #title { background: var(--c-r2-dark);}
.fm #title { background: var(--c-fm-dark);}
.od #title {
	background: var(--c-ondemand-dark);
	padding-top: 12px;
}
#title::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: 5px transparent solid;
	border-bottom-color: #fff;
	border-width: 0 5px 9px 5px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -5px;
}
.tiny #title::after {
	display: none;
}

#title #time {
	margin-bottom: 4px;
	opacity: 0.8;
}
.od #title #time {
	margin-bottom: 0;
	opacity: 1;
}
.od #title #time .expired {
	display: inline-block;
	margin: 5px 0 0;
	background: #ecf4fd;
	color: #c10015;
	padding: 2px 8px 1px;
}

#title h3 {
	font-size: 1.125rem;
}
.od #title h3 {
	margin-bottom: 8px;
}

/*番組情報*/
#detail,
#relations,
#setSNS {
	background: #fff;
}

/*番組詳細*/
#detail {
	height: 200px;
	overflow: auto;
	margin-bottom: 10px;
}
.od #detail {
	height: 130px;
}

#detail .inner {
	font-size: 0.937rem;
	padding: 12px 12px 0 12px;
}
#detail .inner img {
	display: block;
	width: 50%;
	max-width: 260px;
	float: right;
	margin: 3px 0 3px 10px;
}
#detail .inner img.only {
	display: block;
	width: 250px;
	max-width: 250px;
	float: none;
	margin: 0 auto;
}
#detail .inner .optional img {
	margin: 0 auto 10px;
	float: none;
}
#detail .inner:after {
	content: "";
	clear: both;
	display: block;
}

.nhktext {
	padding: 10px 0;
}
.nhktext a {
	text-decoration: underline;
}
.nhktext a:hover {
	text-decoration: none;
}
.r1 .nhktext a { color: var(--c-r1);}
.r2 .nhktext a { color: var(--c-r2);}
.fm .nhktext a { color: var(--c-fm);}

/*sns*/
#setSNS {
	text-align: center;
	padding-bottom: 10px;
}
/* #ODcontents #setSNS {
	padding: 12px 0 5px;
} */
.radionews #appLink {
	display: none;
}

/*番組サイト*/
#relations {
	padding: 0 5%;
	margin-bottom: 10px;
}
#relations a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	font-size: 0.875rem;
	line-height: 1.2;
	text-align: center;
	background: #fff;
	border: 1px solid #000;
	border-radius: 50px;
	padding: 5px 1.125rem;
	position: relative;
	transition: all .15s;
}
#relations a::after {
	content: "";
	display: block;
	width: 8px;
	height: 13px;
	background: url(../img/icon_arrow_g.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	margin: auto;
}
#relations a:hover {
	background: var(--c-main-black);
	color: #fff;
}
#relations a:hover::after {
  background-image: url(../img/icon_arrow_w.svg);
}

/*番組表+NOA*/
#bottom {
	display: flex;
	border-top: 7px solid #ccc;
	overflow: hidden;
}
.r1 #bottom { border-color: var(--c-r1);}
.r2 #bottom { border-color: var(--c-r2);}
.fm #bottom { border-color: var(--c-fm);}

/*番組表*/
#timetable {
	width: 70px;
	flex-shrink: 0;
}
#timetable a {
	display: block;
	width: 100%;
	height: 75px;
	font-size: 0;
	color: transparent;
	background: url(../img/player/timetable.png) no-repeat center;
	background-size: 50px auto;
	position: relative;
	cursor: pointer;
}
#timetable a:hover {
	background-color: #f9f9f9;
}

/*NOA*/
#bottom ul {
	background: #eee;
	flex: 1;
	overflow: hidden;
}
#bottom li:not(:last-child) {
	border-bottom: solid 1px #c8c7c6;
}
#bottom li a {
	display: flex;
	align-items: center;
	height: 37px;
	padding: 0 5px 0 10px;
}
#bottom li a::before {
	content: "";
	display: block;
	width: 25px;
	height: 25px;
	background-repeat: no-repeat;
	background-size: contain;
	flex-shrink: 0;
	margin-right: 8px;
}
#bottom li.r1 a::before { background-image: url(../img/player/icon_gray_r1.png);}
#bottom li.r2 a::before { background-image: url(../img/player/icon_gray_r2.png);}
#bottom li.fm a::before { background-image: url(../img/player/icon_gray_fm.png);}
/*hover*/
#bottom li a:hover { color: #fff;}
#bottom li.r1 a:hover { background-color: var(--c-r1);}
#bottom li.r2 a:hover { background-color: var(--c-r2);}
#bottom li.fm a:hover { background-color: var(--c-fm);}
#bottom li.r1 a:hover::before { background-image: url(../img/player/icon_white_r1.png);}
#bottom li.r2 a:hover::before { background-image: url(../img/player/icon_white_r2.png);}
#bottom li.fm a:hover::before { background-image: url(../img/player/icon_white_fm.png);}
#bottom li .title {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/*らじるのツイート*/
/* #radirutweet {
	background: #4b4741;
	color: #eee;
}
#radiruillust {
	position: relative;
	z-index: 10;
}
#radiruillust span {
	display: block;
	width: 73px;
	height: 40px;
	background: url(../img/parts_listen.png) no-repeat -205px -70px;
	background-size: 300px auto;
	position: absolute;
	top: -40px;
	right: 0;
}
.hls #radiruillust span {
	background-position: -205px -115px;
	height: 50px;
	top: -50px;
}
#radirutweet .inner {
	white-space: nowrap;
	overflow: hidden;
	line-height: 1.1em;
}
#radirutweet .inner p {
	padding: 9px 0;
	height: 30px;
}
#radirutweet .inner span {
	color: #ddd;
	display: inline-block;
	padding: 0 5px;
} */

/*
================
番組詳細
================
*/
#bangumi #container {
	background: #fff;
}

#channelheading {
	display: flex;
	align-items: center;
	height: 60px;
	font-size: 1.1875rem;
	color: #fff;
}
.r1 #channelheading { background: var(--c-r1);}
.r2 #channelheading { background: var(--c-r2);}
.fm #channelheading { background: var(--c-fm);}

#channelheading::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	background-repeat: no-repeat;
	background-size: contain;
	margin: 0 10px;
}
.r1 #channelheading::before { background-image: url(../img/badge_r1.svg);}
.r2 #channelheading::before { background-image: url(../img/badge_r2.svg);}
.fm #channelheading::before { background-image: url(../img/badge_fm.svg);}

#bpic {
	text-align: center;
	background: #e6e6e6;
}
#bpic img {
	display: block;
	width: 100%;
	margin: 0 auto;
}

#detailinner {
	height: 240px;
	background: #fff;
	overflow: auto;
	margin-bottom: 10px;
}
#detailinner #time {
	font-family: var(--font-HiraginoW6);
	margin-bottom: 5px;
	padding: 14px 12px 0;
}
.r1 #detailinner #time { color: var(--c-r1);}
.r2 #detailinner #time { color: var(--c-r2);}
.fm #detailinner #time { color: var(--c-fm);}

#detailinner h3 {
	font-size: 1.125rem;
	line-height: 1.35;
	border-bottom: solid 1px #939494;
	padding: 0 12px 12px;
	margin-bottom: 12px;
}
#detailinner p {
	font-size: 0.937rem;
	padding: 0 12px 20px;
}
.od p.note {
	font-size: 0.75rem;
	color: var(--c-ondemand-dark);
	text-align: center;
	padding: 5px 0 10px;
}
.od p.note:before {
	content: "※";
}


/*
================
opt
================
*/
#optmessage {
	padding: 130px 20px 300px;
	font-size: 16px;
	line-height: 1.3;
	background: #fff url(../img/optbg.png) center bottom no-repeat;
}
#optmessage .right {
	display: block;
	text-align: right;
	color: #d40012;
	text-decoration: underline;
}
#optmessage .right:hover {
	text-decoration: none;
}
#optmessage .btn {
	display: block;
	background: #e71a1d;
	text-align: center;
	color: #fff;
	border-radius: 7px;
	padding: 8px;
	text-decoration: none;
	margin: 50px 0 0;
}
#optmessage .btn:hover {
	background: #ae0710;
}

/*
================
聴き逃し
================
*/
#ODindex {
	text-align: center;
	background: var(--c-ondemand);
	position: relative;
}
#ODindex a {
	display: block;
	width: 100%;
	height: 100%;
	font-size: 16px;
	color: #fff;
	padding: 18px 0 12px;
	cursor: pointer;
}
#ODindex a::before {
	content: "";
	display: block;
	width: 70%;
	height: 0;
	padding-top: 62.22%;
	background: url(../img/player/radiru_sagasu.png) no-repeat;
	background-size: contain;
	margin: 0 auto 10px;
}
#ODindex a span {
	display: inline-flex;
	align-items: center;
	height: 36px;
}
#ODindex a span::after {
	content: "";
	display: block;
	width: 8px;
	height: 13px;
	background: url(../img/icon_arrow_w.svg) no-repeat;
	background-size: contain;
	margin: 2px 0 0 10px;
}

/*iOSフタ*/
#naCov {
	text-align: center;
	padding: 0 10px 15px;
}
.r1 #naCov { background: var(--c-r1);}
.r2 #naCov { background: var(--c-r2);}
.fm #naCov { background: var(--c-fm);}
.od #naCov { background: var(--c-ondemand);}
#naCov .inner {
	display: table;
	width: 100%;
	table-layout: fixed;
	text-align: center;
	background: #fff;
	border-radius: 10px;
	padding: 10px;
}
#naCov .inner .naCov {
	display: table-cell;
	vertical-align: top;
	padding: 5px;
}
#naCov .inner .naCov h3 {
	font-size: 13px;
	opacity: 0.8;
	margin-bottom: 6px;
}
#naCov .inner .naCov a {
	display: block;
	width: 100%;
	height: 55px;
	font-size: 15px;
	font-family: var(--font-HiraginoW6);
	line-height: 1.2;
	color: #fff;
	border-radius: 5px;
}
#naCov .inner .naCov:nth-child(1) a {
	line-height: 55px;
}
#naCov .inner .naCov:nth-child(2) a {
	padding-top: 9px;
}
.r1 #naCov .inner .naCov a {
	background: #f32832;
}
.r2 #naCov .inner .naCov a {
	background: #08cb31;
}
.fm #naCov .inner .naCov a {
	background: #ffae45;
}
.od #naCov .inner .naCov a {
	background: #178ff9;
}
/*Androidアプリ誘導*/
#appLink {
	padding: 0 10px 0;
}
.r1 #appLink { background: var(--c-r1);}
.r2 #appLink {background: var(--c-r2);}
.fm #appLink {background: var(--c-fm);}
.od #appLink {background: var(--c-ondemand);}

#appLink .naCov a {
	display: block;
	width: 100%;
	height: 70px;
	font-size: 20px;
	line-height: 72px;
	color: #fff;
	padding-left: 90px;
	position: relative;
}
#appLink .naCov a::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url(../img/app_icon.png) no-repeat;
	background-size: 200px auto;
	position: absolute;
	top: 5px;
	left: 15px;
}
#appLink .naCov a::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -9px;
	transform: rotate(45deg);
}

/*＠media
///////////////////////////////////////////////////////*/
@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#timetable a::before {
		background-position: -105px -110px;
		background-size: 300px auto;
	}
}

@media screen and (max-device-width: 320px) {
	#naCov .inner {
		padding: 10px 5px;
	}
	#naCov .inner .naCov h3 {
		font-size: 12px;
	}
	#naCov .inner .naCov a {
		font-size: 14px;
	}
}


/*＠UPDATE
///////////////////////////////////////////////////////*/
/*20210719 tweet非表示*/
#radirutweet {
	display: none;
}

/*20231002 オンデマンド縮小画面用*/
.tiny .od .nol_audio_player {
	min-height: 90px;
}
.tiny .od .nol_audio_player iframe {
	height: 90px !important;
}
.tiny #title {
	padding: 8px 0 8px 12px;
}
.tiny #title h3,
.tiny .od #title h3 {
	margin-bottom: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/*202504 注釈追加*/
.onair-info {
	margin-bottom: 0.2em;
}
.onair-info a {
	font-family: var(--font-HiraginoW6);
	color: var(--c-ondemand-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}
.onair-info a:hover {
	text-decoration: none;
}

.onair-text::after {
	content: "";
	clear: both;
	display: block;
}
