@charset "UTF-8";
/*@contents
/////////////////////////////////////////////////////////////////////*/
.contents-main {
	padding-bottom: 120px;
	overflow-x: hidden;
}
.contents-inner {
	max-width: 1500px;
	padding: 0 40px;
	margin: 0 auto;
}
@media screen and (max-width:767.98px) {
	.contents-main { padding-bottom: 60px;}
	.contents-inner { padding: 0 3%;}
}

/*header*/
.contents-header {
	font-size: 2rem;
	color: #fff;
	background: var(--c-main-black);
	padding: 0 40px;
}
.ondemand .contents-header {
	background: var(--c-ondemand);
}
.contents-header-inner {
	display: flex;
	align-items: center;
	min-height: 75px;
	padding: 0.3125rem 0;
	position: relative;
}
@media screen and (max-width:767.98px) {
	.contents-header {
		font-size: 1.25rem;
		padding: 0 1.282vw 0 3.846vw;
	}
	.contents-header-inner { min-height: 56px;}
}

.icon-radiru .contents-header-inner::before {
	content: "";
	display: block;
	width: 135px;
	height: 85px;
	background: url(../img/radiru/radiru1.png) no-repeat;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	left: 0;
}
@media screen and (min-width:768px) {
	.contents-header.icon-radiru { padding-left: 0;}
	.contents-header.icon-radiru .contents-header-inner {
		padding-left: 150px;
	}
}
@media screen and (max-width:767.98px) {
	body:not(.ondemand) .contents-header.icon-radiru { padding-left: 0;}
	body:not(.ondemand) .contents-header.icon-radiru .contents-header-inner { padding-left: 85px;}
	.contents-header.icon-radiru .contents-header-inner::before {
		width: 100px;
		height: 64px;
		left: -20px;
	}
	.ondemand .contents-header.icon-radiru .contents-header-inner::before { display: none;}
}

.contents-title {
	font-family: var(--font-HiraginoW6);
	white-space: nowrap;
	margin-right: 15px;
}
.contents-title a {
	display: block;
	color: #fff;
	padding-top: 2px;
}
.contents-header-notes {
	font-size: 1rem;
	line-height: 1.3;
	margin: 3px 10px 0 0;
}
.contents-header .search-field {
	margin-left: auto;
}
.contents-header .search-field-input {
	border: none;
}
@media screen and (max-width:767.98px) {
	.contents-title { margin-right: 3.076vw;}
	.contents-header-notes { display: none;}
	.contents-header .search-field::before {
		width: 18px;
		height: 18px;
		left: 8px;
	}
	.contents-header .search-field-input {
		max-width: 185px;
		min-height: 34px;
		font-size: 1rem;
		padding-left: 32px;
		padding-right: 10px;
	}
	.contents-header .search-field-input::placeholder { font-size: 0.875rem;}
}

/*section*/
.section-inner {
	position: relative;
}
.section-title {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 1200px;
	text-align: center;
	padding: 1.875rem 0 2.5rem;
	margin: 0 auto;
	position: relative;
}
.section-title-text {
	font-size: 2rem;
	line-height: 1.35;
}
@media screen and (min-width:768px) {
	#program .section-inner,
	#ondemand .section-inner {
		min-height: 500px;
	}
	.section-title.no-child { padding-top: 50px;}
}
@media screen and (max-width:767.98px) {
	#program .section-inner,
	#ondemand .section-inner {
		min-height: 100px;
	}
	.section-title {
		flex-direction: column;
		padding: 0 0 20px;
	}
	.section-title-text {
		font-size: 1.375rem;
		margin-bottom: 8px;
	}
}

/*検索結果*/
.search-results .section-title {
	padding: 3.125rem 0 2.5rem;
}
@media screen and (max-width:767.98px) {
	.search-results .section-title {
		padding: 1.875rem 0 1rem;
	}
}


/*@探すページ
/////////////////////////////////////////////////////////////////////*/
/*カテゴリメニュー*/
@media screen and (min-width:768px) {
	.select-program-pc {
		position: relative;
		z-index: 2;
	}
	.select-menu {
		background: #fff;
		padding-top: 25px;
	}
	.select-menu-tab {
		display: flex;
		justify-content: center;
	}
	.select-menu-item:not(:last-child) {
		margin-right: 15px;
	}
	.select-menu-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 220px;
		min-height: 50px;
		font-size: 1.375rem;
		font-family: var(--font-HiraginoW6);
		background: #fff;
		border: 1px solid var(--c-main-black);
		border-radius: 50px;
		padding: 5px 25px;
		margin-bottom: -15px;
		position: relative;
	}
	.pc .select-menu-btn:hover,
	.sp .select-menu-btn.hover,
	.select-menu-btn.this {
		background: var(--c-main-black);
		color: #fff;
	}
	.select-menu-btn.this::after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border: 7px transparent solid;
		border-top-color: var(--c-main-black);
		border-width: 11px 7px 0 7px;
		position: absolute;
		top: 100%;
		left: calc(50% - 7px);
	}
	.select-tag {
		max-width: 1150px;
		padding-top: 40px;
		margin: 0 auto;
	}
	.select-tag .search-tag-list {
		justify-content: center;
	}
}
@media screen and (max-width:767.98px) {
	.select-program-sp {
		margin-bottom: 30px;
		position: relative;
		z-index: 2;
	}
	.select-menu {
		display: flex;
		justify-content: space-around;
		background: #fff;
		padding: 15px 2% 0;
	}
	.select-option {
		flex: 1;
		min-height: 34px;
		margin-bottom: -12px;
		position: relative;
	}
	.select-option:not(:last-child) { margin-right: 2%;}
	.select-option-label {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		font-size: 0.875rem;
		font-family: var(--font-HiraginoW6);
		text-align: center;
		white-space: nowrap;
		background: #fff;
		border: 1px solid var(--c-main-black);
		border-radius: 50px;
		padding: 5px 3px;
		position: relative;
		z-index: 1;
		transition: all 0.2s;
	}
	label.select-option-label::before {
		content: "";
		display: block;
		width: 11px;
		height: 11px;
		background: url(../img/icon_arrow_pd.svg) no-repeat;
		background-size: contain;
		margin-top: 1px;
		margin-left: 3px;
		position: absolute;
		right: 10px;
	}
	.select-option select {
		width: 100%;
		height: 100%;
		font-size: 1rem;
		text-align: center;
		color: transparent;
		border-radius: 50px;
		cursor: pointer;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
	}
	.select-option option {
		color: var(--c-main-black);
	}
	.select-option-label.this {
		background: var(--c-main-black);
		color: #fff;
	}
	.select-option-label.this::after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border: 4px transparent solid;
		border-top-color: var(--c-main-black);
		border-width: 7px 4px 0 4px;
		position: absolute;
		top: 100%;
		left: calc(50% - 4px);
	}
}
@media screen and (max-width:360px) {
	.select-option-label { font-size: 3.589vw;}
	label.select-option-label::before {
	width: 2.82vw;
	height: 2.82vw;
}

}

