@font-face {
  font-family: 'Oswald';
  src: url('/event_2025/programs2025/assets/font/Oswald-Regular.woff') format('woff');
}

/* ------------------------------------------
  タブ周りの装飾
  ------------------------------------------ */

.minw1000 {
    min-width: 1000px;
}

#main .tv_header {
    display: flex;
    flex-wrap: wrap;
    line-height: 1;
    align-items: baseline;
    gap: 20px;
}

#main .tv_header_container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    line-height: 1;
}

#main .tv_header_notice {
    padding: 0.5em;
    font-size: 11px;
    line-height: 1.5;
    color: #FF0302;
}

#main .tv_header_notice .pamphlet {
  text-decoration: none;
  display: block;
  color: #1e87f0;
}


#main .tv_header h2 {
    font-family: 'impact';
    font-size: 30px;
    line-height: 1;
    border-bottom: 0;
    margin-top: 0;
    margin-right: 20px;
    font-weight: normal;
}

#main .tv_header h2 a,
#main .tv_header h2 a:hover,
#main .tv_header h2 a:visited{
    text-decoration: none;
    color: #000;
}

#main .tv_header>div {
    font-family: 'Oswald';
    font-size: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

#main .tv_header>div span {
    font-size: 12px;
    /*font-family: 'HiraginoSans-W6, Hiragino Sans';*/
}

#main .tv_header>div .place {
    font-size: 18px;
}

#main .tv_tab {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    border-bottom: solid 7px #E6E6E6;
    line-height: 1.4;
    margin-top: 8px;
}

#main .tv_tab>div {
    font-family: 'Oswald';
    font-size: 20px;
}

#main .tv_tab div.date {
    border-bottom: solid 7px #E6E6E6;
    margin-bottom: -7px;
}

#main .tv_tab div.date:hover,
#main .tv_tab div.date.active {
    border-bottom: solid 7px #E01616;
    margin-bottom: -7px;
}

#main .tv_tab div a,
#main .tv_tab div a:hover,
#main .tv_tab div a:visited {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

#main .tv_tab div:last-child {
    margin-left: auto;
}

#main .tv_tab div span {
    font-size: 32px;
}

#main .tv_tab div.event_search {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 14px;
    gap: 15px;
    /*font-family: 'HiraginoSans-W6, Hiragino Sans';*/
}

#main .tv_tab .event_search_item {
    display: flex;
    align-items: center;
    padding: 0 3px 0 1px;
}

#main .tv_tab div.event_search div:hover,
#main .tv_tab div.event_search div.active {
    border-bottom: solid 5px #E01616;
    margin-bottom: -5px;
}

#main .tv_tab div.event_search div a {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

#main .tv_tab div.event_search a {
    font-size: 14px;
}

#main .tv_header>div .icon_cal{
    width: 20px;
}
#main .tv_header>div .icon_map{
    width: 14px;
}

#main .tv_header>div .about-text{
    font-size: 16px;
}

#main .tv_header_lead>div.about-text{
    font-size: 16px;
    border-radius: 50rem!important;
    color: white;
    background: rgb(237,50,101);
    background: -webkit-linear-gradient(left, rgba(237,50,101,1) 0%, rgba(170,32,110,1) 48%, rgba(105,15,119,1) 100%);
    background: -moz-linear-gradient(left, rgba(237,50,101,1) 0%, rgba(170,32,110,1) 48%, rgba(105,15,119,1) 100%);
    background: -o-linear-gradient(left, rgba(237,50,101,1) 0%, rgba(170,32,110,1) 48%, rgba(105,15,119,1) 100%);
    background: linear-gradient(to right, rgba(237,50,101,1) 0%, rgba(170,32,110,1) 48%, rgba(105,15,119,1) 100%);
    line-height: 1.5;
}

