@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
/*--京recruit.css--*/
/* ##########PC########## */
/*----------header----------*/

.sp_disp{
    display:none;
}

.platform_box {
    width: 1000px;
    margin: 0 auto;
}

.platform_box .inner {
    display: flex;
    margin-bottom: 3em;
    padding: 1.5em;
    border-radius: 0.5rem;
    gap: 2rem;
    box-shadow: 0 0 10px 1px rgba(0,0,0,0.1);
}

.platform_box .box_header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1em;
}

.platform_box .box_header .show {
    width: auto;
    opacity: 1;
    filter: none;
    transform: none;
    font-size: 1.8em;
    font-weight: 700;
    color: #333;
    margin-bottom: 1.5em;
    background: none;
    padding-top: 0;
    padding-bottom: 0.2em;
    text-align: center;
}

.platform_box .box_header .show::after {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    border-bottom: 0.125rem solid #004ea1;
    position: absolute;
    bottom: 0;
    left: 0;
}

.platform_box .inner .fig {
    min-width: 380px;
    flex: 1;
}

.platform_box .inner .fig img {
    width: 100%;
    height: auto;
}

.platform_box .inner .explanation .title {
    background: #3151a2;
    color: #fff;
    font-size: 1.3em;
    font-weight: 600;
    padding: 0.4em 0.5em;
    margin-bottom: 0.8em;
    line-height: 1.4;
}

.platform_box .inner .explanation .lbl {
    color: #3151a2;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 0.8em;
    margin-left: 0.3em;
    font-size: 1.1em;
}

.platform_box .inner .explanation .text {
    line-height: 1.6;
}

.platform_box .inner .explanation .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1.5em;
}

.platform_box .inner .explanation .btn a {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 44px;
    border-radius: 22px;
    border: 1px solid #3151a2;
    color: #3151a2;
    text-decoration: none;
    padding: 0 1.5em;
    transition: .5s all ease;
}

.platform_box .inner .explanation .btn a:hover {
    color: #fff;
    background: #3151a2;
}

.platform_box .inner .explanation .btn a.btn_movie {
    border: none;
    border-bottom: 1px solid #3151a2;
    height: auto;
    border-radius: 0;
    padding: 0.3em 0.5em;
    line-height: 1;
    color: #333;
}

    .platform_box .inner .explanation .btn a.btn_movie::after{
        font-family: FontAwesome;
        content:"\f144";
        font-size: 1.4em;
        margin-left: 0.3em;
        color: #3151a2;
        display: inline-block;
        transition: .3s all ease;
    }

.platform_box .inner .explanation .btn a.btn_movie:hover {
    color: #3151a2;
    background: none;
}

.platform_box .inner .explanation .btn a.btn_movie:hover::after {
    transform: translateX(0.15em);
}

.mfp-content{
    max-width: 800px;
}

