@charset "UTF-8";
.heading_info.is-date {
    justify-content: flex-end;
}
.overview {
    margin-top: 30px;
}
.overview .label {
    font-size : 18px;
    letter-spacing : 1.08px;
    color : #000000;
    font-weight: 600;
}
.overview .details {
    font-size : 16px;
    line-height : 30px;
    letter-spacing : 1.28px;
    color : #000000;
    margin-top: 20px;
}
.lawyer_info {
    background: #f7f7f7;
    padding: 10px;
    display: flex;
    align-items: center;
}
.lawyer_info .label {
    width: 300px;
    background: #192d8c;
    font-size : 16px;
    letter-spacing : 0.96px;
    color : #FFFFFF;
    box-sizing: border-box;
    padding: 16px 0;
    padding-left: 66px;
    position: relative;
    font-weight: 600;
}
.lawyer_info .label:before {
    content: '';
    display: block;
    width: 32px;
    height: 1px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    z-index: 1;
}
.lawyer_info .details {
    width: -webkit-calc(100% - 300px);
    width: calc(100% - 300px);
    box-sizing: border-box;
    padding-left: 30px;
}
.lawyer_info .details a {
    text-decoration: none;
    text-underline-offset: 4px;
    color: #192d8c;
}
.probono_txt {
    font-size : 16px;
    line-height : 30px;
    letter-spacing : 1.28px;
    color : #000000;
    margin-top: 50px;
}
.related_info {
    margin-top: 80px;
}
.related_info dt {
    padding-left: 56px;
    position: relative;
    font-size : 16px;
    letter-spacing : 0.96px;
    color : #000000;
    font-weight: 600;
}
.related_info dt:before {
    content: '';
    display: block;
    width: 32px;
    height: 1px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #000000;
    z-index: 1;
}
.related_info .tag_list .item {
    margin-bottom: 14px;
}
.related_info .tag_list .item:last-child {
    margin-bottom: 0;
}
.related_info .tag_list a {
    text-decoration: none;
}
.return_btn {
    margin-top: 120px;
}
.probono_top_head {
    padding-bottom: 210px;
    margin-bottom: 58px;
    position: relative;
}
.probono_top_head:before {
    content: '';
    display: block;
    width: 78.8%;
    height: 180px;
    position: absolute;
    bottom: 0;
    right: -12%;
    background: #192d8c;
    z-index: 1;
    clip-path: polygon(8% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.probono_top_head .ttl {
    font-size : 30px;
    line-height : 25px;
    letter-spacing : 2.4px;
    color : #192D8C;
    font-weight: 600;
}
.probono_top_head .read {
    font-size : 16px;
    line-height : 25px;
    letter-spacing : 1.28px;
    color : #141F3F;
    margin-top: 26px;
}
.read_wrap .txt {
    font-size : 16px;
    line-height : 28px;
    letter-spacing : 1.28px;
    color : #141F3F;
    margin-top: 1.4em;
}
.probono_activity_wrap {
    margin-top: 120px;
}
.activity_ttl {
    font-size : 20px;
    line-height: 1;
    letter-spacing : 1.2px;
    color : #13243C;
    font-weight: 600;
    padding-bottom: 20px;
    margin-bottom: 40px;
    position: relative;
}
.activity_ttl:before {
    content: '';
    display: block;
    width: 50%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #192d8c;
    z-index: 1;
}
.activity_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.activity_box {
    width: 48%;
}
.activity_box .txt {
    font-size : 16px;
    line-height : 28px;
    letter-spacing : 1.28px;
    color : #141F3F;
}
.activity_box .mds {
    font-size : 16px;
    line-height : 1.2;
    letter-spacing : 1.28px;
    color : #141F3F;
    margin-bottom: 30px;
}
.activity_box .lst {
    font-size : 16px;
    line-height : 1.4;
    letter-spacing : 1.28px;
    color : #141F3F;
}
.activity_box .lst li {
    margin-bottom: 20px;
    padding-left: 1.2em;
    position: relative;
}
.activity_box .lst li:before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 9px;
    background: linear-gradient(90deg, rgba(20, 47, 128, 1) 0%, rgba(0, 175, 223, 1) 100%);
    z-index: 1;
    transition: all .4s;
}
.activity_box .lst li:last-child {
    margin-bottom: 0;
}
.probono_lst_wrap {
    margin-top: 100px;
    background: #f7f7f7;
    padding: 42px 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 56px 0;
}
.lst_box {
    width: -webkit-calc(100% / 3);
    width: calc(100% / 3);
    box-sizing: border-box;
    border-left: 1px solid #e2e2e2;
    padding: 0 20px;
}
.lst_box:nth-child(3n),
.lst_box:last-child {
    border-right: 1px solid #e2e2e2;
}
.lst_box .ttl {
    font-size : 20px;
    letter-spacing : 1.2px;
    color : #192D8C;
    font-weight: 600;
}
.lst_box .txt {
    font-size : 16px;
    line-height : 28px;
    letter-spacing : 1.28px;
    color : #141F3F;
    margin-top: 30px;
}
.single-body {
    padding: 0;
}
@media only screen and (min-width:640px) {
    .lawyer_info .details a:hover {
        color: #023859;
    }
    .contents-list-item a {
        padding: 0 0 15px;
    }
    .single-body p:first-of-type {
        margin-top: 35px;
    }
}
@media screen and (min-width:640px) and (max-width:1200px) {
    .activity_wrap {
        display: block;
    }
    .activity_box {
        width: 100%;
    }
    .activity_box:last-child {
        margin-top: 40px;
    }
    .probono_lst_wrap {
        padding: 10px 28px;
        display: block;
    }
    .lst_box {
        width: 100% ;
        border-left: none;
        border-bottom: 1px solid #e2e2e2;
        padding: 26px 0;
        display: block;
    }
    .lst_box:nth-child(3n),
    .lst_box:last-child {
        border-right: none;
    }
    .lst_box:last-child {
        border-bottom: none;
    }
}
@media only screen and (max-width:640px) {
    .overview {
        margin-top: 6.4vw;
    }
    .overview .label {
        font-size: 3.2vw;
    }
    .overview .details {
        font-size: 3.2vw;
        line-height: 1.6;
        margin-top: 1.6vw;
    }
    .detail_wrap {
        padding: 0 4.688vw;
    }
    .lawyer_info {
        padding: 2.667vw;
        display: block;
    }
    .lawyer_info .label {
        width: 100%;
        font-size : 3.733vw;
        padding: 3.2vw 0;
        padding-left: 16vw;
    }
    .lawyer_info .details {
        width: 100%;
        padding: 4.267vw 0 2.667vw;
    }
    .probono_txt {
        font-size: 3.733vw;
        line-height: 1.8;
        margin-top: 8vw;
    }
    .related_info {
        margin-top: 8vw;
    }
    .related_info dt {
        padding-left: 13.333vw;
        font-size : 3.733vw;
        margin-bottom: 2.667vw;
    }
    .related_info .tag_list .item {
        margin-bottom: 2.667vw;
    }
    .return_btn {
        margin-top: 16vw;
    }
    .probono_top_head {
        padding: 0 4.688vw;
        padding-bottom: 26.667vw;
        margin-bottom: 16vw;
    }
    .probono_top_head:before {
        width: 80%;
        height: 21.333vw;
        right: -4.688vw;
    }
    .probono_top_head .ttl {
        font-size : 4.8vw;
        line-height : 1.6;
    }
    .probono_top_head .read {
        font-size : 3.733vw;
        line-height : 1.8;
        margin-top: 4.267vw;
    }
    .probono_top_main {
        padding: 0 4.688vw;
    }
    .read_wrap .txt {
        font-size : 3.733vw;
        line-height : 1.8;
    }
    .probono_activity_wrap {
        margin-top: 21.333vw;
    }
    .activity_ttl {
        font-size : 4.267vw;
        padding-bottom: 4.8vw;
        margin-bottom: 5.333vw;
    }
    .activity_ttl:before {
        width: 80%;
    }
    .activity_wrap {
        display: block;
    }
    .activity_box {
        width: 100%;
    }
    .activity_box:last-child {
        margin-top: 5.333vw;
    }
    .activity_box .txt {
        font-size : 3.733vw;
        line-height : 1.8;
    }
    .activity_box .mds {
        font-size : 3.733vw;
        margin-bottom: 4.8vw;
    }
    .activity_box .lst {
        font-size : 3.733vw;
        line-height : 1.8;
    }
    .activity_box .lst li {
        margin-bottom: 2.133vw;
    }
    .activity_box .lst li:before {
        width: 1.067vw;
        height: 1.067vw;
        top: 2.933vw;
    }
    .probono_lst_wrap {
        margin-top: 10.667vw;
        padding: 0 3.733vw;
        display: block;
    }
    .lst_box {
        width: 100%;
        border-left: none;
        border-bottom: 1px solid #e2e2e2;
        padding: 3.733vw 0;
    }
    .lst_box:nth-child(3n),
    .lst_box:last-child {
        border-right: none;
    }
    .lst_box:last-child {
        border-bottom: none;
    }
    .lst_box .ttl {
        font-size : 4.267vw;
    }
    .lst_box .txt {
        font-size : 3.733vw;
        line-height : 1.8;
        margin-top: 3.2vw;
    }
}