/*サブジャンル*/
@media screen and (min-width:768px) {
	.select-sub-genre { margin: -10px 0 45px;}
	.select-sub-genre .select-tag {padding-top: 0;}
}
@media screen and (max-width:767.98px) {
	.select-sub-genre { margin: -5px 0 30px;}
	.select-sub-genre .select-menu {
		background: none;
		padding-top: 0;
	}
	.select-sub-genre .select-option {
		max-width: 300px;
		margin: 0 auto;
	}
	.select-sub-genre label.select-option-label::before { right: 15px;}
}

/*局選択*/
#sortRadio .search-tag-btn {
	border: none;
}
@media screen and (min-width:768px) {
	#sortRadio {
		position: absolute;
		right: 0;
	}
	#sortRadio .search-tag-btn {
		min-width: 70px;
		font-size: 1.0625rem;
	}
}

/*番組リスト*/
.program-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	justify-content: center;
	column-gap: 1.875rem;
	row-gap: 2.5rem;
}
.program-list-item {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.program-list-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-bottom: 1.875rem;
}
@media screen and (max-width:767.98px) {
	.program-list {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 12px;
		row-gap: 12px;
	}
	.program-list-link { padding-bottom: 1.25rem;}
}

.program-list .pic {
	width: 100%;
	height: 0;
	padding-top: calc(9 / 16 * 100%);
	overflow: hidden;
	margin-bottom: 15px;
	position: relative;
	transition: opacity .2s;
}
.program-list .pic img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
@media screen and (max-width:767.98px) {
	.program-list .pic { margin-bottom: 12px;}
}

.program-list .title {
	font-size: 1.25rem;
	font-family: var(--font-HiraginoW6);
	line-height: 1.35;
	padding: 0 20px;
	margin-bottom: 15px;
}
.program-list .title span {
	display: block;
	font-size: 0.875rem;
	margin-bottom: 2px;
}
.program-list .detail {
	line-height: 1.6;
	padding: 0 20px;
}
.program-list .detail:not(:last-child) {
	margin-bottom: 10px;
}
.program-list .detail-text {
	font-size: 0.812rem;
}
.ondemand .program-list .detail-text {
	font-size: 0.937rem;
}
.program-list .icon-tag {
	margin-left: -2px;
}
@media screen and (max-width:767.98px) {
	.program-list .title {
		font-size: 0.9375rem;
		padding: 0 3.846vw;
		margin-bottom: 10px;
	}
	.program-list .title span {
		font-size: 0.75rem;
	}
	.program-list .detail {
		flex-direction: column;
		line-height: 1.5;
		padding: 0 3.846vw;
	}
	.program-list .detail:not(:last-child) {
		margin-bottom: 8px;
	}
	.program-list .detail-text {
		font-size: 0.6875rem;
		padding: 0;
	}
	.ondemand .program-list .detail-text {
		font-size: 0.75rem;
	}
	.program-list .icon-tag { margin-bottom: 4px;}
	.program-list .icon-tag .tag { margin-bottom: 2px;}
}

.program-list-btn {
	text-align: center;
	padding: 0.937rem 20px 0;
	margin-top: auto;
	pointer-events: none;
}
@media screen and (min-width:768px) {
	.program-list .link-btn {
		font-size: 0.937rem;
		padding: 5px 1.125rem;
	}
	.program-list .link-btn .arrow {
		width: 9px;
		height: 15px;
	}
	.program-list .link-btn-text {
		padding-left: 10px;
	}
}
@media screen and (max-width:767.98px) {
	.program-list-btn {
		padding: 5px 0 0;
	}
	.program-list .link-btn {
		width: 86%;
		font-size: 0.687rem;
		white-space: nowrap;
		padding: 5px 2.564vw 5px 3.076vw;
	}
	.program-list .link-btn-text {
		padding-left: 1.794vw;
	}
	.program-list .link-btn .arrow {
		width: 6px;
		height: 10px;
		margin-left: 1.025vw;
		margin-right: 0;
	}
}
@media screen and (max-width:375px) {
	.program-list .link-btn { font-size: 2.82vw;}
}

/*hover*/
.pc .program-list-link[href]:hover .pic,
.sp .program-list-link.hover[href] .pic {
	opacity: .8;
}
.pc .program-list-link[href]:hover .link-btn,
.sp .program-list-link.hover[href] .link-btn {
	background: var(--c-main-black);
	color: #fff;
}
.pc .program-list-link[href]:hover .link-btn .arrow,
.sp .program-list-link.hover[href] .link-btn .arrow {
  background-image: url(../img/icon_arrow_w.svg);
}

