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


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.menu-mobile {
	display: none;
	padding: 20px;
}

.menu-mobile:after {
	position: relative;
	float: right;
	content: "\f394";
	font-family: "Ionicons";
	font-size: 2.5rem;
	padding: 0;
	top: 50%;
	-webkit-transform: translateY(-25%);
	-ms-transform: translateY(-25%);
	transform: translateY(-25%);
}

.menu-dropdown-icon:before {
	display: none;
	float: right;
	color: #333;
	content: "\f489";
	font-family: "Ionicons";
	background: #FFF;
	padding: 1.5em 2em;
	cursor: pointer;
}


#gNavi > ul {
	position: relative;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

/*#gNavi > ul:before,
#gNavi > ul:after {
    display: table;
    content: "";
}
#gNavi > ul:after { clear: both; }*/

/*#gNavi > ul > li a {
    text-decoration: none;
    padding: 1.5em 3em;
    display: block;
}

#gNavi > ul > li:hover {
    background: #f0f0f0;
}*/

#gNavi > ul > li > div {
	position: absolute;
	display: none;
	width: 1000px;
	background: #e7ecf2;
    border: 1px solid #1251a3;
	padding: 30px 30px 10px 30px;
	top: 44px;
	right: -35px;
	box-sizing: border-box;
	z-index: 999;
}
#gNavi > ul > li > div:before,
#gNavi > ul > li > div:after {
	display: table;
	content: "";
}
#gNavi > ul > li > div:after { clear: both; }

#gNavi > ul > li > div:before {
    position: absolute;
    content: "";
    width: 90px;
    height: 18px;
    background: url(../images/common/img_active.png) center top no-repeat;
    background-size: 90px auto;
    top: -2px;
    right: 30px;
}
#gNavi > ul > li:nth-child(3) div:before { right: 370px; }
#gNavi > ul > li:nth-child(4) div:before { right: 280px; }

#gNavi > ul > li > div > p {
    position: relative;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
}
#gNavi > ul > li > div > p span {
    font-size: 26px;
    margin-right: 20px;
}

#gNavi > ul > li > div dl dd > p {
    font-size: 14px;
    font-weight: bold;
    background-color: #fff;
    margin-bottom: 15px;
    padding: 2px 10px;
}
#gNavi > ul > li > div ul { margin-left: 20px; }
#gNavi > ul > li > div ul li {
    float: left;
    width: 270px;
    margin: 0 49px 15px 0;
}
#gNavi > ul > li > div ul.service li {
    width: 280px;
    margin-bottom: 35px;
}
#gNavi > ul > li > div ul.service li:nth-child(3n) {
    width: 280px;
    margin-right: 0;
}

/* 製品 */
#gNavi > ul > li > div dl.products dd:nth-child(1) {
    float: left;
    width: 610px;
    margin-bottom: 20px;
}
#gNavi > ul > li > div dl.products dd:nth-child(2) {
    float: right;
    width: 280px;
}
#gNavi > ul > li > div dl.products dd:nth-child(3) {
    float: none;
    width: 100%;
    clear: both;
}
#gNavi > ul > li > div dl.products dd:nth-child(1) ul li:nth-child(2n) { margin-right: 0; }
#gNavi > ul > li > div dl.products dd:nth-child(2) ul { margin-left: 0; }
#gNavi > ul > li > div dl.products dd:nth-child(2) ul li { margin-right: 0; }
#gNavi > ul > li > div dl.products dd:nth-child(3) ul li:nth-child(3n) { margin-right: 0; }

/* サービス */
#gNavi > ul > li > div dl.service dd:nth-child(1) {
    float: none;
    width: 485px;
    margin-bottom: 50px!important;
}
#gNavi > ul > li > div dl.service dd:nth-child(2) {
    float: left;
    width: 455px;
    margin-bottom: 20px;
    clear: both;
}
#gNavi > ul > li > div dl.service dd:nth-child(3) {
    float: right;
    width: 455px;
    margin-bottom: 20px;
}
#gNavi > ul > li > div dl.service dd:nth-child(4) {
    float: left;
    width: 212px;
    margin-right: 30px;
    clear: both;
}
#gNavi > ul > li > div dl.service dd:nth-child(5) {
    float: left;
    width: 455px;
}
#gNavi > ul > li > div dl.service dd:nth-child(6) {
    float: right;
    width: 212px;
}