.promo_movie{
    width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.promo_movie video{
    width: 100%;
    aspect-ratio: 16 / 9;
}

  .popup-modal-dismiss{
    display: flex;
    justify-content: center;
    margin-top: 0.5rem;
  }

    .popup-modal-dismiss a{
        display: inline-block;
        color: #333;
        text-decoration: none;
        font-size: 0.9rem;
        background: #fff;
        border-radius: 100vh;
        padding: 0.5em 1em;
        transition: .3s all ease;
    }

    .popup-modal-dismiss a:hover{
        opacity: 0.8;
    }

    .mfp-close-btn-in .mfp-close{
        display: none;
    }

/*3Dデータ共有プラットフォーム GBNEXT*/
.contents.gbnext{
    padding-top: 90px;
}

    .contents.gbnext .topicpath{
        display: none;/*暫定*/
    }

    .contents.gbnext .content_title{
        display: none;
    }

    .contents.gbnext .content_body{
        padding-top: 0;
    }

    .contents.gbnext .mainvisual_box{
        background: #3151a2;
        display: flex;
        justify-content: center;
        padding: 3.75rem 0;
    }

    .contents.gbnext .mainvisual_box > .box_inner{
        background-color: #fff;
        background-image: 
            url(../shared/platform/gbnext/bg_gbn_home_catch.png),
            url(../shared/platform/gbnext/fig_gbn_home_catch_l.png),
            url(../shared/platform/gbnext/fig_gbn_home_catch_r.png);
        background-repeat: 
            no-repeat,
            no-repeat,
            no-repeat;
        background-size:
            50rem auto,
            10.5rem auto,
            10.5rem auto;
        background-position:
            bottom right,
            bottom 7rem left,
            bottom 12rem right;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 1190px;
        padding: 3.5rem 0 3rem 0;
        border-radius: 1rem 1rem 0 0;
        position: relative;
    }

        .contents.gbnext .mainvisual_box > .box_inner p{
            width: 43rem;
            margin-bottom: 2rem;
            position: relative;
            z-index: 1;
        }

        .contents.gbnext .page_body .mainvisual_box > .box_inner h2{
            opacity: 1;
            width: 28rem;
            filter: none;
            transform: none;
            padding: 0;
            margin: 0 0 3rem 0;
            background: none;
            position: relative;
            z-index: 1;
        }

        .contents.gbnext .page_body .mainvisual_box > .box_inner ul{
            display: flex;
            margin: 0;
            width: calc(100% - 9rem);
            gap: 1.5rem;
            position: relative;
            z-index: 1;
        }

        .contents.gbnext .page_body .mainvisual_box > .box_inner ul li{
            background: #a3cf74;
            font-size: 1.2rem;
            font-weight: 700;
            padding: 0.2em 0;
            border-radius: 100vh;
            margin-bottom: 0;
            flex: 1;
            text-align: center;
        }

            .contents.gbnext .page_body .mainvisual_box > .box_inner ul li::before{
                content: none;
            }

        .contents.gbnext .page_body .mainvisual_box > .box_inner .figs{
            width: 100%;
            height: 100%;
            position: absolute;
            z-index: 0;
            top: 0;
            left: 0;
        }

            .contents.gbnext .page_body .mainvisual_box > .box_inner .figs .figs_inner{
                position: relative;
                width: 100%;
                height: 100%;
            }

                .mainvisual_box > .box_inner .figs img{
                    width:4.6875rem;
                    height: auto;
                    position: absolute;
                }

                .mainvisual_box > .box_inner .figs img.icon1{
                    top: 2.5rem;
                    left: calc(50% - 29rem);
                }

                .mainvisual_box > .box_inner .figs img.icon2{
                    top: 19rem;
                    left: calc(50% - 23rem);
                }

                .mainvisual_box > .box_inner .figs img.icon3{
                    top: 10rem;
                    left: calc(50% - 22rem);
                }

                .mainvisual_box > .box_inner .figs img.icon4{
                    top: 10rem;
                    right: calc(50% - 24rem);
                }

                .mainvisual_box > .box_inner .figs img.icon5{
                    top: 4rem;
                    right: calc(50% - 31rem);
                }
        
    .contents.gbnext .about_box{
        background: #8dd0d8;
        padding: 5rem 0;
    }

        .contents.gbnext .about_box > .box_inner{
            width: 880px;
            margin: 0 auto;
        }

            .outline1{
                display: flex;
                gap: 2rem;
                margin-bottom: 4rem;
            }

                .outline1 .text{
                    flex: 1;
                }

                    .outline1 .text h3{
                        width: 28.5rem;
                    }

                    .outline1 .text p strong{
                        background: linear-gradient(transparent 60%, rgba(255,255,255,0.5) 60%);
                    }

                    .outline1 .text p.note{
                        font-size: 0.84em;
                        text-align: right;
                        margin: -1em 0 0 0;
                    }

                .outline1 .fig{
                    width: 20.625rem;
                }

            .outline2{
                display: flex;
                align-items: flex-end;
                gap: 4rem;
                margin-bottom: 3rem;
            }

                .outline2 .fig{
                    display: flex;
                    flex-direction: column;
                    gap: 3.5rem;
                    background-image: url(../shared/platform/gbnext/fig_gbn_plus.png);
                    background-size: 2rem auto;
                    background-repeat: no-repeat;
                    background-position: center center;
                }

                .outline2 .fig dt{
                    color: #3151a2;
                    font-weight: 700;
                    font-size: 1.05em;
                }

                .outline2 .fig dd{
                    width: 14.75rem;
                }

                .outline2 .text{
                    flex: 1;
                    position: relative;
                }

                    .outline2 .text dl{
                        background: rgba(255,255,255,0.90);
                        line-height: 1.6;
                        padding: 2rem;
                        position: relative;
                    }

                    .outline2 .text dl::before{
                        content: "";
                        display: block;
                        width: 2rem;
                        height: 1rem;
                        clip-path: polygon(100% 0, 0% 100%, 100% 100%);
                        background: rgba(255,255,255,0.90);
                        position: absolute;
                        bottom: 0;
                        left: -2rem;
                    }

                    .outline2 .text dl dt{
                        color: #3151a2;
                        font-weight: 700;
                        font-size: 1.3em;
                        margin-bottom: 0.5em;
                    }

            .outline3{
                background: #fff;
                border-radius: 1rem;
                padding: 2rem;
            }

                .outline3 ul{
                    display: flex;
                    flex-wrap: wrap;
                    margin: 0;
                    padding: 0;
                    gap: 0 2rem;
                }

                .outline3 ul li{
                    box-sizing: border-box;
                    padding: 0.75rem 0 0 0;
                    margin: 0;
                    width: calc((100% - 4rem) / 3);
                    height: 11.25rem;
                }

                    .outline3 ul li::before{
                        content: none;
                    }

                    .outline3 ul li.title dl dt{
                        display: flex;
                        flex-direction: column;
                    }

                        .outline3 ul li.title dl dt .lbl1{
                            font-weight: 600;
                            font-size: 1.1rem;
                        }

                        .outline3 ul li.title dl dt .lbl2{
                            font-weight: 700;
                            font-size: 2rem;
                            color: #3151a2;
                        }

                        .outline3 ul li.title dl dd{
                            font-weight: 700;
                            font-size: 1.2rem;
                        }

                    .outline3 ul li.point{
                        background-image: url(../shared/platform/gbnext/bg_gbn_point.png);
                        background-size: 100% auto;
                        background-repeat: no-repeat;
                        background-position: right top;
                        position: relative;
                    }

                    .outline3 ul li.point .point-number{
                        color: #66c4cf;
                        font-family: "Poppins", sans-serif;
                        font-weight: 600;
                        font-size: 1.05rem;
                        position: relative;
                        z-index: 1;
                        margin-bottom: 1rem;
                        display: inline-block;
                    }

                    .outline3 ul li.point p{
                        margin-bottom: 0;
                        font-weight: 700;
                        font-size: 1.4rem;
                        position: relative;
                        z-index: 1;
                    }

                    .outline3 ul li.point p sup{
                        font-size: 0.6em;
                    }

                    .outline3 ul li.point .fig{
                        width: 5.5rem;
                        position: absolute;
                        top: 0;
                        right: 1rem;
                        z-index: 0;
                    }

                .outline3 .note{
                    font-size: 0.8em;
                    text-align: right;
                    margin-bottom: 0;
                }

    .contents.gbnext .page_body h3{
        font-size: 2rem;
        margin-bottom: 1.5em;
    }

    .contents.gbnext .services_box{
        padding: 5rem 0;
    }

        .contents.gbnext .services_box > .box_header{
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .contents.gbnext .services_box > .box_inner{
            width: 880px;
            margin: 0 auto;
        }

            .contents.gbnext .services_box > .box_inner .services_list{
                margin-bottom: 3rem;
            }

            .contents.gbnext .services_box > .box_inner .services_list ul{
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: 3rem;
            }

                .contents.gbnext .services_box > .box_inner .services_list ul li{
                    margin: 0;
                    padding: 0;
                    display: flex;
                    gap: 3rem;
                }

                .contents.gbnext .services_box > .box_inner .services_list ul li::before{
                    content: none;
                }

                .contents.gbnext .services_box > .box_inner .services_list ul li .fig{
                    width: 25.5rem;
                }

                .contents.gbnext .services_box > .box_inner .services_list ul li .text{
                    flex: 1;
                }

                .contents.gbnext .services_box > .box_inner .services_list ul li .text dl dt{
                    display: flex;
                    flex-direction: column;
                }

                    .contents.gbnext .services_box > .box_inner .services_list ul li .text dl dt .lbl1{
                        font-family: "Poppins", sans-serif;
                        font-weight: 700;
                        color: #3151a2;
                        margin-bottom: 0.5em;
                    }

                    .contents.gbnext .services_box > .box_inner .services_list ul li .text dl dt .lbl2{
                        font-weight: 700;
                        font-size: 1.75rem;
                        margin-bottom: 0.5em;
                    }

                .contents.gbnext .services_box > .box_inner .services_list ul li .text dl dd{
                    line-height: 1.6;
                }

            .contents.gbnext .services_box > .box_inner .file_list{
                background: #f2f2f2;
                padding: 1.5rem 2rem;
                border-radius: 1rem;
            }

            .contents.gbnext .services_box > .box_inner .file_list dl{
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            .contents.gbnext .services_box > .box_inner .file_list dl dt{
                font-size: 1.2rem;
                color: #667fb8;
                font-weight: 600;
                margin-bottom: 0.5em;
            }

            .contents.gbnext .services_box > .box_inner .file_list dl dd{
                width: 100%;
            }

            .contents.gbnext .services_box > .box_inner .file_list dl dd ul{
                margin: 0;
                padding: 0;
                font-size: 0.94em;
            }

            .contents.gbnext .services_box > .box_inner .file_list dl dd ul li{
                display: inline;
                padding: 0;
                margin: 0 1em 0 0;
            }

            .contents.gbnext .services_box > .box_inner .file_list dl dd ul li::before{
                content: "●";
                width: auto;
                height: auto;
                background: none;
                border-radius: 0;
                position: relative;
                top: 0;
                left: 0;
                font-size: 1em;
                color: inherit;
            }

    .contents.gbnext .katsuyorei_box{
        background: #8dd0d8;
        padding: 5rem 0;
    }

        .contents.gbnext .katsuyorei_box > .box_header{
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-bottom: 3rem;
        }

            .contents.gbnext .katsuyorei_box > .box_header p{
                font-size: 1.8rem;
                line-height: 1.2;
                font-weight: 700;
                margin-bottom: 0;
                margin-top: -0.5em;
            }

            .contents.gbnext .katsuyorei_box > .box_header p strong{
                color: #d7092f;
            }

        .contents.gbnext .katsuyorei_box > .box_inner{
            width: 880px;
            margin: 0 auto;
        }

            .page_body .scene_list{
                margin: 0;
                padding: 0;
                display: flex;
                gap: 2rem;
            }

                .page_body .scene_list li{
                    width: calc((100% - 4rem) / 3);
                    padding: 0;
                }

                .page_body .scene_list li::before{
                    content: none;
                }

                .scene_example{
                    background: #fff;
                    border-radius: 0.5rem;
                    padding: 1.5rem;
                }

                .scene_example .scene-number{
                    font-size: 1.1rem;
                    margin: 0 0 0.5em 0;
                    text-align: center;
                    color: #6a75b6;
                    font-weight: 700;
                    font-family: "Poppins", sans-serif;
                    font-weight: 700;
                }

                .scene_example .fig_text{
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 0.5rem;
                    background: #f2f2f2;
                    border-radius: 0.5rem;
                    padding: 1rem 0.75rem 0.75rem;
                    margin-bottom: 1.25rem;
                }

                    .scene_example .fig_text .fig{
                        height: 5rem;
                    }

                        .scene_example .fig_text .fig img{
                            max-width: auto;
                            max-width: initial;
                            height: 100%;
                        }

                    .page_body .scene_example .fig_text p{
                        margin: 0;
                        font-size: 0.9rem;
                        color: #034da2;
                        font-weight: 500;
                        text-align: center;
                    }

                .scene_example .merit{
                    display: flex;
                    flex-direction: column;
                    align-items: center;                    
                }

                .scene_example .merit h4{
                    font-size: 1.1rem;
                    font-weight: 700;
                    margin-bottom: 0.5em;
                }

                .scene_example .merit p{
                    margin-bottom: 0;
                }

                .page_body .scene_kw{
                    text-align: center;
                    font-size: 1.3rem;
                    font-weight: 700;
                    margin-bottom: 0;
                    position: relative;
                    padding-top: 4rem;
                }

                .page_body .scene_kw::before{
                    content: "";
                    display: block;
                    width: 3rem;
                    height: 1.5rem;
                    clip-path: polygon(100% 0, 0 0, 50% 100%);
                    background: #fff;
                    position: absolute;
                    top: 1rem;
                    left: calc(50% - 1rem);
                }


    .contents.gbnext .solutions_box{
        background: #3251a2;
        padding: 5rem 0;
    }

        .contents.gbnext .solutions_box > .box_header{
            display: flex;
            justify-content: center;
            margin-bottom: 6rem;
        }

            .contents.gbnext .solutions_box > .box_header h3{
                color: #fff;
                margin-bottom: 0;
            }

        .contents.gbnext .solutions_box > .box_inner{
            width: 880px;
            margin: 0 auto;
        }

        .page_body .solutions_list{
            width: 53.125rem;
            margin: 0 auto;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 5.625rem;
            background-image: url(../shared/platform/gbnext/logo_gbn_gbnext_solution.png);
            background-size: 8.25rem auto;
            background-position: center top 22rem;
            background-repeat: no-repeat;
        }

            .page_body .solutions_list > li{
                width: 23.75rem;
                padding: 0;
                margin: 0;
                position: relative;
            }

            .page_body .solutions_list > li::before{
                content: none;
            }

                .page_body .solutions_list > li .fig_text{
                    box-sizing: border-box;
                    border: 6px solid #fff;
                    width: 100%;
                    aspect-ratio: 1;
                    background: #fff;
                    border-radius: 50%;
                    position: relative;
                    z-index: 2;
                    overflow: hidden;
                }

                    .page_body .solutions_list > li .fig_text .fig{
                        position: relative;
                    }

                    .page_body .solutions_list > li .fig_text .fig .num{
                        font-family: "Poppins", sans-serif;
                        font-weight: 700;
                        display: inline-block;
                        position: absolute;
                        bottom: 0.25rem;
                        left: 0.75rem;
                        z-index: 1;
                        font-size: 3rem;
                        line-height: 1;
                        color: rgba(255,255,255,0.90);
                    }


                    .page_body .solutions_list > li .fig_text .fig img{
                        position: relative;
                    }

                    .page_body .solutions_list > li .fig_text dl{
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        margin-top: 1rem;
                    }

                    .page_body .solutions_list > li .fig_text dl dt{
                        color: #3151a2;
                        font-weight: 700;
                        font-size: 1.7rem;
                        margin-bottom: 0.75rem;
                    }

                    .page_body .solutions_list > li .fig_text dl dd{
                        font-size: 0.9em;
                        padding-left: 1.5rem;
                        padding-right: 1.5rem;
                        text-align: center;
                    }

            .sub_sol.sol1_1{
                box-sizing: border-box;
                background: #fff;
                position: absolute;
                top: -2.5rem;
                right: -5.5rem;
                z-index: 1;
                width: 10rem;
                aspect-ratio: 1;
                border-radius: 50%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
            }

                .sub_sol.sol1_1 .lbl1,
                .sub_sol.sol1_2 .lbl1{
                    color: #3151a2;
                    font-size: 1.2rem;
                    font-weight: 600;
                    text-align: center;
                    line-height: 1.2;
                    margin: 0;
                }

            .sub_sol.sol1_2{
                box-sizing: border-box;
                background: #fff;
                position: absolute;
                bottom: -5rem;
                left: -6.75rem;
                z-index: 1;
                width: 12.5rem;
                aspect-ratio: 1;
                border-radius: 50%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                padding-top: 1rem;
            }

                .sub_sol.sol1_2 .lbl2{
                    text-align: center;
                    margin: 0.25em 0 0 0;
                }

            .sub_sol.sol2{
                position: absolute;
                top: -2.5rem;
                right: -5.5rem;
                z-index: 1;
                width: 10rem;
                aspect-ratio: 1;
                border-radius: 50%;
                overflow: hidden;
            }

                .sub_sol.sol2 p.fig{
                    margin: 0;
                }

            .sub_sol.sol3,
            .sub_sol.sol4{
                border-top: 1px solid #fff;
                border-bottom: 1px solid #fff;
                margin-top: 3rem;
                padding: 1.5rem 1rem;
                position: relative;
            }

            .sub_sol.sol3::before,
            .sub_sol.sol4::before{
                content: "";
                display: inline-block;
                width: 1.75rem;
                aspect-ratio: 1;
                border: 1px solid #fff;
                border-right-color: rgba(255,255,255,0);
                border-bottom-color: rgba(255,255,255,0);
                border-radius: 0.25rem 0 0 0;
                position: absolute;
                top: -1rem;
                left: calc(50% - (1.75rem * 1.4 / 2));
                transform: rotate(45deg);
                background: #3251a2;
            }

            .sub_sol.sol3 .fig,
            .sub_sol.sol4 .fig{
                margin-bottom: 2rem;
            }

            .sub_sol.sol3 .fig ul,
            .sub_sol.sol4 .fig ul{
                display: flex;
                gap: 0.5rem;
                margin: 0;
                padding: 0;
            }

                .sub_sol.sol3 .fig ul li,
                .sub_sol.sol4 .fig ul li{
                    margin: 0;
                    padding: 0;
                    width: calc((100% - 0.5rem) / 2);
                }

                .sub_sol.sol3 .fig ul li::before,
                .sub_sol.sol4 .fig ul li::before{
                    content: none;
                }

                .sub_sol.sol3 p,
                .sub_sol.sol4 p{
                    margin: 0;
                    color: #fff;
                    text-align: center;
                }

                .sub_sol.sol3 p{
                    font-size: 1.5rem;
                    font-weight: 700;
                }

                .sub_sol.sol3 p strong{
                    color: #f8f0aa;
                }

                .sub_sol.sol4 p.lbl1{
                    font-size: 1.1rem;
                    font-weight: 700;
                    margin-bottom: 0.3em;
                }

                .sub_sol.sol4 p.lbl2{
                    font-size: 0.9em;
                }

    .contents.gbnext .contact_box{
        display: flex;
        justify-content: center;
        padding-top: 4rem;
    }

        .contents.gbnext .contact_box p{
            font-size: 1.1em;
            border-bottom: 2px solid #b4b4b4;
            margin: 0;
        }



@media screen and (min-width:1px) and (max-width:1024px) {
    .contents.gbnext .mainvisual_box > .box_inner{
        width: calc(100% - 5rem);
    }
}

@media screen and (min-width:1px) and (max-width:768px) {}
/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    .sp_disp{
        display:block;
    }

    .platform_box {
        width: 90vw;
    }

    .platform_box .inner {
        flex-direction: column;
    }

    .platform_box .inner .fig {
        width: auto;
        min-width: unset;
    }

    .platform_box .box_header .show {
        font-size: 1.4em;
        margin-bottom: 0.5em;
    }

    .platform_box .inner .explanation .btn{
        gap: 1rem;
    }

    .platform_box .inner .explanation .btn a{
        padding: 0 1.5em;
    }

    .promo_movie{
        width: 96vw;
    }


    /*3Dデータ共有プラットフォーム GBNEXT*/
    .contents.gbnext{
        padding-top: 16vw;
    }

        .contents.gbnext .mainvisual_box{
            padding: 1rem;
        }

        .contents.gbnext .mainvisual_box > .box_inner{
            background-size:
                80vw auto,
                15vw auto,
                15vw auto;
            background-position:
                bottom right,
                top 3rem left,
                top 6rem right;
            width: auto;
            padding: 1.5rem 0 1rem 0;
        }

            .contents.gbnext .mainvisual_box > .box_inner p{
                width: 80%;
                margin-bottom: 1.5rem;
            }

            .contents.gbnext .page_body .mainvisual_box > .box_inner h2{
                width: 80%;
                margin: 0 0 2rem 0;
            }

            .contents.gbnext .page_body .mainvisual_box > .box_inner ul{
                width: calc(100% - 1rem);
                gap: 0.5rem;
            }

            .contents.gbnext .page_body .mainvisual_box > .box_inner ul li{
                font-size: 0.8rem;
                padding: 0.2em 1em;
            }

                    .mainvisual_box > .box_inner .figs img{
                        width:7vw;
                    }

                    .mainvisual_box > .box_inner .figs img.icon1{
                        top: 2.5rem;
                        left: 5vw;
                    }

                    .mainvisual_box > .box_inner .figs img.icon2{
                        top: 19rem;
                        left: 6vw;
                    }

                    .mainvisual_box > .box_inner .figs img.icon3{
                        top: 10rem;
                        left: 8vw;
                    }

                    .mainvisual_box > .box_inner .figs img.icon4{
                        top: 10rem;
                        right: 5vw;
                    }

                    .mainvisual_box > .box_inner .figs img.icon5{
                        top: 4rem;
                        right: 8vw;
                    }
            
        .contents.gbnext .about_box{
            background: #8dd0d8;
            padding: 3rem 0;
        }

            .contents.gbnext .about_box > .box_inner{
                width: auto;
                margin: 0 auto;
                padding: 0 1.5rem;
            }

                .outline1{
                    gap: 1.5rem;
                    margin-bottom: 1rem;
                    flex-direction: column;
                }

                    .outline1 .text{
                        flex: 1;
                    }

                        .outline1 .text h3{
                            width: 100%;
                            margin-bottom: 1.5rem !important;
                        }

                        .outline1 .text p.note{
                            font-size: 0.84em;
                            text-align: right;
                            margin: -1em 0 0 0;
                        }

                    .outline1 .fig{
                        width: 40%;
                        margin: 0 auto;
                    }

                .outline2{
                    flex-direction: column;
                    align-items: center;
                    gap: 1.5rem;
                    margin-bottom: 2rem;
                }

                    .outline2 .fig{
                        gap: 2.5rem;
                        background-image: url(../shared/platform/gbnext/fig_gbn_plus.png);
                        background-size: 1.5rem auto;
                    }

                        .outline2 .text dl{
                            padding: 1.5rem;

                        }

                        .outline2 .text dl::before{
                            width: 1rem;
                            height: 1rem;
                            top: -1rem;
                            left: calc(50% - 1rem);
                        }

                        .outline2 .text dl dt{
                            font-size: 1.2em;
                            margin-bottom: 0.5em;
                        }

                .outline3{
                    padding: 1rem;
                }

                    .outline3 ul{
                        flex-direction: column;
                        gap: 1rem 0;
                    }

                    .outline3 ul li{
                        padding: 0;
                        width: auto;
                        height: auto;
                    }

                        .outline3 ul li.title dl dt{
                            align-items: center;
                        }

                            .outline3 ul li.title dl dt .lbl2{
                                font-size: 1.6rem;
                            }

                            .outline3 ul li.title dl dd{
                                font-size: 0.9rem;
                                text-align: center;
                                margin-top: 0.5em;
                            }

                            .outline3 ul li.title dl dd br{
                                display: none;
                            }

                        .outline3 ul li.point{
                            position: relative;
                            padding: 0.5rem 0.5rem 0.5rem 1rem;
                        }

                        .outline3 ul li.point .point-number{
                            margin-bottom: 0.25rem;
                        }

                        .outline3 ul li.point p{
                            font-size: 1.2rem;
                            padding-right: 6.5rem;
                        }

                        .outline3 ul li.point p br{
                            display: none;
                        }

                        .outline3 ul li.point .fig{
                            width: 4rem;
                            top: 1rem;
                            right: 1rem;
                        }

                    .outline3 .note{
                        text-align: left;
                        line-height: 1.6;
                        margin-top: 1em;
                    }

        .contents.gbnext .page_body h3{
            font-size: 1.6rem;
        }

        .contents.gbnext .services_box{
            padding: 3rem 0;
        }


            .contents.gbnext .services_box > .box_inner{
                width: auto;
                padding: 0 1.5rem;
            }

                .contents.gbnext .services_box > .box_inner .services_list{
                    margin-bottom: 2rem;
                }

                .contents.gbnext .services_box > .box_inner .services_list ul{
                    gap: 3rem;
                }

                    .contents.gbnext .services_box > .box_inner .services_list ul li{
                        gap: 1rem;
                        flex-direction: column;
                    }

                    .contents.gbnext .services_box > .box_inner .services_list ul li .fig{
                        width: 100%;
                    }

                        .contents.gbnext .services_box > .box_inner .services_list ul li .text dl dt .lbl1{
                            margin-bottom: 0;
                        }

                        .contents.gbnext .services_box > .box_inner .services_list ul li .text dl dt .lbl2{
                            font-size: 1.4rem;
                        }

                .contents.gbnext .services_box > .box_inner .file_list{
                    padding: 1rem 1.5rem;
                }

                .contents.gbnext .services_box > .box_inner .file_list dl dt{
                    font-size: 1.1rem;
                }


        .contents.gbnext .katsuyorei_box{
            padding: 3rem 0;
        }

            .contents.gbnext .katsuyorei_box > .box_header{
                margin-bottom: 2rem;
            }

            .contents.gbnext .katsuyorei_box > .box_header p{
                font-size: 1.2rem;
                padding: 0 1.5rem;
            }


            .contents.gbnext .katsuyorei_box > .box_inner{
                width: auto;
                padding: 0 1.5rem;
            }

                .page_body .scene_list{
                    flex-direction: column;
                    gap: 1.5rem;
                    padding: 0 1rem;
                }

                    .page_body .scene_list li{
                        width: auto;
                    }

                    .scene_example{
                    }

                    .page_body .scene_kw{
                        padding-top: 3rem;
                    }

                    .page_body .scene_kw::before{
                        width: 2rem;
                        height: 1rem;
                    }

                    .page_body .scene_kw br{
                        display: none;
                    }


        .contents.gbnext .solutions_box{
            padding: 3rem 0;
        }

            .contents.gbnext .solutions_box > .box_header{
                margin-bottom: 4rem;
            }

            .contents.gbnext .solutions_box > .box_inner{
                width: auto;
                margin: 0 auto;
                padding: 0 1.5rem;
            }

            .page_body .solutions_list{
                width: auto;
                gap: 3rem;
                flex-direction: column;
                align-items: center;
                background-image: none;
            }

                .page_body .solutions_list > li{
                    width: 80vw;
                }

                    .page_body .solutions_list > li .fig_text .fig .num{
                        font-size: 2rem;
                    }


                        .page_body .solutions_list > li .fig_text dl dt{
                            font-size: 1.4rem;
                        }

                        .page_body .solutions_list > li .fig_text dl dd{
                            font-size: 0.84em;
                        }

                .sub_sol.sol1_1{
                    right: -3.5rem;
                    width: 8rem;
                }

                    .sub_sol.sol1_1 .lbl1,
                    .sub_sol.sol1_2 .lbl1{
                        font-size: 1rem;
                    }

                .sub_sol.sol1_2{
                    bottom: -5rem;
                    left: -3.75rem;
                    width: 10rem;
                }

                    .sub_sol.sol1_2 .lbl2{
                        font-size: 0.8rem;
                    }

                .sub_sol.sol2{
                    right: -3.5rem;
                    width: 8rem;
                }

                .sub_sol.sol3,
                .sub_sol.sol4{
                    padding: 1rem 0.5rem;
                }

                    .sub_sol.sol3 p{
                        font-size: 1.1rem;
                    }

        .contents.gbnext .contact_box{
            padding: 2rem 1.5rem 0;
        }

            .contents.gbnext .contact_box p{
                font-size: 1em;
                padding-bottom: 0.5em;
                line-height: 1.4;
                text-align: center;
            }





   
    
}
/* ##########印刷用########## */
@media print {}