@charset "utf-8";

/*--------------------------------------------------------------
  consulting
--------------------------------------------------------------*/
#consulting #main .main-content.greeting {
    display: flex;
}

#consulting #main .main-content .text-area .name {
    text-align-last: right;
}

#consulting #main .main-content .right img {
    margin: 0 107px;
}

#consulting #main .description {
    color: #ff5b71;
    font-size: 20px;
    margin-bottom: 20px;
}

#consulting #main .main-content h3 {
    margin-left: 20px;
}

#consulting #main .main-content h3:not(:first-child) {
    margin-top: 40px;
}

#consulting #main .main-content li {
    line-height: 30px;
    list-style: disc inside;
    margin-left: 40px;
}

#consulting #main .main-content.footprint .column-2 {
    justify-content: center;
}

#consulting #main .main-content.footprint .column-2:not(:first-child) {
    margin-top: 19px;
}

#consulting #main .main-content.footprint .column-2 .item-box::after {
    content: '';
    border-bottom: 2px dotted #c9c9c9;
    width: calc(100% - 19px);
    height: 2px;
    display: block;
}

#consulting #main .main-content.footprint .item-box {
    padding-left: 19px;
}

#consulting #main .main-content.footprint .item-box:nth-child(2n) {
    position: relative;
}

#consulting #main .main-content.footprint .column-2:last-child .item-box::after {
    border: none;
}

#consulting #main .main-content.footprint .item-box:nth-child(2n)::before {
    content: '';
    border-left: 2px dotted #c9c9c9;
    width: 2px;
    height: calc(100% - 19px);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

#consulting #main .main-content.footprint .item-box h3 + p {
    height: 120px;
    margin-bottom: 20px;
}

#consulting #main .main-content.footprint .item-box p {
    margin: 0 60px 0 40px;
    text-align: justify;
}

#consulting #main .main-content.footprint .item-box img {
    width: 100%;
    vertical-align: bottom;
    margin-bottom: 19px;
}

/*--------------------------------------------------------------
  responsive - sp
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    #consulting #main .main-content.greeting {
        padding:  20px;
        flex-wrap: wrap;
    }

    #consulting #main .main-content.greeting > * {
        width: 100%;
    }

    #consulting #main .main-content.greeting .left {
        padding: 0;
        order: 2;
    }

    #consulting #main .main-content.greeting .right {
        margin-bottom: 25px;
        order: 1;
    }

    #consulting #main .main-content.greeting .right img {
        width: 100%;
        margin: 0;
    }

    #consulting #main .main-content .right img {
        margin: 0 20px;
    }

    #consulting.sub-page #main .column-4 > * {
        width: 100%;
    }

    #consulting #main .main-content.footprint .item-box h3 + p {
        height: auto;
    }

    #consulting #main .main-content.footprint .item-box:nth-child(2n) {
        padding-left: 0;
    }

    #consulting #main .main-content.footprint .item-box:nth-child(2n)::before {
        border-left: none;
    }

    #consulting #main .main-content.footprint .item-box h3 + p {
        margin-right: 40px;
    }

    #consulting #main .main-content.footprint .column-2:last-child .item-box:not(:last-child)::after {
        border-bottom: 2px dotted #c9c9c9;
    }

    #consulting #main .main-content h3 {
        margin-top: 19px;
    }

    #consulting #main .main-content.footprint .column-2:not(:first-child) {
        margin-top: 0;
    }
}
