/*********************
  setting
**********************/
a {
  text-decoration: none;
  color: inherit;
}
/* 2022-05-09*/
a:hover {
  opacity: 0.6;
  text-decoration: none;
}

body.is-pc a {
  opacity: 1;
  transition: opacity .2s;
}

body.is-pc a:hover {
  opacity: 0.7;
}

.global-wrapper {

  overflow: hidden;
  min-height: 100%;
}



.program-icon {
  height: 15px;
  width: 15px;
  background-color: #737271;
  display: block;
  position: relative;
  line-height: 15px;
  text-align: center;
}

.program-icon::before {
  height: 15px;
  width: 15px;
  color: #fff;
  display: block;
  font-size: 11px;
  font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: normal;
}

@media all and (-ms-high-contrast: none) {
  .program-icon::before {
    margin-top: 2px;
  }
}

.program-icon.is-ss::before {
  content: "SS";
  font-size: 10px;
}

.program-icon.is-kaisetsu::before {
  content: "解";
}

.program-icon.is-shuwa::before {
  content: "手";
  letter-spacing: 1px;
}

.program-icon.is-data::before {
  content: "デ";
}

.program-icon.is-multi::before {
  content: "多";
}

.program-icon.is-bilingual::before {
  content: "二";
  letter-spacing: -1px;
}

.program-icon.is-new::before {
  content: "新";
}

.program-icon.is-sohoko::before {
  content: "双";
}

.program-icon.is-end::before {
  content: "終";
}

.program-icon.is-subtitle::before {
  content: "字";
  letter-spacing: 1px;
}

.program-icon.is-rebroadcast::before {
  content: "再";
}

/* ===================================================================
 programschedule-pc
===================================================================*/
.sch-pc-wrapper {
    width: 1040px !important; /* 時間軸40px + 番組表1000px */
    margin: 0 auto;
    overflow: visible !important;
}
/*
@media only screen and (max-width: 1023px) {
  .sch-pc-wrapper {
    display: none;
  }
}
*/
.sch-pc-wrapper a:hover {
  opacity: 0.6;
}

.sch-pc-day {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
    width: 1040px !important; /* wrapperに合わせる */
}
/* 2026.03.22 */
/*
.sch-pc-day.fixed {
  position: fixed;
  max-width: 1000px;
  top: 0;
  width: calc(100% - 40px);
  background: white;
}
*/

/* 日付リストの配置をテーブル列と完全に同期させる */
.sch-pc-day__list {
    display: flex !important;
    margin-left: 40px !important;       /* 時間軸(40px)の真横から開始 */
    width: calc(100% - 40px) !important; /* 全体から40px引いた残りを全部使う */
    padding: 0;
    list-style: none;
}

.sch-pc-day__item {
    flex: 1; /* 7日間を均等に分配。テーブルの列幅と自動で一致します */
    box-sizing: border-box;
}

.sch-pc-day__item:not(:last-child) div {
  border-right: 1px solid #fff;
}

.sch-pc-day__item div {
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #424242;
  background-color: #F3F3F3;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 16px;
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 1200px) {
  .sch-pc-day__item div {
    /*font-size: 1.4rem;*/
    font-size: 14px;
  }
}

.sch-pc-day__item.is-today {
  height: 80px;
  overflow: hidden;
  position: relative;
}

.sch-pc-day__item.is-today::after {
  content: "";
  background-color: #4ac099;
  height: 100px;
  width: calc(123% - 1px);
  border-radius: 50%;
  position: absolute;
  left: -11%;
  bottom: 10px;
  margin: auto;
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.1);
}

.sch-pc-day__item.is-today div {
  box-shadow: none;
  background-color: #4ac099;
  /*font-size: 2.0rem;*/
  font-size: 20px;
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 1200px) {
  .sch-pc-day__item.is-today div {
    /*font-size: 1.8rem;*/
    font-size: 18px;
    
  }
}

.sch-pc-day__item.is-today div::before {
  content: "今日";
  color: #4ac099;
  background-color: #fff;
  position: absolute;
  /*font-size: 1.2rem;*/
  font-size: 12px;
  font-weight: bold;
  border-radius: 10px;
  height: 20px;
  width: 40px;
  line-height: 20px;
  bottom: -15px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}

.sch-pc-table {
  width: 100%;
  height: 100%;
  border-bottom: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  table-layout: fixed;
  background-color: #f5f5f5;
}

