/* Reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}body{line-height:1}a img{border:none}table{border-collapse:separate;border-spacing:0}caption,th,td{text-align:left;font-weight:normal}table,td,th{vertical-align:middle}blockquote:before,blockquote:after,q:before,q:after{content:""}blockquote,q{quotes:""""}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}button::-moz-focus-inner{border:0}

.w > div{
	width:90% !important;
	padding-left:10% !important;
}

body
{

	font-family: Century Gothic, Arial;
	font-size: 12px;
	line-height: 1.5;

}

a
{
	color: #ff377c;
}

p
{
	margin-bottom: 10px;
}

h1
{
	font-size: 20px;
	margin-bottom: 5px;
	font-weight: bold;
}

h2
{
	font-size: 16px;
	margin-bottom: 5px;
	font-weight: bold;
}

.menu
{
	margin-bottom: 40px;
	text-align: center;
	color: #999;
}

	.menu a
	{
		color: #999;
	}
	
	.menu a.active
	{
		font-weight: bold;
	}


/* Showcase
-------------*/

#awOnePageButton .view-slide
{
	display: none;
}

/* This class is removed after the showcase is loaded */
/* Assign the correct showcase height to prevent loading jumps in IE */
.showcase-load
{
	height: 470px; /* Same as showcase javascript option */
	overflow: hidden;
}

/* Container when content is shown as one page */
.showcase-onepage
{
	/**/
}

