@charset "UTF-8";

/***** サイドメニュー *****/
.side_area, .side_area_sp {
    h2 {
        font-size: 1.8rem;
        color: var(--light);
        margin-bottom: 20px;
    }
    h3 {
        font-size: 1.8rem;
        text-align: center;
        font-weight: bold;
        margin-bottom: 16px;
        .fa {
            margin-right: 5px;
        }
    }
    .side_search_area02 {
        background: var(--back_blue);
        padding: 1.6rem 1.3rem 1px 1.6rem;
        margin-bottom: 30px;
        position: sticky;
        top: -300px;
        >.main_wrapper {
            background: #fff;
            padding: 20px;
            margin-bottom: 2rem;
        }
        ul {
            li {
                a {
                    background: var(--back_gray);
                    padding: 0.3rem 1.4rem;
                    width: 100%;
                    margin-bottom: 6px;
                    display: block;
                    &::before {
                        content: '●';
                        color: var(--light);
                        font-size: 1rem;
                        vertical-align: text-bottom;
                        line-height: normal;
                    }
                    @media screen and (max-width: 768px) {
                        font-size: 1.6rem;
                    }
                }
            }
        }
    }
}
.side_search_area02 ul li a span {
    margin-left: 0.6rem;
}
.side_area_sp {
    display: none;
    @media screen and (max-width: 768px) {
        display: block;
        .side_search_prefecture {
            background: #fff;
            ul li {
              background: var(--back_gray);
              width: 90%;
              margin: 0 auto 20px;
              a {
                background: #fff;
                margin-bottom: 5px;
              }
            }
        }
    }
}

/***** 事例一覧 *****/
.column-desc {
    h2 {
        >span {
            font-size: 2rem;
            @media screen and (max-width: 768px) {
                font-size: 1.5rem;
            }
        }
        @media screen and (max-width: 768px) {
            line-height: 1.2;
        }
    }
    p {
        font-size: 1.5rem;
    }
    .column-desc__btn {
        margin-bottom: 10px;
        display: flex;
        justify-content: center;
        @media screen and (max-width: 768px) {
            display:block;
        }
        >a {
            margin: 30px 10px;
            @media screen and (max-width: 768px) {
                margin: 30px 0;
                width: 48%;
                margin: 2rem auto 0;
                &::before {
                    display: none;
                }
            }
        }
    }
}
.case-list {
    display: block;
    .case-item {
        width: 100%;
        margin-bottom: 20px;
        box-shadow: 0px 0px 9px -5px #768798;
        @media screen and (max-width: 768px) {
            width: 90%;
            margin: 0 auto 20px;
        }
        a {
            border-radius: 5px;
            border: 1px solid var(--back_gray);
            width: 100%;
            display: block;
        }
        h3 {
            color: var(--light);
            font-size: 1.8rem;
            font-weight: bold;
            background: var(--back_gray);
            padding: 8px 20px;
            @media screen and (max-width: 768px) {
                font-size: 1.6rem;
            }
            span {
                overflow: hidden;
                display: -webkit-box;
                text-overflow: ellipsis;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 1;    
            }
        }
        .case-container {
            display: flex;
            @media screen and (max-width: 768px) {
                flex-direction: column;
            }
            .img-area {
                width: 34%;
                @media screen and (max-width: 768px) {
                    width: 100%;
                    border-radius: 0;
                }
                >img {
                    width: 100%;
                    height: auto;
                    object-fit: cover;
                    object-position: 50% 50%;
                    display: block;
                    font-size: 5px;
                    overflow: hidden;
                    aspect-ratio: 290 / 128;
                }
            }
            .ba-area {
                padding: 15px 15px 0;
                display: flex;
                align-items: flex-start;
                width: 66%;
                @media screen and (max-width: 768px) {
                    width: 100%;
                    flex-direction: column;
                    padding-bottom: 15px;
                }
                .before, .after {
                    display: flex;
                    align-items: center;
                    >span {
                        writing-mode: vertical-rl;
                        padding: 25px 0px;
                        color: #fff;
                        margin-right: 10px;
                        font-size: 1.4rem;
                        &.before-tit {
                            background: var(--green);
                            width: 11%;
                        }
                        &.after-tit {
                            background: var(--light);
                            width: 12%;
                        }
                        @media screen and (max-width: 768px) {
                            &.before-tit  {
                                width: 12%;
                                line-height: 2;    
                            }
                            &.after-tit {
                                line-height: 2;
                            }
                        }
                    }
                    .before-desc, .after-desc {
                        li {
                            border-bottom: 1px solid;
                            margin-bottom: 10px;
                            font-size: 1.5rem;
                            >span {
                                font-weight: bold;
                                margin-right: 8px;
                            }
                            .income {
                                font-size: 2rem;
                                margin-right: 0;
                            }
                            .txt-gray {
                                color: var(--green);
                            }
                            .txt-blue {
                                color: var(--light);
                            }
                        }
                    }
                    .before-desc {
                        width: 88%;
                        li {
                            border-color: var(--green);
                        }
                    }
                    .after-desc {
                        width: 88%;
                        li {
                            border-color: var(--light);
                        }
                    }
                }
                .before {
                    width: 55%;
                    &::after {
                        content: '';
                        background: url(../img/ba-arrow.webp) no-repeat;
                        width: 20px;
                        height: 20px;
                        display: block;
                        margin: 0 10px 0 15px;
                    }
                    @media screen and (max-width: 768px) {
                        width: 100%;
                        position: relative;
                        padding-bottom: 20px;
                        &::after {
                            position: absolute;
                            margin: 0;
                            bottom: 0px;
                            left: 50%;
                            transform: rotate(90deg);
                        }
                    }
                }
                .after {
                    width: 45%;
                    @media screen and (max-width: 768px) {
                        width: 100%;
                    }
                }
            }
        }
    }
}
/***** ページネーション *****/
.pagenation {
    margin: 35px 0;
    ul {
        display: flex;
        justify-content: center;
        align-items: center;
        li {
            font-weight: bold;
            margin-right: 8px;
            a {
                border: 1px solid var(--gray);
                border-radius: 3px;
                padding: 10px 12px;
                img {
                    vertical-align: middle;
                }
            }
            &:first-child {
                line-height: 1;
                border: 1px solid var(--gray);
                border-radius: 3px;
                padding: 10px 12px;
                background: var(--back_gray);
            }
            &:last-child {
                margin-right: 0;
            }
        }
    }
}

