@charset "utf-8";

/*****************************************************************************
.timetable-heading
*****************************************************************************/
.timetable-heading {
    padding: 25px 10px 25px 10px;
}
.timetable-heading > div {
    max-width: 1000px;
    margin: 0 auto;
}

.timetable-heading h1 {
    font-size: 150%;/*24*/
    margin-top: 1em;
}
.timetable-heading p {
    font-size: 81.25%;/*13*/
}







/*****************************************************************************
.timetable-container
*****************************************************************************/
.timetable-container {
    padding: 0 10px 75px 10px;
}
.timetable-container > div {
    max-width: 1200px;
    margin: 0 auto;
}











/*****************************************************************************
3カラムに分ける
*****************************************************************************/
.timetable-row-wrap {
    width: 100%;
    overflow: auto;
}
.timetable-row {
    width: 100%;
    min-width: 1004px;
}

.timetable-col-1,
.timetable-col-2,
.timetable-col-3 {
    float: left;
    box-sizing: border-box;
}
.timetable-col-1 {
    width: 55%;
}
.timetable-col-2 {
    width: 25%;
    padding-left: 10px;
}
.timetable-col-3 {
    width: 20%;
    padding-left: 10px;
}






/*****************************************************************************
タイムテーブル
*****************************************************************************/
table.timetable {
    width: 100%;
    background: #F5F5F7;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
}
table.timetable td {
    box-sizing: border-box;
}

/* 一番上 ***************************/
tr.tt_head {
    background: #1D1D1F;
    color: #FFF;
    
    
}
td.nothing {
    width: 1%;
}
td.channel {
    width: 33%;
    font-size: 68.75%;/*11*/
    padding: 10px 0 10px 10px;
    /*text-align: center;*/
}
.timetable-col-2 td.channel,
.timetable-col-3 td.channel {
    width: 99%;
}



/* 時間 *************************************************/
td.time {
    font-size: 68.75%;/*11*/
    padding: 0 10px;
    text-align: center;
    border-right: solid 1px #DDD;
    border-bottom: solid 1px #DDD;
}

/* 1分 = 3px */
.min100 { height: 300px; }
.min30 { height: 90px; }
.min45 { height: 135px; }
.min25 { height: 75px; }
.min10 { height: 30px; }
.min200 { height: 600px; }
.min150 { height: 450px; }
.min195 { height: 585px; }
.min60 { height: 180px; }
.min65 { height: 195px; }

.min5 { height: 15px; }
.min95 { height: 285px; }
.min145 { height: 435px; }
.min140 { height: 420px; }
.min20 { height: 60px; }
.min70 { height: 210px; }

.min90 { height: 270px; }
.min255 { height: 765px; }
.min110 { height: 330px; }

/*
.min120 { height: 360px; }




.min215 { height: 645px; }


.min35 { height: 105px; }


.min15 { height: 45px; }
.min100 { height: 300px; }
.min75 { height: 225px; }
.min210 { height: 630px; }


.min55 { height: 165px; }

.min105 { height: 315px; }
.min115 { height: 345px; }

.min240 { height: 720px; }
*/
/*
.min■ { height: ■px; }
*/
/*
.min220 { height: 660px; }




*/




/* セッション ********************************************/
td.session {
    font-size: 75%;/*12*/
    padding: 10px 10px 0 10px;
    background: #FFF;
    border: solid 1px #DDD;
    border-left: solid 3px #DDD;
    vertical-align: top;
    position: relative;
}
td.session.track1 { border-left-color: #CF0F2B; }
td.session.track5 { border-left-color: #FF7346; }
td.session.track6 { border-left-color: #D66CD1; }
td.session.track2 { border-left-color: #8F6FE7; }
td.session.track3 { border-left-color: #4F91FF; }
td.session.track4 { border-left-color: #2F54E5; }
td.session.track9 { border-left-color: #1D1D1F; }
td.session.track7 { border-left-color: #FFC728; }
td.session.track8 { border-left-color: #AAAAAA; }

/* カテゴリーラベル */
.track {
    display: inline-block;
    vertical-align: top;
    border-radius: 100vmax;
    color: #FFF;
    font-size: 90%;
    padding: 0 10px;
    margin-right: 10px;
}
.track1 .track { background: #CF0F2B; }
.track5 .track { background: #FF7346; }
.track6 .track { background: #D66CD1; }
.track2 .track { background: #8F6FE7; }
.track3 .track { background: #4F91FF; }
.track4 .track { background: #2F54E5; }
.track9 .track { background: #1D1D1F; }
.track7 .track { background: #FFC728; color: #000; }
.track8 .track { background: #AAAAAA; }

/* セッション ID */
.id {
    display: inline-block;
    vertical-align: top;
}

/* アンカー */
.anchor {
	position: absolute;
	top: 0;
    right: 0;
}

/* 行数制限 */
.limit {
    padding-top: 5px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5; /* 任意の行数を指定 */
}
.timetable-col-2
.limit {
    -webkit-line-clamp: 1; /* 任意の行数を指定 */
}
.timetable-col-3
.limit {
    -webkit-line-clamp: 7; /* 任意の行数を指定 */
}

/* テキストリンク */
td.session a {
    color: #1D1D1F;
}
td.session a:hover {
    color: #2F54E5;
}


/* ポスター */
td.session.track9 {
    padding-top: 0;
}
td.session.track9 .limit {
    padding-top: 0;
}
td.session.track9 > div {
    padding-top: 5px;
}























  /* ─── Tooltip ─── */
  #tooltip {
    position: fixed; z-index: 9999;
    pointer-events: none;
    opacity: 0; transform: translateY(4px);
    transition: opacity .15s, transform .15s;
    max-width: 300px;
  }
  #tooltip.on { opacity: 1; transform: translateY(0); }
  .tip-inner {
    background: #1D1D1F; color: #FFF;
    border-radius: 12px; padding: 14px 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,.25), 0 2px 8px rgba(0,0,0,.15);
  }



.tip-id {
    font-size: 68.75%;/*11*/
    color: #bbb;
}
.tip-title {
    font-size: 75%;/*12*/
}
.tip-desc {
    font-size: 75%;/*12*/
    color: #bbb;
    margin-top: 0.5em;
}





