@charset "utf-8";

.guide_box h3 {
    margin: 0;
    text-align: center;
}

/* .guide_box h3.guide_title1 {
    margin-bottom: min(2.5vw, 70px);
} */

.guide_box h3.guide_title2 {
    margin-bottom: min(6vw, 45px);
}

.guide_box h3.guide_title3 {
    margin-top: min(7vw, 70px);
    margin-bottom: min(2vw, 20px);
}

.guide_box p.guide_text {
    font-size: min(4vw, 18px);
    font-weight: 500;
    max-width: 1200px;
    margin: 20px auto auto;
    text-align: justify;
    line-height: 1.8;
    letter-spacing: 0.5px;
    color: #fff;
}

.guide_text_wrap {
    max-width: 980px;
    margin: auto;
    display: flex;
    gap: 20px;
    align-items: baseline;
}

.guide_box p.guide_text_large {
    font-size: min(3.5vw, 23px);
}

.guide_box ul {
    position: relative;
    padding: 0;
    list-style: none;
    width: 700px;
    margin: 0 auto;
    margin-top: min(4vw, 25px);
    margin-bottom: min(4vw, 50px);
    padding: min(4.5vw, 60px);
    border-style: solid;
    border-width: 24px 24px 24px 24px;
}

.guide_box ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.guide_box ul li+li {
    margin-top: min(6vw, 45px);
}

.guide_box ul .guide_rank {
    font-size: min(5.5vw, 39px);
    font-weight: 700;
    background: #3d508d;
    color: #fff;
    padding: 0 min(2.5vw, 20px);
}

.guide_box ul .guide_racer_name {
    font-size: min(5vw, 31px);
    color: #3d508d;
    font-weight: bold;
    margin-left: min(4vw, 30px);
    margin-right: auto;
}

.guide_box ul .guide_vote {
    font-size: min(4.5vw, 26px);
    color: #3d508d;
    font-weight: bold;
}

.guide_box ul.ladies {
    padding-right: 20px;
}

.guide_box ul.ladies .guide_rank {
    background: #e077e1;
}

.guide_box ul.ladies .guide_racer_name,
.guide_box ul.ladies .guide_vote {
    color: #e077e1;
}

.br_767 {
    display: none;
}

.guide_table {
    width: 1200px;
    max-width: 100%;
    margin: auto;
    margin-top: min(2vw, 20px);
    margin-bottom: min(3vw, 30px);
    border-collapse: collapse;
}

.guide_table tr {
    background-color: #fff;
}

.guide_table td {
    padding: min(2vw, 22px) min(1vw, 20px);
    font-size: min(2vw, 22px);
    font-weight: bold;
    font-weight: 900;
    border: 2px solid #000;
}

.guide_table td .guide_grid_number {
    background: #e40d7c;
    color: #fff;
    width: min(7vw, 70px);
    height: min(3vw, 37px);
    display: inline-block;
    margin-right: min(1vw, 10px);
    text-align: center;
}

.top_rookie_text {
    text-align: center;
    margin: 0;
    margin-top: min(3vw, 15px);
    font-size: min(2vw, 16px);
    font-weight: 500;
    margin-bottom: min(7vw, 60px);
}

.guide_table_sp {
    display: none;
}

.guide_text_blue {
    font-size: min(4.6vw, 23px);
    color: #000;
    font-weight: bold;
}

.guide_table2 {
    width: 1200px;
    margin: min(5vw, 50px) auto;
    border-collapse: collapse;
    text-align: center;
    background: #fff;
    color: #000;
    font-size: min(4vw, 23px);
    font-weight: bold;
}

.guide_table2 th,
.guide_table2 td {
    padding: min(3vw, 28px) 0;
    width: 130px;
    border: 2px solid #000;
    font-weight: 900;
}

.d-flex {
    display: flex;
    justify-content: space-between;
    gap: 50px;
}

.d-flex table {
    width: auto;
    margin-top: auto;
}

.d-flex .guide_table td {
    padding: min(2vw, 27px) min(1.2vw, 15px);
    text-align: center;
    border: 2px solid #000;
}

.table2_1_course {
    background: #ffffff;
}

.table2_2_course {
    background: #e7e7e7;
}

.table2_3_course {
    background: #d20012;
    color: #fff;
}

.table2_4_course {
    background: #4263ff;
    color: #fff;
}

.table2_5_course {
    background: #f8ff5b;
}

.table2_6_course {
    background: #b6ff5b;
}

.guide_table3_box {
    margin-top: min(10vw, 70px);
}

.guide_table3 {
    width: 901px;
    margin: auto;
    border-collapse: collapse;
    text-align: center;
    background: #fff;
    color: #3d508d;
    font-size: min(4vw, 19px);
    font-weight: bold;
}

.guide_table3 th,
.guide_table3 td {
    padding: min(3vw, 14px) 0;
    border: 1px solid #3d508d;
}

.guide_table3 tr:nth-child(odd) {
    background-color: #e0e3ed;
}

.guide_table3 tr:nth-child(even) {
    background-color: #fff;
}

.guide_table3 .th_200_w {
    width: 200px;
}

.guide_table3 .th_225_w {
    width: 225px;
}

.guide_table3 .th_120_w {
    width: 120px;
}

table tr td:first-child {
    background: #ceda00;
}

.flex_center {
    display: flex;
    gap: min(6vw, 60px);
    /* gap: min(3vw, 30px); */
    justify-content: center;
}

.flex_table tr td:nth-child(2) {
    width: 55%;
}


.flex_center td:nth-child(2) .guide_grid_racerinfo {
    display: block;
    width: min(18vw, 180px);
    margin: auto;

}