/* Container when content is shown in slider */
.showcase
{
	position: relative;
	margin: auto;
}

	.showcase-content-container
	{
		/*background-color: #fff;*/
	}
	
	/* Navigation arrows */
	.showcase-arrow-previous, .showcase-arrow-next
	{
		position: absolute;
		background: url('../images/arrows.png');
		width: 33px;
		height: 33px;
		top: 220px;
		cursor: pointer;
	}
	
	.showcase-arrow-previous
	{
		left: -60px;
	}
	
	.showcase-arrow-previous:hover
	{
		background-position: 0px -34px;
	}
	
	.showcase-arrow-next
	{
		right: -56px;
		background-position: -34px 0;
	}
	
	.showcase-arrow-next:hover
	{
		background-position: -34px -34px;
	}
	
	/* Content */
	.showcase-content
	{
		/*background-color: #fff;*/
		text-align: center;
	}
		
		.showcase-content-wrapper
		{
			text-align: center;
			height: 320px;
			width: 410px;
			display: table-cell;
			vertical-align: middle;
		}
		
		/* Styling the tooltips */
		.showcase-plus-anchor
		{
			background-image: url('../images/plus.png');
			background-repeat: no-repeat;
		}
		
		.showcase-plus-anchor:hover
		{
			background-position: -32px 0;
		}
		
		div.showcase-tooltip
		{
			/*background-color: #fff;*/
			color: #000;
			text-align: left;
			padding: 5px 8px;
			background-image: url(../images/white-opacity-80.png);
		}
		
		/* Styling the caption */
		.showcase-caption
		{
			color: #000;
			padding: 8px 15px;
			text-align: left;
			position: absolute;
			bottom: 10px; left: 10px; right: 10px;
			display: none;
			background-image: url(../images/white-opacity-80.png);
		}

		
	.showcase-onepage .showcase-content
	{
		margin-bottom: 10px;
	}
	
	/* Button Wrapper */
	.showcase-button-wrapper
	{
		clear: both;
		margin-top: 10px;
		text-align: center;
	}
	
		.showcase-button-wrapper span
		{
			margin-right: 3px;
			padding: 2px 5px 0px 5px;
			cursor: pointer;
			font-size: 12px;
			color: #444444;
		}
	
		.showcase-button-wrapper span.active
		{
			color: #fff;
		}
	
	/* Thumbnails */
	.showcase-thumbnail-container /* Used for backgrounds, no other styling!!! */
	{
		/*background-color: #fff;*/
	}
	
	.showcase-thumbnail-wrapper
	{
		overflow: hidden;
	}
		
		.showcase-thumbnail
		{

			cursor: pointer;
			position: relative;
		}

		.showcase-thumbnail2
		{

			cursor: pointer;
			position: relative;
		}
		
			.showcase-thumbnail-caption
			{
				position: absolute;
				bottom: 2px;
				padding-left: 10px;
				padding-bottom: 5px;
			}

			.showcase-thumbnail-caption2
			{
				position: absolute;
				bottom: 2px;
				padding-left: 10px;
				padding-bottom: 5px;
			}
			
			.showcase-thumbnail-content
			{
				padding: 10px;
				text-align: center;
				padding-top: 25px;
			}

			.showcase-thumbnail-content2
			{
				padding: 10px;
				text-align: center;
				padding-top: 25px;
			}
			
			.showcase-thumbnail-cover
			{
				background-image: url(../images/black-opacity-40.png);
				position: absolute;
				top: 0; bottom: 0; left: 0; right: 0;
			}
			.showcase-thumbnail-cover2
			{
				background-image: url(../images/black-opacity-40.png);
				position: absolute;
				top: 0; bottom: 0; left: 0; right: 0;
			}
		
		.showcase-thumbnail:hover
		{
		}
		
			.showcase-thumbnail:hover .showcase-thumbnail-cover
			{
				display: none;
			}
		
		.showcase-thumbnail.active
		{
		}
		
			.showcase-thumbnail.active .showcase-thumbnail-cover
			{
				display: none;
			}



		.showcase-thumbnail2:hover
		{
		}
		
			.showcase-thumbnail2:hover .showcase-thumbnail-cover2
			{
				display: none;
			}
		
		.showcase-thumbnail2.active
		{
		}
		
			.showcase-thumbnail2.active .showcase-thumbnail-cover2
			{
				display: none;
			}


	
	.showcase-thumbnail-wrapper-horizontal
	{
		padding: 5px;
	}
	
		.showcase-thumbnail-wrapper-horizontal .showcase-thumbnail
		{
			margin-right: 10px;
			width: 60px;
		}
	
	.showcase-thumbnail-wrapper-vertical
	{
		padding: 10px;
	}
	
		.showcase-thumbnail-wrapper-vertical .showcase-thumbnail
		{
			width: 150px;
			margin-bottom: 10px;
		}
		
	.showcase-thumbnail-button-backward,
	.showcase-thumbnail-button-forward
	{
		padding: 7px;
		cursor: pointer;
	}
	
	.showcase-thumbnail-button-backward
	{
		padding-bottom: 0px;
		padding-right: 0px;
	}
	
		.showcase-thumbnail-button-backward .showcase-thumbnail-vertical,
		.showcase-thumbnail-button-forward .showcase-thumbnail-vertical,
		.showcase-thumbnail-button-forward .showcase-thumbnail-horizontal,
		.showcase-thumbnail-button-backward .showcase-thumbnail-horizontal
		{
			background-image: url(../images/arrows-small.png);
			background-repeat: no-repeat;
			display: block;
			width: 17px;
			height: 17px;
		}
		
		.showcase-thumbnail-button-backward .showcase-thumbnail-vertical
		{
			background-position: 0 -51px;
			margin-left: 55px;
		}
		.showcase-thumbnail-button-backward:hover .showcase-thumbnail-vertical
		{
			background-position: -17px -51px;
		}
		
		.showcase-thumbnail-button-forward .showcase-thumbnail-vertical
		{
			background-position: 0 -34px;
			margin-left: 55px;
		}
		.showcase-thumbnail-button-forward:hover .showcase-thumbnail-vertical
		{
			background-position: -17px -34px;
		}
		
		.showcase-thumbnail-button-backward .showcase-thumbnail-horizontal
		{
			background-position: 0 -17px;
			margin-top: 10px;
			margin-bottom: 10px;
		}
		.showcase-thumbnail-button-backward:hover .showcase-thumbnail-horizontal
		{
			background-position: -17px -17px;
		}
		
		.showcase-thumbnail-button-forward .showcase-thumbnail-horizontal
		{
			background-position: 0 0;
			margin-top: 10px;
			margin-bottom: 10px;
		}
		.showcase-thumbnail-button-forward:hover .showcase-thumbnail-horizontal
		{
			background-position: -17px 0;
		}
		
		/* Hide button text */
		.showcase-thumbnail-button-forward span span,
		.showcase-thumbnail-button-backward span span
		{
			display: none;
		}
	