/***** 詳細ページ *****/
.case-single-h1 {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: left;
    color: var(--light);
    margin-bottom: 3rem;
    background-color: var(--back_gray);
    padding: 10px 20px;
    line-height: 1.4;
    @media screen and (max-width: 768px) {
        background: none;
        font-size: 2rem;
        margin-bottom: 15px;
        padding: 0;
    }
}
.column-prof {
    display: flex;
    justify-content: center;
    @media screen and (max-width: 768px) {
        flex-direction: column;
    }
    .img-area {
        max-width: 320px;
        width: 50%;
        max-height: 200px;
        height: auto;
        border-radius: 5px;
        overflow: hidden;
        @media screen and (max-width: 768px) {
            width: 100%;
            max-width: unset;
            max-height: 150px;
        }
        img {
            width: 100%;
            height: auto;
        }
    }
    .ba-area {
        width: 40%;
        margin-left: 40px;
        @media screen and (max-width: 768px) {
            width: 100%;
            margin: 20px 0 0;
        }
        .before, .after {
            display: flex;
            align-items: center;
            width: 95%;
            >span {
                writing-mode: vertical-rl;
                padding: 20px 3px;
                color: #fff;
                margin-right: 10px;
                font-size: 1.4rem;
                &.before-tit {
                    background: var(--green);
                }
                &.after-tit {
                    background: var(--light);
                }
                @media screen and (max-width: 768px) {
                    &.before-tit  {
                        width: 12%;
                        line-height: 2;    
                    }
                    &.after-tit {
                        width: 12%;
                        line-height: 2;
                    }
                }
            }
            .before-desc, .after-desc {
                display: block;
                width: 100%;
                @media screen and (max-width: 768px) {
                    width: 100%;
                }
                li {
                    border-bottom: 1px solid;
                    margin-bottom: 3px;
                    font-size: 1.5rem;
                    box-shadow: none;
                    border-radius: 0;
                    width: 100%;
                    >span {
                        font-weight: bold;
                        margin-right: 8px;
                    }
                    .income {
                        font-size: 2rem;
                        margin-right: 0;
                    }
                    .txt-gray {
                        color: var(--green);
                    }
                    .txt-blue {
                        color: var(--light);
                    }
                }
            }
            .before-desc {
                li {
                    border-color: var(--green);
                }
            }
            .after-desc {
                li {
                    border-color: var(--light);
                }
            }
        }
        .before {
            position: relative;
            padding-bottom: 30px;
            &::after {
                content: '';
                background: url(../img/ba-arrow.webp) no-repeat;
                width: 20px;
                height: 20px;
                display: block;
                margin: 0 10px 0 15px;
                position: absolute;
                margin: 0;
                bottom: 0px;
                left: 40%;
                transform: rotate(90deg);
            }
            @media screen and (max-width: 768px) {
                &::after {
                    left: 50%;
                }
            }
        }
    }
}
.column-article {
    margin-top: 40px;
    .column-article__verse {
        margin-bottom: 20px;
        h2 {
            font-size: 1.6rem;
            background: none;
            margin-bottom: 10px;
            text-align: left;
            &::before {
                content: '●';
                color: var(--light);
                margin-right: 5px;
            }
        }
    }
}
.red-btn_area {
    small {
        font-size: 2rem;
        @media screen and (max-width: 768px) {
            font-size: 1.4rem;
        }
    }
    a {
        font-size: 2.4rem;
        padding: 20px 60px;
        width: fit-content;
        @media screen and (max-width: 768px) {
            font-size: 1.8rem;
            padding: 15px 45px;
        }
    }
}