/*program*/
@media screen and (min-width:768px) {
	.program-list.detail-2col .detail {
		display: flex;
		align-items: flex-start;
	}
	.program-list.detail-2col .detail:not(:last-child) {
		margin-bottom: 5px;
	}
	.program-list.detail-2col .icon-tag {
		flex-shrink: 0;
		flex-direction: column;
		padding-top: 2px;
		margin-left: 0;
		margin-right: 12px;
	}
	.program-list.detail-2col .icon-tag .tag {
		margin-right: 0;
	}
}

/*special*/
@media screen and (min-width:768px) {
	.special .select-menu {
		margin-bottom: 84px;
		position: relative;
	}
	.special .select-menu-btn {
		min-width: 0;
		font-size: 1.25rem;
	}
	.special .select-tag {
		width: 100vw;
		max-width: initial;
		margin: 0 calc(50% - 50vw);
		position: absolute;
		left: 0;
	}
	.special .select-menu-item:first-child .select-tag {
		display: block;
	}
}
@media screen and (max-width:767.98px) {
	.special .contents-main { padding-top: 25px;}
}

/*注意書き*/
.program-bottom-notes {
	text-align: center;
	padding-top: 70px;
	margin-bottom: -30px;
}
.program-bottom-notes-list {
	display: inline-block;
	text-align: left;
}
.program-bottom-notes-item {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 3px;
}
.program-bottom-notes-item a {
	color: var(--c-red);
	font-family: var(--font-HiraginoW6);
	border-bottom: 1px solid var(--c-red);
}
.pc .program-bottom-notes-item a:hover {
	opacity: .7;
}
@media screen and (max-width:767.98px) {
	.program-bottom-notes {
		font-size: 0.75rem;
		padding: 30px 3% 0;
		margin-bottom: -20px;
	}
}

/*ありません*/
.program-empty {
	font-size: 1.375rem;
	font-family: var(--font-HiraginoW5);
	text-align: center;
	padding: 20px 0;
}
@media screen and (max-width:767.98px) {
	.program-empty { font-size: 1rem;}
}


/*@番組詳細
/////////////////////////////////////////////////////////////////////*/
.detail-header .contents-inner {
	display: flex;
	width: 100%;
}
@media screen and (min-width:768px) {
	.detail-header {
		background: #fff;
		padding: 50px 0;
	}
	.detail-header .detail-pic {
		max-width: 565px;
		flex-shrink: 0;
	}
	.detail-header .detail-inner {
		width: 100%;
		margin-left: 40px;
	}
}
@media screen and (max-width:767.98px) {
	.detail-header .contents-inner {
		flex-direction: column;
		padding: 0;
	}
	.detail-header .detail-pic,
	.detail-header .detail-pic img { width: 100%;}
	.detail-header .detail-inner { padding: 20px 5%;}
	.corners .detail-header {
		background: #fff;
	}
	.corners .detail-header .detail-inner {
		padding-top: 25px;
		padding-bottom: 30px;
	}
}

.detail-header .detail-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 20px;
}
.detail-header .detail-title-text {
	font-size: 1.75rem;
	line-height: 1.25;
}
.detail-header .detail-corner-link {
	display: block;
	font-size: 1.25rem;
	margin-bottom: 10px;
}
.detail-header .detail-corner-link a {
	border-bottom: 1px solid #000;
}
.pc .detail-header .detail-corner-link a:hover,
.sp .detail-header .detail-corner-link a.hover {
	opacity: .7;
}
@media screen and (max-width:767.98px) {
	.detail-header .detail-title { margin-bottom: 15px;}
	.detail-header .detail-title-text { font-size: 1.125rem;}
	.detail-header .detail-corner-link { font-size: 0.875rem;}
}

@media screen and (min-width:768px) {
	.detail-header .link-btn {
		font-size: 1rem;
		padding: 6px 1.125rem;
		margin-left: 20px;
	}
	.detail-header .link-btn .arrow {
		width: 9px;
		height: 15px;
	}
}
@media screen and (max-width:767.98px) {
	.detail-header .link-btn {
		font-size: 0.687rem;
		padding: 6px 10px;
		margin: -3px -2% 0 10px;
		flex-shrink: 0;
	}
	.detail-header .link-btn .arrow {
		width: 6px;
		height: 10px;
	}
}

.detail-header .icon-tag {
	align-items: center;
	margin-bottom: 7px;
}
.detail-header .icon-tag .tag {
	margin-bottom: 0;
}
.detail-header .tag-text {
	font-size: 0.875rem;
	line-height: 1.2;
}
.detail-header .tag-text + .tag {
	margin-left: 18px;
}
@media screen and (max-width:767.98px) {
	.detail-header .tag-text { font-size: 0.812rem;}
}

.detail-header .detail-date {
	display: flex;
	font-size: 0.875rem;
	margin-bottom: 20px;
	position: relative;
}
.detail-header .detail-date::before {
	content: "";
	display: block;
	width: 1.125rem;
	height: 1.125rem;
	background: url(../img/icon_time.svg) no-repeat;
	background-size: contain;
	flex-shrink: 0;
	margin: 2px 10px 0 6px;
}
@media screen and (max-width:767.98px) {
	.detail-header .detail-date {
		font-size: 0.812rem;
		margin-bottom: 15px;
	}
	.detail-header .detail-date::before {
		width: 1rem;
		height: 1rem;
	}
}

.detail-header .detail-text {
	font-size: 1.0625rem;
	line-height: 1.8;
}
.detail-text-more {
	text-align: center;
	margin-top: 20px;
}
.detail-text-more-btn {
	display: inline-flex;
	align-items: center;
	font-size: 1.125rem;
}
.detail-text-more-btn span:nth-child(1) {
	border-bottom: 1px solid #000;
}
.detail-text-more-btn .arrow {
	margin: 5px 0 0 13px;
}
@media screen and (max-width:767.98px) {
	.detail-header .detail-text {
		font-size: 0.9375rem;
		line-height: 1.6;
	}
	.detail-text-more { margin-top: 15px;}
	.detail-text-more-btn { font-size: 0.9375rem;}
	.detail-text-more-btn .arrow { margin-left: 8px;}
}

