@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@1,100..700&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&display=swap');

@font-face {
	font-family: 'GenEiGothicM';
	font-style: normal;
	font-weight: 900;
	src: url('../font/GenEiGothicM-Heavy.woff2') format('woff2'), url('../font/GenEiGothicM-Heavy.woff') format('woff'); 
}

/* CSS Document */
/* green_manage lower style
**************************************/
#body {
    width: 100% !important;
    margin-left: 0 !important;
}
/* lower_mv */
#body.lower .lower_mv {
    width: 100%;
    height: 320px;
}
#body.lower .lower_mv .inner {
    height: 100%;
}
#body.lower .lower_mv_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}
#body.lower .lower_mv_ttl {
    font-size: 2.875rem;
    font-family: 'GenEiGothicM';
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #1E2321;
    background: #FFFFFF;
    padding: 9px 15px 5px;
    border-radius: 0 10px 10px 10px;
    position: relative;
    transform: translateY(14px);
}
#body.lower .lower_mv_ttl::before {
    content: 'PROJECT';
    display: block;
    font-size: 0.8125rem;
    font-family: "Lato", sans-serif;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-align: center;
    color: #C4AE59;
    background: #FFFFFF;
    padding: 6.5px 0 2.5px;
    width: 97px;
    border-radius: 10px 10px 0 0;
    position: absolute;
    top: -27px;
    left: 0;
    z-index: 1;
}
@media screen and ( max-width:959px) {
    #body.lower .lower_mv {
        height: 270px;
    }
    #body.lower .lower_mv_ttl {
        font-size: 1.75rem;
        padding: 7px 10px 3px;
        transform: translateY(12px);
    }
    #body.lower .lower_mv_ttl::before {
        font-size: 0.75rem;
        width: 87px;
        padding: 4.5px 0 2.5px;
        top: -24px;
    }
}
/* lower_breadcrumbs */
#body.lower .lower_breadcrumbs {
    background: #F2F0E7;
    border-bottom: 1px solid #D9D7CB;
    height: 40px;
}
#body.lower .lower_breadcrumbs .inner {
    height: 100%;
}
#body.lower .lower_breadcrumbs ul {
    justify-content: flex-start;
    align-items: center;
    gap: 0 22px;
    height: 100%;
}
#body.lower .lower_breadcrumbs ul li,
#body.lower .lower_breadcrumbs ul li a {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.46;
    letter-spacing: 0.05em;
}
#body.lower .lower_breadcrumbs ul li {
    position: relative;
}
#body.lower .lower_breadcrumbs ul li:not(:last-of-type)::after {
    content: '';
    display: block;
    background: url(../image/icon_arw_rt.svg) no-repeat center center / contain;
    width: 6px;
    height: 8px;
    margin: auto;
    position: absolute;
    top: 0;
    right: -14px;
    bottom: 0;
    z-index: 1;
}
#body.lower .lower_breadcrumbs ul li a {
    color: #C4AE59;
}
@media screen and ( max-width:959px) {
    #body.lower .lower_breadcrumbs {
        height: 30px;
    }
    #body.lower .lower_breadcrumbs ul {
        gap: 0 20px;
    }
    #body.lower .lower_breadcrumbs ul li,
    #body.lower .lower_breadcrumbs ul li a {
        font-size: 0.75rem;
    }
    #body.lower .lower_breadcrumbs ul li:not(:last-of-type)::after {
        width: 5px;
        height: 7px;
        right: -13px;
        bottom: -2px;
    }
}
/* lower_contents */
#body.lower .lower_contents {
    padding: 34px 0 80px;
}

#body.lower .lower_contents .return_btn{
    display: block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.05em;
    background: #312C1F;
    text-align: center;
    max-width: 544px;
    width: 100%;
    margin: 50px auto 0;
    height: 100%;
    padding: 24px 55px;
    border-radius: 5px;
    position: relative;
    color: #fff;
}

