<style>

#navi
{
    width: 60em; /* 1000 */
    font-weight: 400;
    position: relative; /*デフォルトはstatic*/
  white-space: nowrap;
    z-index: 0;
}

    #navi > a
    {
        display: none;
    }

    #navi li
    {
      position: relative;
      list-style-type: none;
      margin: 0px;
      padding: 0px;
    }
        #navi li a
        {
            color: #000;
            display: block;
        }
        #navi li a:active
        {
            background-color: #dd5522 !important;
        }

    #navi span:after
    {
        width: 0;
        height: 0;
        border: 0.313em solid transparent; /* 5 */
        border-bottom: none;
        border-top-color: #efa585;
        content: '';
        vertical-align: middle;
        display: inline-block;
        position: relative;
        right: -0.313em; /* 5 */
    }

    /* first level */

    #navi > ul
    {
        height: 2.0em; /* 60 */
        background-color: #fff; /*メニュー背景色*/
        color: #000;
    }
        #navi > ul > li
        {
            width: 16%;
            height: 100%;
            float: left;
        }
            #navi > ul > li > a
            {
                height: 100%;
                font-size: 1.0em; /* デフォ1.5 フォントサイズ　24 */
                line-height: 2.0em; /* デフォ2.5 ライン高 60 (24) */
                text-align: center;
              text-decoration: none;
            }
                #navi > ul > li:not( :last-child ) > a
                {
                     border-right: 1px solid #fff;　/*右ボーダー*/
                }
                #navi > ul > li:hover > a,
                #navi > ul:not( :hover ) > li.active > a
                {
                  background-color: #dd5522; /*トップレベルメニューマウスオーバー時*/
                  color:#fff;
                  
                }


        /* second level */

        #navi li ul
        {
            background-color: #dd5522;
            color:#fff;
            display: none;
            position: absolute;
            top: 100%;
        }
            #navi li:hover ul
            {
                display: block;              
                width:200px;
                left: 0;
                right: 0;
            }
                #navi li:not( :first-child ):hover ul
                {
                    left: -1px;
                }
                #navi li ul a/*セカンドレベル表示時*/
                {
                    font-size: 0.8em;
                    color:#fff;
                  text-decoration: none;
                    border-top: 1px solid #fff;
                    padding: 0.5em;
                }
                    #navi li ul li a:hover,/*セカンドレベルマウスオーバー時*/
                    #navi li ul:not( :hover ) li.active a
                    {
                        background-color: #ee6633; 
                      text-decoration: bold;
                    }


@media only screen and ( max-width: 62.5em ) /* 1000 */
{
    #navi
    {
        width: 100%;
        position: static;
        margin: 0;
    }
}

@media only screen and ( max-width: 40em ) /* 640 */
{
    #navi
    {
        position: relative;
        top: auto;
        left: auto;
        font-size: 200%; /* デフォ指定なし */
    }
        #navi > a
        {
            width: 2.125em; /* 50 */
            height: 2.125em; /* 50 */
            text-align: left;
            text-indent: -9999px;
            background-color: #e15a1f;
            position: relative;
        }
            #navi > a:before,
            #navi > a:after
            {
                position: absolute;
                border: 2px solid #fff;
                top: 35%;
                left: 25%;
                right: 25%;
                content: '';
            }
            #navi > a:after
            {
                top: 60%;
            }

        #navi:not( :target ) > a:first-of-type,
        #navi:target > a:last-of-type
        {
            display: block;
        }


    /* first level */

    #navi > ul
    {
        height: auto;
        display: none;
        position: absolute;
        left: 0;
        right: 0;
    }
        #navi:target > ul
        {
            display: block;
        }
        #navi > ul > li
        {
            width: 100%;
            float: none;
        }
            #navi > ul > li > a
            {
                height: auto;
                text-align: left;
                padding: 0 0.833em; /* 20 (24) */
            }
                #navi > ul > li:not( :last-child ) > a
                {
                    border-right: none;
                    border-bottom: 1px solid #cc470d;
                }


        /* second level */

        #navi li ul
        {
            position: static;
            padding: 0.5em; /* 20 */
            padding-top: 0px;
        }
        #navi li:hover ul
        {
            width:100%; /*ハンバーガーになった時は幅100％に*/
        }
}

</style>