.reference {
    padding: 64px 5%;
    background-color: var(--background-color-lightgrey);
}

.reference .mediaBox {
    background-color: var(--white);
    margin-top: 40px;
    padding: 60px;
}

.reference .mediaBox:first-of-type {
    margin-top: 0px;
}

.reference .mediaBox--line {
    width: 100%;
    height: 1.5px;
    background-color: var(--decoration-color-lightgrey);
    position: relative;;
}

.reference .mediaBox--line::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 120px;
    height: 1.5px;
    background-color: var(--decoration-color-dimgrey);
}

.reference .media {
    margin-top: 40px;
}

.reference .media--title {
    font-size: 2.4rem;
    line-height: 1.6;
}

.reference .media--textBox {
    margin-top: 32px;
}

@media screen and (max-width: 1024px) {
    /* 1024pxまでの幅の場合に適応される */

    .reference .mediaBox {
        padding: 32px;
    }

    .reference .mediaBox--line {
        height: 2px;
    }
    
    .reference .mediaBox--line::before {
        height: 2px;
    }

    .reference .media {
        flex-direction: column;
        row-gap: 24px;
        margin-top: 24px;
    }

    .reference .media--body {
        max-width: 100%;
    }

    .reference .media--textBox {
        margin-top: 16px;
    }
}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */

    .reference {
        padding-top: 40px;
    }

    .reference .media--title {
        font-size: 1.8rem;
    }

    .reference .media--text {
        font-size: 1.4rem;
        line-height: 1.6;
    }

}


.reference .grid-col2 {
    margin-top: 60px;
    gap: 32px;
}

.reference .grid-col2 .media {
    width: 100%;
    max-width: 588px;
    gap: 24px;
}

.reference .grid-col2 .media--body {
    width: 70%;
    padding-top: 8px;
}

.reference .grid-col2 .media--body.titleOnly {
    display: grid;
    align-self: center;
}

.reference .grid-col2 .media--title {
    font-size: 2.16rem;
    line-height: 1.2;
}

.reference .grid-col2 .media--linkBox {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
}

.reference .grid-col2 .media--linkBox .fullWidth {
    width: 100%;
}

.reference .grid-col2 .media--linkBox .halfWidth {
    width: 42%;
}

.reference .grid-col2 .media--link {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 2;
    padding-left: 20px;
    position: relative;
}

.reference .grid-col2 .media--link::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 9px;
    top: 50%;
    transform: translate(-150%, -50%);
    background-image: url(/img/rounded-triangle-right-black.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.reference .grid-col2 .media--imgBox {
    width: 30%;
    line-height: 0;
}

.reference .grid-col2 .media--img {
    width: 100%;
    max-width: 180px;
}

@media screen and (max-width: 1024px) {
    /* 1024pxまでの幅の場合に適応される */
    
    .reference .grid-col2 .media {
        flex-direction: row;
    }

    .reference .grid-col2 .media--linkBox {
        margin-top: 8px;
    }

    .reference .grid-col2 .media--linkBox .halfWidth {
        width: 100%;
    }

    .reference .grid-col2 .media--link {
        line-height: 1.4;
    }
}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */
    .reference {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .reference .grid-col2 {
        margin-top: 32px;
    }

    .reference .grid-col2 .media {
        margin-top: 16px;
        gap: 16px;
        align-items: center;
    }

    .reference .grid-col2 .media--body {
        padding-top: 0px;
    }
        
    .reference .grid-col2 .media--imgBox {
        
    }
    .reference .grid-col2 .media--title {
        font-size: 1.6rem;
    }
    
    .reference .grid-col2 .media--linkBox {
        margin-top: 8px;
        width: 100%;
    }
    
    .reference .grid-col2 .media--link {
        font-size: 1.2rem;
        line-height: 1.4;
    }

}
