
body {
	font:14px/1.231 "ヒラギノ角ゴ Pro W3";
	background:#000000;
	margin: 0;
	padding: 0;
	color: #ffffff;
}

#wrap {
	padding: 0px;
}

section {
	margin-bottom: 1em;
	padding: 10px;
}


p {
	margin-bottom: 1em;
}

/* clearfix */
.clearfix:after {
  content: "."; 
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/* #region Component: sp */
/* メインロゴ */
.main_logo {
	float: left;
}

.main_logo img{
	width:183px;
	height:65px;
}

/* CATVロゴ */
.catv_logo {
	text-align: right;
	height:65px;
}

.catv_logo img{
	width:50%;
	padding:15px 0 0 0;
}

/* 検索部メニュー */
#menu_search {
	width: 149px;
	height: 35px;
}

.menu_search {
	float: left;
}

/* サブメニュー */
#sub_menu {
 	//text-align: right;
}

/* ログインリンク */
.menu_login {
	float: left;
}

/* メニューリスト */
.menu_list {
    float: left;  
}

/* 今月のおススメ動画メニュー */
.menu_osusumemovie {
}


/* 画像プリロード */
.imgBox{
	//background:url(../images/loading.gif) 50% 50% no-repeat;
}

/* 番組セクションの項目名 */
.sec_title {
	color:#0069ED;
	font-weight: bold;
}

/* 詳細を見るボタン */
.detail_btn {
	border-radius: 5px;
	background-color: #cbcccf;
	background: -webkit-gradient(linear, left top, left bottom, from(#cbcccf), to(#acaeb0));
	font-size: 85%;
	text-align: center;
	width: 90%;
	margin: 0 auto;
	margin-bottom:8px;
}

.detail_btn a {
	text-shadow: 1px 1px 0 #ddd;
	display: block;
	padding:10px;
	color: #444444;
	text-decoration: none;
}

/* 詳細を見るボタン2 */
.button-gray {
  text-align: center;
  background-color: #eeeeee;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#cccccc));
  /* Saf4+, Chrome */
  background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
  background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
  background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
  background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
  background-image: linear-gradient(top, #eeeeee, #cccccc);
  border: 1px solid #ccc;
  border-bottom: 1px solid #bbb;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  color: #333;
  font-size: 85%;
  line-height: 1;
  padding: 8px 0;
  text-align: center;
  text-shadow: 0 1px 0 #eee;
  width: 90%;
  margin: 0 auto;
  margin-top:8px;
}

.button-gray a {
	display: block;
	padding:8px;
	color: #444444;
	text-decoration: none;
}

/* 写真キャプション */
.photo_caption{
	margin-bottom:8px;
}

h2 {
	font-size: 121%;
	color: #ffffff;
	margin-bottom: 10px;
}

/* ナビゲーション */
nav {
	margin:0;
	padding:0;
	margin:0 0 4px 0;
}


/*---------- topMenu ----------*/
nav .topMenu {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  width:100%;
}

nav .topMenu > div {
  flex: 0 0 33.333%;
  box-sizing: border-box;
  text-align: center;
}

nav .topMenu > div a {
  display: block;
  padding: 0;   /* 触りやすさ */
}

nav .topMenu > div img {
  width: 75px;      /* 画像サイズは適宜 */
  height: 32px;
  object-fit: contain;
}

/* 背景グラデ & 下線を安定して効かせる（既存の後ろに追記） */
nav .topMenu{
  /* 近代構文で上書き（ベンダープレフィクスは既存のまま残してOK） */
  background: linear-gradient(180deg, #3c3c3c 0%, #000 100%);
  border-bottom: 1px solid #666;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

/* デフォルト：スマホ 3列×2行、区切り線あり */
nav .topMenu > div{
  flex: 0 0 33.333%;
  box-sizing: border-box;
  text-align: center;
  border-right: 1px solid #666;   /* 縦の区切り線 */
}
nav .topMenu > div:nth-child(3n){ border-right: none; }     /* 各行の末尾は線なし */
nav .topMenu > div:nth-child(-n+3){ border-bottom: 1px solid #666; } /* 1段目の下に横線 */

/* ボタン内のタップ領域と画像 */
nav .topMenu > div a{ display:block; padding:0; }
nav .topMenu > div img{ width:75px; height:32px; object-fit:contain; }

#content{
	width:100%;
	padding:0;
}

#btnTop {
	border-radius: 5px;
	background-color: #cbcccf;
	background: -webkit-gradient(linear, left top, left bottom, from(#cbcccf), to(#acaeb0));
	width: 7em;
	font-size: 85%;
	text-align: center;
	float: right;
	margin-right: 10px;
	margin-top: 5px;
}

#btnTop a {
	text-shadow: 1px 1px 0 #ddd;
	display: block;
	padding: 5px 0;
	color: #444444;
	text-decoration: none;
}

#copywrite {
	text-align: center;
	margin-bottom:5px;
	font-size:85%;
}

footer {
	border-top: 1px solid #ebebeb;
//	padding-top: 10px;
	background: url(../images/bg_footer.png) repeat-x;
}

footer p {
	clear: both;
	padding: 0;
}
footer img {
	vertical-align: top;
}
footer p:last-child {
	margin: 0;
}


/* カテゴリータイトル */
.category_title {
//	border-top: 1px solid #ebebeb;
//	padding-top: 10px;
	background: url(../images/bg_title.png) repeat-x;
}

.category_title p {
	clear: both;
	padding: 0;
}
.category_title img {
	vertical-align: top;
}
.category_title p:last-child {
	margin: 0;
}

/* 録画予約お願いメールリンク */
.rec_mail{
	color:#FFFF66;
}

/* #endregion Component: sp */

/*　PC/tab表示　*/
/* #region Component: pc */
/* PC・タブレット共通 */
@media (min-width: 768px) {
#top{
	padding:20px;
}
/* メインロゴ */
.main_logo {
	float: left;
}

.main_logo img{
	width:260px;
	height:auto!important;
	padding-top:10px;
}

/* CATVロゴ */
.catv_logo {
	text-align: right;
	height:65px;
}

.catv_logo img{
	width:50%;
	max-width:300px;
}

/*---------- topMenu ----------*/
nav .topMenu {
    flex-wrap: nowrap;        /* 折り返さない */
	padding:0;
	justify-content: center;
  }
  nav .topMenu > div {
    flex: 0 0 calc(100% / 8); /* 6等分 */
  }

  nav .topMenu{ flex-wrap: nowrap; }
  nav .topMenu > div{
    flex: 0 0 calc(100%/8);
    border-bottom: 0;
    border-right: 1px solid #666;
  }
  nav .topMenu > div:last-child{ border-right: none; }
  nav .topMenu > div:nth-child(-n+3){ border-bottom: none; border-right: 1px solid #666; }
  
/* ボタン内のタップ領域と画像 */
nav .topMenu > div a{ display:block; padding:0; }
nav .topMenu > div img{ width:150px; height:64px; object-fit:contain; }

.menu_search{
	padding:10px;
}
 #sub_menu{
	padding:10px 0px;
}

#content{
	max-width:1100px;
	width:90%;
	margin:0 auto;
}

.extra{
	min-height:650px;
}

.p_detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap:2%;
  align-items: top;
}
.p_detail > * { min-width: 0; }  /* はみ出し防止（重要） */


.p_detail_left{
	width:29%;
}

.p_detail_right{
	width:69%;
}
}
/* #endregion Component: pc */