@charset "utf-8";

/* -- ul#menu -------------------------------------------------------------------------------- */

ul#menu {
    list-style-type: none;
    width: 100%;
    background: #ffffff;
    position: absolute;
    left: 0px;
    top: 70px;
    z-index: 990;
    display: none;
    height: 100vh;
}

ul#menu li {
    border-bottom: 1px dashed #c0c0c0;
    text-align: left;
    width: calc(100% - 20px);
    margin: 0 auto;
    letter-spacing: .1rem;
}

ul#menu li a {
    text-decoration: none;
    display: block;
    padding: 15px 0;
}


/* -- div#sp-icon -------------------------------------------------------------------------------- */

div#sp-icon {
    width: 70px;
    height: 70px;
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 999;
}

div#sp-icon:hover {
    cursor: pointer;
}

div#sp-icon span,
div#sp-icon span:before,
div#sp-icon span:after {
    display: block;
    width: 30px;
    height: 2px;
    background: #000000;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.3s;
}

div#sp-icon span {
    left: 50%;
    top: 50%;
    transform: translate( -50%, -50%);
}

div#sp-icon span:before {
    content: "";
    transform: translateY( -10px) rotate( 0deg);
}

div#sp-icon span:after {
    content: "";
    transform: translateY( 10px) rotate( 0deg);
}

div.sp-open span {
    background: transparent !important;
}

div.sp-open span:before {
    transform: rotate( 45deg) !important;
}

div.sp-open span:after {
    transform: rotate( -45deg) !important;
}