.border_no {
    border: solid 0px !important;
}

/* =========================================
  PC（min-width: 751px）
========================================= */
@media all and (min-width: 751px) {

    #racer {
        width: 100%;
        height: 1287px;
        background: url(../images/racer_bg_pc.png) no-repeat center / 100%;
        position: relative;
        z-index: 0;
    }

    /* タイトルロゴ ------------------------ */
    .racer_tit_wrap {
        width: 1320px;
        height: 177px;
        display: flex;
        margin: 0 auto;
        justify-content: space-between;
        align-items: flex-end;
        position: relative;
        top: 170px;
    }

    .racer_tit {
        background: url(../images/racer_tit_pc.png) no-repeat center / cover;
        width: 570px;
        height: 177px;
        position: relative;
    }

    .racer_read {
        background: url(../images/racer_read_pc.png) no-repeat center / cover;
        width: 629px;
        height: 91px;
        position: relative;
        padding: 10px;
        top: -26px;
    }

    .racer_read p {
        font-size: 18px;
        font-weight: bold;
        margin: 16px 53px;
    }


    /* テーブル共通 */
    .tbl {
        border-collapse: collapse;
        width: 100%;
        table-layout: fixed;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, .06) inset;
        background: transparent;
    }

    .tbl td {
        border: 1px solid rgba(255, 255, 255, .14);
        padding: 5px 10px;
        height: 25px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 21px;
    }

    /* カラー */
    .gold {
        background: #caa93a;
        color: #000;
        font-weight: 900;
        text-align: center;
    }

    .gold-head {
        font-size: 22px;
        letter-spacing: .02em;
    }

    .crown {
        margin-right: 6px;
        font-size: 22px;
        vertical-align: baseline;
    }

    .gold-big {
        padding: 18px 10px;
        white-space: normal;
    }

    .gold-big-txt {
        display: block;
        margin-top: -10px;
        line-height: 1.2;
        font-size: 22px;
    }

    .gold-rank {
        font-size: 16px;
        letter-spacing: .02em;
    }

    .name {
        background: #06060c;
        color: #fff;
        font-weight: 800;
        text-align: center;
        letter-spacing: .05em;
    }

    .reg {
        background: #0b3f46;
        color: #fff;
        font-weight: 900;
        text-align: center;
        letter-spacing: .03em;
    }

    /* アイコン */
    .ic {
        display: inline-flex;
        width: 172px;
        height: 102px;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
    }

    .ic img {
        display: block;
        max-width: 70%;
        max-height: 70%;
        object-fit: contain;
    }

    /* 3列レイアウト（右列は単独 / 左+中央は高さ揃えグループ） */
    .wrap {
        max-width: 1698px;
        margin: 0 auto;
        display: flex;
        gap: 26px;
        justify-content: space-between;
        align-items: flex-start;
        position: relative;
        top: 170px;
    }

    .wrap p {
        color: #fff;
        font-size: 16px;
        margin-top: 11px;
    }

    /* 左＋中央だけ高さ揃え */
    .pc-col-2 {
        display: grid;
        grid-template-columns: repeat(2, 542px);
        gap: 42px;
        align-items: stretch;
    }

    .pc-col-2 .tbl {
        height: 100%;
    }

    /* PCの固定幅 */
    .tbl {
        width: 543px;
    }

    /* column widths（PCのみ固定） */
    .tbl td:nth-child(1) {
        width: 160px;
    }

    .tbl td:nth-child(2) {
        width: 140px;
    }

    .tbl td:nth-child(3) {
        width: 120px;
    }

    p.sp_non {
        color: #fff;
        position: absolute;
        right: 105px;
        bottom: 85px;
    }

    table.col3.tbl {
        line-height: 31.36px;
    }
}


