/* ============================================================
課題解決ページ用CSS
============================================================ */
.ploblem_solution{
    margin-bottom: 120px;

    .back_btn{
        width: 160px;
        height: 36px;
        min-width: auto;
        padding: 0;
        font-size: 12px;
        text-align: center;
        border-radius: 8px;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        line-height: 1.3;
        transition: background-color 0.3s linear;

        i{
            font-size: 10px;
            position: absolute;
            left: 10px;
            top: 50%;
            right: auto;
            transform: translateY(-50%) rotate(180deg);
        }
    }
    .footer_back_btn{
        margin: 64px auto 0 ;
    }

    /* 共有ここから */
    .main_visual{
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        min-height: 510px;
        margin-bottom: 64px;
        .back_btn{
            margin-top: 32px;
            margin-left: 16px;
        }
        .main_visual__desc{
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            gap: 16px;
            padding: 0 16px;
            margin-top: 48px;
            .main_heading__attachment{
                font-weight: bold;
                font-size: 24px;
                line-height: 1.2;
                font-feature-settings: "palt";
            }
            .main_heading{
                font-weight: bold;
                font-size: 28px;
                line-height: 1.5;
                margin-top: 0;
                font-feature-settings: "palt";
            }
        }
        .main_visual__image{
            width: 200px;
            flex: 0 0 auto;
            margin: auto auto 40px;
            z-index: 1;
            position: relative;
            img{
                display: block;
                width: 100%;
            }
        }
    }
    
    .summary_desc_block{
        margin-top: 80px;
    }
    .survey_block{
        margin-bottom: 48px;
    }
    .comparison_box{
        margin-top: 48px;
    }
    /* SP Only */
    @media screen and (max-width: 767px){
        .mv_under_heading{
            font-size: 18px;
            line-height: 1.7;
        }
    }
    /* PC */
    @media screen and (min-width: 768px){
        margin-bottom: 160px;
        .back_btn{
            width: 200px;
            height: 45px;
            font-size: 14px;

            i{
                font-size: 12px;
                left: 15px;
            }
        }
        .footer_back_btn{
            margin: 80px auto 0;
        }
        .main_visual{
            display: grid;
            grid-template-columns: minmax(0, 1fr) clamp(200px, 15.7vw, 300px);
            column-gap: clamp(24px, 4vw, 80px);
            align-items: center;
            /* padding-right: clamp(40px, 18.75vw, 360px); */
            padding-right: 14.06vw;
            min-height: 425px;
            margin-bottom: 120px;
            .back_btn{
                position: absolute;
                top: 32px;
                left: 4.79vw;
                margin: 0;
            }
            .main_visual__desc{
                min-width: 0;
                padding: 0;
                margin-left: 14.06vw;
                margin-top: 0;
                position: relative;
                top: auto;
                transform: none;
                .main_heading__attachment{
                    font-size: clamp(24px, 1.67vw, 32px);
                }
                .main_heading{
                    font-size: clamp(28px, 2vw, 40px);
                }
            }
            .main_visual__image{
                position: relative;
                width: clamp(200px, 15.7vw, 300px);
                max-width: 300px;
                align-self: end;
                top: auto;
                right: auto;
                margin: 0 0 64px;
                transform: none;
            }
        }
        .summary_desc_block{
            margin-top: 112px;
        }
        .survey_block{
            margin-bottom: 64px;
        }
        .comparison_box{
            margin-top: 80px;
        }
    }
    
    /* 共有ここまで */



    /* オフめしページ特有ここから */
    &.--offmeshi{
        .back_btn{
            border: 2px solid #ED6D00;
            color: #ED6D00;
            background-color: #fff;
            &:hover{
                background-color: #FFF7EB;
            }
            i{
                &:before{
                    color: #ed6d00;
                }
            }
        }
        .main_visual{
            background-color: #FEECC9;


            .mv__deco{
                position: absolute;
                display: block;
                background-repeat: no-repeat;
                background-size: contain;
                pointer-events: none;
                z-index: 0;
                &.--01{
                    width: 418px;
                    aspect-ratio: 685.89 / 600.72;
                    bottom: -141px;
                    left: 50%;
                    transform: translateX(-50%);
                    background-image: url("/images/ploblem-solution/offmeshi/mv_deco_01.svg");
                }
                &.--02{
                    display: none;
                    aspect-ratio: 469.29 / 425.25;
                    background-image: url("/images/ploblem-solution/offmeshi/mv_deco_02.svg");
                }
                &.--03{
                    width: 246px;
                    aspect-ratio: 245.91 / 221.83;
                    top: -107px;
                    right: -147px;
                    background-image: url("/images/ploblem-solution/offmeshi/mv_deco_03.svg");
                }
                &.--04{
                    width: 47px;
                    aspect-ratio: 74.85 / 67.82;
                    top: 99px;
                    right: 101px;
                    background-image: url("/images/ploblem-solution/offmeshi/mv_deco_04.svg");
                }
            }

            .main_heading__attachment{
                color: #ED6D00;
            }
        }
        .common_section{
            &.--bg{
                --bg--color: #FFF7EB;
            }
        }

        /* PC */
        @media screen and (min-width: 768px){
            .main_visual{

                .mv__deco.--01{
                    width: 686px;
                    top: 137px;
                    right: 0;
                    bottom: auto;
                    left: auto;
                    transform: none;
                }
                .mv__deco.--02{
                    display: block;
                    width: 469px;
                    top: -143px;
                    left: -188px;
                }
                .mv__deco.--03{
                    width: 246px;
                    top: -28px;
                    right: 38px;
                }
                .mv__deco.--04{
                    width: 75px;
                    top: 257px;
                    right: 103px;
                }
            }
        }
    }
    /* オフめしページ特有ここまで */


    
}
