@charset "UTF-8";

.pageSubTitle {
    margin-bottom: 30px;
}
.service__text01 {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.45px;
}
.serviceNavi {
    margin-bottom: 50px;
}
.serviceNavi__title {
    padding: 10px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 1px;
    color: #FFFFFF;
    background-color: #89C63F;
}
.sectionService {
    margin-bottom: 50px;
    background-color: #fff;
}

.sectionServiceHeader {

}
.sectionServiceHeader__thum {
    position: relative;
    width: 100%;
    height: 400px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.building_management .sectionServiceHeader__thum {
    background-image: url("../images/service/service_thum_building_management.png");
}
.construction_management .sectionServiceHeader__thum {
    background-image: url("../images/service/service_thum_construction_management.png");
}
.jimu .sectionServiceHeader__thum {
    background-image: url("../images/service/service_thum_jimu.png?var=20231027");
}
.apartment .sectionServiceHeader__thum {
    background-image: url("../images/service/service_thum_apartment.png");
}

.sectionServiceHeader__contents {
    position: relative;
}
.sectionEnTitle {
    position: absolute;
    top: -40px;
    left: 50%;
    margin-left: -40px;
    width: 80px;
    height: 80px;
    font-family: 'BarlowCondensed SemiBold';
    font-weight: 700;
    font-size: 20px;
    color: #FFFFFF;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-image: url(../images/bg_circle_green.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}
.sectionServiceHeader__title {
    padding: 70px 0 0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.7px;
    color: #89C63F;
    text-align: center;
}
.sectionServiceHeader__title__text {
    margin-top: 15px;
    text-align: center;
}

.serviceContent {
    padding: 70px 0 0;
}
.serviceContent:last-of-type {
    padding-bottom: 70px;
}
.serviceContentType01 {

}
.serviceContentType01__wrapper {
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}

.serviceContentType01__desc01 {
    width: 450px;
}
.serviceContentType01__thum01 {
    width: 445px;
}
.serviceContentType01__thum01 img {
    width:100%
}
.serviceContentType01__desc02 {
    width: 540px;
}
.serviceContentType01__thum02 {
    width:360px;
}
.serviceContentType01__thum02 img {
    width:100%
}
.serviceContentType01__btn {
    margin-top: 30px;
    text-align: right;
}
.serviceContentType01__button {
    width: 200px;
    padding: 13.5px 20px;
    font-size: 22px;
    letter-spacing: 1.1px;
}
.serviceContentType01__button-text {
    
}
.serviceContentType02 {

}
.serviceFlowList {
    margin-top: 30px;
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.serviceFlowList__item {
    position: relative;
    width: 142px;
    height: 142px;
    background-image: url("../images/service/bg_circle_blue.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.serviceFlowList__item:nth-child(n+2) {
    margin-left: 30px;
}
.serviceFlowList__item:nth-child(n+2):before {
    content: "";
    position: absolute;
    top: 50%;
    left: -18px;
    width: 9px;
    height: 16px;
    margin-top: -4.5px;
    background-image: url("../images/arrow_right_black.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.serviceFlowList__item__num {
    padding: 10px 0 0;
    font-family: 'BarlowCondensed SemiBold';
    font-weight: 700;
    font-size: 32px;
    color : #FFFFFF;
    text-align: center;
}
.serviceFlowList__item__text {
    padding: 15px 0 0;
    font-weight: 700;
    font-size: 18px;
    color : #000;
    text-align: center;
    height: 92px;
    color: #000;
}
.serviceFlowList__item__text-txt {
    vertical-align: middle;
    height: 100%;
}
.serviceFlowList__item:nth-child(4) .serviceFlowList__item__text {
    padding: 10px 0 0;
}

.serviceList01 {
    counter-reset: number 0; 
}
.serviceList01__item {
    position: relative;
    padding-left: 1.5em;
}
.serviceList01__item:before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: number;
    content: counter(number)".";
}

.serviceList02 {
    width: 820px;
    margin: 0 auto;
}
.serviceList02__item {
    position: relative;
}
.serviceList02__item:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -35px;
    width: 70px;
    height: 70px;
    background-image: url("../images/service/icon_person.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 2;
}
.serviceList02__item:nth-child(n+2) {
    margin-top: 20px;
}
.serviceList02__item__text {
    position: relative;
    margin-left: 100px;
    border: 2px solid #89c63f;
    border-radius: 4px;
    padding: 20px;
    box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.1);
}
.serviceList02__item__text:before {
    content: "";
    border: 6px solid transparent;
    border-right: 6px solid #89c63f;
    position: absolute;
    left: -14px;
    top: 50%;
    margin-top: -6px;
}
.serviceList02__item__text:after {
    content: "";
    border: 6px solid transparent;
    border-right: 6px solid #ffffff;
    position: absolute;
    left: -12px;
    top: 50%;
    margin-top: -6px;
}
.serviceList02__item__text-txt {
    font-size: 20px;
    letter-spacing: 0.5px;
}

.service__text01 + .serviceList03 {
    margin-top: 1em;
}
.serviceList03__item {
    position: relative;
    padding-left: 1.5em;
}
.serviceList03__item:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "・";
}

.serviceContentType04 {
    
}
.service__box01 {
    margin-top: 30px;
    padding: 40px 70px;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.4px;
    border-radius: 6px;
    background-color: rgba(137, 198, 63, 0.15);
}
.service__box01 a {
    text-decoration: underline;
}

.serviceContentType05 {
    margin-top: 70px;
}
.serviceContentType05__wrapper {
    border: 3px solid #7EC2D4;
    padding: 30px 67px;
    border-radius: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #fff;
}
.serviceContentType05__title {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.55px;
    color: #7EC2D4;
}
.serviceContentType05__text {
    margin-top: 15px;
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: 0.55px;
}
.tel-text {
    color: #333;
    padding-left: 1em;
    font-size: 26px;
    letter-spacing: 0.65px;
    text-decoration: none;
}
.tel-person {
    padding-left: 1em;
    font-size: 16px;
    letter-spacing: 0.65px;
}
.serviceContentType05__button {
    width: 280px;
    padding: 13.5px 20px;
    font-size: 22px;
    letter-spacing: 1.1px;
}

.serviceContentType06 {

}
.serviceList04 {
    width: 810px;
    margin: 40px auto 0;
}
.serviceList04__item {
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.serviceList04__item:nth-child(n+2) {
    margin-top: 20px;
}
.serviceList04__item__icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #89c63f;
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.serviceList04__item__icon-txt {
    font-size: 15px;
    line-height: 1;
    color: #fff;
}
.serviceList04__item__icon-num {
    display: block;
    text-align: center;
    font-family: 'BarlowCondensed SemiBold';
    font-weight: 700;
    font-size: 30px;
    color: #fff;
}
.serviceList04__item__text {
    width: 700px;
    position: relative;
    border: 2px solid #89c63f;
    border-radius: 4px;
    padding: 20px 30px;
    box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.1);
}
.serviceList04__item__text:before {
    content: "";
    border: 6px solid transparent;
    border-right: 6px solid #89c63f;
    position: absolute;
    left: -14px;
    top: 50%;
    margin-top: -6px;
}
.serviceList04__item__text:after {
    content: "";
    border: 6px solid transparent;
    border-right: 6px solid #ffffff;
    position: absolute;
    left: -12px;
    top: 50%;
    margin-top: -6px;
}
.serviceList04__item__text-txt {
    display: block;
    font-size: 20px;
    letter-spacing: 0.5px;
}
.serviceList04__item__text-note {
    margin-top: 10px;
    display: block;
    font-size: 15px;
    letter-spacing: 0.38px;
    color: #666666;
}
.serviceContentType06__figure01 {
    margin-top: 50px;
    width: 100%;
    padding: 30px;
    text-align: center;
    background-color: rgba(137, 198, 63, 0.15);
}
.serviceContentType06__figure01 img {
    width: 630px;
}
.serviceContentType06__figure02 {
    margin-top: 50px;
    width: 100%;
    padding: 30px;
    text-align: center;
    background-color: rgba(137, 198, 63, 0.15);
}
.serviceContentType06__figure02 img {
    width: 650px;
}
.serviceContentType06__figure03 {
    margin: 50px auto 0;
    width: 820px;
    padding: 30px;
    text-align: center;
    background-color: rgba(137, 198, 63, 0.15);
}
.serviceContentType06__figure03 img {
    width: 604px;
}

.serviceContentType07 {
    margin-top: 60px;
}
.serviceContentType07__wrapper {
    width: 595px;
    margin: 0 auto;
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.serviceContentType07__btn {
    width: 280px;
}
.serviceContentType07__button {
    padding: 13.5px 20px;
}
.serviceContentType07__button-text {
    font-size: 22px;
    letter-spacing: 1.1px;
}
.serviceContentType07__button-text-1 {
    font-size: 22px;
    letter-spacing: 0.8px;
}
.serviceContentType07__button-text-2 {
    font-size: 16px;
    letter-spacing: 0.8px;
}

.serviceNavi__footer {
    padding: 60px 0 70px;
    background-image: url(../images/top/bg_green.png);
    background-repeat: repeat;
    background-position: center center;
    background-size: auto;
}
.serviceNavi__footer__title {
    margin-bottom: 40px;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 1.4px;
    color: #FFFFFF;
    text-align: center;
}

/*----------------------------------------
 _画面の横幅が480pxまで
----------------------------------------*/
@media screen and (max-width:480px) {
    
    .pageHeader__wrapper {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .pageMainContents {
        padding-top: 3.125vw;
    }
    .building_management .pageMainContents {
            padding-top: 0;
    }
    .construction_management .pageMainContents {
            padding-top: 0;
    }
    .jimu .pageMainContents {
            padding-top: 0;
    }
    .apartment .pageMainContents {
            padding-top: 0;
    }
    
    .sectionEnTitle {
        position: absolute;
        top: -10vw;
        margin-left: -9.375vw;
        width: 18.75vw;
        height: 18.75vw;
        font-size: 4.6875vw;
    }
    .pageSubTitle {
        margin-bottom: 6.25vw;
    }
    .service__text01 {
        font-size: 4.0625vw;
        letter-spacing: 0.33px;
    }
    
    .serviceNavi {
        margin-bottom: 9.375vw;
    }
    .serviceNavi__title {
         margin-bottom: 6.25vw;
        padding: 1.875vw 3.125vw;
        font-size: 4.6875vw;
        letter-spacing: 0.75px;
    }
    
    .sectionService {
        margin-bottom: 9.375vw;
    }
    
    .sectionServiceHeader__thum {
        height: 46.875vw;
    }
    .sectionServiceHeader__title {
        padding: 15.625vw 0 0;
        font-size: 5vw;
        letter-spacing: 0.4px;
    }
    .contract .sectionServiceHeader__title {
        padding: 6.25vw 0 0;
    }
    .sectionServiceHeader__title__text {
        text-align: left;
    }
    
    .serviceContent {
        padding: 9.375vw 0 0;
    }
    .serviceContent:last-of-type {
        padding-bottom: 9.375vw;
    }
    .serviceContentType01 {

    }
    .serviceContentType01__wrapper {

    }
    .serviceContentType01__title {

    }
    .serviceContentType01__desc01 {
        margin-top: 4.6875vw;
        width: 100%;
        order: 2;
    }
    .serviceContentType01__thum01 {
        width: 100%;
        order: 1;
    }
    .serviceContentType01__desc02 {
        margin-top: 4.6875vw;
        width: 100%;
        order: 2;
    }
    .serviceContentType01__thum02 {
        width: 100%;
        order: 1;
    }
    .serviceContentType01__btn {
        margin-top: 6.256vw;
        text-align: center;
    }
    .serviceContentType01__button {
        width: 46.875vw;
        padding: 2.5vw;
        font-size: 5vw;
        letter-spacing: 0.8px;
    }
    .serviceContentType01__button-text {

    }
    .serviceContentType02 {
 
    }
    .serviceFlowList {
        margin-top: 6.25vw;
    }
    .serviceFlowList__item {
        width: 21.875vw;
        height: 21.875vw;
    }
    .serviceFlowList__item:nth-child(n+2) {
        margin-left: 4.6875vw;
    }
    .serviceFlowList__item:nth-child(n+2):before {
        content: "";
        position: absolute;
        top: 50%;
        left: -2.625vw;
        width: 1.40625vw;
        height: 2.5vw;
        margin-top: -1.25vw;
    }
    .serviceFlowList__item__num {
        padding: 1.5725vw 0 0;
        font-size: 5vw;
    }
    .serviceFlowList__item__text {
        padding: 2.34375vw 0 0;
        font-size: 3.125vw;
        letter-spacing: -1px;
    }
    .serviceFlowList__item:nth-child(4) .serviceFlowList__item__text {
        padding: 1.5625vw 0 0;
    }
    
    .serviceList02 {
        width: 100%;
        margin: 0 auto;
    }
    .serviceList02__item {

    }
    .serviceList02__item:before {
        margin-top: -5vw;
        width: 10vw;
        height: 10vw;
    }
    .serviceList02__item:nth-child(n+2) {
        margin-top: 3.125vw;
    }
    .serviceList02__item__text {
        position: relative;
        margin-left: 5vw;
        border: 0.625vw solid #89c63f;
        border-radius: 1.25vw;
        padding: 3.125vw 3.125vw 3.125vw 6.25vw;
        box-shadow: 0.625vw 0.625vw 0.3125vw rgba(0, 0, 0, 0.1);
    }
    .serviceList02__item__text:before {
        content: none;
    }
    .serviceList02__item__text:after {
        content: none;
    }
    .serviceList02__item__text-txt {
        font-size: 4.6875vw;
        letter-spacing: 0.38px;
    }
    
    .service__box01 {
        margin-top: 4.6875vw;
        padding: 6.25vw;
        font-size: 3.75vw;
        letter-spacing: 0.3px;
        border-radius: 1.25vw;
    }

    .serviceContentType05 {
        margin-top: 9.375vw;
    }
    .serviceContentType05__wrapper {
        border: 0.625vw solid #7EC2D4;
        padding: 6.25vw 4.6875vw 9.375vw;
        border-radius: 1.25vw;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .serviceContentType05__desc {
        width: 100%;
        text-align: center;
    }
    .serviceContentType05__title {
        font-size: 5vw;
        letter-spacing: 0.4px;
    }
    .serviceContentType05__text {
        margin-top: 6.25vw;
        font-size: 5vw;
        letter-spacing: 0.4px;
    }
    .tel-text {
        font-size: 5.625vw;
        letter-spacing: 0.45px;
    }
    .tel-person {
        display: block;
        padding-left: 0;
        font-size: 3.75vw;
        letter-spacing: 0.4px;
    }
    .serviceContentType05__button {
        margin-top: 6.25vw;
        width: 65.625vw;
        padding: 3.125vw;
        font-size: 5vw;
        letter-spacing: 0.8px;
    }
    
    .serviceList04 {
        width: 100%;
        margin: 6.25vw auto 0;
    }
    .serviceList04__item {
        display: block;
        width: 100%;
        position: relative;
        border: 0.625vw solid #89c63f;
        border-radius: 1.25vw;
        padding: 6.25vw 3.125vw;
        box-shadow: 0.625vw 0.625vw 0.3125vw rgba(0, 0, 0, 0.1);
    }
    .serviceList04__item__icon {
        width: 100%;
        height: auto;
        padding: 1.25vw;
        border-radius: 7.8125vw;
    }
    .serviceList04__item__icon-txt {
        font-size: 4.375vw;
    }
    .serviceList04__item__icon-num {
        display: inline;
        font-size: 5vw;
    }
    .serviceList04__item__text {
        width: 100%;
        position: relative;
        border: none;
        border-radius: 0;
        padding: 0;
        box-shadow: none;
    }
    .serviceList04__item__text:before,
    .serviceList04__item__text:after {
        content: none;
    }
    .serviceList04__item__text-txt {
        margin-top: 2.5vw;
        text-align: center;
        font-size: 4.6875vw;
        letter-spacing: 0.38px;
    }
    .serviceList04__item__text-note {
        margin-top: 1.5625vw;
        font-size: 3.4375vw;
        letter-spacing: 0.28px;
    }

    .serviceContentType06__figure01 {
        margin-top: 6.25vw;
        width: 100%;
        padding: 3.125vw;
    }
    .serviceContentType06__figure01 img {
        width: auto;
    }
    .serviceContentType06__figure02 {
        margin-top: 6.25vw;
        width: 100%;
        padding: 3.125vw;
    }
    .serviceContentType06__figure02 img {
        width: auto;
    }
    .serviceContentType06__figure03 {
        margin-top: 6.25vw;
        width: 100%;
        padding: 3.125vw;
    }
    .serviceContentType06__figure03 img {
        width: auto;
    }
    .serviceContentType07 {
        margin-top: 9.375vw;
    }
    .serviceContentType07__wrapper {
        width: 65.625vw;
    }
    .serviceContentType07__btn {
        width: 100%;
    }
    .serviceContentType07__btn:nth-child(n+2) {
        margin-top: 6.25vw;
    }
    .serviceContentType07__button {
        padding: 3.125vw;
    }
    .serviceContentType07__button-text {
        font-size: 5vw;
        letter-spacing: 0.8px;
    }
    .serviceContentType07__button-text-1 {
        font-size: 5vw;
        letter-spacing: 0.8px;
    }
    .serviceContentType07__button-text-2 {
        font-size: 3.75vw;
        letter-spacing: 0.8px;
    }
    
    .serviceNavi__footer {
        padding: 9.375vw 0;
    }
    .serviceNavi__footer__title {
        margin-bottom: 6.25vw;
        font-size: 6.25vw;
        letter-spacing: 0.5px;
    }
    

}