/*-------------------- pc --------------------*/
/*---------- base > width:1440px ----------*/
a:hover {
    opacity: 0.7;
}

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

    .text {
        margin-bottom: 57px;

        p {
            font-family: "IBM Plex Sans JP", sans-serif;
            font-weight: 600;
            font-size: 22px;
            line-height: 33px;
            text-align: center;
        }
    }

    .media_container {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .media_card {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 168px;
        padding: 0 40px;
        cursor: pointer;
        background-color: #FFFFFF;
        border: 1px solid #CCCFD1;
        border-radius: 4px;
        transition: border-color 0.3s, opacity 0.3s;

        @media (min-width: 769px) {
            &:hover {
                border-color: #c50018;
                opacity: 0.7;
            }
        }

        .media_card_left {
            display: flex;
            align-items: flex-start;
            gap: 32px;
        }

        .media_card_img {
            width: 120px;
            height: 120px;
            flex-shrink: 0;
            margin-top: 24px;

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

        .media_card_text {
            display: flex;
            flex-direction: column;
            padding-top: 59px;
            padding-bottom: 51px;
            box-sizing: border-box;
        }

        .media_card_title {
            margin: 0;
            font-family: "IBM Plex Sans JP", sans-serif;
            font-weight: 600;
            font-size: 18px;
            line-height: 26px;
            color: #32373E;
        }

        .media_card_info {
            margin: 7px 0 0 0;
            font-family: "IBM Plex Sans JP", sans-serif;
            font-weight: 600;
            font-size: 16px;
            line-height: 24px;
            color: #6b6f75;
        }

        .media_card_link {
            display: flex;
            align-items: center;
            gap: 4px;
            text-decoration: none;
            color: #32373E;
            padding-top: 73px;
            padding-bottom: 71px;
            box-sizing: border-box;

            span {
                font-family: "IBM Plex Sans JP", sans-serif;
                font-weight: 600;
                font-size: 16px;
                line-height: 24px;
            }

            img {
                width: 20px;
                height: 20px;
                object-fit: contain;
            }
        }

        &.toggle_card {
            align-items: flex-start;
        }

        .media_card_body {
            display: none;
        }

        .media_card_header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 168px;
            width: 100%;
            flex-shrink: 0;
        }

        &.tall {
            height: 208px;

            .media_card_img {
                height: 160px;
                margin-top: 24px;
            }

            .media_card_text {
                padding-top: 79px;
                padding-bottom: 71px;

                &:has(br) {
                    padding-top: 68px;
                    padding-bottom: 58px;
                }
            }

            .media_card_link {
                padding-top: 93px;
                padding-bottom: 91px;
            }
        }

        &.expanded {
            height: 572px;
            flex-direction: column;
            align-items: stretch;
            justify-content: flex-start;

            .media_card_body {
                display: block;
                border-top: 1px solid #CCCFD1;
                padding-top: 32px;

                .media_body_desc {
                    margin: 0 0 40px 0;
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 500;
                    font-size: 16px;
                    line-height: 28px;
                    color: #32373E;
                }

                .media_body_list {
                    display: flex;
                    flex-direction: column;
                }

                .media_body_row {
                    display: flex;
                    align-items: flex-start;
                    gap: 20px;
                }

                .media_row_label {
                    width: 120px;
                    flex-shrink: 0;
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 600;
                    font-size: 16px;
                    line-height: 24px;
                    color: #32373E;
                }

                .media_row_content {
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 500;
                    font-size: 16px;
                    line-height: 24px;
                    color: #32373E;

                    a {
                        display: inline-block;
                        margin-top: 7px;
                        font-size: 16px;
                        color: #0356CB;
                        text-decoration: underline;
                    }
                }

                .border_line {
                    position: relative;
                    height: 1px;
                    background-color: #CCCFD1;
                    margin-top: 8px;
                    margin-bottom: 24px;

                    &:nth-child(4) {
                        margin-bottom: 21px;
                    }

                    .red_part {
                        position: absolute;
                        top: -1px;
                        left: 0;
                        width: 120px;
                        height: 2px;
                        background-color: #C50018;
                    }
                }
            }
        }

        &.large {
            &.expanded {
                height: 904px;
                padding-bottom: 40px;
            }
        }

        &.xlarge {
            height: 208px;

            .media_card_header {
                height: 208px;
            }

            &.expanded {
                height: 983px;
                padding-bottom: 40px;
            }

            .media_card_img {
                height: 160px;
                margin-top: 24px;
            }

            .media_card_text {
                padding-top: 68px;
                padding-bottom: 58px;
            }

            .media_card_link {
                padding-top: 93px;
                padding-bottom: 91px;
            }

            .media_card_body {
                .media_card_extra {
                    .media_extra_content {
                        gap: 0px;
                    }
                }
            }
        }

        .media_card_body {
            .media_body_center_img {
                display: flex;
                justify-content: center;
                margin-top: 40px;
                margin-bottom: 45px;

                img {
                    width: 510px;
                    height: 359px;
                    object-fit: contain;
                }
            }

            .media_card_extra {
                margin-top: 21px;

                .media_extra_title {
                    margin: 0 0 19px 0;
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 600;
                    font-size: 16px;
                    line-height: 24px;
                    color: #32373E;
                    display: flex;
                    align-items: center;
                    gap: 8px;

                    .red_dot {
                        color: #C50018;
                        font-size: 8px;
                    }
                }

                .media_extra_content {
                    display: flex;
                    flex-direction: column;
                    gap: 22px;

                    p {
                        margin: 0;
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 500;
                        font-size: 16px;
                        line-height: 28px;
                        color: #32373E;
                    }
                }
            }
        }
    }
}

