main .fv h2 {
    margin: 110px 0 70px;

    text-align: center;

    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-size: clamp(16px, 2.5vw, 48px);
}
@media print, screen and (max-width: 768px) {
    main .fv h2 {
        margin: 9.2vw 0 7.1vw;

        font-size: 4.1vw;
    }
}

/* ==============================
  業務内容
============================== */
main .details {
    margin: 47px auto 0;
}

main .details h3 {
    box-sizing: border-box;
    margin: 100px auto 110px;

    text-align: center;
}
main .details h3 span {
    display: inline-block;

    padding: 20px 50px;

    border: 1px solid #FFFFFF;

    font-family: "Noto Serif JP", serif;
    font-size: 1.3rem;
    font-size: clamp(13px, 2.5vw, 48px);
    line-height: 100%;
}


main .details .large-box {
    position: relative;

    width: 92.6%;
    margin: 0 0 250px auto;
}
main .details .order.large-box {
    margin: 0 auto 250px 0;
}

main .details .name-wrapper {
    margin-bottom: 40px;

    border-bottom: 1px solid #FFFFFF;
}
main .details .name-wrapper .name-box {
    display: flex;

    width: 53%;
}
main .details .order .name-wrapper .name-box {
    margin: 0 0 0 auto;
}
main .details .name-wrapper .number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 4.9%;
    min-width: 95px;

    text-align: center;
    letter-spacing: -0.02em;

    color: #1F2C5C;
    background-color: #FFFFFF;

    font-family: "Noto Serif JP", serif;
    font-size: 3.1rem;
    font-size: clamp(31px, 3.75vw, 72px);
    font-weight: bold;
}
main .details .name-wrapper h4 {
    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 13px;
    margin-left: 15px;

    letter-spacing: -0.02em;

    font-size: 2rem;
    font-size: clamp(20px, 2.5vw, 48px);
    line-height: 1.1;
}

main .details .text {
    width: 53%;

    font-family: "Noto Serif JP", serif;
    font-size: 1.5rem;
    font-size: clamp(15px, 1.8vw, 36px);
}
main .details .order .text {
    margin: 0 0 0 auto;
}

main .details .text ul {
    margin-left: 1.5em;
}
main .details .text ul li {
    list-style: disc;
}

main .details .image {
    position: absolute;
    top: 0;
    right: 0;

    width: 47.3%;
    max-width: 910px;
}
main .details .order .image {
    left: 0;
}

@media print, screen and (max-width: 768px) {
    main .details {
        display: block;

        width: 90.7vw;
        margin: 6.9vw auto 15vw;
    }

    main .details h3 {
        display: none;
    }


    main .details .large-box,
    main .details .order.large-box {
        width: 100%;
        margin: 0 auto 23vw;
    }


    main .details .name-wrapper {
        margin-bottom: 4.3vw;
    }

    main .details .name-wrapper .name-box,
    main .details .order .name-wrapper .name-box {
        width: 100%;
    }

    main .details .name-wrapper .number {
        width: 10.7vw;
        min-width: 10.7vw;

        font-size: 7.9vw;
    }
    main .details .name-wrapper h4 {
        margin-bottom: 1.2vw;
        margin-left: 3vw;

        font-size: 5.1vw;
    }

    main .details .order .name-wrapper {
        margin-top: 4.3vw;
    }

    main .details .text,
    main .details .order .text {
        width: 100%;
        margin: 0 0 5.6vw;

        font-size: 3.8vw;
    }
    main .details .image {
        position: relative;

        width: 100%;
    }
}

/* 各ボックスごとの設定 */
main .details .box02 .name-wrapper  h4 {
    letter-spacing: -0.05em;
}
main .details .box02 .image {
    width: 45%;
}
main .details .box02 .text .attention {
    margin-top: 15px;

    font-size: 1.0rem;
    font-size: clamp(10px, 1.25vw, 24px);
}

main .details .box03 .image {
    width: 36%;
    max-width: 654px;
    margin-right: 5.8%;
}

main .details .box04 .image {
    width: 39.8%;
    max-width: 712px;
}

main .details .box05 .image {
    width: 55.1%;
    max-width: 986px;
}

main .details .box06 .text .attention {
    font-size: 1.2rem;
    font-size: clamp(12px, 1.25vw, 24px);
}
main .details .box06 .image {
    width: 45.9%;
    max-width: 768px;
}

main .details .box07 .name-box {
    width: 100%;
}
main .details .box07 .text {
    width: 38%;
}
main .details .box07 .image {
    top: 117px;

    width: 60.7%;
    max-width: 1086px;
}


@media print, screen and (max-width: 768px) {
    main .details .box02 .name-wrapper  h4 {
        letter-spacing: -0.02em;
    }
    main .details .box02 .image {
        width: 100%;
    }
    main .details .box02 .text .attention {
        margin-top: 3.8vw;

        font-size: 2.5vw;
    }

    main .details .box03 .image {
        width: 100%;
        margin-right: 0;
    }

    main .details .box04 .image {
        width: 100%;
    }

    main .details .box05 .image {
        width: 100%;
    }

    main .details .box06 .text .attention {
        font-size: 3vw;
    }
    main .details .box06 .image {
        width: 100%;
    }

    main .details .box07 .text {
        width: 100%;
    }
    main .details .box07 .image {
        top: 0;

        width: 100%;
    }
}
