/*
 * timetable-scoped.css
 * style.css の全セレクターを #tv-timetable-area 配下にスコープしたファイル。
 * body { margin: 0; } は CMS 共通レイアウトが制御するため削除。
 * #cboxOverlay / #cboxLoadedContent / #cboxClose は <body> 直下に生成されるため例外扱い。
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

#tv-timetable-area * {
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 12px;
}

/* body { margin: 0; } は削除 */

#tv-timetable-area table {
    border-collapse: separate;
    border-spacing: 0;
}

#tv-timetable-area tr { min-height: 1px; }

#tv-timetable-area #day_header_menu {
    position: fixed;
    background: #ffffff;
}

#tv-timetable-area #container {}

#tv-timetable-area #sub-header,
#tv-timetable-area #contents,
#tv-timetable-area #footer {
    /* background: #add700; */
    background: #14bee6;
}

#tv-timetable-area #tv-timetable-headerbar {
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    padding: 8px 15px;
}

#tv-timetable-area #tv-timetable-headerbar .btn {
    display: inline-block;
    padding: 8px 20px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    color: #1a1a2e;
    white-space: nowrap;
}

@media (max-width: 999px) {
    #tv-timetable-area #tv-timetable-headerbar .btn {
        padding: 6px 14px;
        font-size: 13px;
    }
}

#tv-timetable-area #wrapper {
    width: 94%;
    margin-left: 1%;
}

#tv-timetable-area .day-header {
    vertical-align: middle;
    text-align: center;
    height: 40px;
    font-size: 16px;
    border-bottom: 2px solid #fff;
}

#tv-timetable-area .day-header div {
    font-size: 14px;
}

#tv-timetable-area .w-weekday-date {
    background-color: #dcece0;
    color: #121212;
}

#tv-timetable-area .w-sat-date {
    background: #4169e1;
    color: #fff;
}

#tv-timetable-area .w-sun-date {
    background: #f02e74;
    color: #ffffff;
}

#tv-timetable-area .w-hour-head {
    width: 30px;
    text-align: center;
    vertical-align: middle;
    background-color: #eeeeee;
}

#tv-timetable-area .w-hour-column {
    width: 30px;
    text-align: center;
    vertical-align: middle;
}

#tv-timetable-area #sub-header { height: 50px; }

#tv-timetable-area #weekly_timetable {
    background: #fefefe;
}

#tv-timetable-area .program-icon {
    background-color: #1f1f1e;
    display: inline-block;
    font-size: 12px;
    height: 16px;
    line-height: 16px;
    text-align: center;
    width: 16px;
    color: #ffffff;
    margin: 1px 2px;
    padding: 2px;
}

#tv-timetable-area .new-program {
    background-color: #ec3a58;
}

#tv-timetable-area .end-program {
    background-color: #1367cf;
}

#tv-timetable-area .repeat-program {
    background-color: #cf9c13;
}

#tv-timetable-area td.program-box {
    background-color: #ecf3f2;
    width: 120px;
    vertical-align: top;
}

#tv-timetable-area td.program-box div {
    width: 116px;
    padding: 2px;
}

#tv-timetable-area td.program-box div p {
    margin: 0;
    padding: 0 3px;
    overflow: hidden;
    white-space: normal;
}

#tv-timetable-area p.start-time {
    color: #222222;
}

#tv-timetable-area p.program-title {
    font-size: 12px;
    color: #121212;
}

#tv-timetable-area p.program-genre {
    font-size: 11px;
    background-color: #f0f0f0;
}

#tv-timetable-area p.pgm-genre {
    display: none;
}

#tv-timetable-area p.program-information {
    font-size: 11px;
    color: #898989;
}

#tv-timetable-area .today-high-light {
    background-color: #c2ffb4 !important;
}

#tv-timetable-area .class_hour {
    text-align: center;
}

#tv-timetable-area .td_oa_end {
    background-color: #c1c1c1 !important;
}