/***** footer *****/
.parts_case {
    @media screen and (max-width: 768px) {
        background: var(--back_blue);
    }
    .inner {
        max-width: 1240px;
        >h2 {
          background: var(--back_gray);
          padding: 5px 0;  
          @media screen and (max-width: 768px) {
            background: none;
            padding: 0;
          }
        }
        ul {
            display: flex;
            justify-content: center;
            @media screen and (max-width: 768px) {
                flex-direction: column;
                margin: 0 auto;
            }
            li {
                margin: 0 15px;
                @media screen and (max-width: 768px) {
                    margin: 0 auto 20px;
                }
                h3 {
                    background: var(--back_gray);
                    font-weight: bold;
                    color: var(--light);
                    padding: 10px 15px;
                    line-height: 1.4;
                    @media screen and (max-width: 768px) {
                        background: none;
                        font-size: 1.6rem;
                    }
                    span {
                        overflow: hidden;
                        display: -webkit-box;
                        text-overflow: ellipsis;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 3;
                        height: 4.2em;
                        @media screen and (max-width: 768px) {
                            max-height: 66px;
                        }
                    }
                }
                img {
                    width: 100%;
                    border-radius: 0;
                    height: auto;
                    object-fit: cover;
                    object-position: 50% 50%;
                    display: block;
                    font-size: 5px;
                    overflow: hidden;
                    aspect-ratio: 290 / 128;
                }
            }
        }
    }
}
.parts_about {
    @media screen and (max-width: 768px) {
        background: var(--back_gray);
        &.case-single {
            background: none;
        }
    }
    .inner {
        max-width: 1240px;
        >h2 {
          background: var(--back_gray);
          padding: 5px 0;  
          @media screen and (max-width: 768px) {
            background: none;
            padding: 0;
          }
        }
        .about_img_area {
            max-width: 280px;
            @media screen and (max-width: 768px) {
                margin: 0 auto;
            }
        }
    }
}
.parts_search_career {
    background: var(--back_gray);
    @media screen and (max-width: 768px) {
        background: none;
        &.case-single {
            background: var(--back_gray)
        }
    }
}
.parts_topics {
    .btn_bl {
        max-width: 435px;
        width: 100%;
    }
}
.parts_faq {
    .btn_bl {
        max-width: 395px;
        width: 100%;
    }
}


.column_2_container.column_2_container02 .inner_1240 {
    padding: 4rem 2rem 0;
}


.parts_feature.main_feature {
    margin-bottom: 4rem;
}

.parts_feature.main_feature p {
    font-size: 1.6rem;
    line-height: 1.7em;
    margin: 0;
}

.column-desc__btn a::before {
    display: none;
}

@media screen and (max-width:768px) {
    .column_2_container.column_2_container02 .inner_1240 {
        padding: 3rem 0;
    }


    .column-desc__btn a:first-child {
        margin: 3rem auto 0;
    }

    .column-desc__btn a {
        width: 290px!important;
    }


    .parts_feature.main_feature p {
        font-size: 1.4rem;
        line-height: 1.6em;
    }
}

.main_area_con.main_case .btn_area .wrapper,.case_btn_area .btn_area .wrapper {
    background-color: var(--light);
    border: solid 3px var(--light);
    border-radius: 8px;
    max-width: 610px;
    margin: 0 auto;
}

.main_area_con.main_case .btn_area .wrapper .btn_area_border,.case_btn_area .btn_area .wrapper .btn_area_border {
    border: solid 2px var(--back_gray);
    border-radius: 6px;
}

.main_area_con.main_case .btn_area .wrapper .btn_area_top,.case_btn_area .btn_area .wrapper .btn_area_top {
    padding: 1.8rem 0;
}

.main_area_con.main_case .btn_area .wrapper h2,.case_btn_area .btn_area .wrapper h2 {
    margin-bottom: 0.4rem;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background-color: unset;
    padding: 0;
}

.main_area_con.main_case .btn_area .wrapper h2 img,.case_btn_area .btn_area .wrapper h2 img {
    width: 215px;
    margin: 0.4rem 0.7rem 0 0.7rem;
}

