@charset "utf-8";
/* スマホ横向きCSS */
@media screen and (min-width:1px) and (max-width:768px) {
    /* iOSでのデフォルトスタイルをリセット */
    input[type="submit"],
    input[type="button"] {
        border-radius: 0;
        -webkit-box-sizing: content-box;
        -webkit-appearance: button;
        appearance: button;
        border: none;
        box-sizing: border-box;
        cursor: pointer;
    }
    input[type="submit"]::-webkit-search-decoration,
    input[type="button"]::-webkit-search-decoration {
        display: none;
    }
    input[type="submit"]:focus,
    input[type="button"]:focus {
        outline-offset: -2px;
    }


}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:575px) {
    html{
        font-size: 3.8vw;
    }

    body {
        min-width:initial;
        min-width:auto;
        overflow-y: scroll;
    }

    #container{
        min-width:initial;
        min-width:auto;
    }

    /*----------header----------*/
    header{}

        header > .box_header{
            position: absolute;
            top: 0;
            left: 0;
            width: 50%;
            height: 100%;
        }

        header > .box_header h1{
            height: 100%;
        }

        header > .box_header .site_title{
            left: 0;
            width: auto;
            height: 100%;
            padding-left: 0.5em;
        }

        header > .box_header .site_title .sp{
            display: block;
            height: 100%;
        }

            header > .box_header .site_title .sp a{
                box-sizing: border-box;
                display: flex;
                flex-direction: column;
                justify-content: center;                
                align-items: flex-start;
                color: #00469b;
                text-decoration: none;
                gap: 0.3em;
                height: 100%;
                padding-bottom: 0.1em;
            }

            header > .box_header .site_title .sp a .lbl_site_title{
                font-weight: 600;
                font-size: 0.8rem;
            }

            header > .box_header .site_title .sp a .lbl_h{
                font-weight: 900;
                font-size: 1.15rem;
            }


        header > .box_inner{
            height: 16vw;
        }

            header > .box_inner .global_nav{
                padding-left: 30vw;
                padding-right: 1vw;
                width: auto;
            }

                header > .box_inner .global_nav ul{
                    flex-wrap: wrap;
                    justify-content: flex-end;
                }

                    header > .box_inner .global_nav ul li{
                        padding: 0;
                    }

                        header > .box_inner .global_nav ul li:before{
                            content: none;
                        }

                        header > .box_inner .global_nav ul li a{
                            font-size: 3.2vw;
                            padding: 0.5em 0.5em 0.6em;
                        }

                            header > .box_inner .global_nav ul li a:before{
                                font-family: FontAwesome;
                                content:"\f0da";
                                font-weight: normal;
                                margin-right: 0.3em;
                                font-size: 2.6vw;
                                color: rgba(255,255,255,0.8);
                                display: inline-block;
                                transform: translateY(-0.1em);
                            }

        header > .box_footer{
            height: 7vw;
        }

            header > .box_footer .lbl_promoter{
                width: auto;
                margin: 0;
                padding-right: 2vw;
            }

                header > .box_footer .lbl_promoter p{
                    width: 75%;
                }

                    header > .box_footer .lbl_promoter p img{
                        vertical-align: middle;
                    }


    /*----------contents----------*/
    .contents{
        padding-top: 16vw;
    }




    /*-----footer-----*/
    footer{
        height: auto;
        padding: 4vw 0;
    }


        footer > .box_inner{
            width: auto;
            font-size: 0.7em;
            flex-direction: column;
            justify-content:flex-start;
            align-items: center;
        }

            footer > .box_inner .f_nav{
                margin-bottom: 0.8em;
            }

    .f_fixed_nav{
        height: 14vw;
    }

        .f_fixed_nav ul{
            box-sizing: border-box;
            width: 100%;
            padding: 0 4vw;
        }

            .f_fixed_nav ul li{
                margin-right: 2vw;
                width: calc((100% - 2vw) / 2);
            }

                .f_fixed_nav ul li a{
                    height: 10vw;
                    padding: 3vw 0;
                    border-radius: 5vw;
                    text-align: center;
                }

                    .f_fixed_nav ul li a img{
                        height: 4vw;
                    }


    .nav_oc,
    .small_header .nav_oc{
        width: 16vw;
        height: 16vw;
        top: 0;
        right: 0;
    }

            .menu-trigger span {
                width: 7vw;
                left: 4.5vw;
                height: 0.6vw;
            }

            .menu-trigger span:nth-of-type(1) {
                top: 4.9vw;
            }

            .menu-trigger span:nth-of-type(2) {
                top: 7.7vw;
            }
            .menu-trigger span:nth-of-type(3) {
                bottom: 4.9vw;
            }

            .menu-trigger.active span:nth-of-type(1) {
                -webkit-transform: translateY(2.8vw) rotate(-315deg);
                transform: translateY(2.8vw) rotate(-315deg);
            }

            .menu-trigger.active span:nth-of-type(3) {
                -webkit-transform: translateY(-3.6vw) rotate(315deg);
                transform: translateY(-2.7vw) rotate(315deg);
            }

        .side_nav .side_global_nav{
            box-sizing: border-box;
            width: 100%;
            justify-content: space-between;
            padding: 0 5vw;
        }

            .side_nav .side_global_nav > ul{
                width: 100%;
            }

                .side_nav .side_global_nav > ul > li > a{
                    height: 10vw;
                    padding: 0 0 0 0.5em;
                    font-size: 3.6vw;
                }

                .side_nav .side_global_nav > ul > li > .nolink{
                    height: 7vw;
                    padding: 0 0 0 0.5em;
                    font-size: 3.4vw;
                }

                .side_nav .side_global_nav > ul > li > ul{
                    margin: 0.5em 0 0 0.5em;
                }

                    .side_nav .side_global_nav > ul > li > ul > li > a{
                        font-size: 3.2vw;
                    }
    
    .grecaptcha-badge{
        bottom: 16vw !important;
    }

    /*ヘッダ固定によるアンカーずれ対応*/
    *[id^="anc_"]{
        padding-top: 20vw;
        margin-top:-20vw;
    }


    /*ページトップ*/
    .pagetop{
        width:14vw;
        height:14vw;
        bottom:18vw;
        right:3vw;
    }

        .pagetop a:before{
            font-size: 2rem;
        }

    /*改行のPC,SPでの表示切替*/
    br.pc,
    img.pc,
    span.pc{
        display:none;
    }

    br.sp,
    img.sp,
    span.sp{
        display:inline;
    }


}