@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:479px) {
    html{
        font-size: 3.6vw;
    }

    body {
        min-width:initial;
        min-width:auto;
        overflow-y: scroll;
    }

    #container{
        min-width:initial;
        min-width:auto;
    }

    /*----------header----------*/
    header{
        border-bottom: 2px solid #29265d;
    }

        header > .box_header,
        .small_header header > .box_header{
            height: 16vw;
            padding: 0 15vw 0 2vw;
        }
    
            header > .box_header .logo_site_title,
            .small_header header > .box_header .logo_site_title{
                margin: 0;
            }
    
                header > .box_header .logo_site_title a .logo,
                .small_header header > .box_header .logo_site_title a .logo{
                    width: 9vw;
                    margin-right: 1vw;
                }

                header > .box_header .logo_site_title a .site_title,
                .small_header header > .box_header .logo_site_title a .site_title{
                    width: calc(9vw / 78 * 350);
                }
    
            header > .box_header .lang_changer{
                display: none;
            }
    
            header > .box_header .h_nav ul li{
                width: 14.5vw;
                height: 16vw;
                margin-right: 0;
            }
    
            header > .box_header .h_nav ul li.hn_search{
                display: none;
            }
    
                header > .box_header .h_nav ul li a,
                .small_header header > .box_header .h_nav ul li a{
                    padding-bottom: 0.4rem;
                }
    
                header > .box_header .h_nav ul li a .fig,
                .small_header header > .box_header .h_nav ul li a .fig{
                    width: 5.4vw;
                    margin-bottom: 0.2rem;
                }
    
                header > .box_header .h_nav ul li a .lbl,
                .small_header header > .box_header .h_nav ul li a .lbl{
                    font-size: 0.6rem;
                }
    
            header > .box_header .ud_fns{
                display: none;/*取り急ぎ非表示*/
            }
    
        header > .box_inner{
            display: none;
        }


    /*----------contents----------*/
    .contents{
        padding-top: 16vw;
    }

    /*-----footer-----*/
    footer{
        padding-top: 1.5rem;
    }
    
        footer > .box_header{
            margin-bottom: 1.5rem;
        }

            footer > .box_header .f_site_title {
                width: 60vw;
                margin-bottom: 0.6em;
            }
    
                footer > .box_header .addr_tel{
                    line-height: 1.5;
                    flex-direction: column;
                    align-items: center;
                }

                    footer > .box_header .addr_tel .text_addr{
                        margin-right: 0;
                    }

        footer > .box_inner{
            flex-direction: column-reverse;
            padding: 0 0 1.5rem 0;
            margin: 0 4vw;
        }

            footer > .box_inner .google_map_box{
                margin-right: 0;
            }

                footer > .box_inner .google_map_box > .box_inner{
                    width: 100%;
                    height: 50vw;
                }

            footer > .box_inner .time_info_box{
                width: 100%;
                margin-bottom: 1rem;
            }

                footer > .box_inner .time_info_box > dl > dt{
                    font-size: 1rem;
                }

                footer > .box_inner .time_info_box > dl > dd{
                    padding: 0.8rem;
                    font-size: 0.9rem;
                }

                    footer > .box_inner .time_info_box .biz_hour_detail dl dt{
                        height: 5vw;
                        border-radius: 2.5vw;
                    }

        footer > .box_footer{
            width: auto;
            margin: 0 4vw;
            justify-content: flex-start;
            flex-direction: column;
            padding: 1rem 0;
        }

            footer > .box_footer .f_nav{
                flex-direction: column;
                margin-bottom: 1em;
            }

                footer > .box_footer .f_nav .btn_private{
                    margin-right: 0;
                    padding-right: 0;
                    border-right: none;
                    margin-bottom: 1em;
                }

                    footer > .box_footer .f_nav .btn_private a{
                        height: 3.6vw;
                        padding-left: 4.6vw;
                    }

                footer > .box_footer .f_nav ul{
                    flex-wrap: wrap;
                }

                    footer > .box_footer .f_nav ul li{
                        box-sizing: border-box;
                        margin-right: 0;
                        width: 50%;
                        margin-bottom: 1em;
                    }
    
                    footer > .box_footer .f_nav ul li:nth-child(odd){
                        text-align: right;
                        padding-right: 0.5em;
                    }
    
                    footer > .box_footer .f_nav ul li:nth-child(even){
                        padding-left: 0.5em;
                    }

    .nav_oc,
    .small_header .nav_oc{
        display: block;
        width: 15vw;
        height: 16vw;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10;
    }

        .menu-trigger{
            width: 100%;
            height: 100%;
            padding: 0;
            border: none;
            background: #29265d;
            cursor: pointer;
            outline: none;
            position: relative;
            transition: .3s all ease;
        }

        .menu-trigger:hover{

        }
    
        .menu-trigger.active{
            background: none;
        }

            .menu-trigger span {
                display: inline-block;
                transition: all .4s;
                box-sizing: border-box;
                background-color: rgba(255,255,255,1);
                position: absolute;
                width: 6vw;
                left: 4.5vw;
                height: 2px;
            }

            .menu-trigger span:nth-of-type(1) {
                top: 5.4vw;
            }

            .menu-trigger span:nth-of-type(2) {
                top: calc(8vw - 1px);
            }
            .menu-trigger span:nth-of-type(3) {
                bottom: 5.4vw;
            }

            .menu-trigger.active span{
            }

            .menu-trigger.active span:nth-of-type(1) {
                -webkit-transform: translateY(1.9vw) rotate(-315deg);
                transform: translateY(1.9vw) rotate(-315deg);
            }

            .menu-trigger.active span:nth-of-type(2) {
                opacity: 0;
            }

            .menu-trigger.active span:nth-of-type(3) {
                -webkit-transform: translateY(-2.7vw) rotate(315deg);
                transform: translateY(-2.7vw) rotate(315deg);
            }

    .side_nav{
        box-sizing: border-box;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        opacity: 0;
        width: 100%;
        height: 100%;
        transition: .3s all ease;
        background: rgba(255,255,255,0);
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 20vw;
    }

    .side_nav.active{
        z-index: 9;
        opacity: 1;
        background: rgba(41,39,94,0.95);
    }

        .side_nav .side_global_nav{
            box-sizing: border-box;
            width: 100%;
            display: flex;
            justify-content: space-between;
            padding: 0 5vw;
        }

            .side_nav .side_global_nav > ul{
                width: 100%;
            }

                .side_nav .side_global_nav > ul > li{
                    margin-bottom: 0.8rem;
                }

                .side_nav .side_global_nav > ul > li > a{
                    box-sizing: border-box;
                    color: #000;
                    width: 100%;
                    font-weight: bold;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    position: relative;
                    z-index: 1;
                    background: rgba(255,255,255,0.98);
                    box-shadow: 0 3px 5px -3px rgba(0,0,0,0.8);
                    border-radius: 3px;
                    overflow: hidden;
                    height: 10vw;
                    padding: 0 0 0 0.5em;
                    font-size: 1rem;
                    text-decoration: none;
                }

                .side_nav .side_global_nav > ul > li > ul{
                    font-size: 0.86rem;
                    padding: 0.5rem;
                    line-height: 1.4;
                }

                    .side_nav .side_global_nav > ul > li > ul > li{
                        /*margin-bottom: 0.4rem;*/
                    }

                    .side_nav .side_global_nav > ul > li > ul > li:last-child{
                        margin-bottom: 0;
                    }

                    .side_nav .side_global_nav > ul > li > ul > li > a{
                        color: #fff;
                        text-decoration: none;
                        display: block;
                        padding: 0.3em 0.5em 0.3em 1em;
                        position: relative;
                    }

                    .side_nav .side_global_nav > ul > li > ul > li > a:hover{
                        background: rgba(255,255,255,0.1);
                    }

                        .side_nav .side_global_nav > ul > li > ul > li > a:before{
                            font-family: FontAwesome;
                            content:"\f105";
                            position: absolute;
                            top: 0.3em;
                            left: 0.2em;
                        }


    /*ページトップ*/
    .pagetop{
        width:14vw;
        height:14vw;
        bottom:14vw;
        right:4vw;
    }

    /*改行のPC,SPでの表示切替*/
    br.pc,
    img.pc,
    span.pc{
        display:none;
    }

    br.sp,
    img.sp,
    span.sp{
        display:inline;
    }

    .mfp-iframe-scaler {
        padding-top: 150% !important;
    }

}