#gNavi > ul > li > div dl.service ul { margin-left: 0; }
#gNavi > ul > li > div dl.service ul li {
    width: 212px;
    margin: 0 30px 15px 0;
}
#gNavi > ul > li > div dl.service ul li:nth-child(2n) { margin-right: 0; }
#gNavi > ul > li > div dl.service ul li img { height: 20px; margin-bottom: 5px; }
#gNavi > ul > li > div dl.service ul li p,
#gNavi > ul > li > div dl.service ul li a { font-size: 12px; }


#gNavi > ul > li > div ul:not(.about) li a {
    position: relative;
    display: block;
    padding-left: 30px;
}
#gNavi > ul > li > div ul:not(.about) li a:before {
    position: absolute;
	content: "\e905";
	font-family: 'icomoon';
    font-size: 20px;
	top: 0px;
	left: 0;
}
#gNavi > ul > li > div ul:not(.about) li p {
    font-size: 13px;
    line-height: 1.4;
    margin-top: 3px;
}
#gNavi > ul > li > div dl dd:nth-child(3) ul li img { height: 20px; margin-bottom: 5px; }


#gNavi > ul > li > div ul.about li { cursor: pointer; }
#gNavi > ul > li > div ul.about li:last-child { margin-right: 0; }
#gNavi > ul > li > div ul.about li a:not(.imglink)  {
    position: relative;
    display: block;
    height: 40px;
    font-weight: bold;
    background-color: #fff;
    padding: 10px 0 10px 20px;
}
#gNavi > ul > li > div ul.about li a:not(.imglink) :after {
    position: absolute;
	content: "\e903";
    color: #fff;
    width: 25px;
    height: 100%;
	font-family: 'icomoon';
    font-weight: normal;
    font-size: 18px;
    background-color: #1251a3;
    padding-top: 10px;
	top: 0;
	right: 0;
    text-align: center;
    box-sizing: border-box;
}
#gNavi > ul > li > div ul.about li:hover a { color: #98004c; }
#gNavi > ul > li > div ul.about li:hover a:after,
#gNavi > ul > li > div ul.about li a:hover:after { background-color: #98004c; }
#gNavi > ul > li > div ul.about li a span {
    font-size: 22px;
    margin-right: 20px;
    font-weight: normal;
}


/*
#gNavi > ul > li > ul > li {
    float: left;
    width: 50% !important;
	height: auto;
	border: none !important;
	padding: 0 20px;
	box-sizing: border-box;
}
#gNavi > ul > li > ul > li:first-child { border-right: 1px solid #FFF !important; }

#gNavi > ul > li > ul > li p {
	position: relative;
	color: #FFF;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	padding-left: 20px;
}
#gNavi > ul > li > ul > li p:before {
	position: absolute;
	content: "\e900";
	font-family: 'icomoon';
	left: 0;
}

#gNavi > ul > li > ul > li > ul { margin-left: 35px; }
#gNavi > ul > li > ul > li > ul > li {
	float: left;
	width: auto !important;
	height: auto;
	font-size: 13px;
	border: none !important;
	margin: 0 20px 10px 0;
}
#gNavi > ul > li > ul > li > ul > li a { display: block; line-height: 1.4; text-align: left; }
#gNavi > ul > li > ul > li > ul > li a::before { content: "・"; }
#gNavi > ul > li > ul > li > ul > li a:hover { text-decoration: underline; }
#gNavi > ul > li > ul > li > ul > li a:hover::after { height: 0; }*/



/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@media only screen and (max-width: 736px) {
/*    .menu-container {
        width: 100%;
    }
    .menu-mobile {
        display: block;
    }
    .menu-dropdown-icon:before {
        display: block;
    }
    #gNavi > ul {
        display: none;
    }
    #gNavi > ul > li {
        width: 100%;
        float: none;
        display: block;
    }
    #gNavi > ul > li a {
        padding: 1.5em;
        width: 100%;
        display: block;
    }
    #gNavi > ul > li > ul {
        position: relative;
    }
    #gNavi > ul > li > ul.normal-sub {
        width: 100%;
    }
    #gNavi > ul > li > ul > li {
        float: none;
        width: 100%;
        margin-top: 20px;
    }
    #gNavi > ul > li > ul > li:first-child {
        margin: 0;
    }
    #gNavi > ul > li > ul > li > ul {
        position: relative;
    }
    #gNavi > ul > li > ul > li > ul > li {
        float: none;
    }
    #gNavi .show-on-mobile {
        display: block;
    }*/
}