/* Clear (used for horizontal thumbnails)
-------------------------------------------*/

.clear
{
	clear: both;
	display: block;
	overflow: hidden;
	visibility: hidden;
	width: 0;
	height: 0;
	float: none;
}
/* Ticker link color (force) */
#police-ticker a,
#police-ticker a:link,
#police-ticker a:visited,
#police-ticker a:hover,
#police-ticker a:active {
  color: #cc0000 !important;
  text-decoration: underline !important;
}

/* 下の帯も同じ色なら */
#police-ticker-wide a,
#police-ticker-wide a:link,
#police-ticker-wide a:visited,
#police-ticker-wide a:hover,
#police-ticker-wide a:active {
  color: #cc0000 !important;
  text-decoration: underline !important;
}

/* ===== Ticker 固定化と見た目 ===== */
/* 画像アイコン＋テキスト帯を水平並び＆縦中央 */
.info{
  display: flex !important;
  align-items: center !important;   /* ←ココで縦中央 */
  gap: 8px;                         /* 画像との間隔。好みで */
}

/* テキスト帯のラッパー（上も下も） */
.infowrap,
.infowrapw{
  height: 27px !important;          /* 帯の高さに合わせる */
  display: flex !important;
  align-items: center !important;   /* 帯の中で縦中央 */
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
}

/* 中のスクロール領域 */
.infomain.ticker{
  display: flex !important;
  align-items: center !important;
  height: 27px !important;
  overflow: hidden;
  white-space: nowrap;
}
.ticker-seg {
  display: inline-block;
  padding-right: 50px;
  /* ★vertical-alignでも補助できる */
  vertical-align: middle;
}
/* ※必要ならアイコン画像の縦位置も flex に合わせる */
.info > img{
  display: block;                    /* 余計な descender を消す */
  height: 27px;                      /* 帯と同じ高さに揃える（画像の意図に合わせて調整） */
}
/* ティッカー文字を下にズラす（強制） */
.infomain.ticker .ticker-track { transform: translateY(3px) !important; }

.top-youtube {
    width: 480px; /* iframeサイズに合わせる */
    margin: 0 auto;
    text-align: center;
}

/* News & Topics 内の記事リストだけスクロール */
.news { margin-top:10px; }
.news .newsarea { position: relative; overflow: visible; }
.news .news-scroll{
  max-height: 520px;      /* カラムの見切れに合わせて調整。530〜560pxなどお好みで */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 6px;     /* スクロールバー分の余白（任意） */
}

