@charset "UTF-8";
/* globalNav */
.globalNav {
    /*position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
  background-image: -moz-linear-gradient(90deg, #030000 27%, #393636 100%);
  background-image: -webkit-linear-gradient(90deg, #030000 27%, #393636 100%);
  background-image: -ms-linear-gradient(90deg, #030000 27%, #393636 100%);
  border-top: 1px solid #333;
  -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);*/
    background-color: rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 767px) {
    .globalNav {
        display: none;
    }
}
.globalNav .globalNav_inner {
    max-width: 1024px;
    margin: auto;
    padding: 10px 0;
}

.globalNav .globalNav_items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-left: 1px solid #fff;
}
.globalNav .globalNav_items .globalNav_item {
    width: calc(100% / 6);
    padding: 0 15px;
    border-right: 1px solid #fff;
}

.globalNav .globalNav_button {
    font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
    display: block;
    line-height: 20px;
    text-align: center;
    color: #fff;
}

.globalNav .globalNav_button:hover {
    opacity: 0.7;
}

/* spNav */
body.fixed {
    position: unset;
}

.spNav {
    opacity: 0;
    background: #ccc;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 9999;
    width: 100%;
    /*height: 100%;*/
    overflow-y: auto;
    -webkit-transition: 0s ease-in-out;
    transition: 0s ease-in-out;
}

.spNav.is-on {
    left: 100%;
}

@media screen and (max-width: 767px) {
    body.fixed {
        position: fixed;
    }
    
    .spNav {
        opacity: 1;
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    .spNav.is-on {
        left: 0;
    }
}
.spNav .spNav_layout {
    color: #fff;
}

.spNav .spNav_layout .spNav_layout_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px 10px 15px;
}

.spNav .spNav_layout .spNav_layout_bottom {
    padding: 10px;
    text-align: center;
}

.spNav .spNav_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.spNav .spNav_buttons .spNav_buttons_item {
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    text-align: center;
}
.spNav .spNav_buttons .spNav_buttons_item i {
    display: block;
    margin: 0 auto 5px;
    color: #004387;
    font-size: 2.8rem;
}
.spNav .spNav_buttons .spNav_buttons_item .ic_tel {
    display: block;
    margin: 0 auto 5px;
    width: 2.8rem;
    height: auto;
}

.spNav .sp_menu_close_button {
    display: inline-block;
    padding-left: 12px;
    border-left: 1px solid #004387;
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    text-align: center;
}
.spNav .sp_menu_close_button .ic_close {
    display: block;
    margin: 5px auto;
    width: 2.3rem;
    height: auto;
}

.spNav .sp_sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 10px 10px 0;
}

.button_login {
    width: 42.85vw;
    max-width: 15rem;
    height: 4rem;
    padding-left: 1rem;
    background-color: #004387;
    line-height: 4rem;
    color: #fff;
    font-weight: bold;
}
.button_login .ic_login_sp {
    margin: -.4rem 1.5rem 0 0;
    width: 2.1rem;
    height: auto;
    vertical-align: middle;
}
.button_login .ic_login_sp path {
    fill: #fff;
}

.spNav .spNav_buttons .spNav_buttons_item:not(:first-child) {
    margin-left: 22px;
}

.spNav .spNav_nav {
    padding: 0 10px;
}

.spNav .spNav_nav .spNav_nav_item {
    padding: 16px 10px;
    text-align: center;
    background: #1a1a1a;
    border-bottom: 1px solid #fff;
    font-size: 1.8rem;
}
.spNav .spNav_nav .spNav_nav_item:first-child {
    border-radius: 10px 10px 0 0;
}
.spNav .spNav_nav .spNav_nav_item:last-child {
    border-bottom: 0;
    border-radius: 0 0 10px 10px;
}

.spNav .spNav_sns {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.spNav .spNav_sns .spNav_sns_item:not(:first-child) {
    margin-left: 15px;
}
