/*-------------------- pc --------------------*/
/*---------- base > width:1440px ----------*/
:root{
    --consociation_font_base:"IBM Plex Sans JP", sans-serif;
    --consociation_font_en:"Jost", sans-serif;
    --consociation_font_mincho:"Shippori Mincho B1", serif;
    --consociation_color_text:#32373E;
    --consociation_color_text_light:#6B6F75;
    --consociation_color_text_dark:#20242a;
    --consociation_color_red:#C50018;
    --consociation_color_white:#ffffff;
    --consociation_color_black:#000000;
    --consociation_color_bg:#F0F1F4;
    --consociation_color_block_bg:#E2E4E7;
    --consociation_color_bg_light:#f7f7f7;
    --consociation_color_line:#CCCFD1;
    --consociation_color_border:#c5cbd1;
    --consociation_color_maker_border:#d9dde1;
    --consociation_color_link:#006ad4;
    --consociation_color_overlay_start:rgba(0, 0, 0, 0.04);
    --consociation_color_overlay_end:rgba(0, 0, 0, 0.48);
}

.first_area {
    padding: 0 16px;

    .first_wrap {
        max-width: 1120px;
        margin: 0 auto;
    }
}
.l_consociation_about_area{
    padding: 0px 16px;
    font-family: var(--consociation_font_base);

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

    .p_consociation_intro{
        margin-top: 32px;
        text-align: center;
    }

    .p_consociation_brandmark{
        width: 370px;
        margin: 0px auto 32px;

        img{
            display: block;
            width: 100%;
            height: auto;
        }
    }

    .p_consociation_lead{
        max-width: 800px;
        margin: 0px auto;
        color: var(--consociation_color_text);
        font-size: 16px;
        font-weight: 500;
        line-height: 28px;
        text-align: left;
    }

    .p_consociation_brand_box{
        margin-top: 40px;
        padding: 45px 40px 48px;
        background: var(--consociation_color_block_bg);
        border-radius: 4px;
        box-sizing: border-box;
    }

    .p_consociation_brand_title{
        margin: 0px 0px 28px;
        color: var(--consociation_color_text);
        font-size: 14px;
        font-weight: 600;
        line-height: 24px;
        text-align: center;
    }

    .p_consociation_brand_grid{
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 16px;
    }

    .p_consociation_brand_item{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 65px;
        background: var(--consociation_color_white);
        border-radius: 4px;
        box-sizing: border-box;

        img{
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }
    }

    .p_consociation_text_block{
        max-width: 800px;
        margin: 48px auto 0px;
        color: var(--consociation_color_text);
        font-size: 16px;
        font-weight: 500;
        line-height: 28px;

        .p_consociation_note{
            font-size: 12px;
            line-height: 18px;
            margin-top: 24px;
            color:#6B6F75;
        }
    }

    .p_consociation_panel_list{
        margin-top: 66px;
    }

    .p_consociation_panel{
        margin-top: 24px;
        background: var(--consociation_color_white);
        border: 1px solid var(--consociation_color_border);
        border-radius: 4px;
        overflow: hidden;

        &:first-child{
            margin-top: 0px;
        }
    }

    .p_consociation_panel_title{
        margin: 0px;
        padding: 17px 25px 15px;
        background: var(--consociation_color_text);
        color: var(--consociation_color_white);
        font-family: var(--consociation_font_base);
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
    }

    .p_consociation_panel_body{
        padding: 32px 23px 24px;
        color: var(--consociation_color_text);
        font-size: 16px;
        line-height: 24px;
        font-weight: 500;

        p{

            &:last-child{
                margin-bottom: 0px;
            }
        }
    }

    .p_consociation_order_list{
        margin: 0px;
        padding-left: 20px;

        li{
            margin-top: 21px;

            &:first-child{
                margin-top: 0px;
            }
        }
    }

    .p_consociation_text_link,
    .p_consociation_inline_link{
        color: var(--consociation_color_link);
        text-decoration: underline;
        font-size: 16px;
        line-height: 24px;
        font-weight: 500;
        transition:0.3s;

        &:hover{
            opacity:0.7;
        }
    }

    .p_consociation_text_link{
        display: inline-flex;
        align-items: center;
        transition:0.3s;

        &:hover{
            opacity:0.7;
        }
        img{
            width: 22px;
            height: 16px;
            object-fit: contain;
        }
    }

    .p_consociation_organization_image{
        max-width: 960px;
        margin: 24px auto 0px;

        picture{
            display: block;
        }

        img{
            display: block;
            width: 100%;
            height: auto;
        }
    }
}

