@charset "UTF-8";
/*@import url("common.css");*/
.contents{
    padding-bottom: 0;
}
/*
    .content_title{
        margin: 3rem 0 2rem 0;
    }

    .content_title h1{
        font-size: 2rem;
        font-weight: 700;
        color: #004ea1;
    }
*/
    .content_body{
        padding-bottom: 0;
    }


.open_app_web_box,
.install_web_box{
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

    .open_app_web_box input[type="button"],
    .install_web_box input[type="button"]{
        box-sizing: border-box;
        height: 3.5rem;
        font-size: 1.5rem;
        border-radius: 0.25rem;
        background: #004ea1;
        color: #fff;
        font-weight: 500;
        border: none;
        padding: 0 3em 0.1em;
        cursor: pointer;
        transition: .3s all ease;
    }

    .open_app_web_box input[type="button"]:hover,
    .install_web_box input[type="button"]:hover{
        filter: brightness(1.1);
        box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);
    }

.page_body .install_pc p.installed_message{
    text-align: center;
}

.page_body p.only_installed{
    text-align: center;
}

.pass_check_box{
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #f2f6fa;
    padding: 4rem 0 calc(4rem + 140px);
}

.pass_check_box > .box_inner{
    background: #fff;
    width: 880px;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 0;
}

.pass_check_box > .box_inner dl{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pass_check_box .miss_massage{
    color: red;
    margin-bottom: 5px;
}

.pass_check_box #pass_check{
    width: 5em;
    margin-top: 1em;
    font-size: 1.6em;
    padding: 0 0.3em;
}

.pass_check_box dl dd{
    margin: 5px;
}

.pass_check_box button {
    margin-top: 1em;
    box-sizing: border-box;
    /*height: 3rem;*/
    border-radius: 0.25rem;
    background: #004ea1;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    border: none;
    padding: 0.3em 2em ;
    cursor: pointer;
}


.exp_app_box,
.app_features_box{
    box-sizing: border-box;
    width: 860px;
    margin: 0 auto;
}

    .exp_app_box h2,
    .app_features_box h2{
        background: none;
        padding-top: 0;
        margin: 0;
        width: auto;
        opacity: 1;
        filter: blur(0);
        transform: translateX(0);
    }

.exp_app_box{
    margin-bottom: 4rem;
}

