/* ============================================================
オフけんTOP用css
URL：/offken/
============================================================ */


/* ============================================================
メインビジュアル
============================================================ */
.main_visual{
    background-color: #F3FAF3;
    padding: 10px 0 40px;
    margin-bottom: 40px;
    .main_visual__flex{
        display: flex;
        flex-direction: column-reverse;
        gap: 15px;
    }
    .main_visual__desc{
        padding: 0 15px;
        .main_heading{
            font-size: 32px;
            font-weight: bold;
            line-height: 1.4;
            text-align: center;
            color: #2b2b2b;
            font-feature-settings: "palt";
        }
        .main_heading__under_text{
            margin-top: 15px;
            font-size: 16px;
            font-weight: bold;
            text-align: center;
            color: #2b2b2b;
            
            .label__wrapper{
                display: flex;
                justify-content: center;
                gap: 5px;
                margin-bottom: 8px;
                span{
                    background-color: rgba(68, 174, 53, 0.2);
                    padding: 2px 7px ;
                }
            }
            
        }
        .main_heading__sub{
            width: 246px;
            margin: 20px auto 10px;
        }
        h1{
            color:#2b2b2b;
            text-align: center;
            font-size: 16px;
            line-height: 1.4;
            font-weight: bold;
            margin-bottom: 20px;
        }
        .check_heading{
            display: flex;
            flex-direction: column;
            gap: 5px;
            width: fit-content;
            margin: auto;
            p{
                font-weight: bold;
                font-size: 14px;
                line-height: 1.4;
                color: #44AE35;
                position: relative;
                padding-left: 27px;
                margin-bottom: 0;
                width: 100%;
                font-feature-settings: "palt";

                &:before{
                    position: absolute;
                    content: url(/cms/wp-content/themes/shinko/images/mv_check.svg);
                    width: 20px;
                    height: 20px;
                    left: 0;
                    top: 0;
                }

            }
        }
        
        .main_visual__desc__icon__list{
            margin-top: 10px;
            display: flex;
            justify-content: center;
            gap: 8px;

            .icon__list__item{
                /* width: 25%; */
                min-width: 80px;
                border: 2px solid rgba(68, 175, 53, 0.5);
                background-color: #fff;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 6px;
                padding: 6px;
                
                img{
                    width: 20px;
                    height: 20px;
                }
                span{
                    font-size: 9px;
                    text-align: center;
                    color: #44AF35;
                    font-weight: bold;
                    line-height: 1.2;
                    &.text_xs{
                        font-size: 8px;
                    }
                }
            }
        }
    }
    .main_visual__img{
        width: calc(100% - 10px);
        margin-left: auto;
    }
    .main_visual__cta{
        padding-bottom: 0;
    }
}
/* PC */
@media screen and (min-width: 768px){
    .main_visual{
        padding: 30px 15px 60px;
        margin-left: 0;
        margin-bottom: 120px;
        .main_visual__flex{
            flex-direction: row;
            justify-content: center;
            align-items: center;
            gap: clamp(30px, 3vw, 50px);
        }
        .main_visual__desc{
            padding: 0;
            .main_heading{
                /* font-size: 48px; */
                text-align: left;
                font-size: clamp(34px, 3vw, 48px);
            }
            .main_heading__under_text{
                /* font-size: 20px; */
                font-size: clamp(15px, 1.2vw, 20px);
                text-align: left;
                .label__wrapper{
                    flex-direction: flex-start;
                    display: inline-flex;
                    margin-right: 8px;
                    span{

                    }
                }
            }
            .main_heading__sub{
                width: 290px;
                margin: 24px 0 16px;
            }
            h1{
                /* font-size: 18px; */
                font-size: clamp(16px, 1.1vw, 18px);
                margin-bottom: 24px;
                text-align: left;
            }
            .check_heading{
                margin: 0;
                p{
                    font-size: clamp(16px, 1.1vw, 18px);
                }
            }
            
            .main_visual__desc__icon__list{

                .icon__list__item{
                    max-width: 122px;
                    justify-content: center;
                    gap: 8px;
                    width: 25%;

                    img{
                        width: 22px;
                        height: 22px;
                    }
                    span{
                        font-size: clamp(8px, 0.7vw, 12px);
                        &.text_xs{
                            font-size: clamp(8px, 0.7vw, 12px);
                        }
                    }
                }
            }
        }
        .main_visual__img{
            max-width: 780px;
            flex-shrink: 0;
            width: 50%;
            margin-left: 0;
        }
        .main_visual__cta{
        }
    }
}


/* ============================================================
課題解決セクション
============================================================ */
#solution{
    .solution_content{
        .solution_content__item{
            &:not(:last-child){
                margin-bottom: 40px;
            }
            .solution_content__item__list{
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                
            }
            .check_text{
                --check-text-size: 16px;
                --check-text-height: 1.4;
                --check-text-padding-left: 26px;
                --check-icon-size: 20px;
                --check-icon-margin-top: 1px;
                width: 100%;
                
            }
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    #solution{
        .solution_content{
            .solution_content__item{
                
                .solution_content__item__list{
                    gap: 16px 40px;
                    .check_text{
                        --check-icon-size: 22px;
                        --check-icon-margin-top: 2px;
                        --check-text-padding-left: 32px;
                        width: calc(50% - 20px);
                        font-size: 18px;
                    }
                }
                
            }
        }
    }
}