/*list*/
.program-archive-list {
	max-width: 1100px;
	padding-top: 30px;
	margin: 0 auto;
}
.program-archive-list .notes {
	font-size: 0.875rem;
	text-align: right;
	color: #656565;
	margin-bottom: 10px;
}
.program-archive-item {
	background: #fff;
	border: 1px solid var(--c-ondemand);
	border-radius: 12px;
	overflow: hidden;
}
.program-archive-item:not(:last-child) {
	margin-bottom: 30px;
}
.program-archive-list .nol_audio_player iframe {
	border-radius: 0;
}
@media screen and (max-width:767.98px) {
	.program-archive-list .notes {
		font-size: 0.6875rem;
	}
	.program-archive-item:not(:last-child) {
		margin-bottom: 20px;
	}
}

.program-archive-link {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto 1fr;
	grid-template-areas:
		"archive1 archive1"
		"archive2 archive4"
		"archive3 archive4";
	padding: 25px 40px;
	position: relative;
}
.program-archive-link .title { grid-area: archive1;}
.program-archive-link .date { grid-area: archive2;}
.program-archive-link .summary { grid-area: archive3;}
.program-archive-link .play-popup { grid-area: archive4;}
.program-archive-link .play-popup {
	font-size: 12px;
	font-family: var(--font-HiraginoW6);
	color: var(--c-ondemand);
	text-align: center;
	letter-spacing: normal;
	line-height: 1.3;
	font-feature-settings: "palt";
	margin: 0 0 -10px 15px;
	cursor: pointer;
}
.program-archive-link .play-popup::before {
	content: "";
	display: block;
	width: 85px;
	height: 85px;
	align-self: center;
	background: var(--c-ondemand) url(../img/icon_play.svg) no-repeat 58% 50%;
	background-size: 35.5% auto;
	border-radius: 50%;
	margin: 0 auto 5px;
	transition: all .15s;
}
.pc .program-archive-link .play-popup:hover::before,
.sp .program-archive-link .play-popup:hover::before {
	background-color: var(--c-ondemand-hover);
}
@media screen and (max-width:767.98px) {
	.program-archive-link {
		padding: 15px 20px;
	}
	.program-archive-link .play-popup {
		font-size: 10px;
		line-height: 1.3;
		margin: 0 -12px -2px 10px;
	}
	.program-archive-link .play-popup::before {
		width: min(8.717vw, 50px);
		height: min(8.717vw, 50px);
		align-self: end;
		background-size: 37.5% auto;
		margin-bottom: 3px;
	}
}
@media screen and (max-width:390px) {
	.program-archive-link .play-popup {
		font-size: 2.051vw;
	}
}

.program-archive-link .title {
	font-size: 1.5rem;
	font-family: var(--font-HiraginoW6);
	line-height: 1.25;
	color: var(--c-ondemand);
	border-bottom: 1px solid var(--c-ondemand);
	padding-bottom: 15px;
	margin-bottom: 12px;
}
.program-archive-link .date {
	display: flex;
	align-items: center;
	padding-left: 1.75rem;
	margin-bottom: 20px;
	position: relative;
}
.program-archive-link .date::before {
	content: "";
	display: block;
	width: 1.125rem;
	height: 1.125rem;
	background: url(../img/icon_time.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0.25rem;
	left: 0;
}
.program-archive-link .date span:not(:last-child) {
	margin-right: 20px;
}
.program-archive-link .date .d2 {
	color: var(--c-red);
}
@media screen and (max-width:767.98px) {
	.program-archive-link .title {
		font-size: 1rem;
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
	.program-archive-link .date {
		flex-wrap: wrap;
		font-size: 0.8125rem;
		padding-left: 1.5rem;
		margin-bottom: 10px;
	}
	.program-archive-link .date::before {
		width: 1rem;
		height: 1rem;
		top: 0.1875rem;
	}
	.program-archive-link .summary { font-size: 0.875rem;}
}

/*インラインプレーヤー*/
.nol_audio_player_base {
	max-height: 106px;
	background: var(--c-ondemand);
	overflow: hidden;
}
.nol_audio_player_base iframe {
	width: 100%;
	height: 106px;
}
.nol_audio_player_base > a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 60px;
	font-size: 16px;
	font-family: var(--font-HiraginoW6);
	color: #fff;
	background: var(--c-ondemand);
	padding: 0 40px;
}
.nol_audio_player_base > a.hidden {
	display: none;
}
.nol_audio_player_base > a::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: #e8efff url(../img/icon_play_blue.svg) no-repeat 58% 50%;
	background-size: 37.5% auto;
	border-radius: 50%;
	margin-right: 10px;
}
.pc .nol_audio_player_base > a:hover,
.sp .nol_audio_player_base > a.hover {
	background: var(--c-ondemand-hover);
}
@media screen and (max-width:767.98px) {
	.nol_audio_player_base {
		max-height: 98px;
	}
	.nol_audio_player_base iframe {
		height: 98px;
	}
	.nol_audio_player_base > a {
		height: 45px;
		font-size: 0.812rem;
		padding: 0 20px;
	}
	.nol_audio_player_base > a::before {
		width: 28px;
		height: 28px;
	}
}

/*おすすめ番組*/
.section-recommended {
	margin-top: 20px;
}
.section-bottom-link {
	max-width: 340px;
	margin: 60px auto 0;
}
.section-bottom-link .link-btn {
	width: 100%;
}
@media screen and (max-width:767.98px) {
	.section-recommended { margin-top: 40px;}
	.section-recommended .section-title-text { margin-bottom: 0;}
	.section-bottom-link {
		width: 85%;
		max-width: 260px;
		margin-top: 30px;
	}
}

/*番組ページ*/
.corners-program-list {
	padding-top: 50px;
}