.exp_app_box > .box_inner{
    display: flex;
    justify-content: center;
    gap: 2rem;
}

    .exp_app_box > .box_inner .column1{
        width: 25.5rem;
    }

    .exp_app_box > .box_inner .column1 h2{
        margin-bottom: 1.5rem;
    }

    .exp_app_box > .box_inner .column1 p{
        margin-bottom: 0;
    }

    .exp_app_box > .box_inner .column2{
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .exp_app_box > .box_inner .column2 p{
        width: 22.5rem;
    }

    .exp_app_box > .box_inner .column2 ul{
        display: flex;
        flex-wrap: wrap;
        width: 26rem;
        margin: 0;
        gap: 0.5em 0;
    }

    .exp_app_box > .box_inner .column2 ul li{
        box-sizing: border-box;
        margin: 0;
        font-weight: 500;
    }

        .exp_app_box > .box_inner .column2 ul li:nth-child(odd){
            width: 15.5em;
        }

        .exp_app_box > .box_inner .column2 ul li:nth-child(even){
            width: calc(100% - 15.5em);
        }

        .exp_app_box > .box_inner .column2 ul li::before{
            top: 0.25em;
            color: #111;
            font-size: 0.8em;
        }

.app_features_box{
    border: 3px solid #ccc;
    padding: 2rem;
    margin-bottom: 5rem;
    position: relative;
}

    .app_features_box::before{
        box-sizing: border-box;
        content: "";
        width: 2.5rem;
        height: 2.5rem;
        clip-path: polygon(100% 100%, 50% 0, 0 100%);
        background: #ccc;
        position: absolute;
        top: -2.5rem;
        left: 5rem;
        z-index: 1;
    }

    .app_features_box::after{
        box-sizing: border-box;
        content: "";
        width: 2.5rem;
        height: 2.5rem;
        clip-path: polygon(100% 100%, 50% 0, 0 100%);
        background: #fff;
        position: absolute;
        top: calc(7px - 2.5rem);
        left: 5rem;
        z-index: 2;
    }

    .app_features_box > .box_header{
        margin-bottom: 2rem;
    }

        .app_features_box > .box_header h2{
            display: flex;
            justify-content: center;
        }

            .app_features_box > .box_header h2 span[class^="lbl"]{
                height: 3.625rem;
            }

                .app_features_box > .box_header h2 span[class^="lbl"] img{
                    max-width: auto;
                    max-width: initial;
                    height: 100%;
                    width: auto;
                }

    .app_features_box > .box_inner{
        margin-bottom: 3rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .app_features_box > .box_inner .msg{
        text-align: center;
        font-weight: 600;
    }

    .app_features_box > .box_inner .features_figs{
        position: relative;
        margin-right: 3rem;
    }

        .app_features_box > .box_inner .features_figs ul{
            position: relative;
            display: flex;
            gap: 2rem;
            margin: 0;
        }

            .app_features_box > .box_inner .features_figs ul li{
                padding: 0;
                margin: 0;
                width: 16.25rem;
            }

                .app_features_box > .box_inner .features_figs ul li::before{
                    content: none;
                }

        .app_features_box > .box_inner .features_figs .fig_app_feature1{
            width: 12.5rem;
            position: absolute;
            top: 0;
            right: -10rem;
        }

    .app_features_box > .box_footer{

    }

        .app_features_box > .box_footer h3{
            background: #034da2;
            color: #fff;
            font-size: 1.3em;
            height: 2.5rem;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
        }


        .app_features_box > .box_footer h3::before,
        .app_features_box > .box_footer h3::after{
            content: "";
            display: block;
            width: 1.5rem;
            height: 2.5rem;
            background: #fff;
            position: absolute;
            top: 0;
        }

        .app_features_box > .box_footer h3::before{
            left: -1px;
            clip-path: polygon(0 0, 0% 100%, 100% 50%);
        }

        .app_features_box > .box_footer h3::after{
            right: -1px;
            clip-path: polygon(100% 0, 0 50%, 100% 100%);
        }

        


        .app_features_box > .box_footer .tokuten_exp{
            display: flex;
            flex-direction: column;
            align-items: center;
            line-height: 1.4;
            margin-bottom: 3em;
        }

            .app_features_box > .box_footer .tokuten_exp .lbl1{
                font-weight: 600;
                font-size: 1.1em;
            }

            .app_features_box > .box_footer .tokuten_exp .lbl2{
                font-weight: 700;
                font-size: 1.6em;
                color: #d50026;
                border-bottom: 2px solid #d50026;
            }

                .app_features_box > .box_footer .tokuten_exp .lbl2 .lbl_num{
                    font-size: 1.5em;
                    margin: 0 0.1em;
                }

        .app_features_box > .box_footer dl{
            border: 2px solid #004ea1;
            border-radius: 0.5rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            font-weight: 600;
        }

            .app_features_box > .box_footer dl dt{
                color: #004ea1;
                font-size: 1.4em;
                background: #fff;
                padding: 0 0.5em;
                margin-top: -1em;
                font-weight: 600;
            }

            .app_features_box > .box_footer dl dd{
                padding: 0.5rem 1.5rem;
            }

                .app_features_box > .box_footer dl dd ul{
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: center;
                    gap: 0.5em 1em;
                }

                .app_features_box > .box_footer dl dd ul li{
                    margin: 0;
                }

                .app_features_box > .box_footer dl dd ul li::before{
                    top: 0.25em;
                    color: #111;
                    font-size: 0.8em;
                }

                .app_features_box > .box_footer .notes{
                    font-size: 0.8em;
                    text-align: center;
                }

        
/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    .exp_app_box,
    .app_features_box{
        width: 90vw;
        margin: 0 auto;
    }

    .exp_app_box{
        margin-bottom: 3rem;
    }

    .exp_app_box > .box_inner{
        flex-direction: column;
    }

    .exp_app_box > .box_inner .column1{
        width: 100%;
    }

    .exp_app_box > .box_inner .column2 p{
        width: 80%;
    }

    .exp_app_box > .box_inner .column2 ul{
        width: auto;
        gap: 0.5em 1em;
    }

    .exp_app_box > .box_inner .column2 ul li:nth-child(odd),
    .exp_app_box > .box_inner .column2 ul li:nth-child(even){
        width: auto;
    }

    .app_features_box{
        padding: 1.5rem;
        margin-bottom: 3rem;
    }

    .app_features_box > .box_header{
        margin-bottom: 1.5rem;
    }

    .app_features_box > .box_header h2{
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    .app_features_box > .box_header h2 span[class^="lbl"]{
        height: 3rem;
    }

    .app_features_box > .box_inner .msg{
        text-align: left;
    }

    .app_features_box > .box_inner .features_figs ul{
        gap: 0.5rem;
    }

    .app_features_box > .box_inner .features_figs ul li{
        width: 35vw;
    }

    .app_features_box > .box_inner .features_figs .fig_app_feature1{
        width: 8rem;
        right: -5rem;
    }

    .app_features_box > .box_footer h3{
        font-size: 1.15em;
    }

    .app_features_box > .box_footer .tokuten_exp .lbl1{
        font-size: 1em;
        text-align: center;
    }

    .app_features_box > .box_footer .tokuten_exp .lbl2{
        font-size: 1.2em;
    }

    .app_features_box > .box_footer dl dt{
        font-size: 1.2em;
    }

    .app_features_box > .box_footer dl dd{
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .app_features_box > .box_footer dl dd ul{
        margin: 1em 0;
        justify-content: flex-start;
        font-size: 0.9em;
    }

    .pass_check_box{
        padding-bottom: 8rem;
    }

    .pass_check_box > .box_inner{
        width: 90vw;
    }
}