@media (max-width:480px) {
    #main .tv_header {
        flex-wrap: wrap;
        justify-content: center;
        min-width: inherit;
        gap: 0px;
        margin-top: -30px;
    }
    #main .tv_header_notice {
        font-size: 10px;
        padding: 0 0.5em;
        line-height: 1.5;
    }
    #main .tv_header h2 {
        font-size: 24px;
        margin: 0 0 0 0;
        font-family: 'Oswald';
    }

    #main .tv_tab {
        min-width: inherit;
        gap: 20px 5px;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #main .tv_tab>div {
        font-size: 16px;
    }

    #main .tv_tab div span {
        font-size: 24px;
    }

    #main .tv_header>div .place {
        font-size: 12px;
    }

    #main .tv_header>div .date {
        font-size: 12px;
    }

    #main .tv_header>div .icon_cal{
        width: 12px;
    }
    #main .tv_header>div .icon_map{
        width: 8px;
    }

    #main .tv_header_lead>div.about-text{
        font-size: 10px;
    }

    #main .tv_tab div.event_search {
        background-color: #E6E6E6;
        flex-wrap: wrap;
        padding: 10px 0 3px;
        row-gap: 10px;
        column-gap: 10px;
        width: 100%;
    }
    #main .tv_tab div:last-child{
        margin-left: 0;
    }
    #main .tv_tab div.event_search div a{
        text-decoration: underline;
        font-size: 12px;
    }
    #main .tv_tab_lead{
        font-size: 12px;
    }
    #main .tv_tab div.event_search div:hover,
    #main .tv_tab div.event_search div.active{
        border: none;
        background: white;
        color: #E01616;
    }
    #main .tv_tab div.event_search div.active a{
        color: #E01616;
    }
}


/*#main .tv_tab div.event_search a::after {
    content: '>';
}*/

/* ------------------------------------------
  タイムテーブル部分の装飾
  ------------------------------------------ */


.timetable{
    /* grid レイアウトの設定 */
    display: grid;
    grid-template-rows: max-content repeat(68, 0.5rem);

    /* カラムの間隔 */
    grid-column-gap: 10px;

    /* 行の間隔 */
    grid-row-gap: 10px;
    row-gap: 15px;

    /* 全体の幅 */
    margin-top: 15px;
    overflow: scroll;
}

.timetable.channel-4column{
    grid-template-columns: max-content repeat(4, max-content minmax(220px, 1fr));
    column-gap: 5px;
}
.timetable.channel-5column{
    grid-template-columns: max-content repeat(5, max-content minmax(205px, 1fr));
    column-gap: 5px;
}


/* 時間軸 */
.time-axis {
    font-family: 'Oswald';
    font-size: 20px;
    color: #fff;
    background-color: #000;
    grid-column: 1 / 2;
    text-align: center;
    padding: 3px 8px 10px;
    line-height: 1;
}

