/* 下層ページ共通 */
.cmn-top {
    margin-bottom: 134.2px;
}

.cmn-top .inner {
    background: url('../image/flow-top-bg.jpg') no-repeat;
    background-size: cover;
    margin-left: 16px;
    margin-right: 16px;
    padding: 90px 0;
}

.cmn-top .inner .title-wrap-en {
    width: 110px;
    display: inline-block;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 500;
    padding-bottom: 4px;
    border-bottom: 2px solid #B7C3DB;
}

.cmn-top .inner .title-wrap-ja {
    width: 17.978%;
    margin: 56px auto 0;
}

@media screen and (max-width: 767px) {

    .cmn-top {
        margin-bottom: 134.2px;
    }

    .cmn-top .inner {
        background: url('../image/flow-top-bg.jpg') no-repeat;
        background-size: cover;
        margin-left: 16px;
        margin-right: 16px;
        padding: 90px 0;
    }

    .cmn-top .inner .title-wrap-en {
        width: 108px;
        display: inline-block;
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
        text-align: center;
        font-family: "Montserrat", sans-serif;
        font-size: 15px;
        font-weight: 500;
        padding-bottom: 4px;
        border-bottom: 2px solid #B7C3DB;
        margin-bottom: 18.4px;
    }

    .cmn-top .inner .title-wrap-ja {
        width: 17.978%;
        margin: 44px auto 0;
    }

    .cmn-top .inner {
        margin-right: 10px;
        margin-left: 10px;
        padding-top: 85px;
        padding-bottom: 92.5px;
    }

}

.flow-top .inner .title-wrap-en {
    width: 124px;
}

.cmn-top.flow-top .inner .title-wrap-ja {
    width: 35%;
}


@media (max-width: 768px) {
    .cmn-top.flow-top .inner .title-wrap-ja {
        width: 55%;
    }

    .flow-top {
        margin-bottom: 71px;
        padding-top: 56px;
    }

    .flow-top .inner {
        background: url(../image/flow-top-bg-sp.png) no-repeat;
        background-size: cover;
        padding: 90px 0;
    }

    .flow-top .inner .title-wrap-ja {
        width: 161px;
        margin-top: 44px;
    }

    .flow-top .inner .title-wrap-en {
        width: 120px;
    }
}


/* ----------------------- */
/* 施工の流れ */
.workflow .inner {
    width: 75%;
    margin: 0 auto;
}

.workflow .inner .flow-wrap {
    text-align: center;
}

.workflow .inner .flow-wrap .sub-title {
    font-family: "Montserrat";
    font-size: 17px;
    font-weight: 500;
    color: #B7C3DB;
}

.workflow .inner .flow-wrap .flow-num {
    font-family: "Montserrat";
    font-size: 90px;
    font-weight: 300;
    color: #B7C3DB;
    padding-bottom: 6px;
    /* text-decoration: underline;
    text-decoration-thickness: 3px; */
    margin-bottom: 41.7px;
}

.workflow .inner .flow-wrap .flow-num .underline {
    width: 110px;
    height: 3px;
    background-color: #B7C3DB;
    margin: -4px auto 0;
}

.workflow .inner .flow-wrap .flow-type {
    font-size: 2.7vw;
    letter-spacing: 12px;
    margin-bottom: 64px;
}

.workflow .inner .flow-wrap .flow-text {
    font-size: 16px;
    letter-spacing: 4px;
    line-height: 2.5;
    margin-bottom: 128px;
}

.workflow .inner .flow-wrap .last-text {
    margin-bottom: 188.3px;
}

.workflow .inner .flow-wrap .flow-line {
    margin-bottom: 93px;
}

.workflow .footer-banner-area {
    width: 100%;
    padding: 0 16px 16px;
}

