.layout {
    max-width: 440px;
    width: 100%;
    padding: 0 30px;
    margin: 0 auto;
}

.sub-fv {
    position: relative;
}

.sub-fv::before {
    content: "";
    display: inline-block;
    background-image: url(../images/ring.svg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 67px;
    height: 60px;
    position: absolute;
    bottom: -30px;
    right: 6%;
    animation: 18s linear infinite rotation;
}

@keyframes rotation {
    0% {
        transform: rotateZ(0);
    }

    100% {
        transform: rotateZ(360deg);
    }
}

.sub-fv--text {
    width: 140px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.sub__message {
    max-width: 440px;
    width: 100%;
    padding: 0 30px;
    margin: 20px auto;
}

.sub__message img {
    width: 250px;
}

@media screen and (min-width: 680px) {

    .layout {
        max-width: 800px;
    }

    .sub-fv {
        padding-top: 60px;
    }

    .sub-fv--text {
        width: 222px;
    }

    .sub-fv--text img {
        padding-top: 60px;
    }

    .sub-fv--img img {
        height: calc(100vh - 60px);
    }

    .sub__message {
        max-width: 600px;
        margin: 20px auto;
    }

    .sub__message img {
        width: 291px;
    }
}

@media screen and (min-width: 1000px) {

    .layout {
        max-width: 800px;
    }

    .sub-fv--text {
        width: 278px;
    }

    .sub-fv::before {
        width: 100px;
        height: 90px;
        bottom: -45px;
        right: 6%;
    }

    .sub__message {
        max-width: 1340px;
        padding: 0 30px;
        margin: 50px auto 30px;
    }

    .sub__message img {
        width: 372px;
    }
}

/*************************
   end
*************************/

.company-info {
    line-height: 1.3;
    padding-bottom: 30px;
    color: #004FA2;
}

.company-info__text {
    margin-top: 1rem;
    font-size: 13px;
    line-height: 1.5;
}

.company-info__date {
    background: #EFEFEF;
}

.company-info__date-wrap {
    padding: 30px 0;
    margin-top: 30px;
}

.company-info__title {
    text-align: center;
    position: relative;
}

.company-info__title img {
    width: 120px;
}

.company-info__title::before,
.company-info__title::after {
    content: "";
    display: inline-block;
    background-image: url(../images/border.svg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    width: 27%;
    height: 7px;
    top: 50%;
    transform: translateY(-50%);
}

.company-info__title::before {
    right: 0;
}

.company-info__title::after {
    left: 0;
}

.company-info__date-list {
    width: 96%;
    margin: 10px auto 0;
}

.company-info__date-item {
    display: flex;
    align-items: center;
    font-size: 13px;
    padding: 2px 0;
    margin-bottom: 5px;
    border-bottom: solid 1px #004FA2;
}

.company-info__date-item:nth-of-type(10) {
    margin-top: 1rem;
}

.date-item--label {
    width: 35%;
    padding-left: 10px;
}

.date-item--text {
    width: 65%;
    position: relative;
}

.date-item--text img {
    width: 18px;
    position: relative;
    top: -2px;
    left: 4px;
}

.date-item--text span {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -17px;
    font-size: 8px;
    line-height: 1;
}

.company-info__client {
    width: 100%;
    margin: 1rem auto 0;
    font-size: 11px;
    border-bottom: solid 1px #004FA2;
}

.company-info__client--label {
    text-align: center;
}

.company-info__client--label span {
    color: #C7D4ED;
}

.company-info__client--name {
    padding-left: 10px;
}

.img-nintei {
    width: 90%;
    max-width: 300px;
    margin: 0 auto 20px;
    border: #eee solid 1px;
}

.text-nintei {
    text-align: center;
    margin-bottom: 40px;
    color: #004FA2;
}

@media screen and (min-width: 680px) {
    .company-info {
        line-height: 1.3;
        padding-bottom: 30px;
    }

    .company-info__text__wrap.layout {
        max-width: 600px;
    }

    .company-info__text {
        font-size: 14px;
    }

    .company-info__date-wrap {
        padding-top: 30px;
        padding-bottom: 30px;
        margin-top: 30px;
    }

    .company-info__date-wrap.layout {
        max-width: 600px;
    }

    .company-info__title img {
        width: 151px;
    }

    .company-info__title::before,
    .company-info__title::after {
        width: 35%;
        height: 14px;
    }

    .company-info__date-list {
        margin: 10px auto 0;
    }

    .company-info__date-item {
        font-size: 14px;
        padding: 2px 0;
        margin-bottom: 5px;
    }

    .company-info__date-item:nth-of-type(9) {
        margin-top: 0;
    }

    .date-item--label {
        width: 35%;
        padding-left: 30px;
    }

    .date-item--text {
        width: 65%;
    }

    .date-item--text span {
        bottom: -17px;
        font-size: 9px;
    }

    .company-info__client {
        font-size: 14px;
    }

    .company-info__client--name {
        padding-left: 30px;
    }
}

@media screen and (min-width: 1000px) {
    .company-info {
        padding-bottom: 80px;
    }

    .company-info__text__wrap.layout {
        max-width: 1340px;
        padding: 0 30px;
    }

    .company-info__text {
        font-size: 18px;
    }

    .company-info__date-wrap {
        padding-top: 80px;
        padding-bottom: 80px;
        margin-top: 80px;
    }

    .company-info__date-wrap.layout {
        max-width: 1340px;
        padding: 50px 30px;
    }

    .company-info__title img {
        width: 223px;
    }

    .company-info__title::before,
    .company-info__title::after {
        width: 33%;
        height: 24px;
    }

    .company-info__date-list {
        margin: 30px auto 0;
    }

    .company-info__date-item {
        font-size: 18px;
        padding: 4px 0;
        margin-bottom: 10px;
    }

    .company-info__date-item:nth-of-type(10) {
        margin-top: 1.4rem;
    }

    .date-item--label {
        width: 25%;
        padding-left: 5%;
    }

    .date-item--text {
        width: 70%;
    }

    .date-item--text span {
        bottom: -20px;
        font-size: 13px;
    }

    .company-info__client--label {
        font-size: 17px;
    }

    .company-info__client {
        font-size: 15px;
    }
    .company-info__client--name {
        padding-left: 5%;
    }
    
}

    .company-info__date-item:last-child {
        padding-top: 14px;
    }