/*ありません*/
.contents-main .expired {
	font-size: 1.25rem;
	font-family: var(--font-HiraginoW5);
	text-align: center;
	padding: 80px 0;
}
@media screen and (max-width:767.98px) {
	.contents-main .expired {
		font-size: 1rem;
		padding: 50px 0;
	}
}



/*@番組表
/////////////////////////////////////////////////////////////////////*/
.section-timetable { padding-top: 45px;}
.timetable-update {
	display: flex;
	align-items: center;
	font-size: 1rem;
	margin-left: auto;
}
.timetable-update .reload-btn {
	width: 65px;
	height: 65px;
	padding: 17px;
	flex-shrink: 0;
}
.timetable-update .reload-btn img {
	transition: transform .65s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pc .timetable-update .reload-btn:hover img {
	transform: rotate(90deg);
}
@media screen and (max-width:767.98px) {
	.section-timetable { padding: 55px 0 0;}
	.timetable-update { font-size: 12px;}
	.timetable-update .update {
		text-align: right;
		margin-right: 8px;
	}
	.timetable-update .update span { display: inline-block;}
	.timetable-update .reload-btn {
		width: 36px;
		height: 45px;
		padding: 5px;
	}
}

.hensei #selectDays { padding-top: 35px;}
.hensei #selectTime { padding-top: 28px;}
.select-day-list,
.select-time-list {
	display: flex;
	align-items: center;
	justify-content: center;
}
@media screen and (min-width:768px) {
	.select-day-list,
	.select-time-list { flex-wrap: wrap;}
	.select-day-list li,
	.select-time-list li { margin-bottom: 10px;}
	.select-day-list li:not(:last-child) { margin-right: 10px;}
	.select-time-list li:not(:last-child) { margin-right: 5px;}
}
@media screen and (max-width:767.98px) {
	.hensei #selectDays { padding-top: 20px; overflow: hidden;}
	.hensei #selectDays .scrl {
		display: flex;
		overflow: auto;
		padding-bottom: 15px;
	}
	.select-day-list { padding: 0 3%;}
	.select-day-list li:not(:last-child) { margin-right: 5px;}
	.hensei #selectTime { display: none;}
}

.select-day-link,
.select-time-link {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.125rem;
	line-height: 1;
	font-feature-settings: "palt";
	background: #fff;
	border: 1px solid var(--c-main-black);
	border-radius: 50px;
	padding: 0.5rem 24px 0.375rem;
}
.select-day-link {
	min-height: 45px;
}
.select-time-link {
	min-height: 0;
	border: none;
	padding-top: 9px;
	padding-bottom: 10px;
}
.select-day-link span {
	font-size: 1.375rem;
	margin: -2px 3px 0;
}
.pc .select-day-link:hover,
.sp .select-day-link.hover,
.select-day-link.this,
.pc .select-time-link:hover,
.sp .select-time-link.hover,
.select-time-link.this {
	background: var(--c-main-black);
	color: #fff;
}
@media screen and (max-width:767.98px) {
	.select-day-link,
	.select-time-link {
		min-height: 36px;
		font-size: 13px;
		padding: 4px 15px 3px;
	}
	.select-day-link span {
		font-size: 16px;
		margin-top: -2px;
	}
}

.section-timetable .timetable-inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background: #fff;
	border-radius: 20px;
	margin: 0 auto;
	position: relative;
}
@media screen and (max-width:767.98px) {
	.section-timetable .timetable-inner {
		grid-template-columns: 1fr;
		border-radius: 0;
	}
}

@media screen and (min-width:768px) {
	.timetable-header {
		height: 8.125rem;
		text-align: center;
		padding: 1.25rem 20px 22px;
		position: relative;
	}
	.r1 .timetable-header {
		background: var(--c-r1);
		border-radius: 20px 0 0 0;
	}
	.r2 .timetable-header {
		background: var(--c-r2);
	}
	.fm .timetable-header {
		background: var(--c-fm);
		border-radius: 0 20px 0 0;
	}
	.timetable-channel-title {
		font-size: 1.5rem;
		color: #fff;
		margin-bottom: 10px;
	}
	.timetable-header .channel-badge {
		position: absolute;
		top: -1.25rem;
		left: 10px;
	}
}
@media screen and (max-width:767.98px) {
	.timetable-channel {
		display: flex;
		align-items: center;
		width: 32%;
		height: 45px;
		border-radius: 8px 8px 0 0;
		position: absolute;
		top: -45px;
		left: 0;
	}
	.r1 .timetable-channel { background: var(--c-r1); left: 1%;}
	.r2 .timetable-channel { background: var(--c-r2); left: 34%;}
	.fm .timetable-channel { background: var(--c-fm); left: 67%;}
	.timetable-channel-title {
		font-size: 14px;
		line-height: 1.2;
		color: #fff;
		text-align: center;
		white-space: nowrap;
		padding-right: 14%;
		padding-top: 2px;
		flex: 1;
	}
	.timetable-channel-title span {
		display: block;
	}
	.timetable-channel-title span:nth-child(2) {
		font-size: 12px;
	}
	.timetable-header .channel-badge {
		width: 7.692vw;
		max-width: 30px;
		margin: 0 5px
	}
}
@media screen and (max-width:375px) {
	.timetable-channel-title { font-size: 3.589vw;}
	.timetable-channel-title span:nth-child(2) { font-size: 3.076vw;}
}

.timetable-header-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 250px;
	min-height: 42px;
	font-size: 1.25rem;
	background: #fff;
	border-radius: 50px;
	padding: 0 2.8125rem;
	margin: 0 auto;
	position: relative;
}
.r1 .timetable-header-btn { color: var(--c-r1);}
.r2 .timetable-header-btn { color: var(--c-r2);}
.fm .timetable-header-btn { color: var(--c-fm);}
.timetable-header-btn::after {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 15px;
}
.r1 .timetable-header-btn::after { background-image: url(../img/icon_volume_r1.svg);}
.r2 .timetable-header-btn::after { background-image: url(../img/icon_volume_r2.svg);}
.fm .timetable-header-btn::after { background-image: url(../img/icon_volume_fm.svg);}
@media screen and (max-width:767.98px) {
	.timetable-header .listen {
		width: 100vw;
		text-align: center;
		padding: 15px 5%;
	}
	.r1 .timetable-header .listen { background: var(--c-r1);}
	.r2 .timetable-header .listen { background: var(--c-r2);}
	.fm .timetable-header .listen { background: var(--c-fm);}
	.timetable-header-btn {
		width: 100%;
		min-height: 40px;
		font-size: 1.125rem;
	}
}

