/* ========================================
   待ち時間表示ページ用スタイル
   ======================================== */

/* リセット・基本スタイル */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 62.5%;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

body {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-size: 1.4rem;
    line-height: 1.2;
    letter-spacing: 0;
    color: #333;
    background-color: #323333;
    height: 100%;
    overflow: hidden;
    width: 100%;
}

ul {
    list-style: none;
}

/* Signage2 コンテナ */
.Signage2:not(.Signage) {
    height: 100vh;
    height: 100dvh;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.SignageTable {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

/* SignageTable */
.SignageTable__head {
    background-color: #287dc8;
    height: 8.4vh;
    min-height: 8.4vh;
    flex-shrink: 0;
    text-align: center;
}

.SignageTable__head .SignageTableRow__col {
    text-align: center;
    color: #FFF;
    font-size: 1.66667vw;
    font-weight: 600;
}

/* SignageTableHeadText */
.SignageTableHeadText {
    color: #FFF;
    font-size: 1.66667vw;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
}

.SignageTableHeadText span {
    font-family: Gilroy-Regular, sans-serif;
    font-size: 1.25vw;
    font-weight: 400;
    white-space: nowrap;
    letter-spacing: 0;
}

/* SignageTableRow */
.SignageTableRow,
.SignageTableRow__col {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.SignageTableRow {
    height: 100%;
}

.SignageTableRow .SignageTableRow__col:nth-child(1) {
    width: 39vw;
}

.SignageTableRow .SignageTableRow__col:nth-child(2) {
    width: 11vw;
}

.SignageTableRow .SignageTableRow__col:nth-child(3) {
    width: 10vw;
}

.SignageTableRow .SignageTableRow__col:nth-child(4) {
    width: 40vw;
}

.SignageTableRow__col {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.SignageTableRow__col.flex-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* SignageTableContent */
.SignageTableContent {
    background-color: #323333;
    flex: 1;
    overflow: hidden;
    position: relative;
}

.SignageTableContent__height {
    height: 100%;
    overflow: hidden;
}

/* SignageTableList */
.SignageTableList {
    color: #FFF;
    position: absolute;
    width: 100%;
    background-color: #323333;
}

.SignageTableList li {
    height: 11.4vh;
    border-bottom: 1px solid #287dc8;
    overflow: hidden;
}

.SignageTableList .SignageTableRow__col:first-child {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.SignageTableList .SignageTableRow__col:not(:last-child) {
    border-right: 1px solid #287dc8;
}

.SignageTableList .SignageTableRow__col:nth-child(2),
.SignageTableList .SignageTableRow__col:nth-child(3) {
    font-size: 4.16667vw;
    font-weight: 700;
}

.SignageTableList .SignageTableRow__col:nth-child(3) span {
    font-weight: 700;
}

.SignageTableList .SignageTableRow__col:nth-child(4) {
    font-size: 3.33333vw;
    font-weight: 700;
}

.SignageTableList .SignageTableRow__col:nth-child(4) .SignageAttractionTitle {
    padding-left: 0;
    text-align: center;
}

.SignageTableList--fix {
    position: relative;
    flex-shrink: 0;
}

/* SignageAttractionTitle */
.SignageAttractionTitle {
    margin-top: -1.9vh;
    font-size: 3.19444vw;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0;
    padding-left: 10px;
}

.SignageAttractionTitle span {
    font-family: Gilroy-Regular, sans-serif;
    font-size: 1.80556vw;
    font-weight: 400;
    letter-spacing: 0;
}

.SignageAttractionTitle--small {
    font-size: 2.43056vw;
    letter-spacing: -0.1em;
}

/* SignageAttractionTicket */
.SignageAttractionTicket {
    font-size: 4.16667vw;
    font-weight: 700;
}

.SignageAttractionTicket span {
    font-family: Gilroy-Regular, sans-serif;
    font-weight: 700;
}

/* ========================================
   スマホ用スタイル（768px以下）
   ======================================== */
@media screen and (max-width: 768px) {

    /* ヘッダー */
    .SignageTable__head .SignageTableRow__col {
        font-size: 2.8vw;
    }

    .SignageTableHeadText {
        font-size: 2.8vw;
    }

    .SignageTableHeadText span {
        font-size: 2vw;
    }

    /* リスト内の運行状況・絶叫優先券 */
    .SignageTableList .SignageTableRow__col:nth-child(2),
    .SignageTableList .SignageTableRow__col:nth-child(3) {
        font-size: 5vw;
    }

    /* リスト内の待ち時間 */
    .SignageTableList .SignageTableRow__col:nth-child(4) {
        font-size: 4vw;
    }

    /* アトラクション名 */
    .SignageAttractionTitle {
        font-size: 3.5vw;
        padding-left: 5px;
    }

    .SignageAttractionTitle span {
        font-size: 2.2vw;
    }

    .SignageAttractionTitle--small {
        font-size: 2.8vw;
        letter-spacing: -0.08em;
    }

    /* チケット */
    .SignageAttractionTicket {
        font-size: 5vw;
    }
}