/* ============================================================
オフけん食事診断用CSS
URL：/offken/shokuji_shindan/
============================================================ */


/* ============================================================
共通
============================================================ */


/* ============================================================
メインビジュアル
============================================================ */
.main_visual{
    background-color: #E3FBDF;
    margin-bottom: 48px;
    display: flex;
    flex-direction: column-reverse;
    
    .main_visual__desc{
        padding: 24px 16px 48px;
        .main_heading__sub{
            font-size: 18px;
            line-height: 1.5;
            font-weight: bold;
            text-align: center;
            color: #123987;
        }
        .main_heading{
            width: 100%;
            margin-top: 16px;
            img{
                width: 100%;
            }
        }
        .main_visual__text{
            margin-top: 24px;
            font-weight: bold;
            font-size: 14px;
            line-height: 1.7;
        }
        .main_visual__card__wrapper{
            margin-top: 16px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 4px;
            .main_visual__card{
                background-color: #fff;
                border-radius: 8px;
                padding: 14px 0 13px;
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
                font-size: 16px;
                color: #44AE35;
                line-height: 1.3;
                text-align: center;
                font-weight: bold;
                span{
                    font-size: 12px;
                }
            }
        }
        .btn_wrapper{
            margin-top: 48px;
        }
    }
    .main_visual__img{
        overflow: hidden;
        picture{
            display: block;
            width: 100%;
        }
        img{
            display: block;
            width: 100%;
            height: auto;
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    .main_visual{
        margin-bottom: 72px;
        flex-direction: row;
        gap: 48px;
        height: 630px;
        .main_visual__desc{
            padding: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            width: 45%;
            max-width: 608px;
            min-width: 413px;
            margin-left: clamp(80px, 7vw, 156px);
            .main_heading__sub{
                font-size: 24px;
                text-align: left;
            }
            .main_heading{
                max-width: 608px;
                margin-top: 24px;
                
            }
            .main_visual__text{
                margin-top: 36px;
                font-size: 18px;
            }
            .main_visual__card__wrapper{
                grid-template-columns: repeat(3, minmax(0, 150px));
                margin-top: 24px;
                gap: 16px;
                .main_visual__card{
                    
                    padding: 14px 0 13px;
                    font-size: 18px;
                    max-width: 150px;
                    span{
                        font-size: 14px;
                    }
                }
            }
            .btn_wrapper{
                align-items: flex-start;
            }
            
        }
        .main_visual__img{
            height: 100%;
            width: 100%;
            min-width: 0;
            picture{
                height: 100%;
            }
            img{
                width: 100%;
                height: 100%;
                max-width: none;
                object-fit: cover;
                object-position: left top;
            }
        }
    }
}
@media screen and (min-width: 1541px){
    .main_visual{
        height: 750px;
    }
}

/* ============================================================
problem_section
============================================================ */
.problem_section{
    .problem_content{
        display: flex;
        flex-direction: column;
        gap: 40px;
        .problem_content__item{
            width: 100%;
            .check_text{
                &:not(:last-child){
                    margin-bottom: 8px;
                }
            }
        }
    }
    
}
/* PC */
@media screen and (min-width: 768px){
    .problem_section{
        .problem_content{
            flex-direction: row;
            .problem_content__item{
                width: calc(50% - 20px);
                .check_text{
                    font-size: 18px;
                }
            }
        }
        
    }
}

/* ============================================================
solution_section
============================================================ */
.solution_section{
    .solution_content{
        display: flex;
        flex-direction: column;
        gap: 16px;
        .solution_content__item{
            width: 100%;
            padding: 32px 24px;
            background-color: #E0F2DE;
            border-radius: 8px;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
            .solution_content__item__img{
                width: 80px;
                height: 80px;
                background-color: #fff;
                border-radius: 50%;
                border-radius: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
            }
            .solution_content__item__desc{
                text-align: center;
                font-size: 16px;
                font-weight: bold;
                line-height: 1.6;
                color: #44AE35;
            }
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    .solution_section{
        .solution_content{
            flex-direction: row;
            justify-content: center;
            flex-wrap: wrap;
            gap: 24px 16px;
            .solution_content__item{
                width: 320px;
                padding: 40px 24px;
                gap: 16px;
            }
        }
    }
}

/* ============================================================
feature_section
============================================================ */
.feature_section{
    &.--bg{
        background-color: #E3FBDF;
    }
}

/* ============================================================
flow_section
============================================================ */
.flow_section{
    .flow_content{
        display: flex;
        flex-direction: column;
        gap: 48px;
        .flow_content__card{
            border-radius: 8px;
            border: 3px solid #89CF81;
            position: relative;
            &:not(:last-child){
                &:before{
                    position: absolute;
                    left: 50%;
                    bottom: -34px;
                    content: "";
                    transform: translateX(-50%);
                    width: 22px;
                    height: 12px;
                    background-image: url(/offken/images/shokuji/flow_arrow_sp.svg);
                    background-repeat: no-repeat;
                    background-size: contain;
                }
            }
            
            .flow_content__card__img{
                position: relative;
                overflow: hidden;
                img{
                    border-top-left-radius: 4px;
                    border-top-right-radius: 4px;
                }
                .card_num{
                    width: 44px;
                    height: 44px;
                    position: absolute;
                    left: 0;
                    top: -3px;
                    background-color: #89CF81;
                    border-bottom-right-radius: 8px;
                    font-size: 24px;
                    line-height: 1;
                    font-weight: bold;
                    color: #fff;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                }
            }
            .flow_content__card__desc{
                padding: 24px 24px 32px;
                .card_heading{
                    font-size: 18px;
                    line-height: 1.2;
                    font-weight: bold;
                    text-align: center;
                    color: #44AE35;
                }
                p{
                    margin-top: 8px;
                    line-height: 1.5;
                    font-size: 14px;
                }
            }
        }

    }
}
/* PC */
@media screen and (min-width: 768px){
    .flow_section{
        .flow_content{
            flex-direction: row;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 70px;
            .flow_content__card{

                &:not(:last-child){
                    &:before{
                        position: absolute;
                        left: auto;
                        bottom: auto;
                        top: 50%;
                        right: calc((-70px / 2) - 7px);
                        content: "";
                        transform: translateY(-50%);
                        width: 12px;
                        height: 27px;
                        background-image: url(/offken/images/shokuji/flow_arrow.svg);
                    }
                }
                
                
                .flow_content__card__desc{
                    .card_heading{
                        font-size: 20px;
                    }
                    p{
                        margin-top: 16px;
                        font-size: 16px;
                    }
                }
            }

        }
    }
}

/* ============================================================
measurement_section
============================================================ */

.measurement_section{
    .measurement_content{
        .table_firstline_blue{
            &.--column3{
                tr {
                    &.first_line {
                        th {
                            
                            &:nth-child(1) {
                                width: 30%;
                            }

                            &:nth-child(2) {
                                width: 34%;
                            }

                            &:nth-child(3) {
                                width: 36%;
                            }
                        }
                    }
                }
            }
        }
    }
}

/* ============================================================
price_section
============================================================ */
.price_section{
    .btn_wrapper{
        margin-top: 64px;
    }
}
/* SP Only */
@media screen and (max-width: 767px){
    .price_section{
        .price_content{
            .table_firstline_blue{
                tr:not(.first_line){
                    th,td{
                        font-size: 12px;
                    }
                    td{
                        text-align: left;
                    }
                    
                }
            }
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    .price_section{
        .btn_wrapper{
            margin-top: 80px;
        }
    }
}
/* ============================================================
flow_2_section
============================================================ */
.flow_2_section{
    .heading_lv1 {
        margin-bottom: 64px;
    }
    .flow_2_content{
        .introduction_flow__item__heading{
            display: flex;
            justify-content: center;
            align-items: center;
        }
    }
}
/* PC */
@media screen and (min-width: 768px){
    .flow_2_section{
        .heading_lv1 {
            margin-bottom: 100px;
        }
    }
}

/* ============================================================
staff_section
============================================================ */
.staff_section{
    .btn_wrapper{
        margin-top: 64px;
    }
}
/* PC */
@media screen and (min-width: 768px){
    .staff_section{
        .btn_wrapper{
            margin-top: 80px;
        }
    }
}

/* ============================================================
offken_service_section
============================================================ */