/* 任意：スクロールバーの見た目（WebKit系） */
.news .news-scroll::-webkit-scrollbar{ width: 8px; }
.news .news-scroll::-webkit-scrollbar-thumb{ background:#bbb; border-radius:4px; }
.news .news-scroll::-webkit-scrollbar-track{ background:#eee; }

.top-youtube{
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  background: black;  /* 黒背景にして上下帯っぽくする */
  padding-top: 40px;  /* 上の黒帯の高さ */
  padding-bottom: 40px; /* 下の黒帯の高さ */
  box-sizing: content-box;
  text-align: center;
}
.top-youtube iframe{
  width: 515px !important;
  aspect-ratio: 16/9;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* タイトルとギャラリーを同じ幅で中央に */
.ptitle,
.soto {
  max-width: 1045px;         /* ←タイトル画像の幅に合わせる */
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* タイトル画像は枠内でフル幅＆はみ出し防止 */
.ptitle img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* グリッド（列間だけ10px。外周は0） */
.program-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.program-grid > li { margin: 0; padding: 0; }

/* 画像は比率固定でトリミング */
.program-card__img {
  width: 100%;
  aspect-ratio: 410 / 265;
  object-fit: cover;
  display: block;
  border-radius: 4px;               /* 任意 */
  box-shadow: 0 2px 6px rgba(0,0,0,.1); /* 任意 */
}

/* レスポンシブ：タブレット2列、スマホ1列 */
@media (max-width: 1024px) {
  .program-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .program-grid { grid-template-columns: 1fr; }
}

.pickapple-img {
  width:180px;
  height:auto;
  display:block;
}

/* コンテナ（タイトル幅に合わせて中央寄せ） */
.dj-wrap { max-width: 1045px; margin: 0 auto; }

/* グリッド本体：PCは3列 */
.dj-cards{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px; /* カード間の間隔 */
}

/* タブレットは2列 */
@media (max-width: 1024px){
  .dj-cards{ grid-template-columns: repeat(2, 1fr); }
}

/* スマホは1列 */
@media (max-width: 600px){
  .dj-cards{ grid-template-columns: 1fr; }
}

/* カード見た目（赤/グレーは交互にクラス付与済み） */
.dj-card{
  border-radius:6px;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
  overflow:hidden;
}
.dj-card--red  { background:#c53030; }
.dj-card--gray { background:#5a5a5a; }

/* 内側レイアウト：左に写真、右に本文 */
.dj-card__inner{ display:flex; align-items:flex-start; padding:12px; gap:12px; }
.dj-card__photo{ flex:0 0 120px; }
.dj-card__photo img{ width:120px; height:auto; display:block; border-radius:4px; }
.dj-card__body{ flex:1; color:#fff; }
.dj-card__name{ margin:0 0 8px; font-size:18px; line-height:1.2; color:#fff; }
.dj-card__text p{ margin:0 0 6px; }
.dj-card__text a{ color:#ffe28a; text-decoration:underline; }
.dj-card__text a:hover{ opacity:.85; }

/* スマホ時は写真を上・本文を下に縦積み（読みやすさUP） */
@media (max-width: 600px){
  .dj-card__inner{ flex-direction:column; }
  .dj-card__photo{ flex:0 0 auto; }
  .dj-card__photo img{ width:100%; max-width:320px; }
}

/* Front－Page PickUpDJ */
/* 1件の枠：横265×高さ105固定 */
.bcontent .djitem{
  width:265px; height:105px;
  display:flex; align-items:center; gap:10px;
  margin:0 0 12px 10px;
  text-decoration:none; color:#fff;
}

/* 左：正方形サムネをトリミング */
.bcontent .djitem__thumb{ flex:0 0 105px; width:105px; height:105px; overflow:hidden; border-radius:4px; }
.bcontent .djitem__img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }

/* 右：名前＋番組名を中央寄せで縦並び */
.bcontent .djitem__text{
  flex:1; min-width:0;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center;
}
.bcontent .djitem__title{
  font-weight:bold; font-size:14px; line-height:1.2; margin:0 0 6px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.bcontent .djitem__program{
  font-size:12px; line-height:1.2; opacity:.95;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
}
/* タイトルと最初のDJの間に余白 */
.btitle + .bcontent { padding-top: 5px; }    /* 好みで 6〜12px くらい */
.bcontent .djitem:first-child { margin-top: 2px; } /* さらに微調整したい時だけ */

/* テキスト部に半透明の黒背景（右側だけ） */
.bcontent .djitem__text{
  background: rgba(0,0,0,.45);
  padding: 6px 10px;
  border-radius: 6px;
}

/* 文字の視認性アップ（任意） */
.bcontent .djitem__title { text-shadow: 0 1px 1px rgba(0,0,0,.4); }