.sch-pc-table__wrapper tbody tr {
  min-height: 1px;
}

.sch-pc-table__wrapper tbody tr td:first-child {
  width: 40px;
}

.sch-pc-table__wrapper tbody tr:first-child td {
  padding-top: 80px;
}

.sch-pc-table__wrapper tbody tr:first-child td:first-child {
  padding-top: 10px;
}

.sch-pc-table__wrapper tbody td {
  border-bottom: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  vertical-align: top;
  height: 100%;
  background-color: #fff;
}

.sch-pc-table__wrapper tbody td.is-empty {
  background-color: #f5f5f5;
}

.sch-pc-table__wrapper tbody td.is-data {
  background-color: #e8f8f3;
}

.sch-pc-table__wrapper tbody td.is-empty.is-data {
  background-color: #d1e7e0;
}

.sch-pc-table__wrapper tbody td.is-now {
  box-shadow: inset 0px 0px 0px 3px rgba(74, 192, 153, 0.8);
}

.sch-pc-table__wrapper tbody td.w_Hour1 {
  text-align: center;
  background: #71b627;
  padding: 10px 0;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 16px;
  line-height: 1;
  letter-spacing: 1px;
  color: #fff;
  vertical-align: middle;
  border-bottom: 1px solid #f9f1df;
  border-left: none;
}

.sch-pc-table__wrapper tbody td.w_Hour2 {
  text-align: center;
  background: #f06868;
  padding: 10px 0;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 16px;
  line-height: 1;
  letter-spacing: 1px;
  color: #fff;
  vertical-align: middle;
  border-bottom: 1px solid #f9f1df;
  border-left: none;
}

.sch-pc-table__wrapper tbody td.w_Hour3 {
  text-align: center;
  background: #46a7f1;
  padding: 10px 0;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 16px;
  line-height: 1;
  letter-spacing: 1px;
  color: #fff;
  vertical-align: middle;
  border-bottom: 1px solid #f9f1df;
  border-left: none;
}

.sch-pc-table__wrapper tbody td.w_Hour4 {
  text-align: center;
  background: #7150df;
  padding: 10px 0;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 16px;
  line-height: 1;
  letter-spacing: 1px;
  color: #fff;
  vertical-align: middle;
  border-bottom: 1px solid #f9f1df;
  border-left: none;
}

.sch-pc-table__wrapper tbody td .sch-pc-table__program {
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
}

.sch-pc-table__wrapper tbody td .sch-pc-table__program__date {
  /*font-size: 1.4rem;*/
  font-size: 14px;
  color: #f2830b;
  line-height: 1;
}

@media only screen and (max-width: 1200px) {
  .sch-pc-table__wrapper tbody td .sch-pc-table__program__date {
    /*font-size: 1.2rem;*/
    font-size: 12px;
  }
}

.sch-pc-table__wrapper tbody td .sch-pc-table__program__title {
  font-weight: bold;
  /*font-size: 1.4rem;*/
  font-size: 14px;
  margin-top: 5px;
}

@media only screen and (max-width: 1200px) {
  .sch-pc-table__wrapper tbody td .sch-pc-table__program__title {
    /*font-size: 1.3rem;*/
    font-size: 13px;
  }
}

.sch-pc-table__wrapper tbody td .sch-pc-table__program__performer {
  /*font-size: 1.2rem !important;*/
  font-size: 12px !important;
  color: #808080 !important;
  margin-top: 3px !important;
}

.sch-pc-table__program__performer a {
  /*font-size: 1.2rem !important;*/
  font-size: 12px !important;
  color: #808080 !important;
  margin-top: 3px !important;
}

.sch-pc-table__wrapper tbody td .sch-pc-table__program__icon {
  display: flex;
  flex-wrap: wrap;
}

.sch-pc-table__wrapper tbody td .sch-pc-table__program__icon i {
  margin: 5px 5px 0 0;
}

.sch-pc-table__wrapper tbody tr:first-of-type {
  border-top: 1px solid #cccccc;
}

.sch-pc-table__wrapper tbody tr:last-of-type td {
  border-bottom: none;
}

/* ===================================================================
programschedule-sp
===================================================================*/
.sch-sp-wrapper {
  display: none;
}
/*
@media only screen and (max-width: 1023px) {
  .sch-sp-wrapper {
    display: block;
    position: relative;
  }
}
*/
.sch-sp-day {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: #f2830b;
}

