/*-------------------- pc --------------------*/
/*---------- base > width:1440px ----------*/
:root{
    --insurance_font_base:"IBM Plex Sans JP", sans-serif;
    --insurance_font_en:"Jost", sans-serif;
    --insurance_font_mincho:"Shippori Mincho B1", serif;
    --insurance_color_text:#32373E;
    --insurance_color_text_light:#6B6F75;
    --insurance_color_text_dark:#20242a;
    --insurance_color_red:#C50018;
    --insurance_color_white:#ffffff;
    --insurance_color_black:#000000;
    --insurance_color_bg:#F0F1F4;
    --insurance_color_block_bg:#E2E4E7;
    --insurance_color_bg_light:#f7f7f7;
    --insurance_color_line:#CCCFD1;
    --insurance_color_border:#c5cbd1;
    --insurance_color_maker_border:#d9dde1;
    --insurance_color_link:#006ad4;
    --insurance_color_overlay_start:rgba(0, 0, 0, 0.04);
    --insurance_color_overlay_end:rgba(0, 0, 0, 0.48);
}

.first_area {
    padding: 0 16px;

    .first_wrap {
        max-width: 1120px;
        margin: 0 auto;
    }
}

.l_insurance_about_area{
    padding: 0px 16px;
    font-family: var(--insurance_font_base);

    .l_insurance_about_wrap{
        max-width: 1120px;
        margin: 0px auto;
    }

    .p_insurance_about_head{
        margin-top: 45px;
        text-align: center;
    }

    .p_insurance_about_caption{
        margin: 0px;
        color: var(--insurance_color_text);
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
    }

    .p_insurance_about_lead{
        margin: 17px 0px 0px;
        color: var(--insurance_color_red);
        font-size: 22px;
        font-weight: 600;
        line-height: 33px;
    }

    .p_insurance_about_image{
        display: flex;
        justify-content: center;
        max-width: 800px;
        margin: 41px auto 0px;
        padding: 46px 0;
        border: 1px solid var(--insurance_color_border);
        border-radius: 4px;
        background: var(--insurance_color_white);

        img{
            display: block;
            width: 100%;
            max-width: 359px;
            height: auto;
        }
    }

    .p_insurance_about_body{
        max-width: 800px;
        margin: 48px auto 0px;
        color: var(--insurance_color_text);

        p{
            margin: 0px;
            font-size: 16px;
            font-weight: 500;
            line-height: 28px;
        }

        p + p{
            margin-top: 24px;
        }

        .p_insurance_about_note{
            color: var(--insurance_color_text_light);
            font-size: 12px;
            line-height: 18px;
        }

        .p_insurance_about_second{
            margin-top: 58px;
        }
    }
}