.workflow .bottom-img {
    width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    .workflow .inner {
        width: 90%
    }

    .workflow .inner .flow-wrap .below-arrow-sp {
        width: 9.59%;
        margin: 0 auto;
        margin-bottom: 62.9px;
    }

    .workflow .inner .flow-wrap .sub-title {
        font-size: 3.2vw;
        font-weight: bold;
    }

    .workflow .inner .flow-wrap .flow-num {
        font-size: 50px;
        font-weight: 400;
    }

    .workflow .inner .flow-wrap .flow-num .underline {
        width: 80px;
        margin-top: 0;
    }

    .workflow .inner .flow-wrap .flow-type {
        font-size: 22px;
        letter-spacing: 7px;
        margin-bottom: 40.5px;
    }

    .workflow .inner .flow-wrap .flow-text {
        font-size: 14px;
        text-align: left;
        letter-spacing: 2px;
        line-height: 2.2;
        margin-bottom: 51.5px;
    }

    .workflow .inner .flow-wrap .flow-line {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 51px;
    }

    .workflow .inner .last-wrap-sp {
        margin-bottom: 75.1px;
    }

    .workflow .footer-banner-area {
        padding: 0 10px 10px;
    }

}

/* ----------------------- */
/* わたしたちの想い */
.thought .inner {
    background-color: #D8DCE4;
    position: relative;
    /* z-index: -5; */
    z-index: 1;
    padding-top: 144px;
    margin: 0 16px 16px;
    padding-bottom: 500px;
}

.thought .inner .sec-title {
    letter-spacing: 4px;
    text-align: center;
    font-size: 18px;
    margin-bottom: 8px;
}

.thought .inner .underline {
    border-bottom: 2px solid #B7C3DB;
    width: 180px;
    margin: 0 auto;
}

.thought .inner .sec-main-title {
    margin: 0 auto;
    width: 55.2%;
    max-width: 754px;
    margin-top: 120.5px;
}