.is-today .sch-sp-day {
  background-color: #4ac099;
}

.sch-sp-day.fixed {
  position: fixed;
}

.sch-sp-day__arrow {
  height: 45px;
  width: 45px;
  background-color: rgba(255, 255, 255, 0.2);
  position: relative;
}

.sch-sp-day__arrow::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  left: 0px;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.sch-sp-day__arrow.is-past::before {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.sch-sp-day__arrow.is-past.is-disabled {
  background-color: transparent;
  pointer-events: none;
}

.sch-sp-day__arrow.is-past.is-disabled::before {
  display: none;
}

.sch-sp-day__arrow.is-next::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.sch-sp-day__arrow.is-next.is-disabled {
  background-color: transparent;
  pointer-events: none;
}

.sch-sp-day__arrow.is-next.is-disabled::before {
  display: none;
}

.sch-sp-day__data {
  height: 45px;
  width: calc(100% - 90px);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  /*font-size: 1.6rem;*/
  font-size: 16px;
  position: relative;
  font-weight: bold;
}

.is-today .sch-sp-day__data::after {
  content: "今日";
  /*font-size: 1.2rem;*/
  font-size: 12px;
  height: 18px;
  padding: 0 8px;
  background-color: #fff;
  color: #4ac099;
  font-weight: bold;
  line-height: 18px;
  border-radius: 9px;
  margin-left: 5px;
}

.sch-sp-program {
  padding-top: 45px;
}

.sch-sp-program-item {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #cccccc;
}

.sch-sp-program-item:first-child {
  border-top: 1px solid #cccccc;
}

.sch-sp-program-data {
  width: 56px;
  background-color: #f7f7f7;
  padding: 15px;
  /*font-size: 1.2rem;*/
  font-size: 12px;
  color: #f2830b;
  font-weight: bold;
}

.is-now .sch-sp-program-data {
  background-color: #c9ebe1;
}

.sch-sp-program-box {
  width: calc(100% - 56px - 1px);
  background-color: #fff;
}

.is-now .sch-sp-program-box {
  background-color: #e8f8f3;
}

.sch-sp-program-link {
  display: block;
  padding: 15px 10px;
}

.sch-sp-program-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.sch-sp-program-info i {
  margin-right: 5px;
}

.sch-sp-program-title {
  /*font-size: 1.4rem;*/
  font-size: 14px
  font-weight: bold;
  margin-right: 5px;
}

.sch-sp-program-memo {
  /*font-size: 1.2rem;*/
  font-size: 12px;
  color: #999;
  margin: 5px auto 0;
}

.p-table {
  line-height: 1.6;
}

.p-table-title {
  padding: 10px 0;
}

@media only screen and (min-width: 768px) {
  .p-table-title {
    padding: 15px 0;
  }
}

.p-table-title__inner {
  max-width: 1000px;
  padding: 0 20px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media only screen and (min-width: 601px) {
  .p-table-title__inner {
    padding: 0 15px;
  }
}

.p-table-title__text {
  color: #f2830b;
  font-size: 1.8rem;
}

@media only screen and (min-width: 768px) {
  .p-table-title__text {
    /*font-size: 2.4rem;*/
    font-size: 24px;
  }
}

.p-table-title__text > [class*=icon-] {
  /*font-size: 4rem;*/
  font-size: 40px;
  vertical-align: middle;
  margin-right: 10px;
}

@media only screen and (min-width: 768px) {
  .p-table-title__text > [class*=icon-] {
    /*font-size: 5rem;*/
    font-size: 50px;
  }
}

.p-table-title__text > span {
  vertical-align: middle;
}

.p-table-title__icon {
  font-size: 13px;
  color: #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.p-table-title__icon i {
  width: 30px;
  height: 30px;
  background-color: #ececec;
  display: block;
  border-radius: 50%;
  position: relative;
  margin-left: 10px;
}

.p-table-title__icon i::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid #333333;
  border-right: 2px solid #333333;
  position: absolute;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  left: 0px;
  right: 0;
  top: -3px;
  bottom: 0;
  margin: auto;
}

.p-table-main {
  background-color: #f9f1df;
  /* 2022-05-08*/
  padding: 106px 0 50px;
}
/*
@media only screen and (max-width: 1023px) {
  .p-table-main {
    padding: 20px 0;
  }
}
*/


.p-table-main__inner {
  //max-width: 1000px;
  padding: 0 20px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow-x: visible;
  width: max-content;
  display: inline-block;
}
/*
@media only screen and (max-width: 1023px) {
  .p-table-main__inner {
    padding: 0;
  }
}
*/
.p-table-icon {
  margin: 50px auto 0;
  padding: 30px;
  background-color: #fff;
  border-radius: 5px;
}

@media only screen and (max-width: 1023px) {
  .p-table-icon {
    margin: 20px auto 0;
    width: calc(100% - 40px);
  }
}

@media only screen and (max-width: 600px) {
  .p-table-icon {
    padding: 15px;
  }
}

.p-table-icon__title {
  text-align: center;
}

.p-table-icon__title span {
  font-weight: bold;
  position: relative;
  color: #f2830b;
  /*font-size: 1.4rem;*/
  font-size: 14px;
  padding: 0 3px 5px;
  border-bottom: 1px solid #f2830b;
}

.p-table-icon__list {
  margin: 20px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.p-table-icon__item {
  /*font-size: 1.2rem;*/
  font-size: 12px;
  min-width: 140px;
  width: calc(100% / 7);
  padding: 5px 0 5px;
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 600px) {
  .p-table-icon__item {
    min-width: 50%;
    width: auto;
  }
}

.p-table-icon__item i {
  margin-right: 5px;
}








#menu {
	z-index: 2;
}

#metadata-header {
	height: 85px;
}