/* ============================================================
実現セクション
============================================================ */
#realization{
    .realization_content{
        display: grid;
        grid-template-columns: 1fr;
        gap: 40px;
        .realization_content__item{
            .realization_content__item__heading{
                margin-top: 16px;
                font-weight: bold;
                font-size: 18px;
                line-height: 1.4;
            }
            p{
                font-size: 14px;
                line-height: 1.6;
                margin-top: 8px;
            }
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    #realization{
        .realization_content{
            grid-template-columns: repeat(3, 1fr);
            .realization_content__item{
                .realization_content__item__heading{
                    font-size: 20px;
                    line-height: 1.5;
                    text-align: center;
                }
                p{
                    font-size: 16px;
                }
            }
        }
    }
}

/* ============================================================
選ばれる理由セクション
============================================================ */
#reason{
    &.--bg{
        background-color: #EBF7EB;
    }
    .reason_content{
        .two_column_content__text{
            .check_text{
                --check-text-size: 14px;
                --check-text-height: 1.4;
                --check-text-padding-left: 26px;
                --check-icon-size: 20px;
                --check-icon-margin-top: 1px;
                &:not(:last-child){
                    margin-bottom: 8px;
                }
            }
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    #reason{
        
        .reason_content{
            .two_column_content__text{
                .check_text{
                    --check-text-size: 16px;
                    --check-icon-size: 22px;
                    --check-icon-margin-top: 2px;
                    --check-text-padding-left: 32px;
                    
                }
            }
        }
    }
}

/* ============================================================
他社とのサービス比較セクション
============================================================ */
#comparison{
    .comparison_content{
        .comparison_table{
            width: 100%;
            border-collapse:separate;
            border-spacing: 0;
            table-layout: fixed;
            color: #2b2b2b;
            
            th,
            td{
                padding: 12px 0;
                border-bottom: 2px solid #d9d9d9;
                background-color: #fff;
                font-size: 12px;
                line-height: 1.5;
                vertical-align: middle;
                text-align: center;
                font-weight: bold;
            }
            thead{
                th{
                    height: 50px;
                    border-bottom: 2px solid #d9d9d9;
                }
                .comparison_table__offken{
                    color: #fff;
                    background-color: #44AE35;
                    border-top: 3px solid #44AE35;
                    border-bottom-color: #44AE35;
                    border-radius: 8px 8px 0 0;
                }
            }
            tbody{
                tr{
                    &:first-child{
                        .comparison_table__offken{
                            font-size: 9px;
                        }
                    }
                    &:last-child{
                        .comparison_table__offken{
                            border-bottom: 3px solid #44AE35;
                            
                        }
                    }
                }
                th,td{
                    line-height: 1.2;
                }
                th{
                    width: 29%;
                    background-color: #F3FAF3;
                    color: #44AE35;
                }
                td{
                    width: 35%;
                }
                
            }
            .comparison_table__blank{
                width: 30%;
                background-color: transparent;
                border-bottom-color: #F3FAF3;
            }
            .comparison_table__general{
                color: #44AE35;
                background-color: #f5f5f5;
                border-radius: 8px 8px 0 0;
            }
            .comparison_table__offken{
                width: 35%;
                border-right: 3px solid #44AE35;
                border-left: 3px solid #44AE35;
            }
            .comparison_table__mark{
                display: block;
                line-height: 1;
            }
            span{
                font-size: 10px;
            }
        }
    }
}

/* PC */
@media screen and (min-width: 768px){
    #comparison{
        .comparison_content{
            .comparison_table{
                position: relative;
                &:before{
                    content: "";
                    position: absolute;
                    top: 0;
                    left: 30%;
                    width: 35%;
                    bottom: -3px;
                    border: 5px solid #44AE35;
                    pointer-events: none;
                    z-index: 2;
                    border-radius: 8px 8px 0 0;
                }
                th,
                td{
                    height: 80px;
                    padding: 14px 18px;
                    font-size: 18px;
                }
                thead{
                    th{
                        height: 78px;
                        font-size: 18px;
                    }
                    .comparison_table__offken{
                        border-top: 5px solid #44AE35;
                    }
                }
                tbody{
                    tr{
                        &:first-child{
                            .comparison_table__offken{
                                font-size: 16px;
                            }
                        }
                        &:last-child{
                            .comparison_table__offken{
                                border-bottom: 0;
                                
                            }
                        }
                    }
                    th,td{
                        line-height: 1.5;
                    }
                }
                
                .comparison_table__offken{
                    border-right: 5px solid #44AE35;
                    border-left: 5px solid #44AE35;
                }
                span{
                    font-size: 14px;
                }
            }
        }
    }
}

/* ============================================================
健康経営をはじめるなら「オフけん」セクション
============================================================ */