.thought .inner .bg-font {
    width: 394px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.thought .inner .sec-text {
    text-align: center;
    font-size: 22px;
    letter-spacing: 6px;
    line-height: 2.59;
    margin-top: 123.5px;
}

.thought .inner .company-name {
    text-align: center;
    font-size: 16px;
    letter-spacing: 4px;
    margin-top: 183px;
}

.thought .inner .top-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

.thought .inner .top-name p {
    font-size: 16px;
    letter-spacing: 3px;
    margin-right: 26.7px;
}

.thought .inner .top-name img {
    width: 228px;
}

.thought .inner .mt-bg-img {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -2;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .thought .inner {
        padding-top: 140px;
        padding-bottom: 200px;
        margin: 0 10px 10px;
    }

    .thought .inner .sec-title {
        font-size: 12px;
        letter-spacing: 2px;
        /* padding-bottom: 8px; */
    }

    .thought .inner .underline {
        width: 33%;
    }

    .thought .inner .sec-main-title {
        margin-top: 47.5px;
        width: 90%;
        max-width: 328px
    }

    .thought .inner .sec-text {
        margin-top: 52.2px;
        font-size: 15px;
        letter-spacing: 3px;
        line-height: 2.3;
    }

    .thought .inner .bg-font {
        width: 222px;
    }

    .thought .inner .company-name {
        font-size: 14px;
        letter-spacing: 2px;
        margin-top: 70px;
    }

    .thought .inner .top-name p {
        font-size: 16px;
    }

    .thought .inner .top-name img {
        width: 190px;
        height: auto;
    }
}

/* ----------------------- */
/* 会社概要 */
.company-top {
    margin-bottom: 95px;
}

.company-top .inner {
    background: url('../image/company-bg.jpg') no-repeat;
    background-size: cover;
}

.company-top .inner .title-wrap-ja {
    width: 14.1%;
}

.company-pro .inner {
    margin-left: 10.76%;
    margin-right: 10.76%;
}

.company-pro .inner .sec-title {
    text-align: center;
    font-family: "Montserrat";
    font-size: 15px;
    /* text-decoration: underline;
    text-decoration-color: #B7C3DB; */
    font-weight: bold;
    margin-bottom: 92.5px;
}

.company-pro .inner .sec-title .underline {
    width: 200px;
    height: 2px;
    background-color: #B7C3DB;
    margin: 6px auto 0;
}

.company-pro .inner .pro-wrap {
    display: flex;
    font-size: 16px;
    justify-content: space-between;
    margin-bottom: 155.5px;
}

.company-pro .inner .pro-wrap .pro-content {
    width: 46.5%;
}

.company-pro .inner .pro-wrap .pro-content .profile-li {
    display: flex;
    padding-bottom: 18.5px;
    border-bottom: 2px solid #B7C3DB;
    line-height: 1.875;
    align-items: center;
    white-space: nowrap;
}

.company-pro .inner .pro-wrap .pro-content .profile-li a {
    text-decoration: underline;
}

.company-pro .inner .pro-wrap .pro-content .profile-li+.profile-li {
    padding-top: 18.5px;
}

.company-pro .inner .pro-wrap .right-pro .profile-li+.profile-li {
    padding-top: 28px;
}

.company-pro .inner .pro-wrap .pro-content .profile-li p:first-child {
    width: 70px;
    margin-right: 50px;
}

.company-pro .inner .pro-wrap .right-pro .profile-li p:first-child {
    width: 100px;
    margin-right: 32px;
}

.company-pro .inner .member-img {
    margin-bottom: 98px;
}

.architect-pro .inner {
    margin-left: 10.76%;
    margin-right: 10.76%;
}

.architect-pro .inner .sec-title {
    text-align: center;
    font-family: "Montserrat";
    font-size: 15px;
    /* text-decoration: underline;
    -webkit-text-decoration-color: #B7C3DB;
    text-decoration-color: #B7C3DB; */
    font-weight: bold;
    margin-bottom: 92.5px;
}

.architect-pro .inner .sec-title .underline {
    width: 206px;
    height: 2px;
    background-color: #B7C3DB;
    margin: 6px auto 0;
}

.architect-pro .inner .architect-wrap {
    display: flex;
    justify-content: space-between;
    line-height: 1.875;
    font-size: 15px;
    border-bottom: 2px solid #B7C3DB;
    padding-bottom: 96px;
    margin-bottom: 162px;
}

@media screen and (max-width: 767px) {
    .company-top {
        padding: 56px 0;
    }

    .company-top .inner {
        background: url('../image/company-bg-sp.jpg') no-repeat;
        background-size: cover;
        padding: 90px 0;
    }

    .company-top .inner .title-wrap-ja {
        width: 128px;
    }

    .company-top {
        margin-bottom: 57px;
    }

    .company-pro .inner {
        margin-left: 5.33%;
        margin-right: 5.33%;
    }

    .company-pro .inner .sec-title {
        font-size: 11px;
        margin-bottom: 36.9px;
    }

    .company-pro .inner .sec-title .underline {
        width: 162px;
        height: 2px;
    }

    .company-pro .inner .pro-wrap {
        display: block;
    }

    .company-pro .inner .pro-wrap .pro-content {
        width: 100%;
    }

    .company-pro .inner .pro-wrap .pro-content .profile-li {
        font-size: 15px;
        white-space: normal;
    }

    .company-pro .inner .pro-wrap .right-pro .profile-li+.profile-li {
        padding-top: 18.5px;
    }

    .company-pro .inner .pro-wrap .right-pro .profile-li p:first-child {
        width: 110px;
        flex-shrink: 0;
    }

    .company-pro .inner .pro-wrap .pro-content .profile-li p:first-child {
        width: 22.15%;
    }

    .company-pro .inner .pro-wrap .pro-content .profile-li p:first-child {
        margin-right: 10%;
    }

    .company-pro .inner .pro-wrap {
        margin-bottom: 56.5px;
    }

    .company-pro .inner .member-img {
        margin-bottom: 46.5px;
    }

    .architect-pro .inner {
        margin: 0 16px;
    }

    .architect-pro .inner .sec-title {
        font-size: 11px;
        margin-bottom: 52.9px;
    }

    .architect-pro .inner .sec-title .underline {
        width: 162px;
        height: 2px;
    }

    .architect-pro .inner .architect-wrap {
        display: none;
    }

    .pro-content .profile-li:first-of-type {
        padding-top: 18.5px;
    }

    .architect-wrap-sp {
        font-size: 16px;
        line-height: 1.875;
    }

    .architect-wrap-sp .text1-wrap {
        margin-bottom: 16px;
    }

    .architect-wrap-sp .text2-wrap {
        margin-bottom: 60px;
    }

    .architect-wrap-sp .text3-wrap {
        padding-bottom: 71px;
        border-bottom: 2px solid #B7C3DB;
        margin-bottom: 70px;
    }

}