/*-------------------- 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_need_principles_area{
    padding: 0px 16px;
    font-family: var(--consociation_font_base);

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

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

    .p_need_principles_list{
        margin-top: 54px;
    }

    .p_need_principle_item{
        display: grid;
        grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
        align-items: center;
        margin-top: 120px;

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

        &.is_reverse{
            .p_need_principle_image{
                order: 2;
            }

            .p_need_principle_body{
                order: 1;
            }
        }
    }

    .p_need_principle_image{
        border-radius: 4px;
        overflow: hidden;

        img{
            display: block;
            width: 100%;
            aspect-ratio: 560 / 336;
            object-fit: cover;
        }
    }

    .p_need_principle_body{
        color: var(--consociation_color_text);
        padding: 0 60px 0;

        h3{
            margin: 0px 0px 21px;
            color: var(--consociation_color_text);
            font-family: var(--consociation_font_base);
            font-size: 22px;
            font-weight: 600;
            line-height: 33px;

            span{
                color: var(--consociation_color_red);
            }

            /* task80: the ordinal stays in the heading colour so the red
               emphasis keeps pointing at the keyword, not the number.
               Specificity beats the vw blocks' `h3 span`, so one rule covers
               every breakpoint.

               It hangs in the body's left padding rather than sitting in the
               text flow: inline, it stole enough width to push ③'s title onto
               a second line for a single trailing character. SP has no padding
               to hang into and overrides this back to inline. */
            position: relative;

            span.p_need_principle_no{
                position: absolute;
                left: -1.35em;
                color: var(--consociation_color_text);
            }
        }

        p{
            margin: 0px;
            color: var(--consociation_color_text);
            font-size: 16px;
            font-weight: 500;
            line-height: 28px;
        }
    }
}

.l_need_methods_area{
    padding-top: 124px;

    .p_need_principles_list{
        margin-top: 54px;
    }

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

    .p_need_methods_button{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 40px;
        width: 374px;
        min-height: 64px;
        margin-top: 26px;
        padding: 0px 24px;
        border:1px solid #CCCFD1;
        border-radius: 32px;
        background: var(--consociation_color_white);
        color: var(--consociation_color_text);
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
        text-decoration: none;
        position: relative;
        transition:0.3s;

        img{
            position: absolute;
            display: block;
            top: 50%;
            transform: translateY(-50%);
            right: 20px;
            width: 24px;
            height: 24px;
            flex: 0 0 auto;
        }

        &:hover{
            color:#C50018;
            border-color:#C50018;
            /* opacity: 0.7; */
        }
    }

    .p_need_methods_summary{
        margin: 92px 0px 0px;
        color: var(--consociation_color_text);
        font-size: 22px;
        font-weight: 600;
        line-height: 34px;
        text-align: center;

        span{
            color: var(--consociation_color_red);
        }
    }
}