.structure2-left {
	float: left;
	/* 2022-05-16 */
	width: 300px;
	position: relative;
	font-size: 12px;
	line-height: 120%;
	/* 2022-05-08*/
	padding: 10px;
}

.structure1-left {
	float: right;
	width: 535px;
	font-size: 75%;
}

.timeslot ul {
	display: block;
	margin-top:0px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	width: 495px;
}

.timeslot .day {
	margin-top: 5px;
}

ul.day a {
 display: block;
}

.morning_button {
	-moz-box-shadow:inset 0px 1px 0px 0px #caefab;
	-webkit-box-shadow:inset 0px 1px 0px 0px #caefab;
	box-shadow:inset 0px 1px 0px 0px #caefab;
	background-color:#71b627;
	-webkit-border-top-left-radius:6px;
	-moz-border-radius-topleft:6px;
	border-top-left-radius:6px;
	-webkit-border-top-right-radius:6px;
	-moz-border-radius-topright:6px;
	border-top-right-radius:6px;
	-webkit-border-bottom-right-radius:6px;
	-moz-border-radius-bottomright:6px;
	border-bottom-right-radius:6px;
	-webkit-border-bottom-left-radius:6px;
	-moz-border-radius-bottomleft:6px;
	border-bottom-left-radius:6px;
	text-indent:0;
	border:1px solid #268a16;
	display:inline-block;
	color:#ffffff;
	font-family:Arial;
	font-size:12px;
	font-weight:bold;
	font-style:normal;
	height:40px;
	line-height:40px;
	width:115px;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 0px #aade7c;
	float: left;
	margin : 5px 3px 5px 3px
}
.morning_button:hover {
	background-color:#5cb811;
}
.morning_button:active {
	position:relative;
	top:1px;
}
.evening_button {
	-moz-box-shadow:inset 0px 1px 0px 0px #f5978e;
	-webkit-box-shadow:inset 0px 1px 0px 0px #f5978e;
	box-shadow:inset 0px 1px 0px 0px #f5978e;
	background-color:#f06868;
	-webkit-border-top-left-radius:6px;
	-moz-border-radius-topleft:6px;
	border-top-left-radius:6px;
	-webkit-border-top-right-radius:6px;
	-moz-border-radius-topright:6px;
	border-top-right-radius:6px;
	-webkit-border-bottom-right-radius:6px;
	-moz-border-radius-bottomright:6px;
	border-bottom-right-radius:6px;
	-webkit-border-bottom-left-radius:6px;
	-moz-border-radius-bottomleft:6px;
	border-bottom-left-radius:6px;
	text-indent:0;
	border:1px solid #d02718;
	display:inline-block;
	color:#ffffff;
	font-family:Arial;
	font-size:12px;
	font-weight:bold;
	font-style:normal;
	height:40px;
	line-height:40px;
	width:115px;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 0px #810e05;
	float: left;
	margin : 5px 3px 5px 3px
}
.evening_button:hover {
	background-color:#c62d1f;
}
.evening_button:active {
	position:relative;
	top:1px;
}