.l_simulation_related_area {
    margin-top: 124px;
    padding: 0 20px;
    margin-bottom: 124px;

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

    .p_simulation_related_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-top: 48px;

        .p_simulation_related_card {
            position: relative;
            display: flex;
            align-items: flex-end;
            min-height: 240px;
            padding: 0 41px 8px 16px;
            overflow: hidden;
            color: #ffffff;
            text-decoration: none;
            background-color: #CCCFD1;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            border-radius: 4px;
            transition: opacity 0.2s;

            &:before {
                content: '';
                position: absolute;
                inset: 0;
                background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.48) 100%);
            }

            &:hover {
                opacity: 0.75;
            }

            .p_simulation_related_card_title {
                position: relative;
                z-index: 1;
                min-width: 0;
                font-family: "IBM Plex Sans JP", sans-serif;
                font-weight: 600;
                font-size: 20px;
                line-height: 32px;
                overflow-wrap: anywhere;
            }

            .p_simulation_related_card_icon {
                position: absolute;
                right: 16px;
                bottom: 16px;
                z-index: 1;
                width: 24px;
                height: 24px;
                background: url('../images/simulation/simulation_button_arrow_icon.png') center / contain no-repeat;
            }
        }

        .p_simulation_related_card_sale {
            background-image: url('../images/media/media_grid_1.webp');
        }

        .p_simulation_related_card_flow {
            background-image: url('../images/media/media_grid_2.webp');
        }

        .p_simulation_related_card_method {
            background-image: url('../images/media/media_grid_3.webp');
        }

        .p_simulation_related_card_request {
            background-image: url('../images/media/media_grid_4.webp');
        }
    }
}

.customer_area {
    padding-top: 0;
    margin-bottom: 0;
}

.customer_wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: content-box;
}

.customer_headline {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 48px;

    h2 {
        font-family: "Shippori Mincho B1", serif;
        font-weight: 700;
        font-size: 40px;
        line-height: 60px;
        letter-spacing: -1.2px;
        color: #32373e;
    }
}

.customer_tab {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    margin-bottom: 32px;
    margin-top: 45px;

    button {
        display: flex;
        justify-content: center;
        padding: 0 0 9px;
        font-family: "IBM Plex Sans JP", sans-serif;
        font-weight: 600;
        font-size: 20px;
        line-height: 30px;
        background: none;
        border: none;
        border-bottom: 4px solid #32373e;
        color: #32373e;
        cursor: pointer;

        span {
            padding: 0 28px;
        }

        &.active {
            color: #c50018;
            border-color: #c50018;

            span {
                background: url('../images/common/red_arrow_bottom.png') center right 0 / 20px no-repeat;
            }
        }
    }
}

.customer_toggle_area {
    margin-bottom: 40px;
}