.timetable-list {
	height: 800px;
	padding-bottom: 20px;
	overflow: hidden;
}
.timetable-list iframe {
	width: 100%;
	height: 100%;
}
@media screen and (max-width:767.98px) {
	.timetable-list {
		height: 400px;
		padding-bottom: 20px;
		overflow: hidden;
	}

	.timetable-inner .listen:not(.this),
	.timetable-list:not(.this) { display: none;}
}


/*@info
/////////////////////////////////////////////////////////////////////*/
.info .contents-main {
	padding: 50px 0 60px;
	overflow: hidden;
}
.info-container {
	max-width: 1100px;
	background: #fff;
	border-radius: 20px;
	padding: 50px 60px 60px;
	margin: 0 auto;
}
.info-container.kiyaku {
	margin-bottom: 50px;
}
@media screen and (max-width:767.98px) {
	.info .contents-main { padding: 0 0 20px;}
	.info-container {
		font-size: 0.9375rem;
		border-radius: 0;
		padding: 25px 6.41vw 50px;
	}
	.info-container.kiyaku {
		margin-bottom: 0;
	}
}

.info-title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	font-size: 1.5rem;
	margin-bottom: 20px;
}
.info-title::before {
	content: "●";
	color: var(--c-red);
	margin-right: 5px;
}
.info-sub-title {
	font-size: 1.125rem;
	margin-bottom: 10px;
}
.about .info-sub-title,
.frequency .info-sub-title {
	font-size: 1.25rem;
	color: var(--c-red);
}
.info-title .notes {
	font-size: 0.875rem;
	font-weight: normal;
	line-height: 1.2;
	align-self: flex-end;
	flex: 1;
	padding: 0 0 6px 10px;
}
@media screen and (max-width:767.98px) {
	.info-title {
		font-size: 1.25rem;
		margin-left: -0.512vw;
		margin-bottom: 15px;
	}
	.info-sub-title {
		font-size: 1rem;
		margin-bottom: 10px;
	}
	.about .info-sub-title,
	.frequency .info-sub-title { font-size: 1.125rem;}
	.info-title .notes {
		font-size: 0.75rem;
		white-space: nowrap;
	}
}

.info-text {
	line-height: 1.8;
	margin-bottom: 25px;
}
.info-text.list-disc {
	margin-left: 10px;
}
.info-notes-list {
	margin-bottom: 25px;
}
.info-notes {
	font-size: 0.875rem;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 5px;
}
@media screen and (max-width:767.98px) {
	.info-notes { font-size: 0.75rem;}
}

.info-detail {
	padding: 0 30px;
	margin: 70px 0 30px;
}
.info-detail-inner:not(:last-child) {
	margin-bottom: 40px;
}
@media screen and (max-width:767.98px) {
	.info-detail {
		padding: 0;
		margin: 50px 0 0;
	}
}

.info-container .list-disc {
	padding-left: 20px;
}
.info-container .list-disc li {
	list-style: disc;
}
.info-container .list-disc li:not(:last-child) {
	margin-bottom: 5px;
}
.info-container a {
	border-bottom: 1px solid var(--c-main-black);
}
.pc .info-container a:hover,
.sp .info-container a.hover {
	color: var(--c-red);
	border-bottom-color: var(--c-red);
}

.info-caution {
	display: flex;
	align-items: center;
}
.info-caution::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(../img/icon_caution.svg) no-repeat;
	background-size: contain;
	margin-right: 7px;
	flex-shrink: 0;
}
@media screen and (max-width:767.98px) {
	.info-caution {
		font-size: 0.875rem;
		align-items: flex-start;
	}
}


/*@アプリダウンロード
/////////////////////////////////////////////////////////////////////*/
.app-download {
	padding-top: 20px;
}
.app-download-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 30px;
}
.app-download-item {
	background: var(--bg-main-dark);
	border-radius: 10px;
	padding: 20px 25px 25px;
}
.app-download-os {
	display: flex;
	align-items: center;
	font-size: 1.5625rem;
	font-family: var(--font-HiraginoW6);
	color: var(--c-red);
	line-height: 1.2;
	letter-spacing: normal;
	margin-bottom: 15px;
}
.app-download-os img {
	margin-right: 15px;
	flex-shrink: 0;
}
@media screen and (max-width:767.98px) {
	.app-download { padding-top: 15px;}
	.app-download-list {
		grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
		column-gap: 20px;
		row-gap: 20px;
	}
	.app-download-item { padding: 15px;}
	.app-download-os {
		font-size: 1.25rem;
		margin-bottom: 10px;
	}
	.app-download-os img {
		width: 60px;
		margin-right: 8px;
	}
}

.app-download-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 65px;
	font-size: 1.5rem;
	color: var(--c-red);
	background: #fff;
	border-radius: 10px;
	border: none !important;
	padding: 0.3125rem 25px;
}
.app-download-link-text {
	padding-bottom: 2px;
}
.app-download-link-text .small {
	font-size: 1.125rem;
	margin-left: 5px;
}
.app-download-link::after {
	content: "";
	display: block;
	width: 15px;
	height: 25px;
	background: url(../img/icon_arrow_b_red.svg) no-repeat;
	background-size: contain;
}
@media screen and (max-width:767.98px) {
	.app-download-link {
		min-height: 50px;
		font-size: 1.25rem;
		padding: 5px 20px;
	}
	.app-download-link-text .small { font-size: 1rem;}
	.app-download-link::after {
		width: 12px;
		height: 20px;
		margin-right: -5px;
	}
}