/* =========================================
  SP（max-width: 750px）
  「SP統合テーブル風」見た目に寄せる
  ※HTMLはPC版(3テーブル)のまま
========================================= */
@media all and (max-width: 750px) {


    #racer {
       background: url(../images/racer_bg_sp.png) no-repeat top / 100%;
        position: relative;
        z-index: 0;
        height: 4054px;
    }

    /* タイトルロゴ ------------------------ */
    .racer_tit_wrap {
        width: 750px;
        display: flex;
        margin: 0 auto;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        top: 101px;
        position: relative;
    }

    .racer_tit {
        background: url(../images/racer_tit_sp.png) no-repeat center / cover;
        width: 612px;
        height: 220px;
        position: relative;
        left: 71px;
    }

    .racer_read {
        background: url(../images/racer_read_sp.png) no-repeat center / cover;
        width: 664px;
        height: 212px;
        position: relative;
        padding: 10px;
    }

    .racer_read p {
        font-size: 28px;
        font-weight: bold;
        margin: 16px 53px;
        text-align: center;
    }

    .wrap {
        width: 688px;
        padding: 24px 32px;
        position: relative;
        top: 80px;
    }

    .wrap p {
        color: #fff;
        font-size: 26px;
        margin-top: 11px;
    }

    .tbl {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, .06) inset;
        background: transparent;
    }

    .tbl td {
        border: 1px solid rgb(0 0 0);
        padding: 10px 8px;
        height: 36px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .gold {
        background: #caa93a;
        color: #000;
        font-weight: 900;
        text-align: center;
    }

    .gold-head {
        font-size: 28px;
    }

    .crown {
        margin-right: 6px;
        font-size: 28px;
    }

    .gold-big {
        padding: 14px 8px;
        white-space: normal;
    }

    .gold-big-txt {
        display: block;
        margin-top: 8px;
        line-height: 1.2;
        font-size: 28px;
    }

    .gold-rank {
        font-size: 28px;
        letter-spacing: .02em;
    }

    .name {
        background: #06060c;
        color: #fff;
        font-weight: 800;
        text-align: center;
        letter-spacing: .04em;
    }

    .reg {
        background: #0b3f46;
        color: #fff;
        font-weight: 900;
        text-align: center;
        letter-spacing: .02em;
    }

    /* column widths */
    .tbl td:nth-child(1) {
        width: 38%;
    }

    .tbl td:nth-child(2) {
        width: 34%;
    }

    .tbl td:nth-child(3) {
        width: 28%;
    }

    /* icon (image) */
    .ic {
        display: inline-flex;
        width: 104px;
        height: 104px;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
    }

    .ic img {
        display: block;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        transform: scale(1.8);
    }

    /* 0) 擬似要素を置くための基準 */
    .pc-col-2 {
        position: relative;
    }

    /* 1) G1だけ：セルの中身（アイコン＋文字）を消す（帯は残す）
     ※ :has() は Chrome 対応。alt="G1" をキーに G1 のみ対象にする */
    .pc-col-2>.tbl:nth-of-type(1) td.gold-big:has(img[alt="G1"]) .ic,
    .pc-col-2>.tbl:nth-of-type(1) td.gold-big:has(img[alt="G1"]) .gold-big-txt,
    .pc-col-2>.tbl:nth-of-type(2) tr:first-child td.gold-big:has(img[alt="G1"]) .ic,
    .pc-col-2>.tbl:nth-of-type(2) tr:first-child td.gold-big:has(img[alt="G1"]) .gold-big-txt {
        visibility: hidden;
    }

    /* 2) つなぎ目の仕切り（境界線）を消して“続き”に見せる */
    .pc-col-2>.tbl {
        margin: 0;
    }

    .pc-col-2>.tbl:nth-of-type(1) tr:last-child td {
        border-bottom: 0;
    }

    .pc-col-2>.tbl:nth-of-type(2) tr:first-child td {
        border-top: 0;
    }

    /* 線が残る時の保険：1pxだけ重ねる */
    .pc-col-2>.tbl:nth-of-type(2) {
        margin-top: -1px;
    }

    /* 3) G1アイコン＋見出しを“2テーブル全体の中央”に1個だけ表示 */
    .pc-col-2::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-84px);
        width: 38%;
        /* ←SPの1列目幅に合わせる */
        height: 104px;
        background: url(../images/racer_g1.svg) no-repeat center / 70%;
        pointer-events: none;
        z-index: 5;
    }

    .pc-col-2::after {
        content: "G1・G2競走\A優勝者";
        white-space: pre;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(20px);
        /* ←文字位置：微調整はここ */
        width: 38%;
        text-align: center;
        font-size: 28px;
        line-height: 1.2;
        font-weight: 900;
        color: #000;
        pointer-events: none;
        z-index: 5;
    }


}