.customer_toggle_box {
    display: none;

    &.active {
        display: block;
    }

    .container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;

        .box {
            display: grid;
            grid-template-columns: 1fr 117px;
            padding: 29px 24px 21px;
            background-color: #ffffff;
            border: 1px solid #cccfd1;
            border-radius: 4px;
            text-decoration: none;
            transition: 0.3s;

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

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

            .left {
                .head {
                    display: flex;
                    align-items: center;
                    gap: 16px;
                    margin-bottom: 13px;

                    .voice {
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 500;
                        font-size: 14px;
                        line-height: 20px;
                        color: #c50018;
                    }

                    .user {
                        padding-left: 12px;
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 500;
                        font-size: 14px;
                        line-height: 20px;
                        color: #6b6f75;
                        background: url('../images/top/customer_icon.svg') center left 0 / 8px no-repeat;
                    }
                }

                h3 {
                    margin-bottom: 21px;
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 600;
                    font-size: 20px;
                    line-height: 30px;
                    color: #32373e;
                }

                p {
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 600;
                    font-size: 14px;
                    line-height: 20px;
                    color: #6b6f75;
                }
            }

            .right {
                .img {
                    margin-bottom: 23px;
                    overflow: hidden;

                    img {
                        width: 100%;
                        transition: 0.3s;
                    }
                }

                p {
                    padding-right: 24px;
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 600;
                    font-size: 16px;
                    line-height: 24px;
                    text-align: right;
                    color: #32373e;
                    background: url('../images/common/red_circle_white_arrow.png') center right 0 / 20px no-repeat;
                }
            }
        }
    }
}

.sp {
    display: none !important;
}