#start{
    &.--bg{
        background-color: #EBF7EB;
    }
    .start_content{
        .start_content_heading{
            font-size: 16px;
            line-height: 1.5;
            font-weight: bold;
            text-align: center;

        }
        .start_content_images{
            display: grid;
            grid-template-columns: 1fr;
            place-items: center;
            gap: 16px;
            margin-top: 48px;

            .start_content_images__item{
                width: 100%;
                max-width: 300px;
            }
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    
    #start{
        .start_content{
            .start_content_heading{
                font-size: 18px;

            }
            .start_content_images{
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 40px;
                margin-top: 40px;

                .start_content_images__item{
                    width: auto;
                    max-width: 320px;
                }
            }
        }
    }
}
/* ============================================================
導入までの流れセクション
============================================================ */
#flow{
    .heading_lv1{
        margin-bottom: 64px;
        span{
            font-size: 16px;
            display: block;
            margin-bottom: 8px;
            font-weight: 400;
        }
    }
    .introduction_flow__item{
        .check_text_list{
            margin-top: 16px;
            .check_text{
                color: #44AE35;
                font-size: 14px;
                font-weight: bold;
                --check-text-padding-left:24px;
                &:before{
    
                }
                &:not(:last-child){
                    margin-bottom: 8px;
                }
            }
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    #flow{
        .heading_lv1{
            margin-bottom: 100px;
            span{
                font-size: 18px;
            }
        }
        .introduction_flow__item{
            padding: 64px 20px 30px;
            .introduction_flow__item__heading{
                display: flex;
                justify-content: center;
                align-items: center;
            }
        }
    }
}


/* ============================================================
オフけんのサービスセクション
============================================================ */
#other_service{
    &.--bg{
        background-color: #EBF7EB;
    }
    .service_list {
        gap:40px 24px;
        
        .one_fourth{
            background:#fff;
            border-radius:8px;
            box-shadow:0px 1px 6px -3px rgba(0,0,0,.5);
            overflow:hidden;
            img {
                aspect-ratio:1.66/1;
                object-fit:cover;
                width:100%
            }
            a{
                height: 100%;
                display: block;
            }
            div{
                padding:8px 24px 32px;
                display: flex;
                flex-direction: column;
                h4 {
                    text-align:left;
                    display:inline-flex;
                    align-items:center;
                    height:3.2em;
                    line-height:1.414;
                    font-size:16px;
                    color: #006600;
                    max-inline-size: max-content;
                    margin-inline: auto;
                    text-align: center;
                }
                
                .service_list p span {
                    text-align: right;
                    display: block;
                    color: #45B035;
                    font-weight: bold;
                    font-size: 14px;
                    margin-top: 20px;
                }
                p {
                    text-align:left;
                    color:#2b2b2b;
                    font-size:14px;
                    
                }
                .text_link{
                    margin-top: 20px;
                    text-align: right;
                    font-weight: bold;
                }
            }
        }
    }

    @media screen and (min-width: 580px) {
        .service_list {
            gap:32px 24px;
            .one_fourth{
                width:calc(50% - 12px);
            }
        }
    }
    @media screen and (min-width: 768px) {
        .service_list{
            .one_fourth{
                div {
                    h4 {
                        font-size: 18px;
                    }
                }
            }
        }  
    }

    @media screen and (min-width: 920px) {
        .service_list {
            gap:32px 32px;
            .one_fourth{
                width:calc(25% - 25px);
                transition:.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
                box-shadow:0px 0px 6px -3px rgba(0,0,0,.5);
                div{
                    p{
                        font-size:16px;
                        line-height: 1.7;
                    }
                }
                &:hover{
                    box-shadow:0px 0px 6px -5px rgba(0,0,0,.8);
                    .text_link{
                        filter: brightness(0.7);
                    }
                }

            }
        }
    
    }
}





/* ============================================================
健康経営とは？セクション
============================================================ */
#whatis{
    .kenko_keiei_content{
        .kenko_keiei_desc{
            font-size: 16px;
            line-height: 1.5;
            font-weight: bold;
        }
        .kenko_keiei_img{
            margin: 32px auto 0;
            display: flex;
            justify-content: center;
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    #whatis{
        .kenko_keiei_content{
            .kenko_keiei_desc{
                font-size: 18px;
                text-align: center;
            }
            .kenko_keiei_img{
                margin-top: 64px;
                max-width: 800px;
                width: 100%;
            }
        }
    }
}

/* ============================================================
バナーセクション
============================================================ */
.banner_section{
    .banner_content{
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
}


/* ============================================================
sticky_btn
============================================================ */

.sticky_btn{
    position: fixed;
    right: 0;
    bottom: 80px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all .65s;
    &.isActive {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    img{
        width: 120px;
        height: 60px;
        margin-left: auto;
    }
}
/* PC */
@media screen and (min-width: 768px){
    .sticky_btn{
        right: 0;
        bottom: auto;
        bottom: 100px;
        img{
            width: 240px;
            height: 120px;
        }
    }
}