.night_button {
	-moz-box-shadow:inset 0px 1px 0px 0px #cae3fc;
	-webkit-box-shadow:inset 0px 1px 0px 0px #cae3fc;
	box-shadow:inset 0px 1px 0px 0px #cae3fc;
	background-color:#46a7f1;
	-webkit-border-top-left-radius:6px;
	-moz-border-radius-topleft:6px;
	border-top-left-radius:6px;
	-webkit-border-top-right-radius:6px;
	-moz-border-radius-topright:6px;
	border-top-right-radius:6px;
	-webkit-border-bottom-right-radius:6px;
	-moz-border-radius-bottomright:6px;
	border-bottom-right-radius:6px;
	-webkit-border-bottom-left-radius:6px;
	-moz-border-radius-bottomleft:6px;
	border-bottom-left-radius:6px;
	text-indent:0;
	border:1px solid #469df5;
	display:inline-block;
	color:#ffffff;
	font-family:Arial;
	font-size:12px;
	font-weight:bold;
	font-style:normal;
	height:40px;
	line-height:40px;
	width:115px;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 0px #287ace;
	float: left;
	margin : 5px 3px 5px 3px
}
.night_button:hover {
	background-color:#4197ee;
}
.night_button:active {
	position:relative;
	top:1px;
}

.midnight_button {
	-moz-box-shadow:inset 0px 1px 0px 0px #e6cafc;
	-webkit-box-shadow:inset 0px 1px 0px 0px #e6cafc;
	box-shadow:inset 0px 1px 0px 0px #e6cafc;
	background-color:#7150df;
	-webkit-border-top-left-radius:6px;
	-moz-border-radius-topleft:6px;
	border-top-left-radius:6px;
	-webkit-border-top-right-radius:6px;
	-moz-border-radius-topright:6px;
	border-top-right-radius:6px;
	-webkit-border-bottom-right-radius:6px;
	-moz-border-radius-bottomright:6px;
	border-bottom-right-radius:6px;
	-webkit-border-bottom-left-radius:6px;
	-moz-border-radius-bottomleft:6px;
	border-bottom-left-radius:6px;
	text-indent:0;
	border:1px solid #a946f5;
	display:inline-block;
	color:#ffffff;
	font-family:Arial;
	font-size:12px;
	font-weight:bold;
	font-style:normal;
	height:40px;
	line-height:40px;
	width:115px;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 0px #8628ce;
	float: left;
	margin : 5px 3px 5px 3px
}

.midnight_button:hover {
	background-color:#a341ee;
}
.midnight_button:active {
	position:relative;
	top:1px;
}

a.bfont
{
    color: #FFFFFF !important;
	text-decoration: none !important;
}

.sch-pc-day__item.w_Sun_date div {
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: fff;
  background-color: #EEB37C;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 16px;
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.1);
}

.sch-pc-day__item.w_Sat_date div {
   height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: fff;
  background-color: #ADCEBA;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 16px;
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.1);
}

.sch-pc-table__wrapper tbody td.w_Sun {
    background-color: #FFF0E7;
}

.sch-pc-table__wrapper tbody td.w_Sat {
    background-color: #E6F0E1;
}

li {
	list-style-type:none;		/*リストマーカー無しにする*/
}

.sch-pc-table__wrapper tbody td img.program_pict {
	width: 88%;
	margin: 10px 10px; 
}


/* 親要素のスクロール設定を強制的に上書き */
div.tv-wrap {
    overflow-x: visible !important; /* スクロールバーを消し、中身を溢れさせない */
    overflow: visible !important;
    width: 100% !important;         /* 親の幅を100%に固定 */
}