.l_need_specialist_area{
    padding: 0px 16px;
    margin-top: 117px;
    font-family: var(--consociation_font_base);

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

    .p_need_specialist_content{
        display: grid;
        grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
        align-items: center;
        margin-top: 48px;
    }

    .p_need_specialist_image{
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 336px;
        padding: 60px 0;
        border-radius: 4px;
        background: var(--consociation_color_white);

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

    .p_need_specialist_body{
        color: var(--consociation_color_text);
        padding: 0 80px;

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

        .p_need_specialist_note{
            margin-top: 24px;
            font-weight:500;
            font-size: 12px;
            line-height: 18px;
            color: var(--consociation_color_text_light);
        }
    }
}

.l_need_voice_area{
    padding: 0;
    margin-top: 121px;
    font-family: var(--consociation_font_base);
    overflow: hidden;

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

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

    .p_need_voice_slider,
    .p_need_voice_slider_none{
        margin-top: 40px;

        .slick-list{
            overflow: visible;
        }

        &.slick-dotted.slick-slider{
            margin-bottom: 0px;
        }

        .slide_arrow{
            position: absolute;
            top: 195px;
            width: 80px;
            height: 64px;
            background-color: #32373e;
            cursor: pointer;
            z-index: 100;
        }

        .prev_arrow{
            left: 91px;
            background: url('/assets/images/common/slider_prev.png') center / cover no-repeat;
        }

        .next_arrow{
            right: 129px;
            background: url('/assets/images/common/slider_prev.png') center / cover no-repeat;
            transform: rotate(180deg);
        }

        .slick-dots{
            display: flex;
            justify-content: center;
            gap: 20px;
            position: static;
            margin-top: 32px;

            li{
                width: auto;
                height: auto;
                margin: 0px;

                button{
                    width: 8px;
                    height: 8px;
                    padding: 0px;
                    border-radius: 50%;
                    background: var(--consociation_color_text);
                    opacity: 0.35;

                    &:before{
                        content: none;
                    }
                }

                &.slick-active{
                    button{
                        opacity: 1;
                    }
                }
            }
        }
    }

    .p_need_voice_card{
        width: 360px;
        min-height: 0px;
        margin: 0px 10px;
        padding: 24px 20px 18px;
        border: 1px solid var(--consociation_color_border);
        border-radius: 4px;
        background: var(--consociation_color_white);
        color: var(--consociation_color_text);
        transition: 0.3s ease;

        h3{
            margin: 24px 0px 20px;
            color: var(--consociation_color_text);
            font-family: var(--consociation_font_base);
            font-size: 18px;
            font-weight: 600;
            line-height: 26px;
        }

        &:hover{
            opacity:0.7;
            border-color:#C50018;

            .p_need_voice_image {
                img {
                    transform: scale(1.1);
                }
            }
        }
    }

    .p_need_voice_image{
        border-radius: 4px;
        overflow: hidden;

        img{
            display: block;
            width: 100%;
            aspect-ratio: 320 / 213;
            object-fit: cover;
            transition: 0.3s ease;
        }
    }

    .p_need_voice_license{
        margin: 0px 0px 9px;
        color: var(--consociation_color_red);
        font-size: 14px;
        font-weight: 500;
        line-height: 20px;
    }

    .p_need_voice_name{
        margin: 0px 0px 11px;
        color: var(--consociation_color_text);
        font-size: 16px;
        font-weight: 600;
        line-height: 28px;
    }

    .p_need_voice_company{
        margin: 0px;
        color: var(--consociation_color_text_light);
        font-size: 12px;
        font-weight: 500;
        line-height: 18px;
    }
}
.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_need_principles_area{
        padding: 0 1.111vw;
        font-family: var(--consociation_font_base);
    
        .l_need_principles_wrap{
            /* max-width: 77.778vw; */
            margin: 0 auto;
        }
    
        .p_need_principles_lead{
            /* 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_need_principles_list{
            margin-top: 3.75vw;
        }
    
        .p_need_principle_item{
            display: grid;
            grid-template-columns: minmax(0, 38.889vw) minmax(0, 1fr);
            align-items: center;
            margin-top: 8.333vw;
    
            &:first-child{
                margin-top: 0;
            }
    
            &.is_reverse{
                .p_need_principle_image{
                    order: 2;
                }
    
                .p_need_principle_body{
                    order: 1;
                }
            }
        }
    
        .p_need_principle_image{
            border-radius: 0.278vw;
            overflow: hidden;
    
            img{
                display: block;
                width: 100%;
                aspect-ratio: 560 / 336;
                object-fit: cover;
            }
        }
    
        .p_need_principle_body{
            color: var(--consociation_color_text);
            padding: 0 4.167vw 0;
    
            h3{
                margin: 0 0 1.458vw;
                color: var(--consociation_color_text);
                font-family: var(--consociation_font_base);
                font-size: 1.528vw;
                font-weight: 600;
                line-height: 2.292vw;
    
                span{
                    color: var(--consociation_color_red);
                }
            }
    
            p{
                margin: 0;
                color: var(--consociation_color_text);
                font-size: 1.111vw;
                font-weight: 500;
                line-height: 1.944vw;
            }
        }
    }
    
    .l_need_methods_area{
        padding-top: 8.611vw;
    
        .p_need_principles_list{
            margin-top: 3.75vw;
        }
    
        .p_need_principle_body{
            .p_need_methods_note{
                margin-top: 1.667vw;
                font-size: 0.833vw;
                line-height: 1.25vw;
                color: var(--consociation_color_text_light);
            }
        }
    
        .p_need_methods_button{
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 2.778vw;
            width: 25.972vw;
            min-height: 4.444vw;
            margin-top: 1.806vw;
            padding: 0 1.667vw;
            border:0.069vw solid #CCCFD1;
            border-radius: 2.222vw;
            background: var(--consociation_color_white);
            color: var(--consociation_color_text);
            font-size: 1.111vw;
            font-weight: 600;
            line-height: 1.667vw;
            text-decoration: none;
            position: relative;
            transition:0.3s;
    
            img{
                position: absolute;
                display: block;
                top: 50%;
                transform: translateY(-50%);
                right: 1.389vw;
                width: 1.667vw;
                height: 1.667vw;
                flex: 0 0 auto;
            }
    
            &:hover{
                color:#C50018;
                border-color:#C50018;
                /* opacity: 0.7; */
            }
        }
    
        .p_need_methods_summary{
            margin: 6.389vw 0 0;
            color: var(--consociation_color_text);
            font-size: 1.528vw;
            font-weight: 600;
            line-height: 2.361vw;
            text-align: center;
    
            span{
                color: var(--consociation_color_red);
            }
        }
    }
    
    .l_need_specialist_area{
        padding: 0 1.111vw;
        margin-top: 8.125vw;
        font-family: var(--consociation_font_base);
    
        .l_need_specialist_wrap{
            /* max-width: 77.778vw; */
            margin: 0 auto;
        }
    
        .p_need_specialist_content{
            display: grid;
            grid-template-columns: minmax(0, 38.889vw) minmax(0, 1fr);
            align-items: center;
            margin-top: 3.333vw;
        }
    
        .p_need_specialist_image{
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 23.333vw;
            padding: 4.167vw 0;
            border-radius: 0.278vw;
            background: var(--consociation_color_white);
    
            img{
                display: block;
                width: 100%;
                /* max-width: 23.819vw; */
                height: auto;
            }
        }
    
        .p_need_specialist_body{
            color: var(--consociation_color_text);
            padding: 0 5.556vw;
    
            p{
                margin: 0;
                font-size: 1.111vw;
                font-weight: 500;
                line-height: 1.944vw;
            }
    
            .p_need_specialist_note{
                margin-top: 1.667vw;
                font-weight:500;
                font-size: 0.833vw;
                line-height: 1.25vw;
                color: var(--consociation_color_text_light);
            }
        }
    }
    
    .l_need_voice_area{
        padding: 0;
        margin-top: 8.403vw;
        font-family: var(--consociation_font_base);
        overflow: hidden;
    
        .l_need_voice_wrap{
            /* max-width: 77.778vw; */
            margin: 0 auto;
        }
    
        .p_need_voice_lead{
            /* 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_need_voice_slider,
        .p_need_voice_slider_none{
            margin-top: 2.778vw;
    
            .slick-list{
                overflow: visible;
            }
    
            &.slick-dotted.slick-slider{
                margin-bottom: 0;
            }
    
            .slide_arrow{
                position: absolute;
                top: 13.542vw;
                width: 5.556vw;
                height: 4.444vw;
                background-color: #32373e;
                cursor: pointer;
                z-index: 100;
            }
    
            .prev_arrow{
                left: 6.319vw;
                background: url('/assets/images/common/slider_prev.png') center / cover no-repeat;
            }
    
            .next_arrow{
                right: 8.958vw;
                background: url('/assets/images/common/slider_prev.png') center / cover no-repeat;
                transform: rotate(180deg);
            }
    
            .slick-dots{
                display: flex;
                justify-content: center;
                gap: 1.389vw;
                position: static;
                margin-top: 2.222vw;
    
                li{
                    width: auto;
                    height: auto;
                    margin: 0;
    
                    button{
                        width: 0.556vw;
                        height: 0.556vw;
                        padding: 0;
                        border-radius: 50%;
                        background: var(--consociation_color_text);
                        opacity: 0.35;
    
                        &:before{
                            content: none;
                        }
                    }
    
                    &.slick-active{
                        button{
                            opacity: 1;
                        }
                    }
                }
            }
        }
    
        .p_need_voice_card{
            width: 25vw;
            min-height: 0;
            margin: 0 0.694vw;
            padding: 1.667vw 1.389vw 1.25vw;
            border: 0.069vw solid var(--consociation_color_border);
            border-radius: 0.278vw;
            background: var(--consociation_color_white);
            color: var(--consociation_color_text);
            transition: 0.3s ease;
    
            h3{
                margin: 1.667vw 0 1.389vw;
                color: var(--consociation_color_text);
                font-family: var(--consociation_font_base);
                font-size: 1.25vw;
                font-weight: 600;
                line-height: 1.806vw;
            }
    
            &:hover{
                opacity:0.7;
                border-color:#C50018;
    
                .p_need_voice_image {
                    img {
                        transform: scale(1.1);
                    }
                }
            }
        }
    
        .p_need_voice_image{
            border-radius: 0.278vw;
            overflow: hidden;
    
            img{
                display: block;
                width: 100%;
                aspect-ratio: 320 / 213;
                object-fit: cover;
                transition: 0.3s ease;
            }
        }
    
        .p_need_voice_license{
            margin: 0 0 0.625vw;
            color: var(--consociation_color_red);
            font-size: 0.972vw;
            font-weight: 500;
            line-height: 1.389vw;
        }
    
        .p_need_voice_name{
            margin: 0 0 0.764vw;
            color: var(--consociation_color_text);
            font-size: 1.111vw;
            font-weight: 600;
            line-height: 1.944vw;
        }
    
        .p_need_voice_company{
            margin: 0;
            color: var(--consociation_color_text_light);
            font-size: 0.833vw;
            font-weight: 500;
            line-height: 1.25vw;
        }
    }
    .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_need_principles_area{
    
        .p_need_principles_lead{
            margin-top: 8.533vw;
            font-size: 3.733vw;
            line-height: 6.4vw;
        }
    
        .p_need_principles_list{
            margin-top: 10.933vw;
        }
    
        .p_need_principle_item{
            grid-template-columns: 1fr;
            gap: 6.4vw;
            margin-top: 12.8vw;
    
            &.is_reverse{
                .p_need_principle_image,
                .p_need_principle_body{
                    order: initial;
                }
            }
        }
    
        .p_need_principle_body{
            padding: 0;

            h3{
                margin-bottom: 4vw;
                font-size: 4.8vw;
                line-height: 6.933vw;

                /* No side padding on SP, so the ordinal has nowhere to hang —
                   back into the flow. These headings wrap here anyway. */
                span.p_need_principle_no{
                    position: static;
                    margin-right: 0.533vw;
                }
            }
    
            p{
                font-size: 4.267vw;
                line-height: 7.467vw;
            }
        }
    }
    
    .l_need_methods_area{
        padding-top: 14.933vw;
    
        .p_need_principle_body{
            .p_need_methods_note{
                margin-top: 4.267vw;
                font-size: 3.2vw;
                line-height: 4.8vw;
            }
        }
    
        .p_need_methods_button{
            width: 74.667vw;
            min-height: 12.8vw;
            margin-top: 4.8vw;
            padding: 0 9.867vw;
            font-size: 3.733vw;
            line-height: 5.333vw;
            margin-left: 5.333vw;
            margin-bottom: 2.133vw;
    
            img {
                right: 3.2vw;
                width: 6.4vw;
                height: 6.4vw;
            }
        }
    
        .p_need_methods_summary{
            max-width: 80.533vw;
            margin: 0 auto;
            margin-top: 14.133vw;
            font-size: 4.267vw;
            line-height: 7.467vw;
        }
    }
    
    .l_need_specialist_area{
        padding: 0 4.267vw;
        margin-top: 15.733vw;
    
        .p_need_specialist_content{
            grid-template-columns: 1fr;
            gap: 8.533vw;
            margin-top: 8.533vw;
        }
    
        .p_need_specialist_image{
            min-height: auto;
            padding: 0;
        }
    
        .p_need_specialist_body{
            padding: 0;
    
            p{
                font-size: 3.733vw;
                line-height: 6.4vw;
            }
    
            .p_need_specialist_note{
                margin-top: 4.533vw;
                font-size: 3.2vw;
                line-height: 4.8vw;
            }
        }
    }
    
    .l_need_voice_area{
        margin-top: 15.467vw;
    
        .l_need_voice_wrap {
            padding: 0 4.267vw;
        }
    
        .p_need_voice_lead{
            margin-top: 8.533vw;
            font-size: 3.733vw;
            line-height: 6.4vw;
        }
    
        .p_need_voice_slider,
        .p_need_voice_slider_none{
            margin-top: 6.667vw;
            padding: 0 4.267vw;
    
            .slide_arrow{
                width: 13.333vw;
                height: 10.667vw;
                top: 46.933vw;
            }
    
            .prev_arrow{
                left: 2.133vw;
            }
    
            .next_arrow{
                right: 2.133vw;
            }
    
            .slick-dots{
                gap: 3.2vw;
                margin-top: 6.4vw;
            }
        }
    
        .p_need_voice_card{
            width: 82.933vw;
            margin: 0 1.867vw;
            padding: 6.4vw 6.4vw 4.8vw;
    
            h3{
                margin: 6.4vw 0 3.733vw;
                font-size: 4.267vw;
                line-height: 6.4vw;
            }
        }
    
        .p_need_voice_license{
            font-size: 3.2vw;
            line-height: 4.8vw;
            margin: 0 0 1.333vw;
        }
        .p_need_voice_name{
            font-size: 3.733vw;
            line-height: 5.333vw;
            margin: 0 0 2.133vw;
        }
    
        .p_need_voice_company{
            font-size: 3.2vw;
            line-height: 4.8vw;
        }
    }
    
    .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;
        }
    }
}


