﻿@charset "UTF-8";

#menubar {
    position: relative;
    display: inline-block;
    white-space: nowrap;
}

#global-nav ul {
    display: inline-block;
    list-style: none;
    margin: 0 auto;
    padding: 0;
}
#global-nav > ul > li {
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
}
    #global-nav > ul > li a:link,
    #global-nav > ul > li a:visited {
        display: block;
        padding: 10px 16px 0;
        text-decoration: none;
        font-size: 1.0em;
        color: #454545;
        letter-spacing: 0;
    }

/* nav-toggle */
#nav-toggle {
    position: fixed;
    top: 15px;
    right: 15px;
    display: none;
    height: 32px;
}

    #nav-toggle > div {
        position: relative;
        width: 32px;
    }

    #nav-toggle span {
        position: absolute;
        height: 2px;
        left: 0;
        display: block;
        background: #898989;
        width: 100%;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }

        #nav-toggle span:nth-child(1) {
            top: 0;
        }

        #nav-toggle span:nth-child(2) {
            top: 11px;
        }

        #nav-toggle span:nth-child(3) {
            top: 22px;
        }

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    background: rgba(0, 0, 0, .4);
    width: 100%;
    height: 100%;
}

@media (max-width: 959px) {
    #menubar {
        position: fixed;
        top: 0;
        right: -100%;
        background-color: #ffffff;
        padding: 0 16px;
        height: 100%;
        width: 100%;
        box-sizing: border-box;
        transition: .35s ease-in-out;
    }

    #global-nav ul {
        display: block;
        margin: 80px auto 0 20px;
        padding: 0;
        text-align: left;
        height: 100%;
        width: 75%;
    }

        #global-nav ul li {
            display: block;
        }
        #global-nav > ul > li {
            border-bottom: 2px solid #dcdcdc;
        }
            #global-nav > ul > li a:link,
            #global-nav > ul > li a:visited {
                position: relative;
                padding: 15px 16px 0;
                font-weight: 500;
                color: #686868;
                letter-spacing: 0;
            }
            #global-nav > ul > li a:before {
                position: absolute;
                top: 50%;
                left: 0;
                bottom: 0;
                background-color: transparent;
                border: 0;
                border-top: solid 1px #898989;
                border-right: solid 1px #898989;
                margin: auto;
                content: '';
                width: 8px;
                height: 8px;
                transform: translateY(-50%) rotate(45deg);
                -webkit-transform: translateY(-50%) rotate(45deg);
                -ms-transform: translateY(-50%) rotate(45deg);
            }
            #global-nav > ul > li a > span {
                margin-left: 1.0em;
                font-weight: normal;
                font-size: 0.8em;
                color: #565656;
                letter-spacing: 0;
            }

    #nav-toggle {
        display: block;
        margin-top: 3px;
    }

    /* nav open */
    .open {
        overflow: hidden;
    }

        .open #overlay {
            display: block;
        }

        .open #menubar {
            transform: translate3d(-330px, 0, 0);
        }

        /* #nav-toggle close */
        .open #nav-toggle span {
            height: 1px;
        }
        .open #nav-toggle span:nth-child(1) {
            top: 11px;
            transform: rotate(40deg);
        }

        .open #nav-toggle span:nth-child(2) {
            left: 50%;
            width: 0;
        }

        .open #nav-toggle span:nth-child(3) {
            top: 11px;
            transform: rotate(-40deg);
        }

    /* z-index */
    #overlay {
        z-index: 200;
    }

    #menubar {
        z-index: 300;
    }

    #nav-toggle {
        z-index: 400;
    }

    .sns-area {
        margin-top: 50%;
        padding: 0 16px;
        color: #565656;
        box-sizing: border-box;
        letter-spacing: 0;
    }
        .sns-area p {
            margin-bottom: 5px;
            font-size: 0.8em;
        }
}