.pc .info-container .app-download-link:hover,
.sp .info-container .app-download-link.hover {
	background: var(--c-red);
	color: #fff;
}
.pc .info-container .app-download-link:hover::after,
.sp .info-container .app-download-link.hover::after {
	background-image: url(../img/icon_arrow_b_white.svg);
}



/*@よくあるご質問
/////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:767.98px) {
	.info-container.faq {
		padding-left: 5%;
		padding-right: 5%;
	}
}

/*list*/
.qa-list-item {
	display: flex;
}
.qa-list-item.question {
	align-items: center;
	min-height: 75px;
	background: var(--bg-main-light);
	margin-bottom: 15px;
}
.qa-list-item.answer {
	padding-right: 20px;
	margin-bottom: 50px;
}
.qa-title {
	font-size: 1.25rem;
	font-family: var(--font-HiraginoW5);
	line-height: 1.35;
	padding-top: 1px;
}
@media screen and (max-width:767.98px) {
	.qa-list-item.question {
		min-height: 60px;
		margin-bottom: 10px;
	}
	.qa-list-item.answer {
		padding-right: 2%;
		margin-bottom: 40px;
	}
	.qa-title {
		font-size: 1rem;
		padding: 12px 10px 12px 0;
	}
}

.qa-icon {
	width: 90px;
	font-size: 42px;
	text-align: center;
	margin-right: 5px;
	flex-shrink: 0;
}
.qa-icon strong {
	font-family: var(--font-HiraginoW5);
}
.qa-icon-q {
	color: var(--c-blue);
}
.qa-icon-a {
	color: var(--c-red);
}
@media screen and (max-width:767.98px) {
	.qa-icon {
		width: 50px;
		font-size: 32px;
		margin-right: 0;
	}
}

.qa-text {
	line-height: 1.8;
	padding-top: 10px;
}
.qa-text-inner:not(:last-child) {
	margin-bottom: 20px;
}
.qa-text-box {
	border: 1px solid var(--c-main-black);
	padding: 20px 25px 15px;
	margin-top: 15px;
}
@media screen and (max-width:767.98px) {
	.qa-text-box { padding: 15px 15px 10px;}
}

/*system*/
@media screen and (min-width:768px) {
	.faq .info-detail.system dl {
		display: grid;
		grid-template-columns: 14.5em 1fr;
		border-top: 2px solid var(--bg-main-dark);
		margin-bottom: 20px;
	}
	.faq .info-detail.system dt {
		border-bottom: 2px solid var(--bg-main-dark);
		padding: 10px 0 10px 5px;
		position:relative;
	}
	.faq .info-detail.system dt::after {
		content: "";
		display: block;
		width: 2px;
		height: 26px;
		background: var(--bg-main-dark);
		position: absolute;
		top: 0;
		right: 0;
	}
	.faq .info-detail.system dd {
		border-bottom: 2px solid var(--bg-main-dark);
		padding: 10px 0 10px 1.75em;
	}
}
@media screen and (max-width:767.98px) {
	.faq .info-detail {
		padding-left: 1.5%;
		padding-right: 1.5%;
	}
	.faq .info-detail.system .info-sub-title {
		background: var(--bg-main-dark);
		line-height: 1.2;
		padding: 10px;
	}
	.faq .info-detail.system dl {
		padding-top: 5px;
		margin-bottom: 30px;
	}
	.faq .info-detail.system dt {
		font-family: var(--font-HiraginoW6);
		padding: 0 10px;
		margin-bottom: 3px;
	}
	.faq .info-detail.system dd {
		font-size: 0.875rem;
		border-bottom: 2px solid var(--bg-main-dark);
		padding: 0 10px 15px;
	}
	.faq .info-detail.system dd:not(:last-child) {
		margin-bottom: 13px;
	}
}


/*@らじる★らじるとは？
/////////////////////////////////////////////////////////////////////*/
.about-lead {
	font-size: 1.375rem;
	font-family: var(--font-HiraginoW5);
	text-align: center;
	line-height: 1.8;
	margin-bottom: 40px;
}
.about-lead span {
	display: inline-block;
}
.about-rajiru {
	text-align: center;
	margin: 0 auto;
}
@media screen and (max-width:767.98px) {
	.about-lead {
		font-size: 1rem;
		margin-bottom: 20px;
	}
	.about-rajiru {
		width: 94vw;
		margin-left: -2.051vw;
		margin-bottom: -15px;
	}
}

.about .live-streaming {
	font-size: 1rem;
	margin-bottom: 30px;
}
.about .live-streaming-item {
	display: grid;
	grid-template-columns: 4em auto 1fr;
	margin-bottom: 8px;
}
.about .live-streaming-item .area {
	text-align: center;
}
.about .live-streaming-item .channel span {
	display: inline-block;
}
@media screen and (max-width:767.98px) {
	.about .live-streaming-item .channel { margin-left: 5px;}
}


/*@周波数
/////////////////////////////////////////////////////////////////////*/
.frequency .contents-main {
	padding-top: 0;
}
.frequency .select-program-pc {
	margin-bottom: 30px;
}
@media screen and (max-width:767.98px) {
	.frequency .info-container {
		padding-bottom: 30px;
	}
	.frequency .select-sub-genre {
		padding-top: 5px;
		margin-bottom: 20px;
	}
}

/*list*/
.frequency-list-inner {
	margin-bottom: 50px;
}
@media screen and (max-width:767.98px) {
	.frequency-list-inner:last-child { margin-bottom: 30px;}
}