#tv-timetable-area .side_nav {
    float: left;
    position: fixed;
    right: 0;
    top: 0;
    width: 4%;
    margin: 0 0.5%;
}

#tv-timetable-area .side_nav .hour_nav ul {
    display: block;
    list-style: outside none none;
    margin: 0;
    padding: 5px 0;
}

#tv-timetable-area .side_nav .hour_nav ul li.w_Hour {
    line-height: 24px;
    padding: 0;
}

#tv-timetable-area .side_nav .hour_nav ul li {
    display: block;
    margin: 2px 3px;
    text-align: center;
}

#tv-timetable-area .side_nav .hour_nav ul li span {
    background-color: #585858;
    color: #ffffff;
    display: block;
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    text-decoration: none;
}

#tv-timetable-area .side_nav .hour_nav ul li a {
    color: #ffffff;
    display: block;
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    text-decoration: none;
    transition: all 0.5s ease 0s;
}

#tv-timetable-area .nav-week:hover { cursor: pointer; }

#tv-timetable-area tr { min-height: 1px; }

#tv-timetable-area td { border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; }

#tv-timetable-area td.oa-program { background: #ffc8d8; }

#tv-timetable-area .oa-icon {
    display: inline-block;
    background: #ff789e;
    color: #fff;
    font-weight: bold;
    padding: 2px 12px;
    margin: 0 4px 0 0;
    border-radius: 4px;
}

#tv-timetable-area td.oaend a.a-Item {
    color: #cbcbcb !important;
}

#tv-timetable-area #weekslot { width: auto; }

#tv-timetable-area .w_HourNow { background: #ff789e; cursor: pointer; }

#tv-timetable-area #contents_title { width: 20%; }
#tv-timetable-area #timeslot { display: table-cell; }
#tv-timetable-area #basic_timetable { width: auto; text-align: center; }
#tv-timetable-area #basic_timetable a { width: auto; }

#tv-timetable-area .thumbnail { text-align: center; }
#tv-timetable-area .thumbnail img { width: 94%; margin: 8px auto; }

#tv-timetable-area .youtubeplay {
    padding-top: 56.25%;
    position: relative;
    width: 100%;
}

#tv-timetable-area .youtubeplay iframe {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

#tv-timetable-area #timeslot div a { font-weight: normal; }

#tv-timetable-area .oatoday {
    background-color: #fff4f7;
}

#tv-timetable-area .oaend .thumbnail { opacity: 0.4; }
#tv-timetable-area td.oaend { background: #f1f1f1; }

#tv-timetable-area td { background-color: #ffffff; vertical-align: top; }
#tv-timetable-area td.dummy { background-color: #aaaaaa; }
#tv-timetable-area td.dummy1,
#tv-timetable-area td.dummy2,
#tv-timetable-area td.dummy3,
#tv-timetable-area td.dummy4,
#tv-timetable-area td.dummy5 { background-color: #e3e3e3 !important; }

#tv-timetable-area .w-hour-column {
    color: #ffffff !important;
    width: 24px;
    text-align: center;
    background-color: #666666;
}

#tv-timetable-area #prevweek { display: none; }
#tv-timetable-area #nextweek { display: none; }

#tv-timetable-area .weeklytable {
    width: 100%;
    table-layout: fixed;
    background-color: #c3c3c3;
}

#tv-timetable-area .oatoday { background-color: #fef0e2; }
#tv-timetable-area .w-today { background: #ffb678; font-weight: bold; color: #fff; }

#tv-timetable-area #day_header_menu { width: 94%; z-index: 100; }
#tv-timetable-area #weekly_timetable { width: 100%; }

#tv-timetable-area .colomn.oatoday:not(.oaend):hover { background-color: #f5fffa; }
#tv-timetable-area .colomn.oatoday:not(.oaend):hover p.pgm-title { color: #20b2aa !important; }
#tv-timetable-area .colomn.oauntil:hover { background-color: #f5fffa; }
#tv-timetable-area .colomn.oauntil:hover p.pgm-title { color: #20b2aa !important; }

