.penalty-label,
tr:has(.penalty-label) td,
tr:has(.penalty-label) td span {
    color: #d92d20 !important;
}

.onoffswitch {
    position: relative;
    width: 68px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }

  .onoffswitch-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .onoffswitch-label {
    display: block;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid #999999;
    border-radius: 20px;
  }

  .onoffswitch-inner {
    display: block;
    width: 200%;
    margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
  }

  .onoffswitch-inner:before,
  .onoffswitch-inner:after {
    display: block;
    float: left;
    width: 50%;
    height: 22px;
    padding: 0;
    line-height: 22px;
    font-size: 11px;
    color: white;
    font-family: Trebuchet, Arial, sans-serif;
    font-weight: bold;
    box-sizing: border-box;
  }

  .onoffswitch-inner:before {
    content: "ON";
    padding-left: 10px;
    background-color: #1B3477;
    color: #FFFFFF;
  }

  .onoffswitch-inner:after {
    content: "OFF";
    padding-right: 10px;
    background-color: #D3E6FF;
    color: #BDBDBD;
    text-align: right;
  }

  .onoffswitch-switch {
    display: block;
    width: 15px;
    margin: 5.5px;
    background: #FFFFFF;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 42px;
    border: 2px solid #999999;
    border-radius: 20px;
    transition: all 0.3s ease-in 0s;
  }

  .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
  }

  .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch {
    right: 0px;
  }
.circle-btn {
    font-size: 1.5em;
    color: #708090;
}

.result-body {
    background-color: #ddecff;
}

.result-table thead {
    position: sticky;
    background-color: #1b3477;
    color: #fff;
    border: #fff;
}

.border-bottom {
    border: #1b3477;
}

.res-title {
    color: #1b3477;
    font-size: 1.2rem;
    font-weight: bold;
}

.tr-border {
    background-color: #d3e6ff;
    border: #a6beff6a;
}

.tr-borders {
    background-color: rgb(255, 255, 255);
    color: rgb(70, 67, 67);
    border: #89a8fdb0;
}


/* table.stripe tbody tr:nth-child(2n) {
    background-color: rgb(255, 255, 255);
    color: rgb(57, 57, 57);
    border: #a6beffb0;
} */


/* .sub-table tr {
    background-color: rgba(255, 0, 0, 0);
} */

.sub-table td {
    width: 50px;
}

.side-btn {
    position: absolute;
    right: 0;
    margin-right: 0.5px;
}

.toggle-result-btn {
    background-color: rgba(255, 0, 0, 0);
    border: none;
}

.bib {
    font-size: 0.8em;
}

.icon {
    width: 30px;
}


/* スクロールバーの全体的なスタイルを変更 */

::-webkit-scrollbar {
    width: 0;
    height: 0;
}


/* スクロールバーのスライダー（つまみ）のスタイルを変更 */

 ::-webkit-scrollbar-thumb {
    background-color: #999;
    opacity: 0;
    border-radius: 1px;
}


/* スクロールバーのトラックのスタイルを変更 */

 ::-webkit-scrollbar-track {
    background-color: #ddd;
}

.no-wrap {
    white-space: nowrap;
    overflow-y: hidden;
    overflow-x: scroll;
}

input.kindcheck:checked+label {
    background: #0a5198;
    font-weight: 500;
    color: #fff;
}
.kindcheck { 
    display: none;
}

.arrow-box {
    display: inline-block;
    background-color: #1b3477;
    /* 背景色 */
    color: white;
    /* テキスト色 */
    padding: 5px;
    /* パディング（上下左右） */
    position: relative;
    /* 境界線 */
  }

.qa__head:after {
    content: "";
    border-top: 2px solid #1b3477;
    border-left: 2px solid #1b3477;
    display: inline-block;
    width: 10px;
    height: 10px;
    transform: rotate(-135deg);
}

.qa__head.is-open::after {
    transform: rotate(45deg);
}


@media (max-width:420px) {
    .pc {
        display: none;
    }
    .total-td {
        width: 80px;
    }
    .head {
        font-size: 0.8em;
    }
    .font-tel {
        font-size: 0.6em;
    }
    .icon {
        width: 25px;
    }
    .score-font {
        font-size: 0.7em;
        vertical-align: bottom;
    }
    .tr-border {
        background-color: #d3e6ff;
        border: #a6beff6a;
        white-space: nowrap;
    }
    
    .tr-borders {
        background-color: rgb(255, 255, 255);
        color: rgb(70, 67, 67);
        border: #89a8fdb0;
        white-space: nowrap;
    }
    .res-title {
        color: #1b3477;
        font-size: 1em;
        font-weight: bold;
    }
}

@media (min-width:420px) {
    .smart {
        display: none;
    }
}
