
section ul {
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto;
}

section ul.yonretsu li {
    width: calc(100% / 4 - 40px);
    margin: 20px 20px 40px;
}

section ul.sanretsu li {
    width: calc(100% / 3 - 40px);
    margin: 20px 20px 40px;
}

section ul.niretsu li {
    width: calc(100% / 2 - 40px);
    margin: 20px 20px 40px;
}

section#gallery ul {
    text-align: center;
    align-items: baseline;
}

section#gallery ul img {
    width: auto;
    max-height: 100%;
    max-width: 100%;
}

section#gallery ul li h4 {
    border-bottom: 1px solid #C18F3A;
    font-size: 22px;
    font-weight: normal;
    margin: 0px;
}

section#gallery ul li p {
    font-size: 16px;
    line-height: 1.5em;
    margin: 10px 0;
    padding: 0px;
}

@media all and (min-width: 0px) and (max-width: 767px) {
    section ul {
        margin: 20px auto;
    }

    section ul.yonretsu li,
    section ul.sanretsu li,
    section ul.niretsu li {
        width: 44%;
        margin: 2vw 3% 4vw;
    }

    section#gallery ul img {
        width: 100%;
    }

    section#gallery ul li h4 {
        font-size: 4vw;
        line-height: 1.5em;
    }

    section#gallery ul li p {
        font-size: 2.5vw;
        margin: 1vw 0;
    }
}

.niretsu li h3 {
    text-align: center;
    font-size: 22px;
}

.niretsu li h3 span {
    font-size: 14px;
    margin-left: 10px;
}

.niretsu li h4 {
    font-size: 16px;
    font-weight: normal;
    text-align: center;
    margin: 0 0 10px;
    line-height: 1.8;
}

.niretsu li p {
    font-size: 18px;
    line-height: 1.4;
}

.niretsu li div {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
}

.niretsu li div.results a {
    width: 32%;
    padding: 1px 5px 2px;
    margin: 10px 2% 10px 0;
    text-align: center;
    display: block;
    background: #f39800;
    border-radius: 3px;
    color: #fff;
    line-height: 1.5;
    box-sizing: border-box;
}

.niretsu li .results a:nth-child(3) {
    margin-right: 0;
}

.niretsu li div a.keibajo {
    padding-top: 3%;
}

.niretsu li a.yusyou {
    text-align: center;
    display: block;
    padding: 2px 5px;
    margin: 10px 0 0;
    background: linear-gradient(45deg, #DAAF08 0%, #FEE9A0 10%, #DAAF08 30%, #B67B03 75%, #B67B03 100%);
    border-radius: 3px;
    color: white;
    font-size: 24px;
}

@media all and (max-width: 767px) {
    .niretsu li a.yusyou {
        padding: 2px 0;
    }
}

.niretsu li a.yusyou:before {
    content: "昨年優勝馬";
    margin-right: 5px;
    font-size: 0.7em;
}

.niretsu li a.rekidai {
    text-align: center;
    display: block;
    padding: 3px 5px;
    font-size: 20px;
    border-radius: 3px;
    background: #f39800;
    color: #FFFFFF;
}

@media all and (min-width: 0px) and (max-width: 767px) {
    section ul.niretsu li {
        width: 100%;
        margin: 2vw 0 4vw;
    }

    .niretsu li div a {
        font-size: 14px;
    }

    .niretsu li a.yusyou {
        font-size: 5vw;
        /*padding: 5px 0px;*/
    }

    .niretsu li a.rekidai {
        font-size: 16px;
    }


}