/* 2026/07/21 修正 */
.l_need_voice_area {
    .p_need_voice_slider_none {
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .l_need_voice_area {
        .p_need_voice_slider_none {
            flex-direction: column;
            gap: 5.333vw;
            align-items: center;
        }
        .p_need_voice_card {
            width: 100%;
            margin: 0;
            padding: 4.267vw;

            h3 {
                margin: 6.4vw 0 3.733vw;
                font-size: 4.8vw;
                line-height: 7.467vw;
            }

            .p_need_voice_license {
                margin: 0 0 1.333vw;
                font-size: 3.733vw;
                line-height: 5.333vw;
            }
            .p_need_voice_name {
                font-size: 4.267vw;
                line-height: 6.4vw;
                margin: 0 0 2.133vw;
            }
            .p_need_voice_company {
                font-size: 3.733vw;
                line-height: 5.333vw;
            }
        }
    }
}

/* task142 -- #header is position:fixed, so an anchor landing drops the section title
   behind it. Same treatment and same value as /sale/#kaitori-service (ledger B29).
   task179 (CB 2026-08-21) then made the fallback track the header per breakpoint
   (100 / 6.944vw / 17.867vw).

   task234 (CB 2026-08-28, 「リンク先のアンカー位置を調整」) removes the header term.
   The reservation was for a header that is not on screen when this anchor is used:
   common.js hides the header on ANY downward scroll (`addClass('hide')`, a -100px
   transform), and a hash landing IS a downward scroll. Measured on the real page at
   /sumstock/need/#methods: header class="hide", transform -100px, yet the section
   still started 124px down and its <h2> 277px down a 900px viewport -- 31% of the
   screen blank. SP was the same shape (91px / 169px of 812).

   So the offset is now the breathing gap alone. The section carries its own top
   padding (153px desktop / 78px SP), which is what keeps the heading clear on the
   other journey -- scrolling UP into the anchor, where the header does reappear. */
#methods {
    scroll-margin-top: 24px;
}