.flex_center.guide_table,
.flex_center .guide_table {
    margin: 0 auto;
}

.flex_center .guide_table {
    margin-bottom: min(3vw, 30px);
}

.flex_table:nth-child(2) td:nth-child(2) .guide_grid_racerinfo {
    width: 130px;
}

.guide_box p.guide_text.mt-2 {
    margin-top: min(2vw, 20px);
}

.space-around {
    justify-content: space-around;
}

.guide_box p.guide_text.mb-1 {
    margin-bottom: 10px;
}

.my-3 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.mt-3 {
    margin-top: 30px;
}

.mb-3 {
    margin-bottom: 30px;
}

.graph.flex_center {
    align-items: start;
}

.graph td:first-child {
    text-align: center;
    height: 80px;
}

.graph table {
    width: 100%;
}

.flex_center.graph.graph2 td:nth-child(2) .guide_grid_racerinfo {
    width: 170px;
}

.winner_list .guide_grid_racerinfo {
    width: 330px !important;
}

.winner_list2 .guide_grid_racerinfo {
    width: 260px !important;
}


.mt-7 {
    margin-top: min(7vw, 70px);
}

.contents-offset {
    margin-top: min(10vw, 100px);
}

.flex-1 {
    flex: 1;
}

.guide_box.guide_box3 {
    margin-top: min(7vw, 70px);
}

.marugame_data {
    background: #ceda00;
    color: #000;
}

.flex_center.mt-3 .guide_table td {
    padding: min(1vw, 5px) min(1.2vw, 20px);
}

h2.second_title {
    font-size: min(3.5vw, 31px);
}

.d-none {
    display: none;
}


.sp_only {
    display: none;
}

.flex-start {
    justify-content: flex-start;
    gap: 0;
}

.ranking_name {
    padding-left: min(3vw, 40px);
}

.ranking_name2 {
    padding-left: min(1.8vw, 18px);
}

.spacer-1 {
    margin-top: 90px;
}

.text_pc_center td:first-of-type {
    text-align: center;
}

.sp_only2 {
    display: none;
}

.next_sentence {
    margin-top: min(2vw, 20px);
}

@media(min-width: 1200px) {
    .d-pc-none {
        display: none;
    }

    .d-pc-flex {
        display: flex;
    }

    .d-pc-inline {
        display: inline;
    }

    .winner_list.winner_list_top .guide_grid_racerinfo {
        width: 235px !important;
    }
}


@media (max-width: 1199px) {

    .guide_text_wrap img {
        max-width: 25vw;
    }

    .guide_text_wrap {
        align-items: center;
    }

    .spacer-1 {
        margin-top: 3vw;
    }

    .flex-1 {
        width: 50%;
    }

    .flex_table tr td:nth-child(2) {
        width: 50%;
    }

    .d-sp-block {
        display: block;
    }

    .d-sp-none {
        display: none;
    }

    .guide_br {
        display: block;
        transform: translateX(-15px);
    }

    .sp_only {
        display: inline;
    }

    h2.second_title {
        max-width: 650px;
        height: min(11vw, 110px);
        padding-left: 0;
    }

    .guide_box {
        width: calc(100% - 13%);
        margin: auto;
    }

    .guide_box p.guide_text {
        width: auto;
    }

    .guide_box ul {
        width: 100%;
    }

    .guide_table {
        width: 100%;
    }

    .guide_table2 {
        width: 100%;
    }

    .guide_table3 {
        width: 100%;
    }

    .graph .flex_table:nth-child(2) td:nth-child(2) .guide_grid_racerinfo,
    .winner_list .guide_grid_racerinfo,
    .winner_list2 .guide_grid_racerinfo,
    .flex_center.graph.graph2 td:nth-child(2) .guide_grid_racerinfo {
        width: auto !important;
    }

    .flex_table.winner_list2 tr td:nth-child(2) {
        width: 65%;
    }

    .d-flex.contents-offset {
        display: block;
    }

    .d-flex.contents-offset .flex-1,
    .d-flex.contents-offset .flex-1 table {
        width: 100%;
        margin-top: 20px;
    }
}



@media (max-width: 767px) {

    .text_pc_center td:first-of-type {
        text-align: left;
    }

    .flex_table.winner_list2 tr td:nth-child(2) {
        width: 50%;
    }

    .sp_only2 {
        display: inline;
    }

    .guide_box p.guide_text.mb-1 {
        font-size: 11px;
    }

    .ranking_name,
    .ranking_name2 {
        display: block;
        padding-left: 0;
    }

    .flex_table:nth-child(2) td:nth-child(2) .guide_grid_racerinfo,
    .winner_list .guide_grid_racerinfo {
        width: auto !important;
    }

    .guide_box ul {
        padding: min(4.5vw, 60px) 5px;
        padding-left: 0;
    }

    .guide_box ul.ladies {
        padding-right: 0;
    }

    .decoration {
        position: absolute;
        right: -15px;
        top: -15px;
    }

    .guide_box ul.ladies .guide_vote {
        text-align: center;
    }

    .br_767 {
        display: block;
    }

    .guide_table_pc {
        display: none;
    }

    .guide_table_sp {
        display: table;
    }

    .guide_table td {
        font-size: min(3vw, 19px);
    }

    .guide_table td .guide_grid_number {
        width: min(10.5vw, 58px);
        height: min(4.5vw, 28px);
        flex-shrink: 0;
    }

    .top_rookie_text {
        font-size: min(3.5vw, 18px);
    }

    .guide_table2,
    .guide_table3 {
        width: 700px;
        font-size: 16px;
    }
}