#tv-timetable-area .pgm-Item { padding: 8px 14px; }
#tv-timetable-area .pgm-Item p { margin: 0; letter-spacing: 1px; }

#tv-timetable-area .oa-time {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 2px;
    margin-right: 4px !important;
}

#tv-timetable-area #contents {
    padding: 10px 0 5px;
}

#tv-timetable-area #weeklytimetablearea {
    background-color: #ffffff;
    border-radius: 0;
    height: auto;
    margin: 0;
}

#tv-timetable-area #contents,
#tv-timetable-area #weeklytimetablearea {
    width: 100%;
}

#tv-timetable-area #weeklytimetable {
    padding-top: 6px;
}

#tv-timetable-area .pgm-title {
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-all;
    font-size: 16px;
    font-weight: bold;
    line-height: 22px;
    margin: 4px 0 !important;
    color: #222;
}

#tv-timetable-area .pgm-synopsis {
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-all;
    font-size: 0.9em;
    color: #333;
}

#tv-timetable-area .oaend a:not(.oatoday) { pointer-events: none; display: inline-block; }
#tv-timetable-area .oaend .pgm-title { color: #cacaca; }
#tv-timetable-area .oaend .pgm-synopsis { color: #d2d2d2; }

#tv-timetable-area #sub-header {
    height: auto;
    padding-bottom: 0;
    padding-top: 0;
}

#tv-timetable-area #sub-header ul {
    list-style: outside none none;
    overflow: hidden;
    margin: 0;
    padding: 0;
    display: table;
}

#tv-timetable-area #sub-header ul li {
    display: table-cell;
}

#tv-timetable-area .w-today,
#tv-timetable-area .oatoday { width: 20%; }

#tv-timetable-area .oatoday p.pgm-title { font-size: 18px; line-height: 22px; }
#tv-timetable-area .oatoday p.pgm-synopsis { font-size: 14px; }

#tv-timetable-area .icon-arib { font-size: inherit; display: inline-block; padding: 1px 2px; }
#tv-timetable-area .icon-shin { color: #e80f0f; font-weight: bold; }

#tv-timetable-area #header_nav .hour_nav {
    border-radius: 5px;
    margin: 2px 0;
}

#tv-timetable-area #weekslot div {
    float: left;
    height: 44px;
    margin: 5px;
}

#tv-timetable-area #weekslot div a {
    color: #ffffff;
    background-color: #111111;
    display: block;
    line-height: 42px;
    width: 42px;
    height: 42px;
    text-align: center;
    font-size: 14px;
    text-decoration: none;
    border-radius: 50%;
    border: 2px solid #fff;
}

#tv-timetable-area #weekslot div a:hover { opacity: 0.7; }

#tv-timetable-area #timeslot div {
    float: left;
    margin: 4px 2px;
}

#tv-timetable-area #timeslot div a {
    display: block;
    line-height: 42px;
    width: 88px;
    text-align: center;
    font-size: 14px;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    border: 2px solid #fff;
}

#tv-timetable-area #timeslot div a:hover { opacity: 0.7; }

#tv-timetable-area #sub-header ul li#contents_title {
    background-image: url("../images/mrt_tv_timetable.png");
    background-position: center center;
    background-size: contain;
    cursor: pointer;
    display: table-cell;
    width: 18%;
    background-repeat: no-repeat;
}

#tv-timetable-area #basic_timetable {
    background-color: #6b8e23;
    display: block;
    height: 44px;
    width: auto;
    text-align: center;
}

#tv-timetable-area #basic_timetable a {
    width: auto;
    display: block;
    line-height: 44px;
    text-align: center;
    font-size: 16px;
    color: #111111;
    text-decoration: none;
    font-weight: bold;
}

#tv-timetable-area .side_nav .hour_nav ul li {
    display: block;
    margin: 1px 3px 0 3px;
    text-align: center;
    border: #fff 1px solid;
}

