/* 
- Name: megamenu.js - style.css
- Version: 1.0
- Latest update: 29.01.2016.
- Author: Mario Loncarek
- Author web site: http://marioloncarek.com
*/


/* -----------------------------------------------
Body - not related to megamenu
----------------------------------------------- */

/*
* {
    box-sizing: border-box;
}*/



.description {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}


/* -----------------------------------------------
megamenu.js STYLE STARTS HERE
----------------------------------------------- */


/* -----------------------------------------------
Screen style's
----------------------------------------------- */

.menu-container {
    width: 100%;
    margin: 0 auto;
    background: #222;
position:fixed;
top:100px;
z-index:999;
color:#000;
text-align:center;
font-size:1rem;
}


.menu-container .menu > ul > li >a{
position:relative;
}
.menu-container .menu > ul > li >a::after{
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;

bottom: -1px;               /*アンダーラインがaタグの下端から現れる*/
transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
transition: transform 0.3s; /*変形の時間*/
}

.menu-container .menu > ul > li:hovera::after{
transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}



.menu-mobile {
    display: none;
    padding: 10px;
color:#000;
}


.menu-mobile:after {
/*content: "\f0c9";
font-family: "FontAwesome";
    font-size: 1.7rem;*/
    padding: 0;
    float: right;
    position: relative;
    top: 50%;
}

.menu-dropdown-icon:before {
/*content: "\f067";
font-family: "FontAwesome";*/
    display: none;
    cursor: pointer;
    float: right;
    padding: 5px;
    background: #e9e9e9;
    color: #222;
}

.menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    position: relative;
background: #222;/*--メインバーの背景色・グレー--*/
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
box-sizing: border-box;
}


.menu > ul:before,
.menu > ul:after {
    content: "";
    display: table;
}

.menu > ul:after {
    clear: both;
}

.menu > ul > li {
    float: left;
    padding: 0;
    margin: 0;
}

.menu > ul > li a {
    text-decoration: none;
    padding:0.5rem 1em;/*--メニューのパディング--*/
    display: block;
	color:#fff;
transition: background-color 0.5s;
}

.menu > ul > li a::after {
    text-decoration: none;
    padding:0.5rem/*--メニューのパディング--*/
    display: block;
	color:#000;
}

.menu > ul > li a:hover {
color:#000;
background: #e9e9e9;/*--メインバーのオーバー時背景色--*/
}
.menu >ul  > li a:active{
color:#cc3300;
transition: background-color 1s;
}

.menu > ul > li > ul {
    display: none;
    width: 100%;
background:#e9e9e9;
    padding: 5px;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul:after {
    clear: both;
border-bottom: 1px solid #222;
}

.menu > ul > li > ul > li {
    margin: 0;
    list-style: none;
    width: 22%;
    float: left;
padding-left:5px;
}

.menu > ul > li > ul > li a {
color: #000;/*--サブ文字色--*/
    padding: 3px;
    width: 100%;
    display: block;
}

.menu > ul > li > ul > li a:hover {
color: #cc3300;/*--サブ文字色--*/
    padding: 3px;
    width: 100%;
    display: block;

}

.menu > ul > li > ul > li > ul {
    display: block;
    /*padding: 10px;
    margin: 10px 0 0;*/
    list-style: none;
    box-sizing: border-box;

}

.menu > ul > li > ul > li > ul:before,
.menu > ul > li > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li > ul > li {
    float: left;
    width: 100%;
    padding:0;/*--サブリンクの縦行間--*/
    font-size:1rem;
}



.menu > ul > li > ul > li > ul > li a {
    border: 0;
}

.menu > ul > li > ul.normal-sub {
    width: 300px;
    left: auto;
    padding: 5px;
}

.menu > ul > li > ul.normal-sub > li {
    width: 100%;
}

.menu > ul > li > ul.normal-sub > li a {
    border: 0;
    padding: 1em 0;
}


/* -----------------------------------------------
Mobile style's
----------------------------------------------- */

@media only screen and (max-width: 767px) {
/*--========親=========--*/
.menu-container {
position:fixed;
top:60px;
width:100%;
background: #222;
z-index:150;
}

.menu-container a{
color:#fff;
font-size:1rem;
}

.menu-mobile {
display: block;
font-size:1rem;
text-align:center;
    }
.menu-dropdown-icon:before {
display: block;
    }
.menu > ul {
display: none;/*--初期画面は非表示--*/
/*--Y軸スクロール--*/
overflow-y:auto;
overflow-scrolling:touch;
width:100%;
height:100%;
/*--max-height:100vh;--*/
}
.menu > ul > li {
width: 100%;
float: none;
display: block;
}
.menu > ul > li a {
padding: 5px;
width: 100%;
display: block;
color:#fff;
background:#222;/*--========メインメニュー背景=========--*/
    }

    .menu > ul > li a:hover {
        /*padding: 10px;*/
	width: 100%;
	display: block;
	color:#cc3300;
    }

    .menu > ul > li > ul {
        position: relative;
    }
    .menu > ul > li > ul.normal-sub {
        width: 100%;
    }
    .menu > ul > li > ul > li {
        float: none;
	width: 100%;
	margin-top:3px;
	background:#e9e9e9;
    }
	.menu > ul > li > ul > li a{
	background:#e9e9e9;/*--========サブメニュー背景=========--*/
    }
	.menu > ul > li > ul > li:last-child {
	padding-bottom:3px;
    }

	.menu > ul > li > ul > li:first-child {
        margin: 0;
    }
	.menu > ul > li > ul > li:last-child {
	padding-bottom:3px;
    }
    .menu > ul > li > ul > li > ul {
        position: relative;

    }
    .menu > ul > li > ul > li > ul > li {
        float: none;
    }
    .menu .show-on-mobile {
        display: block;

    }
}