.main_area_con.main_case .btn_area .wrapper h2 span,.case_btn_area .btn_area .wrapper h2 span {
    color: #fff;
    font-size: 2.2rem;
}

.main_area_con.main_case .btn_area .wrapper p.btn_area_til02,.case_btn_area .btn_area .wrapper p.btn_area_til02 {
    color: #fff;
    font-size: 2.4rem;
    display: block;
    font-weight: 600;
    text-align: center;
    position: relative;
}

.main_area_con.main_case .btn_area .wrapper p.btn_area_til02::before,.case_btn_area .btn_area .wrapper p.btn_area_til02::before {
    content: "";
    background: url(../img/btn_area_arrow.webp);
    width: 16px;
    height: 16px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    position: absolute;
    top: 5px;
    left: 19rem;
}

.main_area_con.main_case .btn_area .wrapper p.btn_area_til02::after,.case_btn_area .btn_area .wrapper p.btn_area_til02::after {
    content: "";
    background: url(../img/btn_area_arrow.webp);
    width: 16px;
    height: 16px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    position: absolute;
    top: 5px;
    right: 19rem;
}

.main_area_con.main_case .btn_area .wrapper .btn_area_bottom,.case_btn_area .btn_area .wrapper .btn_area_bottom {
    padding: 1.4rem 0;
    background-color: var(--back_gray);
}

.main_area_con.main_case .btn_area .wrapper a.btn_red,.case_btn_area .btn_area .wrapper a.btn_red {
    margin-top: 0;
    width: 363px;
}


@media screen and (max-width:768px) {
    .main_area_con.main_case {
        display: block;
    }

    .main_area_con.main_case .btn_area .wrapper,.case_btn_area .btn_area .wrapper {
        background-color: var(--light);
        border-radius: 8px;
        max-width: 450px;
        border: solid 2px var(--light);
        margin: 0 auto;
    }

    .main_area_con.main_case .btn_area .wrapper .btn_area_border,.case_btn_area .btn_area .wrapper .btn_area_border {
        border: solid 2px var(--back_gray);
        border-radius: 6px;
    }

    .main_area_con.main_case .btn_area .wrapper .btn_area_top,.case_btn_area .btn_area .wrapper .btn_area_top {
        padding: 1.8rem 0;
    }

    .main_area_con.main_case .btn_area .wrapper h2,.case_btn_area .btn_area .wrapper h2 {
        margin-bottom: 0.4rem;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        background-color: unset;
        padding: 0;
        line-height: 1.8em;
    }

    .main_area_con.main_case .btn_area .wrapper h2 .btn_img_wrapper,.case_btn_area .btn_area .wrapper h2 .btn_img_wrapper {
        display: flex;
        align-items: center;
    }

    .main_area_con.main_case .btn_area .wrapper h2 img,.case_btn_area .btn_area .wrapper h2 img {
        width: 195px;
        margin: 0.4rem 0.7rem 0 0.7rem;
    }

    .main_area_con.main_case .btn_area .wrapper h2 span,.case_btn_area .btn_area .wrapper h2 span {
        color: #fff;
        font-size: 2rem;
    }

    .main_area_con.main_case .btn_area .wrapper p.btn_area_til02,.case_btn_area .btn_area .wrapper p.btn_area_til02 {
        color: #fff;
        font-size: 2rem;
        display: block;
        font-weight: 600;
        text-align: center;
        position: relative;
    }

    .main_area_con.main_case .btn_area .wrapper p.btn_area_til02.sp_768 {
        display: none;
    }

    .main_area_con.main_case .btn_area .wrapper p.btn_area_til02::before,.case_btn_area .btn_area .wrapper p.btn_area_til02::before {
        content: "";
        background: url(../img/btn_area_arrow.webp);
        width: 16px;
        height: 16px;
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        top: 4px;
        left: calc(50% - 92px);
    }

    .main_area_con.main_case .btn_area .wrapper p.btn_area_til02::after,.case_btn_area .btn_area .wrapper p.btn_area_til02::after {
        content: "";
        background: url(../img/btn_area_arrow.webp);
        width: 16px;
        height: 16px;
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        top: 4px;
        right: calc(50% - 92px);
    }

    .main_area_con.main_case .btn_area .wrapper .btn_area_bottom,.case_btn_area .btn_area .wrapper .btn_area_bottom {
        padding: 1.4rem 0;
        background-color: var(--back_gray);
    }

    .main_area_con.main_case .btn_area .wrapper a.btn_red,.case_btn_area .btn_area .wrapper a.btn_red {
        margin-top: 0;
        width: 363px;
    }
}

@media screen and (max-width: 500px) {
    .main_area_con.main_case .btn_area .wrapper a.btn_red,.case_btn_area .btn_area .wrapper a.btn_red {
        width: 303px;
    }
}