/*-------------------- pc-spの間 --------------------*/
/*---------- base > width:1440px ----------*/
@media(max-width:1439px) and (min-width:769px){
    .first_wrap {
        max-width: 77.778vw;
        margin: 0 auto;
    
        .text {
            margin-bottom: 3.958vw;
    
            p {
                font-family: "IBM Plex Sans JP", sans-serif;
                font-weight: 600;
                font-size: 1.528vw;
                line-height: 2.292vw;
                text-align: center;
            }
        }
    
        .media_container {
            display: flex;
            flex-direction: column;
            gap: 1.667vw;
        }
    
        .media_card {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            height: 11.667vw;
            padding: 0 2.778vw;
            cursor: pointer;
            background-color: #FFFFFF;
            border: 0.069vw solid #CCCFD1;
            border-radius: 0.278vw;
            transition: border-color 0.3s, opacity 0.3s;
    
            @media (min-width: 769px) {
                &:hover {
                    border-color: #c50018;
                    opacity: 0.7;
                }
            }
    
            .media_card_left {
                display: flex;
                align-items: flex-start;
                gap: 2.222vw;
            }
    
            .media_card_img {
                width: 8.333vw;
                height: 8.333vw;
                flex-shrink: 0;
                margin-top: 1.667vw;
    
                img {
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                }
            }
    
            .media_card_text {
                display: flex;
                flex-direction: column;
                padding-top: 4.097vw;
                padding-bottom: 3.542vw;
                box-sizing: border-box;
            }
    
            .media_card_title {
                margin: 0;
                font-family: "IBM Plex Sans JP", sans-serif;
                font-weight: 600;
                font-size: 1.25vw;
                line-height: 1.806vw;
                color: #32373E;
            }
    
            .media_card_info {
                margin: 0.486vw 0 0 0;
                font-family: "IBM Plex Sans JP", sans-serif;
                font-weight: 600;
                font-size: 1.111vw;
                line-height: 1.667vw;
                color: #6b6f75;
            }
    
            .media_card_link {
                display: flex;
                align-items: center;
                gap: 0.278vw;
                text-decoration: none;
                color: #32373E;
                padding-top: 5.069vw;
                padding-bottom: 4.931vw;
                box-sizing: border-box;
    
                span {
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 600;
                    font-size: 1.111vw;
                    line-height: 1.667vw;
                }
    
                img {
                    width: 1.389vw;
                    height: 1.389vw;
                    object-fit: contain;
                }
            }
    
            &.toggle_card {
                align-items: flex-start;
            }
    
            .media_card_body {
                display: none;
            }
    
            .media_card_header {
                display: flex;
                align-items: center;
                justify-content: space-between;
                height: 11.667vw;
                width: 100%;
                flex-shrink: 0;
            }
    
            &.tall {
                height: 14.444vw;
    
                .media_card_img {
                    height: 11.111vw;
                    margin-top: 1.667vw;
                }
    
                .media_card_text {
                    padding-top: 5.486vw;
                    padding-bottom: 4.931vw;
    
                    &:has(br) {
                        padding-top: 4.722vw;
                        padding-bottom: 4.028vw;
                    }
                }
    
                .media_card_link {
                    padding-top: 6.458vw;
                    padding-bottom: 6.319vw;
                }
            }
    
            &.expanded {
                height: 39.722vw;
                flex-direction: column;
                align-items: stretch;
                justify-content: flex-start;
    
                .media_card_body {
                    display: block;
                    border-top: 0.069vw solid #CCCFD1;
                    padding-top: 2.222vw;
    
                    .media_body_desc {
                        margin: 0 0 2.778vw 0;
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 500;
                        font-size: 1.111vw;
                        line-height: 1.944vw;
                        color: #32373E;
                    }
    
                    .media_body_list {
                        display: flex;
                        flex-direction: column;
                    }
    
                    .media_body_row {
                        display: flex;
                        align-items: flex-start;
                        gap: 1.389vw;
                    }
    
                    .media_row_label {
                        width: 8.333vw;
                        flex-shrink: 0;
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 600;
                        font-size: 1.111vw;
                        line-height: 1.667vw;
                        color: #32373E;
                    }
    
                    .media_row_content {
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 500;
                        font-size: 1.111vw;
                        line-height: 1.667vw;
                        color: #32373E;
    
                        a {
                            display: inline-block;
                            margin-top: 0.486vw;
                            font-size: 1.111vw;
                            color: #0356CB;
                            text-decoration: underline;
                        }
                    }
    
                    .border_line {
                        position: relative;
                        height: 0.069vw;
                        background-color: #CCCFD1;
                        margin-top: 0.556vw;
                        margin-bottom: 1.667vw;
    
                        &:nth-child(4) {
                            margin-bottom: 1.458vw;
                        }
    
                        .red_part {
                            position: absolute;
                            top: -0.069vw;
                            left: 0;
                            width: 8.333vw;
                            height: 0.139vw;
                            background-color: #C50018;
                        }
                    }
                }
            }
    
            &.large {
                &.expanded {
                    height: 62.778vw;
                    padding-bottom: 2.778vw;
                }
            }
    
            &.xlarge {
                height: 14.444vw;
    
                .media_card_header {
                    height: 14.444vw;
                }
    
                &.expanded {
                    height: 68.264vw;
                    padding-bottom: 2.778vw;
                }
    
                .media_card_img {
                    height: 11.111vw;
                    margin-top: 1.667vw;
                }
    
                .media_card_text {
                    padding-top: 4.722vw;
                    padding-bottom: 4.028vw;
                }
    
                .media_card_link {
                    padding-top: 6.458vw;
                    padding-bottom: 6.319vw;
                }
    
                .media_card_body {
                    .media_card_extra {
                        .media_extra_content {
                            gap: 0;
                        }
                    }
                }
            }
    
            .media_card_body {
                .media_body_center_img {
                    display: flex;
                    justify-content: center;
                    margin-top: 2.778vw;
                    margin-bottom: 3.125vw;
    
                    img {
                        width: 35.417vw;
                        height: 24.931vw;
                        object-fit: contain;
                    }
                }
    
                .media_card_extra {
                    margin-top: 1.458vw;
    
                    .media_extra_title {
                        margin: 0 0 1.319vw 0;
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 600;
                        font-size: 1.111vw;
                        line-height: 1.667vw;
                        color: #32373E;
                        display: flex;
                        align-items: center;
                        gap: 0.556vw;
    
                        .red_dot {
                            color: #C50018;
                            font-size: 0.556vw;
                        }
                    }
    
                    .media_extra_content {
                        display: flex;
                        flex-direction: column;
                        gap: 1.528vw;
    
                        p {
                            margin: 0;
                            font-family: "IBM Plex Sans JP", sans-serif;
                            font-weight: 500;
                            font-size: 1.111vw;
                            line-height: 1.944vw;
                            color: #32373E;
                        }
                    }
                }
            }
        }
    }
    
    .l_simulation_related_area {
        margin-top: 8.611vw;
        padding: 0 1.389vw;
        margin-bottom: 8.611vw;
    
        .l_simulation_related_wrap {
            max-width: 77.778vw;
            margin: 0 auto;
        }
    
        .p_simulation_related_list {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.389vw;
            margin-top: 3.333vw;
    
            .p_simulation_related_card {
                position: relative;
                display: flex;
                align-items: flex-end;
                min-height: 16.667vw;
                padding: 0 2.847vw 0.556vw 1.111vw;
                overflow: hidden;
                color: #ffffff;
                text-decoration: none;
                background-color: #CCCFD1;
                background-repeat: no-repeat;
                background-position: center;
                background-size: cover;
                border-radius: 0.278vw;
                transition: opacity 0.2s;
    
                &:before {
                    content: '';
                    position: absolute;
                    inset: 0;
                    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.48) 100%);
                }
    
                &:hover {
                    opacity: 0.75;
                }
    
                .p_simulation_related_card_title {
                    position: relative;
                    z-index: 1;
                    min-width: 0;
                    font-family: "IBM Plex Sans JP", sans-serif;
                    font-weight: 600;
                    font-size: 1.389vw;
                    line-height: 2.222vw;
                    overflow-wrap: anywhere;
                }
    
                .p_simulation_related_card_icon {
                    position: absolute;
                    right: 1.111vw;
                    bottom: 1.111vw;
                    z-index: 1;
                    width: 1.667vw;
                    height: 1.667vw;
                    background: url('../images/simulation/simulation_button_arrow_icon.png') center / contain no-repeat;
                }
            }
    
            .p_simulation_related_card_sale {
                background-image: url('../images/media/media_grid_1.webp');
            }
    
            .p_simulation_related_card_flow {
                background-image: url('../images/media/media_grid_2.webp');
            }
    
            .p_simulation_related_card_method {
                background-image: url('../images/media/media_grid_3.webp');
            }
    
            .p_simulation_related_card_request {
                background-image: url('../images/media/media_grid_4.webp');
            }
        }
    }
    
    .customer_area {
        padding-top: 0;
        margin-bottom: 0;
    }
    
    .customer_wrap {
        max-width: 88.889vw;
        margin: 0 auto;
        padding: 0 1.389vw;
        box-sizing: content-box;
    }
    
    .customer_headline {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 1.667vw;
        margin-bottom: 3.333vw;
    
        h2 {
            font-family: "Shippori Mincho B1", serif;
            font-weight: 700;
            font-size: 2.778vw;
            line-height: 4.167vw;
            letter-spacing: -0.083vw;
            color: #32373e;
        }
    }
    
    .customer_tab {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.278vw;
        margin-bottom: 2.222vw;
        margin-top: 3.125vw;
    
        button {
            display: flex;
            justify-content: center;
            padding: 0 0 0.625vw;
            font-family: "IBM Plex Sans JP", sans-serif;
            font-weight: 600;
            font-size: 1.389vw;
            line-height: 2.083vw;
            background: none;
            border: none;
            border-bottom: 0.278vw solid #32373e;
            color: #32373e;
            cursor: pointer;
    
            span {
                padding: 0 1.944vw;
            }
    
            &.active {
                color: #c50018;
                border-color: #c50018;
    
                span {
                    background: url('../images/common/red_arrow_bottom.png') center right 0 / 1.389vw no-repeat;
                }
            }
        }
    }
    
    .customer_toggle_area {
        margin-bottom: 2.778vw;
    }
    
    .customer_toggle_box {
        display: none;
    
        &.active {
            display: block;
        }
    
        .container {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.389vw;
    
            .box {
                display: grid;
                grid-template-columns: 1fr 8.125vw;
                padding: 2.014vw 1.667vw 1.458vw;
                background-color: #ffffff;
                border: 0.069vw solid #cccfd1;
                border-radius: 0.278vw;
                text-decoration: none;
                transition: 0.3s;
    
                &:hover {
                    border-color: #c50018;
                    opacity: 0.7;
    
                    .right {
                        .img {
                            img {
                                transform: scale(1.1);
                            }
                        }
                    }
                }
    
                .left {
                    .head {
                        display: flex;
                        align-items: center;
                        gap: 1.111vw;
                        margin-bottom: 0.903vw;
    
                        .voice {
                            font-family: "IBM Plex Sans JP", sans-serif;
                            font-weight: 500;
                            font-size: 0.972vw;
                            line-height: 1.389vw;
                            color: #c50018;
                        }
    
                        .user {
                            padding-left: 0.833vw;
                            font-family: "IBM Plex Sans JP", sans-serif;
                            font-weight: 500;
                            font-size: 0.972vw;
                            line-height: 1.389vw;
                            color: #6b6f75;
                            background: url('../images/top/customer_icon.svg') center left 0 / 0.556vw no-repeat;
                        }
                    }
    
                    h3 {
                        margin-bottom: 1.458vw;
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 600;
                        font-size: 1.389vw;
                        line-height: 2.083vw;
                        color: #32373e;
                    }
    
                    p {
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 600;
                        font-size: 0.972vw;
                        line-height: 1.389vw;
                        color: #6b6f75;
                    }
                }
    
                .right {
                    .img {
                        margin-bottom: 1.597vw;
                        overflow: hidden;
    
                        img {
                            width: 100%;
                            transition: 0.3s;
                        }
                    }
    
                    p {
                        padding-right: 1.667vw;
                        font-family: "IBM Plex Sans JP", sans-serif;
                        font-weight: 600;
                        font-size: 1.111vw;
                        line-height: 1.667vw;
                        text-align: right;
                        color: #32373e;
                        background: url('../images/common/red_circle_white_arrow.png') center right 0 / 1.389vw no-repeat;
                    }
                }
            }
        }
    }
}