.grid-title {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.channel-4column .grid-title.ml20 {
    margin-left: 10px;
}

.channel-5column .grid-title.ml20 {
    margin-left: 10px;
}


/* CHの見出し */
.channel-num {
    /* 背景色 */
    color: #fff;
    background-color: #000;
    line-height: 2;

    /* 中央揃え・太字 */
    text-align: center;

    /* 表示位置を固定 */
    top: 0;
    z-index: 2;
    position: relative;
}

.channel-4column .channel-num{
    font-size: 13px;
}

.channel-5column .channel-num{
    font-size: 13px;
}

.channel-num span{
    font-size: 10px;
}

.other-title {
    text-align: center;
}

/* 番組の枠 */
.content-box {
    position: relative;
    overflow: hidden;
}

/* 番組の枠 */
.channel-4column .content-box {
    font-size: 13px;
    padding: 8px;
}

.channel-5column .content-box {
    font-size: 13px;
    padding: 5px;
}

.content-box-bg {
    background-color: #FAFAFA;
    grid-row: 3 / span 69;
}

.content-box:hover {
    opacity: 0.8 !important;
}

.channel-4column .content-box-ml20 {
    margin-left: 10px;
}

.channel-5column .content-box-ml20 {
    margin-left: 10px;
}

.channel-4column .content-box img {
    position: absolute;
    top: 8px;
    right: 5px;
}

.channel-5column .content-box img {
    position: absolute;
    top: 3px;
    right: 3px;
}

.content-box a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.content-box .booth {
    position: relative;
    margin-bottom: 10px;
    padding: 10px 0;
    border-bottom: #afc7ca 0px solid;
}

.content-box .booth img {
    position: absolute;
    top: 10px;
    right: 0;
}

.channel-num{
    padding: 0 2px;
}

.channel-num.ch1,
.content-box.ch1 {
    grid-column: 2 / span 2;
}

.channel-num.ch2,
.content-box.ch2 {
    grid-column: 4 / span 2;
}

.channel-num.ch3,
.content-box.ch3 {
    grid-column: 6 / span 2;
}

.content-box p{
    margin: 0 !important;
    color: #5D5D5D;
}

.channel-5column .channel-num.booth,
.channel-5column .content-box.booth {
    grid-column: 8 / span 2;
    margin-left: 10px;
    line-height: 0.9;
    padding: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.channel-4column .channel-num.booth,
.channel-4column .content-box.booth {
    grid-column: 6 / span 2;
    margin-left: 10px;
    line-height: 0.9;
    padding: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.channel-5column .channel-num.party,
.channel-5column .content-box.party {
    grid-column: 10 / span 2;
    margin-left: 10px;
}

.channel-4column .channel-num.party,
.channel-4column .content-box.party {
    grid-column: 8 / span 2;
    margin-left: 10px;
}

.channel-5column .grid-title.channel,
.channel-5column .content-box-bg.channel {
    grid-column: 3 / span 5;
}

.channel-4column .grid-title.channel,
.channel-4column .content-box-bg.channel {
    grid-column: 2 / span 4;
}

.channel-5column .grid-title.ch-booth,
.channel-5column .content-box-ml20.ch-booth,
.channel-5column .content-box.ch-booth {
    grid-column: 8 / span 2;
}

.channel-4column .grid-title.ch-booth,
.channel-4column .content-box-ml20.ch-booth,
.channel-4column .content-box.ch-booth {
    grid-column: 6 / span 2;
}

.channel-5column .grid-title.ch-party,
.channel-5column .content-box-ml20.ch-party,
.channel-5column .content-box.ch-party {
    grid-column: 10 / span 2;
}

.channel-4column .grid-title.ch-party,
.channel-4column .content-box-ml20.ch-party,
.channel-4column .content-box.ch-party {
    grid-column: 8 / span 2;
}

.ch-blue {
    background-color: #CFE1F3;
}

.ch-yellow {
    background-color: #FFF5DB;
}

.ch-green {
    background-color: #CBE6EB;
}

.ch-purple {
    background-color: #E3DEEF;
}

.content-minute {
    font-family: 'Oswald';
    line-height: 1;
    display: flex;
    align-items: center;
}

.channel-4column .content-minute {
    font-size: 14px;
}

.channel-5column .content-minute {
    font-size: 14px;
}

.content-minute span {
    font-size: 10px;
    margin: 0 0 0 8px;
    color: #FFF;
    font-weight: bold;
    background-color: #86D3E1;
    /*font-family: 'HiraginoSans-W6, Hiragino Sans';*/
    display: flex;
}

.channel-4column .content-minute span{
    padding: 3px 8px;
}

.channel-5column .content-minute span{
    padding: 3px;
}

.ch-yellow .content-minute span {
    background-color: #F1C961;
}

.ch-yellow .content-minute span.corp {
    background-color: #A9E127;
}

.ch-blue .content-minute span {
    background-color: #A3C9EE;
}

.ch-green .content-minute span {
    background-color: #86D3E1;
}

.ch-purple .content-minute span {
    background-color: #B6A1EA;
}

.ch-booth .content-minute span.corp {
    background-color: #A9E127;
}

.content-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: bold;
    line-height: 1.5;
}

.content-title-w {
    text-overflow: ellipsis;
    font-weight: bold;
    line-height: 1.2;
    margin: 3px 0;
}

/* 番組内容 */
.content-discription {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #333;
    font-size: 10px;
    line-height: 1;
}

/* 番組内容 */
.content-discription-w {
    text-overflow: ellipsis;
    color: #333;
    font-size: 10px;
    line-height: 1.2;
}

.scroll-hint-icon{
    top: 200px;
}

.btn-gradient{
    text-align: center;
    color: white;
    background: rgb(237,50,101);
    background: -webkit-linear-gradient(left, rgba(237,50,101,1) 0%, rgba(170,32,110,1) 48%, rgba(105,15,119,1) 100%);
    background: -moz-linear-gradient(left, rgba(237,50,101,1) 0%, rgba(170,32,110,1) 48%, rgba(105,15,119,1) 100%);
    background: -o-linear-gradient(left, rgba(237,50,101,1) 0%, rgba(170,32,110,1) 48%, rgba(105,15,119,1) 100%);
    background: linear-gradient(to right, rgba(237,50,101,1) 0%, rgba(170,32,110,1) 48%, rgba(105,15,119,1) 100%);
}
.btn-gradient:hover{
    color: white!important;
}