.frequency-table {
	width: 100%;
	margin-bottom: 30px;
}
.frequency-table tbody {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 10px;
	row-gap: 10px;
}
.frequency-table tr {
	display: block;
}
.frequency-table th,
.frequency-table td {
	display: block;
	width: 100%;
	text-align: center;
	padding: 5px 0 6px;
	position: relative;
}
.frequency-table th {
	font-family: var(--font-HiraginoW6);
	line-height: 1.2;
	background: var(--bg-main-dark);
}
.frequency-table td {
	font-size: 1.125rem;
	border-bottom: 2px solid var(--bg-main-dark);
	padding-left: 1.5em;
}
.frequency-table td span {
	font-size: 0.812rem;
	margin-left: 0.2em;
	opacity: .9;
}
@media screen and (max-width:767.98px) {
	.frequency-table tbody {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 2.564vw;
		row-gap: 2.564vw;
	}
	.frequency-table th {
		font-size: 0.875rem;
		padding: 2px 0 3px;
	}
	.frequency-table td { font-size: 0.9375rem;}
	.frequency-table td span { font-size: 0.75rem;}
}


/*@らじるのプロフィール
/////////////////////////////////////////////////////////////////////*/
.profile #contents {
	background: url(../img/info/profile_bg.png) center 0;
	padding-bottom: 200px;
	position: relative;
}
.profile #contents::after {
	content:"";
	display: block;
	width: 420px;
	height: 180px;
	background:url(../img/radiru/radiru3.png) no-repeat;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.profile-container {
	background: url(../img/info/profile_bg2.png) no-repeat center 25px;
	background-size: 1420px auto;
	font-family: var(--font-HiraginoW6);
	color: #fff;
	text-align: center;
	padding-top: 180px;
	position: relative;
}
@media screen and (max-width:767.98px) {
	.profile #contents { padding-bottom: 25.641vw;}
	.profile #contents::after {
		width: 53.846vw;
		height: 23.076vw;
	}
	.profile-container {
		background-position: center 3.846vw;
		background-size: 145% auto;
		padding-top: 23.076vw;
	}
}

.radiru-face {
	width: 250px;
	height: 105px;
	text-align: left;
	background: url(../img/info/profile_bg3.png) no-repeat right 0;
	background-size: contain;
	position: absolute;
	top: 45px;
	left: 50%;
	transform: translateX(-50%);
}
.radiru-face img {
	animation: bob 2s ease-in-out -2s infinite alternate;
}
@keyframes bob {
	0% { transform:translateY(-10px);}
	50% { transform:translateY(0);}
	100% { transform:translateY(-30px);}
}
@media screen and (max-width:767.98px) {
	.radiru-face {
		width: 34.615vw;
		height: 14.102vw;
		top: 6.41vw;
	}
	.radiru-face img {
		width: 24.358vw;
		margin-top: 10px;
	}
}

/*intro*/
@media screen and (min-width:768px) {
	.profile-intro {
		font-size: 1.25rem;
		line-height: 2.5;
		letter-spacing: .05em;
		margin-bottom: 30px;
	}
}
@media screen and (max-width:767.98px) {
	.profile-intro {
		font-size: 4.102vw;
		line-height: 2.2;
		letter-spacing: .02em;
		margin-bottom: 7.692vw;
	}
}

.profile-data {
	width: 580px;
	background: #fff;
	padding: 30px 50px 100px;
	margin: 0 auto 100px;
	position: relative;
}
.profile-data .radiru {
	position: absolute;
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
}
.profile-data-list {
	display: grid;
	grid-template-columns: auto 1fr;
}
.profile-data dt {
	color: var(--c-red);
	border-bottom: 2px solid #e5e5e5;
	padding: 10px 20px;
}
.profile-data dd {
	color: var(--c-main-black);
	text-align: left;
	border-bottom: 2px solid #e5e5e5;
	padding: 10px;
}
@media screen and (max-width:767.98px) {
	.profile-data {
		width: 90vw;
		font-size: 3.589vw;
		padding: 5.128vw 5.128vw 16.666vw;
		margin-bottom: 21.512vw;
	}
	.profile-data .radiru {
		width: 38.461vw;
		bottom: -5.128vw;
	}
	.profile-data .radiru img { width: 100%;}
	.profile-data dt { padding: 2.051vw 2.564vw;}
	.profile-data dd { padding: 2.051vw;}

}

/*area*/
.profile-area .hl {
	color: #fffc00;
}
.profile-area-title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1.7;
	margin-bottom: 30px;
}
.profile-area-title .hl {
	font-size: 1.875rem;
}
.profile-area-title-text {
	margin: 0 -15px;
}
.profile-area-title::before,
.profile-area-title::after {
	content: "";
	display: block;
	width: 90px;
	height: 5px;
	background: #fff;
	border-radius: 10px;
	flex-shrink: 0;
}
.profile-area-title::before {
	transform:rotate(60deg);
}
.profile-area-title::after {
	transform:rotate(-60deg);
}
@media screen and (max-width:767.98px) {
	.profile-area-title {
		font-size: 4.615vw;
		line-height: 1.5;
		margin-bottom: 3.846vw;
	}
	.profile-area-title .hl {
		font-size: 5.128vw;
	}
	.profile-area-title-text {
		white-space: nowrap;
		margin: 0 -2.564vw;
	}
	.profile-area-title::before,
	.profile-area-title::after {
		width: 19.23vw;
		height: 1.282vw;
		margin-top: 10.256vw;
	}
	.profile-area-title::before { margin-left: -2.564vw;}
	.profile-area-title::after { margin-right: -2.564vw;}
}

.profile-area-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 980px;
	margin: 0 auto 20px;
}
.profile-area-item {
	width: 250px;
	margin: 0 -0.3125rem;
}
.profile-area-name {
	font-size: 1.25rem;
	margin-top: 8px;
}
@media screen and (max-width:767.98px) {
	.profile-area-list {
		padding: 0 3.846vw;
		margin-bottom: 7.692vw;
	}
	.profile-area-item {
		width: min(50%, 300px);
		margin: 0;
	}
	.profile-area-item img { width: 100%;}
	.profile-area-name {
		font-size: 4.102vw;
		margin-top: 1.282vw;
	}
}