/*-------------------- sp --------------------*/
/*---------- デザインベースはwidth:375px ----------*/
@media(max-width:768px) {
    .first_wrap {
        padding: 0 4.267vw;
    
        .text {
            margin-top: 8.533vw;
            margin-bottom: 8.533vw;
    
            p {
                font-size: 4.8vw;
                line-height: 7.467vw;
                text-align: center;
            }
        }
    
        .media_container {
            gap: 4.267vw;
        }
    
        .media_card {
            flex-direction: column;
            align-items: stretch;
            height: auto !important;
            padding: 8.533vw 4vw 5.6vw;
            gap: 0;
    
            .media_card_header {
                display: flex;
                flex-direction: column;
                align-items: stretch;
                height: auto !important;
                width: 100%;
                gap: 0;
            }
    
            .media_card_left {
                display: block;
                width: 100%;
            }
    
            .media_card_img {
                width: 38.4vw;
                height: 38.4vw;
                margin: 0 auto 8.533vw;
                flex-shrink: 0;
    
                img {
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                }
            }
    
            &.tall,
            &.xlarge {
                .media_card_img {
                    width: 38.4vw;
                    height: 51.2vw;
                    margin-top: 0;
                }
            }
    
            &.xlarge {
                .media_card_header {
                    height: auto !important;
                }
            }
    
            .media_card_text {
                display: block;
                padding: 0 !important;
            }
    
            .media_card_title {
                font-size: 4.267vw;
                font-weight: 600;
                line-height: 6.4vw;
                color: #32373E;
                margin-bottom: 1.067vw;
            }
    
            .media_card_info {
                font-size: 3.733vw;
                font-weight: 600;
                line-height: 5.333vw;
                color: #6b6f75;
                margin-top: 0;
                margin-bottom: 0;
            }
    
            .media_card_link {
                display: flex;
                align-items: center;
                align-self: flex-end;
                margin-top: 6.4vw;
                gap: 1.6vw;
                padding: 0 !important;
                color: #32373E;
                opacity: 1;
    
                &:hover {
                    opacity: 1;
                }
    
                span {
                    font-size: 4.267vw;
                    font-weight: 600;
                    line-height: 6.4vw;
                }
    
                img {
                    width: 5.333vw;
                    height: 5.333vw;
                }
            }
        }
    
        .media_card.expanded {
            padding-bottom: 8.533vw !important;
    
            &.large,
            &.xlarge {
                padding-bottom: 6.667vw !important;
            }
    
            .media_card_link {
                margin-bottom: 5.6vw;
            }
    
            .media_card_body {
                padding-top: 8.533vw;
    
                .media_body_desc {
                    font-size: 3.733vw;
                    line-height: 6.4vw;
                    margin-bottom: 6.667vw;
                }
    
                .media_body_row {
                    gap: 4.8vw;
                }
    
                .media_row_label {
                    font-size: 3.733vw;
                    line-height: 5.333vw;
                    width: 26.667vw;
                }
    
                .media_row_content {
                    font-size: 3.733vw;
                    line-height: 5.333vw;
    
                    a {
                        font-size: 3.733vw;
                        line-height: 5.333vw;
                    }
                }
    
                .border_line {
                    margin-top: 2.4vw;
                    margin-bottom: 5.333vw;
    
                    &:last-child {
                        margin-bottom: 0;
                    }
    
                    .red_part {
                        width: 26.667vw;
                    }
                }
    
                .media_body_center_img {
                    margin-top: 6.667vw;
                    margin-bottom: 7.733vw;
                    display: flex;
                    justify-content: center;
    
                    img {
                        width: 82.933vw;
                        height: 58.4vw;
                        object-fit: cover;
                    }
                }
    
                .media_card_extra {
                    margin-top: 5.6vw;
    
                    .media_extra_title {
                        margin-bottom: 5.333vw;
                        font-size: 4vw;
                        line-height: 5.867vw;
                    }
    
                    .media_extra_content {
                        gap: 4.267vw;
    
                        p {
                            font-size: 3.733vw;
                            line-height: 6.4vw;
                            letter-spacing: -0.027vw;
                        }
                    }
                }
            }
        }
    
        .media_card.expanded.xlarge {
            .media_card_body {
                .media_card_extra {
                    .media_extra_content {
                        gap: 0;
                    }
                }
            }
        }
    }
    
    .l_simulation_related_area {
        margin-top: 17.067vw;
        padding: 0 4.267vw;
        margin-bottom: 17.067vw;
    
        .p_simulation_related_list {
            grid-template-columns: 1fr;
            gap: 6.4vw;
            margin-top: 8.533vw;
    
            .p_simulation_related_card {
                min-height: 32vw;
                padding: 0 4.267vw 1.6vw;
    
                .p_simulation_related_card_title {
                    font-size: 4.267vw;
                    line-height: 6.4vw;
                }
    
                .p_simulation_related_card_icon {
                    right: 4.267vw;
                    bottom: 3.2vw;
                    width: 5.333vw;
                    height: 5.333vw;
                }
            }
        }
    }
    
    .customer_area {
        padding-top: 0;
        margin-bottom: 0;
    }
    
    .customer_wrap {
        padding: 0 4.267vw;
    }
    
    .customer_headline {
        gap: 4.267vw;
        margin-bottom: 9.867vw;
    
        h2 {
            font-size: 7.467vw;
            line-height: 11.733vw;
            letter-spacing: -0.149vw;
        }
    }
    
    .customer_tab {
        gap: 0.8vw;
        margin-bottom: 6.4vw;
    
        button {
            padding: 0 0 3.2vw;
            font-size: 3.733vw;
            line-height: 8.533vw;
            border-bottom: 1.067vw solid #32373e;
    
            span {
                padding: 0 4.8vw;
            }
    
            &.active {
                span {
                    background: url('../images/common/red_arrow_bottom.png') center right 0 / 2.667vw no-repeat;
                }
            }
        }
    }
    
    .customer_toggle_area {
        margin-bottom: 8.533vw;
    }
    
    .customer_toggle_box {
        .container {
            grid-template-columns: 1fr;
            gap: 4.267vw;
    
            .box {
                grid-template-columns: 1fr 21.333vw;
                gap: 4.267vw;
                padding: 5.867vw 6.4vw 5.333vw;
    
                .left {
                    .head {
                        gap: 3.2vw;
                        margin-bottom: 3.2vw;
    
                        .voice {
                            font-size: 3.2vw;
                            line-height: 4.8vw;
                        }
    
                        .user {
                            padding-left: 2.933vw;
                            font-size: 3.2vw;
                            line-height: 4.8vw;
                            background: url('../images/top/customer_icon.svg') center left 0 / 1.867vw no-repeat;
                        }
                    }
    
                    h3 {
                        margin-bottom: 1.6vw;
                        font-size: 4.267vw;
                        line-height: 6.4vw;
                    }
    
                    p {
                        font-size: 3.2vw;
                        line-height: 4.8vw;
                    }
                }
    
                .right {
                    .img {
                        height: 21.333vw;
                        margin-bottom: 6.933vw;
    
                        img {
                            height: 100%;
                            object-fit: cover;
                        }
                    }
    
                    p {
                        padding-right: 5.333vw;
                        font-size: 3.2vw;
                        line-height: 4.8vw;
                        background: url('../images/common/red_circle_white_arrow.png') center right 0 / 4.267vw no-repeat;
                    }
                }
            }
        }
    
    }
    
    .sp {
        display: block !important;
    }
    
    br.sp {
        display: inline !important;
    }
}