@charset "UTF-8";

.prj-section-2 {
    position: relative;
    margin-bottom: 0;
    padding-top: 100px;
    background: url(../location/img/aerial-2.jpg) no-repeat center bottom/100%;
    color: #fff;
    padding-bottom: calc(600 / 1400 * 100vw);
}

.prj-section-2:before {
    content : "";
    position : absolute;
    width : 100%;
    height : 100%;
    display : block;
    background: linear-gradient(to right,  #1a2d6f 0%,#2c63ae 100%);
    z-index: -1;
    left : 0;
    top : 0;
}

.prj-section-2:after {
    content : "";
    position : absolute;
    width : 100%;
    height: 40%;
    display : block;
    background: linear-gradient(to bottom,  rgba(26,45,111,1) 0%,rgba(36,76,148,1) 58%,rgba(44,99,174,0) 100%);
    left : 0;
    top : 0;
}

@media(max-width: 767px) {
    .prj-section-2 {
        background-size : 767px;
        padding-bottom : 400px;
    }
    .prj-section-2:after {
        bottom : 800px;
        top : auto;
        height : calc(100% - 800px);
    }
}

.prj-section-2 > div {
    position : relative;
    z-index : 2;
}

.redev-row1 {
    display : flex;
    justify-content : between;
    flex-wrap : wrap;
    gap : 40px;
    margin : 80px 0;
}

.redev-row1__left {
    flex : 1;
}

.redev-row1__right {
    max-width : 520px;
}

@media(max-width: 767px) {
    .redev-row1 {
        gap : 0;
        margin : 60px 0 40px;
    }
    .redev-row1__left,
    .redev-row1__right {
        flex : auto;
        width : 100%;
        max-width : 100%;
    }
    .redev-row1 .redev-txt {
        margin-top : 15px;
    }
}

.redev-row2 {
    display : flex;
    justify-content : center;
    flex-wrap :wrap;
    gap : 40px;
    position : relative;
}

.redev-row2__item {
    max-width: calc((100% - 80px) / 3);
}

.redev-copy {
    font-size: 12px;
    margin-bottom : 10px;
}

.redev-ttl {
    font-size : 18px;
    padding-bottom : 10px;
    border-bottom : 1px solid #fff;
    margin-bottom : 10px;
}

.redev-ttl small {
    font-size : 12px;
    margin-left : 10px;
}

.redev-txt {
    font-size: 13px;
    line-height: 2;
}

.redev-note {
  font-size : 11px;
  display : block;
  margin-top : 10px;
}

.redev-row2__item .cap-image {
    margin-bottom : 10px;
}

.redev-cap {
    position : absolute;
    right : 0;
    bottom : 0;
    font-size : 10px;
}

@media(max-width: 767px) {
    .redev-row2__item {
        max-width : 100%;
    }
    .redev-cap {
        bottom : -20px;
    }
    .redev-ttl {
        font-size : 16px;
    }
    .redev-ttl small {
        font-size : 10px;
    }
}

.cap-image img {
    display : block;
    width : 100%;
}

.vsp767 {
  display : none;
}

@media(max-width: 767px) {
  .vsp767 {
    display : block;
  }
  .vpc767 {
    display : none;
  }
}