.l_consociation_related_area{
    padding: 0 16px;
    margin-top: 124px;
    font-family: var(--insurance_font_base);

    .l_consociation_related_wrap{
        max-width: 1120px;
        margin: 0px auto;
    }

    .p_consociation_related_list{
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
        margin-top: 48px;
    }

    .p_consociation_related_card{
        position: relative;
        display: block;
        aspect-ratio: 360 / 240;
        border-radius: 4px;
        overflow: hidden;
        color: var(--insurance_color_white);
        text-decoration: none;

        &:hover{
            opacity:0.7;
            
            .p_consociation_related_image{
                transform: scale(1.04);
            }
        }
    }

    .p_consociation_related_image{
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .p_consociation_related_card{
        picture{
            display: block;
            width: 100%;
            height: 100%;
        }
    }

    .p_consociation_related_overlay{
        position: absolute;
        inset: 0px;
        background: linear-gradient(180deg, var(--insurance_color_overlay_start) 25%, var(--insurance_color_overlay_end) 100%);
    }

    .p_consociation_related_title{
        position: absolute;
        left: 16px;
        bottom: 8px;
        z-index: 1;
        font-size: 20px;
        font-weight: 600;
        line-height: 30px;
    }

    .p_consociation_related_arrow{
        position: absolute;
        right: 16px;
        bottom: 16px;
        z-index: 1;
        width: 24px;
        height: 24px;
    }
}

.l_insurance_loan_area{
    padding: 0px 16px;
    margin-top: 118px;
    font-family: var(--insurance_font_base);

    .l_insurance_loan_wrap{
        max-width: 1120px;
        margin: 0px auto;
    }

    .p_insurance_loan_head{
        margin-top: 45px;
        text-align: center;
    }

    .p_insurance_loan_caption{
        margin: 0px;
        color: var(--insurance_color_text);
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
    }

    .p_insurance_loan_lead{
        margin: 17px 0px 0px;
        color: var(--insurance_color_red);
        font-size: 22px;
        font-weight: 600;
        line-height: 33px;
    }

    .p_insurance_loan_image{
        display: flex;
        justify-content: center;
        max-width: 800px;
        margin: 41px auto 0px;
        padding: 64px 40px 56px;
        border: 1px solid var(--insurance_color_border);
        border-radius: 4px;
        background: var(--insurance_color_white);

        img{
            display: block;
            width: 100%;
            max-width: 520px;
            height: auto;
        }
    }

    .p_insurance_loan_body{
        max-width: 800px;
        margin: 48px auto 0px;
        color: var(--insurance_color_text);

        p{
            margin: 0px;
            font-size: 16px;
            font-weight: 500;
            line-height: 28px;
        }

        p + p{
            margin-top: 28px;
        }

        .p_insurance_loan_note{
            margin-top: 24px;
            color: var(--insurance_color_text_light);
            font-size: 12px;
            line-height: 18px;
        }
    }
}





/*-------------------- pc-spの間 --------------------*/
/*---------- base > width:1440px ----------*/
@media(max-width:1439px) and (min-width:769px){
    .first_area {
        padding: 0 1.111vw;
    
        .first_wrap {
            /* max-width: 77.778vw; */
            margin: 0 auto;
        }
    }
    
    .l_insurance_about_area{
        padding: 0 1.111vw;
        font-family: var(--insurance_font_base);
    
        .l_insurance_about_wrap{
            /* max-width: 77.778vw; */
            margin: 0 auto;
        }
    
        .p_insurance_about_head{
            margin-top: 3.125vw;
            text-align: center;
        }
    
        .p_insurance_about_caption{
            margin: 0;
            color: var(--insurance_color_text);
            font-size: 1.111vw;
            font-weight: 600;
            line-height: 1.667vw;
        }
    
        .p_insurance_about_lead{
            margin: 1.181vw 0 0;
            color: var(--insurance_color_red);
            font-size: 1.528vw;
            font-weight: 600;
            line-height: 2.292vw;
        }
    
        .p_insurance_about_image{
            display: flex;
            justify-content: center;
            /* max-width: 55.556vw; */
            margin: 2.847vw auto 0;
            padding: 3.194vw 0;
            border: 0.069vw solid var(--insurance_color_border);
            border-radius: 0.278vw;
            background: var(--insurance_color_white);
    
            img{
                display: block;
                width: 100%;
                /* max-width: 24.931vw; */
                height: auto;
            }
        }
    
        .p_insurance_about_body{
            /* max-width: 55.556vw; */
            margin: 3.333vw auto 0;
            color: var(--insurance_color_text);
    
            p{
                margin: 0;
                font-size: 1.111vw;
                font-weight: 500;
                line-height: 1.944vw;
            }
    
            p + p{
                margin-top: 1.667vw;
            }
    
            .p_insurance_about_note{
                color: var(--insurance_color_text_light);
                font-size: 0.833vw;
                line-height: 1.25vw;
            }
    
            .p_insurance_about_second{
                margin-top: 4.028vw;
            }
        }
    }
    
    .l_consociation_related_area{
        padding: 0 1.111vw;
        margin-top: 8.611vw;
        font-family: var(--insurance_font_base);
    
        .l_consociation_related_wrap{
            /* max-width: 77.778vw; */
            margin: 0 auto;
        }
    
        .p_consociation_related_list{
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1.389vw;
            margin-top: 3.333vw;
        }
    
        .p_consociation_related_card{
            position: relative;
            display: block;
            aspect-ratio: 360 / 240;
            border-radius: 0.278vw;
            overflow: hidden;
            color: var(--insurance_color_white);
            text-decoration: none;
    
            &:hover{
                opacity:0.7;
                
                .p_consociation_related_image{
                    transform: scale(1.04);
                }
            }
        }
    
        .p_consociation_related_image{
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }
    
        .p_consociation_related_card{
            picture{
                display: block;
                width: 100%;
                height: 100%;
            }
        }
    
        .p_consociation_related_overlay{
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, var(--insurance_color_overlay_start) 25%, var(--insurance_color_overlay_end) 100%);
        }
    
        .p_consociation_related_title{
            position: absolute;
            left: 1.111vw;
            bottom: 0.556vw;
            z-index: 1;
            font-size: 1.389vw;
            font-weight: 600;
            line-height: 2.083vw;
        }
    
        .p_consociation_related_arrow{
            position: absolute;
            right: 1.111vw;
            bottom: 1.111vw;
            z-index: 1;
            width: 1.667vw;
            height: 1.667vw;
        }
    }
    
    .l_insurance_loan_area{
        padding: 0 1.111vw;
        margin-top: 8.194vw;
        font-family: var(--insurance_font_base);
    
        .l_insurance_loan_wrap{
            /* max-width: 77.778vw; */
            margin: 0 auto;
        }
    
        .p_insurance_loan_head{
            margin-top: 3.125vw;
            text-align: center;
        }
    
        .p_insurance_loan_caption{
            margin: 0;
            color: var(--insurance_color_text);
            font-size: 1.111vw;
            font-weight: 600;
            line-height: 1.667vw;
        }
    
        .p_insurance_loan_lead{
            margin: 1.181vw 0 0;
            color: var(--insurance_color_red);
            font-size: 1.528vw;
            font-weight: 600;
            line-height: 2.292vw;
        }
    
        .p_insurance_loan_image{
            display: flex;
            justify-content: center;
            /* max-width: 55.556vw; */
            margin: 2.847vw auto 0;
            padding: 4.444vw 2.778vw 3.889vw;
            border: 0.069vw solid var(--insurance_color_border);
            border-radius: 0.278vw;
            background: var(--insurance_color_white);
    
            img{
                display: block;
                width: 100%;
                /* max-width: 36.111vw; */
                height: auto;
            }
        }
    
        .p_insurance_loan_body{
            /* max-width: 55.556vw; */
            margin: 3.333vw auto 0;
            color: var(--insurance_color_text);
    
            p{
                margin: 0;
                font-size: 1.111vw;
                font-weight: 500;
                line-height: 1.944vw;
            }
    
            p + p{
                margin-top: 1.944vw;
            }
    
            .p_insurance_loan_note{
                margin-top: 1.667vw;
                color: var(--insurance_color_text_light);
                font-size: 0.833vw;
                line-height: 1.25vw;
            }
        }
    }
}