.pc-layout {
    all: initial;
    display: block;
    box-sizing: border-box;
    font-family: sans-serif;
    padding: 20px;
    
    /* 追加：pc-layout自体が親を突き破らないようにする */
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

/* 内部のテーブルが原因で横に伸びるのを防ぐ最重要設定 */
.pc-layout table {
    width: 100% !important;
    table-layout: fixed !important; /* セル幅を固定し、親の幅に収める */
    border-collapse: collapse;
}

/* テーブル側の設定 */
.pc-layout table.sch-pc-table {
    width: 1040px !important; /* 時間軸を含めた合計幅 */
    table-layout: fixed !important;
    border-collapse: collapse !important;
    margin-left: 0;
}

.pc-layout table.sch-pc-table tr {
    display: table-row !important; /* 行として表示 */
}

.pc-layout table.sch-pc-table td {
    display: table-cell !important; /* セルとして横並びを強制 */
    vertical-align: top !important;
    /* WordPressテーマが勝手に消さないように可視化を強制 */
    visibility: visible !important;
    opacity: 1 !important;
}

/* 消えてしまっているクラスを明示的に表示させる */
.pc-layout .w_Sat,
.pc-layout .w_Sun,
.pc-layout .w_WeekDay {
    display: table-cell !important;
    width: auto !important; /* table-layout: fixedにより自動分配される */
}

/* 各列の幅を明示的に指定 */
.pc-layout td.w_Hour1 {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
}
/* リンクや中身が突き抜けないようにする */
.pc-layout .sch-pc-table__program {
    display: block !important;
    word-break: break-all !important;
    white-space: normal !important;
}

/* 文字が多すぎてセルが潰れるのを防ぐ */
.pc-layout table.sch-pc-table {
    table-layout: fixed !important;
    /*
    width: 1000px !important;
    min-width: 1000px !important;
    */
    width: 100% !important;
    min-width: 100% !important;
}

.pc-layout td {
    overflow: visible !important;
    display: table-cell !important;
}

/* PC/スマホ切り替え設定 */
/*.pc-layout { display: block; padding: 20px; }*/
/*
.mobile-layout { display: none; }

@media (max-width: 768px) {
    .pc-layout { display: none; }
    .mobile-layout { display: block; }
}
*/
/* 親コンテナの設定 */
.sch-pc-main-container {
    position: relative;
    width: 100%;
}

/* 日付ヘッダーを「粘着」させる設定 */
.sch-pc-day {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
    width: 100% !important; /* テーブルと同じ幅に */
}

/* WordPressの管理バーが出ている時の調整 */
body.admin-bar .sch-pc-day {
    top: 32px; /* 管理バーの高さ分下げる */
}

/* 固定された時の影（任意：浮き上がった感じを出す場合） */
.sch-pc-day {
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* 元々あった fixed クラスの影響を消す（もし残っている場合） */
.sch-pc-day.fixed {
    position: sticky !important;
    top: 0 !important;
}

/* 親要素が原因で sticky が効かない場合の対策 */
.tv-wrap {
    overflow: visible !important; /* スクロール設定を解除 */
}

/* 横スクロールが必要な場合は、テーブルを囲む div に設定する */
.sch-pc-table__wrapper {
    overflow-x: auto;
    width: 100%;
}

/* 番組エリアの列幅を固定 */
.pc-layout td.w_Sat, 
.pc-layout td.w_Sun, 
.pc-layout td.w_WeekDay {
    width: calc(1000px / 7) !important; /* 1000pxを7等分 */
}

/* フロート要素の調整 */
.sch-pc-header-meta {
    width: 100%;
    background: #f9f1df; /* p-table-mainと同じ背景色 */
}

/* --- スマホ専用デザイン*/
.mobile-header { background-color: #5ebf9e; display: flex; align-items: center; justify-content: space-between; height: 50px; position: sticky; top: 0; z-index: 1000; }
.nav-btn { background: rgba(255,255,255,0.2); color: white; border: none; width: 50px; height: 50px; font-size: 20px; font-weight: bold; }
.current-date-label { color: white; font-weight: bold; font-size: 16px; }
.today-badge { background: white; color: #5ebf9e; font-size: 10px; padding: 2px 8px; border-radius: 10px; margin-left: 5px; }

.day-table { display: none; width: 100%; border-collapse: collapse; background: #fff; }
.day-table.active { display: table; }
.program-row { border-bottom: 1px solid #eee; }
.program-row.is-now { background-color: #fff9e6; } /* 現在放送中の背景 */
.program-row.bg-green { background-color: #e8f7f2; }

.time-cell { width: 60px; vertical-align: top; padding: 15px 0 15px 15px; color: #e68a00; font-weight: bold; font-size: 14px; }
.content-cell { padding: 15px; vertical-align: top; }
.prog-title { font-size: 15px; font-weight: bold; line-height: 1.4; color: #000; text-decoration: none; display: block; margin-bottom: 5px; }
.prog-title a { color: #000; text-decoration: none; }
.prog-desc { font-size: 12px; color: #888; line-height: 1.5; margin-top: 5px; }
.icon-tag { border: 1px solid #ccc; color: #666; font-size: 10px; padding: 0 2px; border-radius: 2px; margin-right: 4px; }

/* --- PC専用デザイン --- */
.pc-weekly-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; background: #ddd; padding: 10px; }
.pc-day-column { background: #fff; min-height: 500px; }
.pc-day-header { background: #5ebf9e; color: #fff; padding: 10px; text-align: center; font-weight: bold; }
.pc-prog-card { padding: 10px; border-bottom: 1px solid #eee; font-size: 13px; }
.pc-prog-time { color: #e68a00; font-weight: bold; margin-bottom: 3px; }

/* 1. デフォルト状態（スマホ版を隠し、PC版を出す） */
body .pc-layout {
    display: block !important;
}
body .mobile-layout {
    display: none !important;
}

/* 2. スマホサイズ（768px以下）での反転 */
@media screen and (max-width: 768px) {
    body .pc-layout {
        display: none !important;
    }
    body .mobile-layout {
        display: block !important;
    }
    
    /* スマホ版テーブルの初期表示を確保 */
    body .day-table.active {
        display: table !important;
    }
}
/* 親要素をすべて強制的に可視化する */
.tv-wrap, 
.p-table-main, 
.p-table-main__inner {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

/* PCレイアウト時、高さを制限している全ての親要素を解放する */
.pc-layout,
.pc-layout #global-wrapper,
.pc-layout #menu,
.pc-layout #metadata-header {
    height: auto !important;           /* 固定高さを解除 */
    min-height: 0 !important;          /* 最小高さの干渉を防止 */
    overflow: visible !important;      /* 中身がはみ出しても隠さない */
    display: block !important;         /* 高さを正しく計算させる */
}

/* テーブルを包むインナー要素の「inline-block」が原因で高さが消えるのを防ぐ */
.pc-layout .p-table-main__inner {
    display: block !important;         /* inline-blockから変更 */
    width: 100% !important;
    max-width: none !important;
}

/* main要素（clearfix）が中のfloatを確実に認識させる */
main.clearfix {
    display: flow-root !important;     /* clearfixの代わりとなる最新の解除法 */
}

[id^="link"] {
    /* 固定ヘッダーの高さ（約135px）分、位置を下げます */
    scroll-margin-top: 135px !important;
}

/* リンク（href）がある番組のタイトルだけを青くする */
a.sch-pc-table__program[href] .sch-pc-table__program__title {
    color: #0054b3 !important;
}
/* リンク（href）のない番組のタイトルだけを黒くする */
a.sch-pc-table__program:not([href]) .sch-pc-table__program__title {
    color: #000000 !important;
}

.pc-layout {
  font-size: 62.5%;
  min-height: 100%;
}
.mobile-layout {
  font-size: 62.5%;
  min-height: 100%;
}
.tv-wrap * {
  box-sizing: border-box;
}

.pc-layout {
  /*font-size: 1.8rem;*/
  font-size: 18px;
  line-height: 1.7;
  color: #000;
  -webkit-text-size-adjust: 100%;
  font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  min-height: 100%;
}
.mobile-layout {
  /*font-size: 1.8rem;*/
  font-size: 18px;
  line-height: 1.7;
  color: #000;
  -webkit-text-size-adjust: 100%;
  font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  min-height: 100%;
}

/* 2026.03.22 */
/* JSがクラスを付与した時のスタイル */
.pc-layout .sch-pc-day.fixed {
    position: fixed !important;
    top: 0 !important;
    width: 1040px !important; /* 元の幅を維持 */
    z-index: 9999 !important;
    background-color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* 固定されたことがわかるように影を付与 */
}

/* 2026.03.22 */
/* 以前のコードにある 927px の制約も必要であれば維持 */
/*
@media screen and (max-width: 927px) {
    .pc-layout .sch-pc-day.fixed {
        position: relative !important;
        top: auto !important;
    }
}
*/
