body {
    line-height: 1.5;
}

a.icon {
    color: #1846de;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
}

.nav-login {
    background: #ac5ddd;
}

.header {
    background-image: none;

    .kv {
        background-image: linear-gradient(to bottom, #00ffb4, #0065e2);
        border: solid 1px #707070;
    }

    .term {
        background: #fff;

        ul {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            max-width: 960px;
            margin: auto;
        }

        li {
            margin-right: 20px;
            background-color: #f41763;
            color: #fff;
            font-weight: normal;
            padding: 5px 24px;
        }
    }

    .sub-nav {
        padding: 12px 0;
        background: #fff;

        .inner {
            display: flex;
            justify-content: center;

            div {
                display: flex;
                flex-direction: row;
                align-items: center;
            }

            div:nth-child(2) a:last-child {
                margin-right: 0;
                border-right: 0;
            }
        }

        a {
            color: #1846de;
            border-right-color: #000000;
            border-right-width: 2px;
            padding-right: 15px;
        }

        a:hover {
            color: #0089ff;
            text-decoration: none;
        }

        a:last-of-type {
            margin-right: 10px;
            border-right: 2px solid #000000;
        }

        .sns {
            left: inherit;
            text-align: inherit;
            width: auto;
            top: inherit;
            position: absolute;
            margin: auto 0;

            .line {
                margin-right: inherit;
            }

            a {
                border-right: none;
                padding-right: 0;
                margin-right: 8px;
            }
        }
    }

    .bet-count {
        background: #d1f4de;
        color: #000000;

        .total,
        .condition {
            border-left: 11px solid #f41763;

            b,
            b {
                color: #ff0000;
            }
        }
    }

    .about-bet a {
        color: #1e44c5;
    }
}


.bet-gauge {
    position: relative;
    width: 900px;
    padding: 12px 20px;
    clear: both;
    border-radius: 10px;
    background: #ffffff;
}

.bet-gauge__scale {
    display: block;
    width: 100%;
    margin: 0 auto;
}

.bet-gauge__bar-wrap {
    position: absolute;
    top: 36px;
    left: 61px;
    width: 800px;
    height: 26px;
    overflow: hidden;
    border-radius: 5px;
}

.bet-gauge__bar {
    max-width: 100%;
    height: 100%;
    transform-origin: left;
    transition: all 2s;
    background-image: linear-gradient(to right, #feb2d4, #ff439b);
    background-repeat: no-repeat;
    background-size: 800px;
    text-align: right;
}

.tab.selected {
    background: #f41763;
}

.tab.selected::after {
    border-top-color: #f41763;
}

.section {
    margin-top: 60px;

    h2 {
        height: 40px;
        margin-bottom: 20px;
        padding: 0;
        background: #128da3;
        color: #fff;
        font-size: 22px;
        font-family: sans-serif;
        line-height: 40px;
        text-align: center;
    }
}

.login {
    label {
        display: inline-block;
        vertical-align: top;
        width: 154px;
        height: 60px;
        padding: 15px 0;
        border: solid 1px #d5d5d5;
        background-color: #ffc343;
        line-height: 1.88;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        color: #000000;
    }

    .input {
        width: 604px;
        display: flex;
    }

    input[type=email] {
        width: 450px;
        height: 60px;
        border: solid 1px #d5d5d5;
        background-color: #f5f5f5;
    }

    input[type=password] {
        width: 450px;
        height: 60px;
        border: solid 1px #d5d5d5;
        background-color: #f5f5f5;
    }

    .reminder {
        width: 604px;
        line-height: 1;
    }
}

.entries {
    h2 {
        background: #f41763;
    }

    .entry .info {
        .title {
            padding-top: 4px;
            font-size: 22px;
        }

        .author {
            font-size: 16px;
        }
    }
}

.dialog form ul {
    color: #707070;
}

/*ボーナスタイムとは*/
.GoToExplanation.bonus {
    position: unset;
    display: block;
    text-align: right;
}

.bonustime span {
    font-size: 32px;
}

.next-bonustime {
    border: 6px solid #ff8106;

    p {
        color: #000000;
        font-size: 24px;
        font-weight: bold;
    }

    b {
        font-size: 30px;
        line-height: 40px;
    }
}

.totalling {
    p {
        border: 6px solid #ff8106;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.5;
        text-align: center;
        margin: 0 10px 100px;
        padding: 20px;
    }

    span {
        font-size: 30px;
    }
}

.section h3 {
    font-size: 22px;
    border-left: 8px solid;
    line-height: 1;
    padding: 9px 8px;
}

.section.abstract {
    position: relative;
    margin-bottom: 164px;
}

.abstract p {
    font-size: 16px;
    padding-top: 16px;
}

.abstract .subtitle {
    font-weight: bold;
    font-size: 18px;
    color: #f41763;
    padding-top: 0;
}

.abstract .explain {
    max-width: 570px;
}

.abstract .indent {
    max-width: 450px;
    text-indent: -1em;
    padding-left: 1em;
}

.abstract img {
    position: absolute;
    top: 57px;
    right: 0;
    width: 441px;
    height: 272px;
}

.rule {
    .title {
        font-size: 26px;
        padding: 12px 16px;
        line-height: 1;
        font-weight: bold;
        color: #fff;

        span {
            font-size: 22px;
            font-weight: normal;
            padding-left: 24px;
        }
    }


    .author {
        border: solid 1px #5ab770;

        .title {
            background-color: #5ab770;
        }

        h3 {
            border-left-color: #5ab770;
            color: #5ab770;
            margin: 16px auto;
        }

        .score-present img {
            display: block;
            margin: 0 auto 54px;
            width: 840px;
            height: 276px;
        }

        .entry h3 span {
            padding: 6px 8px;
            border: solid 2px #5ab770;
            border-radius: 50px;
            font-size: 15px;
            margin-right: 8px;
            vertical-align: middle;
        }
    }


    .entry {
        position: relative;

        .text {
            font-size: 20px;
            font-weight: bold;

            span {
                color: #ff0000;
                display: inline-block;
            }
        }

        .notes {
            font-size: 14px;
            padding: 10px 5px
        }

        .rank-up-system {
            padding: 0 16px;
        }

        .past-derby-button {
            width: 415px;
            height: 40px;
            margin-bottom: 10PX;
            border: solid 3px rgba(255, 255, 255, 0.51);
            background-image: linear-gradient(to bottom, #ffaf60, #ff7f00);
            line-height: 40px;

            a {
                font-size: 16px;
                font-family: sans-serif;
                display: block;
                text-align: center;
                line-height: 1;
            }
        }

        .rank-up-system {
            .rank-up-img {
                top: -60px;
                right: 4px;
                position: absolute;

                img {
                    width: 420px;
                    margin-right: 8px;
                }

                p {
                    font-size: 14px;
                    text-align: right;
                    margin-right: 25px;
                }
            }
        }
    }

    .author {
        .read-chance-img {
            padding-left: 46px;
            margin-bottom: 16px;

            p {
                font-size: 14px;
                margin-left: 722px;
                margin-top: -23px;
            }
        }
    }

    .reader {
        border: solid 1px #f058a4;

        .title {
            background-color: #f058a4;
        }

        .content {
            text-align: center;
        }

        .subtitle {
            display: flex;
            justify-content: center;
            margin-top: 16px;
            margin-bottom: 8px;

            p {
                font-size: 22px;
                font-weight: bold;
                margin-top: 7px;
                padding-left: 8px;
            }

        }

        .max-score {
            width: 144px;
        }

        .content .score-bet img {
            width: 840px;
        }

        .text {
            font-size: 20px;
            font-weight: bold;
            margin-top: 20px;
            margin-bottom: 24px;
        }
    }
}

.entry-conditions {
    h3 {
        color: #f41763;
        margin: 24px auto;
        border-left-color: #128da3;
    }

    .text {
        margin-left: 30px;
    }

    .list {
        font-size: 16px;
        font-weight: bold;
        line-height: 2;

        span {
            padding: 5px 12px;
            border-radius: 50px;
            border: solid 1px #000;
        }
    }

    .explain {
        list-style: none;
        font-size: 16px;
        margin-bottom: 12px;
    }

    div.explain {
        padding-left: 1em;
    }

    .button-group {
        .manga-button {
            width: 840px;
            padding: 14px;
            border: solid 3px rgba(255, 255, 255, 0.51);
            background-image: linear-gradient(to bottom, #ffaf60, #ff7f00);
            box-shadow: none;
            font-size: 26px;
            margin-top: 8px;
        }

        .manga-button::before {
            width: 32px;
            height: 32px;
            background-image: url('../../../img/manga_derby/icon_comic.png');
        }
    }
}

.schedule .inner,
.notice .inner {
    padding: 0 60px;
}

.schedule {
    .image img {
        width: 840px;
        height: 433px;
        margin-left: 0;
        margin-bottom: 16px;
    }

    .heading {
        font-size: 16px;
        font-weight: bold;
        padding-bottom: 5px;
    }

    .text p {
        font-size: 14px;
        line-height: 1.57;
        padding-bottom: 22px;
    }

    .text p span {
        font-weight: bold;
    }

    .asterisk p:first-child {
        padding-bottom: 0;
    }
}

.section.notice {
    margin-top: 38px;
}

.notice {
    .inner div {
        margin-bottom: 30px;
    }

    h3 {
        font-size: 16px;
        text-align: center;
        color: #f41763;
        background-color: #f2f2f2;
        border-left: none;
        line-height: 30px;
        padding: 0;
        margin-bottom: 16px;
    }

    p,
    ul {
        font-size: 14px;
        line-height: 1.57;
    }

    .icon-link {
        padding-top: 12px;
    }

    .icon::before {
        margin-right: 2px;
    }

    .icon.arrow::before {
        content: url("../../../img/manga_derby/arrow-gray.png");
        vertical-align: middle;
    }
}

.incentive {
    text-align: center;
    margin-bottom: 60px;
}

/*ランキング一覧*/

.entries {
    margin-top: 45px;

    .rank span {
        height: 156px;
    }

    .rank span img {
        margin-top: 20px;
    }

    .rank span img:first-child {
        margin-top: 30px;
    }

    .entry {
        display: block;
        overflow: hidden;

        .rank {
            width: 70px;
            height: 156px;
            margin-right: 12px;
            float: left;
        }

        .cover {
            width: 110px;
            height: 156px;
            float: left;

            .icon-vertical-manga-large {
                display: inline-block;
            }

            .icon-vertical-manga-large:before {
                content: url("../../../img/component/icon/vertical-manga-large.png");
                position: absolute;
                height: 34px;
                z-index: 1;
                right: 0;
                bottom: 0;
            }
        }

        .info {
            width: auto;
            display: flex;

            .content-info {
                width: 500px;
            }

            .label {
                display: flex;
                column-gap: 8px;
            }

            .r15 span {
                background-color: #0076ff;
                border-radius: 10px;
            }

            .r18 span {
                background-color: #ff0000;
                border-radius: 10px;
            }
        }

        .bet {
            padding-top: 20px;

            .total-bet {
                line-height: 1;
            }

            .total-bet b {
                color: #ff489d;
            }
        }

        .buttons {
            display: flex;
            justify-content: flex-end;
        }

        .read-button {
            margin-right: auto;
            padding-top: 18px;
        }

        .bet-button {
            padding-top: 15px;
        }
    }
}

.entry {
    line-height: 1.5;
}

#forExplanation {
    margin-top: -40px;
    padding-top: 40px;
}