/*-------------------- sp --------------------*/
/*---------- デザインベースはwidth:375px ----------*/
@media(max-width:768px){
    .first_area {
        
        .first_wrap {
    
            .common_title{
                text-align: center;
            }
        }
    }
    
    .l_insurance_about_area{
        padding: 0 4.267vw;
    
        .p_insurance_about_head{
            margin-top: 7.733vw;
        }
    
        .p_insurance_about_caption{
            font-size: 3.733vw;
            line-height: 5.333vw;
        }
    
        .p_insurance_about_lead{
            margin-top: 4.533vw;
            font-size: 5.333vw;
            line-height: 8vw;
        }
    
        .p_insurance_about_image{
            margin-top: 6.667vw;
            padding: 8vw 2.667vw;
    
            img{
                max-width: 56.533vw;
            }
        }
    
        .p_insurance_about_body{
            margin-top: 8.533vw;
    
            p{
                font-size: 3.733vw;
                line-height: 6.4vw;
            }
    
            p + p{
                margin-top: 4.533vw;
            }
    
            .p_insurance_about_note{
                font-size: 3.2vw;
                line-height: 4.8vw;
            }
    
            .p_insurance_about_second {
                margin-top: 11.2vw;
            }
        }
    }
    
    .l_consociation_related_area{
        margin-top: 17.067vw;
    
        .p_consociation_related_list{
            grid-template-columns: 1fr;
            gap: 6.4vw;
            margin-top: 8.533vw;
        }
    
        .p_consociation_related_card{
            aspect-ratio: 343 / 120;
        }
    
        .p_consociation_related_title{
            left: 4.267vw;
            bottom: 1.6vw;
            font-size: 4.267vw;
            line-height: 6.4vw;
        }
    
        .p_consociation_related_arrow{
            right: 4.267vw;
            bottom: 3.2vw;
            width: 5.333vw;
            height: 5.333vw;
        }
    }
    
    .l_insurance_loan_area{
        padding: 0 4.267vw;
        margin-top: 17.067vw;
    
        .p_insurance_loan_head{
            margin-top: 7.733vw;
        }
    
        .p_insurance_loan_caption{
            font-size: 3.733vw;
            line-height: 5.333vw;
        }
    
        .p_insurance_loan_lead{
            margin-top: 4.533vw;
            font-size: 5.333vw;
            line-height: 8vw;
        }
    
        .p_insurance_loan_image{
            margin-top: 6.667vw;
            padding: 10.933vw 2.667vw 9.867vw;
    
            img{
                max-width: 78.4vw;
            }
        }
    
        .p_insurance_loan_body{
            margin-top: 8.267vw;
    
            p{
                font-size: 3.733vw;
                line-height: 6.4vw;
            }
    
            p + p{
                margin-top: 6.4vw;
            }
    
            .p_insurance_loan_note{
                margin-top: 4.533vw;
                font-size: 3.2vw;
                line-height: 4.8vw;
            }
        }
    }
}