.l_consociation_related_area{
    padding: 0 16px;
    margin-top: 124px;
    font-family: var(--consociation_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(--consociation_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(--consociation_color_overlay_start) 25%, var(--consociation_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;
    }
}





/*-------------------- 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_consociation_about_area{
        padding: 0 1.111vw;
        font-family: var(--consociation_font_base);
    
        .l_consociation_about_wrap{
            /* max-width: 77.778vw; */
            margin: 0 auto;
        }
    
        .p_consociation_intro{
            margin-top: 2.222vw;
            text-align: center;
        }
    
        .p_consociation_brandmark{
            width: 25.694vw;
            margin: 0 auto 2.222vw;
    
            img{
                display: block;
                width: 100%;
                height: auto;
            }
        }
    
        .p_consociation_lead{
            /* max-width: 55.556vw; */
            margin: 0 auto;
            color: var(--consociation_color_text);
            font-size: 1.111vw;
            font-weight: 500;
            line-height: 1.944vw;
            text-align: left;
        }
    
        .p_consociation_brand_box{
            margin-top: 2.778vw;
            padding: 3.125vw 2.778vw 3.333vw;
            background: var(--consociation_color_block_bg);
            border-radius: 0.278vw;
            box-sizing: border-box;
        }
    
        .p_consociation_brand_title{
            margin: 0 0 1.944vw;
            color: var(--consociation_color_text);
            font-size: 0.972vw;
            font-weight: 600;
            line-height: 1.667vw;
            text-align: center;
        }
    
        .p_consociation_brand_grid{
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 1.111vw;
        }
    
        .p_consociation_brand_item{
            display: flex;
            align-items: center;
            justify-content: center;
            height: 4.514vw;
            background: var(--consociation_color_white);
            border-radius: 0.278vw;
            box-sizing: border-box;
    
            img{
                max-width: 100%;
                max-height: 100%;
                object-fit: contain;
            }
        }
    
        .p_consociation_text_block{
            /* max-width: 55.556vw; */
            margin: 3.333vw auto 0;
            color: var(--consociation_color_text);
            font-size: 1.111vw;
            font-weight: 500;
            line-height: 1.944vw;
    
            .p_consociation_note{
                font-size: 0.833vw;
                line-height: 1.25vw;
                margin-top: 1.667vw;
                color:#6B6F75;
            }
        }
    
        .p_consociation_panel_list{
            margin-top: 4.583vw;
        }
    
        .p_consociation_panel{
            margin-top: 1.667vw;
            background: var(--consociation_color_white);
            border: 0.069vw solid var(--consociation_color_border);
            border-radius: 0.278vw;
            overflow: hidden;
    
            &:first-child{
                margin-top: 0;
            }
        }
    
        .p_consociation_panel_title{
            margin: 0;
            padding: 1.181vw 1.736vw 1.042vw;
            background: var(--consociation_color_text);
            color: var(--consociation_color_white);
            font-family: var(--consociation_font_base);
            font-size: 1.111vw;
            font-weight: 600;
            line-height: 1.667vw;
        }
    
        .p_consociation_panel_body{
            padding: 2.222vw 1.597vw 1.667vw;
            color: var(--consociation_color_text);
            font-size: 1.111vw;
            line-height: 1.667vw;
            font-weight: 500;
    
            p{
    
                &:last-child{
                    margin-bottom: 0;
                }
            }
        }
    
        .p_consociation_order_list{
            margin: 0;
            padding-left: 1.389vw;
    
            li{
                margin-top: 1.458vw;
    
                &:first-child{
                    margin-top: 0;
                }
            }
        }
    
        .p_consociation_text_link,
        .p_consociation_inline_link{
            color: var(--consociation_color_link);
            text-decoration: underline;
            font-size: 1.111vw;
            line-height: 1.667vw;
            font-weight: 500;
            transition:0.3s;
    
            &:hover{
                opacity:0.7;
            }
        }
    
        .p_consociation_text_link{
            display: inline-flex;
            align-items: center;
            transition:0.3s;
    
            &:hover{
                opacity:0.7;
            }
            img{
                width: 1.528vw;
                height: 1.111vw;
                object-fit: contain;
            }
        }
    
        .p_consociation_organization_image{
            /* max-width: 66.667vw; */
            margin: 1.667vw auto 0;
    
            picture{
                display: block;
            }
    
            img{
                display: block;
                width: 100%;
                height: auto;
            }
        }
    }
    
    .l_consociation_related_area{
        padding: 0 1.111vw;
        margin-top: 8.611vw;
        font-family: var(--consociation_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(--consociation_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(--consociation_color_overlay_start) 25%, var(--consociation_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;
        }
    }
}





/*-------------------- sp --------------------*/
/*---------- デザインベースはwidth:375px ----------*/
@media(max-width:768px){
    .first_area {
        .first_wrap {
    
            .common_title{
                text-align: center;
            }
        }
    }
    
    .l_consociation_about_area{
        padding: 0 4.267vw;
    
        .p_consociation_intro{
            margin-top: 6.4vw;
        }
    
        .p_consociation_brandmark{
            width: 61.6vw;
            margin-bottom: 6.4vw;
        }
    
        .p_consociation_lead,
        .p_consociation_text_block,
        .p_consociation_panel_body{
            font-size: 3.733vw;
            line-height: 6.4vw;
        }
    
        .p_consociation_order_list {
            padding-left: 4vw;
    
            li {
                margin-top: 3.733vw;
            }
        }
    
        .p_consociation_text_link, 
        .p_consociation_inline_link {
            font-size: 3.733vw;
            line-height: 5.333vw;
    
            img {
                width: 5.333vw;
                height: 3.733vw;
                object-fit: contain;
            }
        }
    
        .p_consociation_brand_box{
            margin-top: 6.667vw;
            padding: 8.533vw 4.267vw;
        }
    
        .p_consociation_text_block{
    
            .p_consociation_note {
                font-size: 3.2vw;
                line-height: 4.8vw;
                margin-top: 4.533vw;
            }
        }
    
        .p_consociation_brand_title {
            margin: 0 0 4.533vw;
            font-size: 3.733vw;
            line-height: 5.333vw;
        }
    
        .p_consociation_brand_grid{
            grid-template-columns: repeat(2, 1fr);
            gap: 4.267vw 2.933vw;
        }
    
        .p_consociation_brand_item{
            height: 14.4vw;
        }
    
        .p_consociation_panel_list{
            margin-top: 13.333vw;
        }
    
        .p_consociation_panel_title{
            padding: 5.333vw 4.267vw 3.467vw;
            font-size: 3.733vw;
            line-height: 5.333vw;
        }
    
        .p_consociation_panel_body{
            padding: 5.6vw 4vw 4.533vw;
        }
        .p_consociation_organization_image {
            margin: 4.533vw auto 0;
        }
    }
    
    .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;
        }
    }
}
