@charset "utf-8";
/* スマホ横向きCSS */
@media screen and (min-width:1px) and (max-width:769px) {
}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    
    html{
        font-size: 3.6vw;
    }

    /*----------header----------*/
    header{}
    
        header > .box_inner{
            height: 16vw;
            padding-top: 0.5rem;
        }
    
            header > .box_inner:before {
                width: 65vw;
                height: 1.5vw;
                border-right-width: 1.5vw;
            }
    
            header > .box_inner .site_title a .lbl_ja{
                height: 2rem;
            }
    
            header > .box_inner .site_title a .lbl_en {
                height: 1.5rem;
                margin-top: 0.5rem;
            }
    
    header > .box_inner .global_nav{
        display: none;
    }



    /*----------contents----------*/
    .contents {
        padding-top: 16vw;
    }

    /*-----footer-----*/
    footer{
        padding: 2.5rem 0 2rem 0;
    }
    
        footer > .box_inner .f_site_title a .lbl_ja{
            width: 10rem;
            margin-right: 1rem;
        }
    
        footer > .box_inner .f_site_title a .lbl_en {
            width: calc(10rem / 400 * 270);
            margin-top: 0.3125rem;
        }
    
            footer > .box_inner .contact_info p{
                display: flex;
                flex-direction: column;
                align-items: center;
            }
    
    .pagetop{
        right: 1rem;
        bottom: 12rem;
    }

    .nav_oc,
    .small_header .nav_oc{
        width: 16vw;
        height: 16vw;
    }
    
    .sn_reg_mypage ul{
        flex-direction: column;
    }
    
        .sn_reg_mypage ul li{
            width: 100%;
            margin: 0 0 1rem 0;
        }
    
        .sn_reg_mypage ul li:last-child{
            margin-bottom: 0;
        }
    
            .sn_reg_mypage ul li a .lbls{
                padding: 1rem 0;
            }
    
            .sn_reg_mypage ul li a .lbls .lbl1{
                font-size: 1.5rem;
            }
    
    .side_nav .login_status_box dl dd ul li a{
        padding: 1em 1em;
    }
    
    .side_global_nav > ul{
        flex-direction: column;
    }
    
        .side_global_nav > ul > li{
            width: 100%;
            margin-right: 0;
        }
    

    
        /*終了対応*/
        .side_nav .end_msg{
            margin-bottom: 1.5rem;
            line-height: 1.5;
            padding: 0 5vw;
        }
    
        /*終了対応ここまで*/

    .bottom_fn_btns{
        box-sizing: border-box;
        display: block;
        height: 18vw;
        padding: 3vw 5vw;
        width: 100%;
        justify-content: center;
        align-items: center;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: -1;
        background: #212121;
        transition: .6s all ease;
        transform: translateY(0.5rem);
        opacity: 0;
    }

    .bottom_fn_btns.show{
        z-index: 1;
        transform: translateY(0);
        opacity: 1;
    }

        .bottom_fn_btns ul{
            display: flex;
            justify-content: center;
            width: 100%;
            height: 100%;
        }

            .bottom_fn_btns ul li{
                width: calc((100% - 3vw) / 2);
                height: 100%;
                margin-right: 3vw;
            }

            .bottom_fn_btns ul li:last-child{
                margin-right: 0;
            }

                .bottom_fn_btns ul li a{
                    display: block;
                    background: #c2584a;
                    text-decoration: none;
                    color: #fff;
                    border-radius: 0.5rem;
                    box-shadow: 0 0 2px 2px rgba(0,0,0,0.1);
                    height: 100%;
                }
    
                    .bottom_fn_btns ul li a .lbls{
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        justify-content: center;
                        height: 100%;
                    }
    
                        .bottom_fn_btns ul li a .lbls .lbl1{
                            font-size: 1.14em;
                            font-weight: 600;
                            margin-bottom: 0.2em;
                            text-shadow: 1px 1px 0 rgba(0,0,0,0.5);
                        }
    
                        .bottom_fn_btns ul li a .lbls .lbl2{
                            font-size: 0.9em;
                        }
    
    br.pc{
        display: none;
    }
}