#body.lower .lower_contents_tab {
    margin-bottom: 82px;
    align-items: stretch;
    gap: 20px 40px;
}
#body.lower .lower_contents_tab::after {
    display: none;
}
#body.lower .lower_contents_tab li {
    width: calc((100% - 40px) /2);
}
#body.lower .lower_contents_tab li a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.05em;
    background: #FFFFFF;
    text-align: center;
    width: 100%;
    height: 100%;
    padding: 30px 0;
    border: 2px solid #312C1F;
    border-radius: 10px;
    position: relative;
}
#body.lower .lower_contents_tab li a::after {
    content: '';
    display: block;
    background: url(../image/icon_btn_arw_bm.svg) no-repeat center center / contain;
    width: 22px;
    height: 22px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 18px;
    bottom: 0;
    z-index: 1;
}
#body.lower .lower_contents_wrap {
    color: #1E2321;
    background: #FFFFFF;
    border-radius: 10px;
    overflow: hidden;
}
#body.lower .lower_contents_wrap:not(:last-of-type) {
    margin-bottom: 82px;
}
#body.lower .lower_contents_wrap img {
    width: 100%;
}
#body.lower .lower_contents_wrap .text_img {
    width: 50%;
    max-width: 235px;
}
#body.lower .lower_contents_wrap h4 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.08em;
    text-align: center;
    color: #FFFFFF;
    background: #8A816A;
    padding: 14.5px 0;
    margin-bottom: 73px;
}
#body.lower .lower_contents_wrap h4 div {
    display: inline;
}
#body.lower .contents_top {
    padding: 0 40px 55px;
}
#body.lower .contents_top .img_box {
    margin-bottom: 35px;
    gap: 20px 0;
}
#body.lower .contents_top .img_item {
    width: calc((100% - 8px) / 2);
}
#body.lower .contents_top .img_item p {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    margin-top: 10px;
}
#body.lower .contents_top p .name {
    display: block;
    font-size: 0.625rem !important;
    margin-top: 5px;
}
#body.lower .contents_top h5 {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.05em;
    text-align: center;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 70px;
}
#body.lower .contents_top h5 .clr {
    background: linear-gradient(transparent 50%, #F0ED8D 50%);
    padding: 0 14px 5px;
}
#body.lower .contents_top h6 {
    font-size: 1.875rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 30px;
}
#body.lower .contents_top p {
    font-size: 1.125rem;
    /* font-size: 0.8125rem; */
    font-weight: 500;
    line-height: 1.95;
    letter-spacing: 0.05em;
}
#body.lower .contents_details_box {
    padding: 60px 40px;
    border-top: 1px solid #DEDEDE;
    gap: 30px 0;
}
#body.lower .contents_details_box:nth-of-type(odd) {
    flex-direction: row-reverse;
}
#body.lower .contents_details_box .wd470 {
    width: 44.6%;
    max-width: 470px;
}
#body.lower .contents_details_box .wd470 .name {
    font-size: 0.625rem !important;
    display: block;
}
#body.lower .contents_details_box .wd530 {
    width: 50%;
}
#body.lower .contents_details_box .img_box.wd530 {
    max-width: 530px;
}
#body.lower .contents_details_box .img_box.row_box {
    gap: 20px 0;
}
#body.lower .contents_details_box .img_box p {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    margin-top: 10px;
}
#body.lower .contents_details_box .img_box .detail {
    display: inline-block;
    font-size: 0.8125rem!important;
    margin-top: 7px;
    line-height: 1.2;
}
#body.lower .contents_details_box .img_box .name {
    display: inline-block;
    font-size: 0.625rem!important;
    /* margin-top: 5px; */
}
#body.lower .contents_details_box .img_item {
    width: calc((100% - 8px) / 2);
}
#body.lower .contents_details_box .img_item p {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    margin-top: 10px;
}
#body.lower .contents_details_box h6 {
    font-size: 1.625rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 25px;
}
#body.lower .contents_details_box h6.h7_ttl {
    font-size: 1.125rem;
    margin-bottom: 18px;
}
#body.lower .contents_details_box h6:has(.clr) {
    font-size: 1.4375rem;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
}
#body.lower .contents_details_box h6 .clr {
    background: linear-gradient(transparent 50%, #F0ED8D 50%);
    padding: 0 14px 5px;
}
#body.lower .contents_details_box p {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 2.14;
    letter-spacing: 0.05em;
}
#body.lower .contents_details_box .text_img_box {
    align-items: flex-start;
}
#body.lower .contents_details_box .text_img_box p {
    width: 45%;
}
#body.lower .contents_details_box table {
    width: 100%;
}
#body.lower .contents_details_box table tr {
    border-bottom: 1px dotted #E5E5E5;
}
#body.lower .contents_details_box table th,
#body.lower .contents_details_box table td {
    display: inline-block;
}
#body.lower .contents_details_box table th {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.46;
    letter-spacing: 0.05em;
    text-align: center;
    background: #F9F8F2;
    width: 92px;
    padding: 1px 0;
    margin: 10px 20px 5px 0;
    border: 1px solid #E9E6D5;
    border-radius: 2px;
}
#body.lower .contents_details_box table td {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.87;
    letter-spacing: 0.05em;
    width: calc(100% - 112px);
    padding: 8px 0;
    word-break: break-all;
}
#body.lower .contents_details_box .video_box {
    width: 70%;
    height: 425px;
    border-radius: 10px;
    margin: 0 auto;
    overflow: hidden;
    transform: translateZ(0);
}
#body.lower .contents_details_box .video_box iframe {
    width: 100%;
    height: 100%;
}
#body.lower .details_link_box {
    margin-bottom: 60px;
}
#body.lower .details_link {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.43;
    letter-spacing: 0.05em;
    text-align: center;
    color: #FFFFFF;
    background: #D59643;
    width: 100%;
    max-width: 544px;
    padding: 24px 55px;
    border-radius: 5px;
    margin: 0 auto;
    position: relative;
}
#body.lower .details_link:not(:last-of-type) {
    margin-bottom: 30px;
}
#body.lower .details_link::after {
    content: '';
    display: block;
    background: url(../image/icon_link_bk.svg) no-repeat center center / contain;
    width: 36px;
    height: 36px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    z-index: 1;
}
@media screen and ( max-width:959px) {
    #body.lower .lower_contents {
       padding: 34px 0 60px;
    }
    #body.lower .lower_contents_tab {
        gap: 10px 0;
        margin-bottom: 42px;
    }
    #body.lower .lower_contents_tab li {
        width: 100%;
    }
    #body.lower .lower_contents_tab li a {
        font-size: 0.875rem;
        padding: 15px 0;
    }
    #body.lower .lower_contents_tab li a::after {
        width: 18px;
        height: 18px;
    }
    #body.lower .lower_contents_wrap:not(:last-of-type) {
       margin-bottom: 41px;
    }
    #body.lower .lower_contents_wrap .text_img {
       max-width: 145px;
       margin-top: 20px;
    }
    #body.lower .lower_contents_wrap h4 {
        font-size: 1.125rem;
        padding: 11px 10px;
        margin-bottom: 33px;
    }
    #body.lower .contents_top {
        padding: 0 20px 35px;
    }
    #body.lower .contents_top .img_box {
        margin-bottom: 30px;
    }
    #body.lower .contents_top .img_item {
        width: 100%;
    }
    #body.lower .contents_top .img_item p {
        font-size: 0.625rem;
        margin-top: 7px;
    }
    #body.lower .contents_top .img_item .name {
        margin-top: 3px;
    }
    #body.lower .contents_top h5 {
        font-size: 1.25rem;
        margin: 0 auto 30px;
    }
    #body.lower .contents_top h5 .clr {
       background: linear-gradient(transparent 55%, #F0ED8D 55%);
       padding: 0 7px 3px;
    }
    #body.lower .contents_top h6 {
        font-size: 1.2125rem;
        margin-bottom: 20px;
    }
    #body.lower .contents_top p {
        font-size: 0.875rem;
    }
    #body.lower .contents_details_box {
        padding: 30px 20px;
        flex-direction: column-reverse !important;
        gap: 20px 0;
    }
    #body.lower .contents_details_box .text_box,
    #body.lower .contents_details_box .img_box {
        width: 100%;
    }
    #body.lower .contents_details_box .img_box p {
        font-size: 0.625rem;
        margin-top: 7px;
    }
    #body.lower .contents_details_box .img_item {
        width: 100%;
    }
    #body.lower .contents_details_box .img_item p {
        font-size: 0.625rem;
        margin-top: 7px;
    }
    #body.lower .contents_details_box h6,
    #body.lower .contents_details_box h6.h7_ttl {
        font-size: 1.125rem;
        margin-bottom: 16px;
    }
    #body.lower .contents_details_box h6:has(.clr) {
        font-size: 1.0625rem;
    }
    #body.lower .contents_details_box h6 .clr {
        background: linear-gradient(transparent 55%, #F0ED8D 55%);
        padding: 0 7px 3px;
    }
    #body.lower .contents_details_box p {
        font-size: 0.875rem;
    }
    #body.lower .contents_details_box .name {
        margin-top: 3px;
    }
    #body.lower .contents_details_box .wd470 .name {
        margin-bottom: 10px;
    }
    #body.lower .contents_details_box .text_img_box {
        flex-direction: column;
    }
    #body.lower .contents_details_box .text_img_box p {
        width: 100%;
    }
    #body.lower .contents_details_box table th {
        font-size: 0.75rem;
        width: 82px;
        margin: 5px 15px 3px 0;
    }
    #body.lower .contents_details_box table td {
        font-size: 0.8rem;
        width: calc(100% - 97px);
        padding: 4px 0;
    }
    #body.lower .contents_details_box .video_box {
        width: 100%;
        height: 45vw;
        border-radius: 5px;
    }
    #body.lower .details_link_box {
        margin-top: 15px;
        margin-bottom: 30px;
    }
    #body.lower .details_link {
        font-size: 0.875rem;
        word-break: break-all;
        padding: 20px 50px;
        width: 90%;
    }
    #body.lower .details_link:not(:last-of-type) {
        margin-bottom: 20px;
    }
}
/* common_allcompany */
#body .common_allcompany {
    padding-top: 140px;
}
@media screen and ( max-width:959px) {
    #body .common_allcompany {
       padding-top: 50px;
    }
    #body .common_allcompany::after {
        display: none;
    }
}