#tv-timetable-area .side_nav .hour_nav ul li a {
    color: #ffffff;
    display: block;
    font-size: 12px;
    line-height: 20px;
    text-decoration: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

#tv-timetable-area #timeslot a.w_Hour1,
#tv-timetable-area a.w_Hour1,
#tv-timetable-area .class_hour4,
#tv-timetable-area .class_hour5,
#tv-timetable-area .class_hour6,
#tv-timetable-area .class_hour7,
#tv-timetable-area .class_hour8,
#tv-timetable-area .class_hour9,
#tv-timetable-area .class_hour10,
#tv-timetable-area .class_hour11 {
    background-color: #ffa500;
    color: #ffffff;
}

#tv-timetable-area #timeslot a.w_Hour2,
#tv-timetable-area .side_nav .hour_nav ul li a.w_Hour2,
#tv-timetable-area .class_hour12,
#tv-timetable-area .class_hour13,
#tv-timetable-area .class_hour14,
#tv-timetable-area .class_hour15,
#tv-timetable-area .class_hour16,
#tv-timetable-area .class_hour17 {
    background-color: #ff6347;
    color: #ffffff;
}

#tv-timetable-area #timeslot a.w_Hour3,
#tv-timetable-area .side_nav .hour_nav ul li a.w_Hour3,
#tv-timetable-area .class_hour18,
#tv-timetable-area .class_hour19,
#tv-timetable-area .class_hour20,
#tv-timetable-area .class_hour21,
#tv-timetable-area .class_hour22,
#tv-timetable-area .class_hour23 {
    background-color: #4169e1;
    color: #ffffff;
}

#tv-timetable-area #timeslot a.w_Hour4,
#tv-timetable-area .side_nav .hour_nav ul li a.w_Hour4,
#tv-timetable-area .class_hour0,
#tv-timetable-area .class_hour1,
#tv-timetable-area .class_hour2,
#tv-timetable-area .class_hour3 {
    background-color: #8b008b;
    color: #ffffff;
}

#tv-timetable-area #weekslot { width: 190px; }

#tv-timetable-area .hidden { display: none; }
#tv-timetable-area .a-Item { text-decoration: none; color: #111111; }

#tv-timetable-area .pgm-information-box { margin: 30px; }
#tv-timetable-area .pgm-information-box h4 { color: #222; }
#tv-timetable-area .pgm-information-box p { font-size: 18px; color: #333; }
#tv-timetable-area .pgm-information-box p.pgm-synopsis { font-size: 18px; }
#tv-timetable-area .pgm-information-box p.pgm-extended-synopsis { font-size: 18px; }

#tv-timetable-area h4 { font-size: 36px; margin: 0; border-bottom: 1px solid #cccccc; }
#tv-timetable-area .oa-datetime { font-size: 28px !important; margin: 8px 0; }
#tv-timetable-area .oa-date { display: none; }

#tv-timetable-area .pgm-programlink {
    /* background-color: #add700; */
    background-color: #14bee6;
    color: #ffffff;
    display: block;
    margin: 10px auto;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    width: 80px;
    line-height: 80px;
    border-radius: 50%;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

#tv-timetable-area .pgm-programlink:hover { background-color: #657d00; }

#tv-timetable-area #footor { width: 100%; }
#tv-timetable-area #copyright { padding: 4px 8px; margin: auto; text-align: center; }

#tv-timetable-area #iconarea ul { padding: 0; display: table; margin: 4px 0; }
#tv-timetable-area #iconarea ul li {
    padding: 2px 12px;
    display: table-cell;
    vertical-align: middle;
    font-size: 13px;
    color: #111 !important;
}

#tv-timetable-area #iconarea p.information { margin: 2px 8px; }

/* 例外：<body> 直下に生成される ColorBox 要素（スコープなし） */
#cboxOverlay { background: #000 !important; opacity: 0.7 !important; filter: alpha(opacity=70); }
#cboxLoadedContent {}
#cboxClose {
    border-radius: 50%;
    top: -30px !important;
    width: 21px !important;
    height: 21px !important;
}
