/* 
- 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;
}


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
megamenu.js STYLE STARTS HERE
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.menu-container {
    background: -moz-linear-gradient(left, #10447d 25%, #4599b1 60%, #4599b1);
    background: -webkit-linear-gradient(left, #10447d 25%, #4599b1 60%, #4599b1);
    background: linear-gradient(to right, #10447d 25%, #4599b1 60%, #4599b1);
    width: 100%;
    margin: 1px auto;
}

.pcnsticky.fixed{
    position: fixed;
    width:100%;
    z-index: 10000;
    top: 0;
    background-color: rgba(255,255,255,0.9);
}

@media screen and (max-width: 700px) {
.pcnsticky.fixed{
    display: none;
}
}

.menu-container.fixed{
    position: fixed;
    z-index: 10000;
    top: 0;
}

.menu-mobile {
    display: none;
    padding: 20px;
}

.menu-mobile:after {
    content: "\f394";
    font-family: "Ionicons";
    font-size: 2.5rem;
    padding: 0;
    float: right;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-25%);
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);
}

.menu-dropdown-icon:before {
    content: "\f489";
    font-family: "Ionicons";
    display: none;
    cursor: pointer;
    float: right;
    padding: 1.5em 2em;
    background: #fff;
    color: #333;
}

.menu {
    margin:0 auto;
    max-width: 1300px;
}


.menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding:0;
    position: relative;
    /* 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;
    width:16.6%;
    font-size:1.1em;
   /*  background: #e9e9e9;
    padding: 0;
    margin: 0; */
}

.menu > ul > li:first-child,.menu > ul > li:first-child > ul {background-color:#10447d;
    border-left:1px solid #d2e4e8;}
.menu > ul > li:nth-child(2),.menu > ul > li:nth-child(2) > ul {background-color:#10447d;
    border-left:1px solid #d2e4e8;}
.menu > ul > li:nth-child(3),.menu > ul > li:nth-child(3) > ul {background-color:#1c6a98;
    border-left:1px solid #d2e4e8;}
.menu > ul > li:nth-child(4),.menu > ul > li:nth-child(4) > ul {background-color:#388dac;
    border-left:1px solid #d2e4e8;}
.menu > ul > li:nth-child(5),.menu > ul > li:nth-child(5) > ul {background-color:#4599b1;
    border-left:1px solid #d2e4e8;}
.menu > ul > li:last-child,.menu > ul > li:last-child > ul {
    background-color:#4599b1;
    border-left:1px solid #d2e4e8;
    border-right:1px solid #d2e4e8;
}

.menu > ul > li .cat01icon01 {
    background-image: url(/image/home3.png);
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon02 {
    background-image: url(/image/kiki3.png);
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon03 {
    background-image: url(/image/unyou3.png);
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon04 {
    background-image: url(/image/shokyo3.png);
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon05 {
    background-image: url(/image/solution2.png);
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon06 {
    background-image: url(/image/casestudy2.png);
    background-repeat:no-repeat;
    background-position:0 0;
}


.menu > ul > li .cat01icon01-1 {
    background-image: url(/image/cat01icon01-1.png);
    background-size:36px 36px;
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon01-2 {
    background-image: url(/image/cat01icon01-2.png);
    background-size:36px 36px;
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon01-3 {
    background-image: url(/image/cat01icon01-3.png);
    background-size:36px 36px;
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon01-4 {
    background-image: url(/image/cat01icon01-4.png);
    background-size:36px 36px;
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon01-5 {
    background-image: url(/image/cat01icon01-5.png);
    background-size:36px 36px;
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon01-6 {
    background-image: url(/image/cat01icon01-6.png);
    background-size:36px 36px;
    background-repeat:no-repeat;
    background-position:10px 0;
}
.menu > ul > li .cat01icon01-7 {
    background-image: url(/image/cat01icon01-7.png);
    background-size:36px 36px;
    background-repeat:no-repeat;
    background-position:10px 0;
}


.menu > ul > li a {
    text-decoration: none;
    color:#ffffff;
    padding: 1em 0.5em 1em 1em;
    display: block;
}

.menu > ul > li a:hover {
    border-bottom:1px dotted #f0f0f0;
    margin-bottom:-1px;
    color:#ffffff;
}

/* 
.menu > ul > li:hover {
    background: #f0f0f0;
    color:#000000;
}
 */
.menu > ul > li > ul {
    display: none;
    width: 100%;
    padding: 20px;
    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;
}


/* 4列メニュー  */
.menu > ul > li > ul > li {
    margin: 0;
    padding: 0.2em 0 0.2em 0.5em;
    list-style: none;
    width: 25%;
    background: none;
    float: left;
}

.menu > ul > li > ul > li .cat02 {
    color: #ffffff;
    font-size:1.1em;
    width: 95%;
    display: block;
    line-height:1.5em;
    border-bottom: 1px solid #cccccc;
}

.menu > ul > li > ul > li a {
    color: #ffffff;
    padding: .2em 0;
    width: 95%;
    display: block;
    position: relative;
}

.menu > ul > li > ul > li .cat02_2 a:hover {
    border-bottom:1px dotted #f0f0f0;
}

.menu > ul > li > ul > li a::after {
  display: block;
  content: '';
  position: absolute;
  top: 1.1em;
  left:-1em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.menu > ul > li > ul > li > ul {
    display: block;
    padding: 0;
    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 > div > ul:after {
    clear: both;
}

.menu > ul > li > ul > li > div > ul > li {
    float: left;
    width: 100%;
    padding:3px 0 3px 1.5em;
    margin: 0;
    font-size: 1em;
    line-height:1.3em;
}

.menu > ul > li > ul > li > div > ul > li:after {
      top: 2em;
}

.menu > ul > li > ul > li > div > ul > li a {
    border: 0;
    padding-top:0.7em;
}


/* 5列メニュー  */
.menu > ul > li > ul > .gmenu5 {
    margin: 0;
    padding: 0.2em 0 0.2em 0.5em;
    list-style: none;
    width: 20%;
    background: none;
    float: left;
}


.menu > ul > li > ul > .gmenu5 a {
    color: #ffffff;
    padding: .2em 0;
    width: 95%;
    display: block;
    position: relative;
}

.menu > ul > li > ul > .gmenu5 .cat02_2 a:hover {
    border-bottom:1px dotted #f0f0f0;
}

.menu > ul > li > ul > .gmenu5 a::after {
  display: block;
  content: '';
  position: absolute;
  top: 1.1em;
  left:-1em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.menu > ul > li > ul > .gmenu5 > ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul > .gmenu5 > ul:before,
.menu > ul > li > ul > .gmenu5 > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul > .gmenu5 > div > ul:after {
    clear: both;
}

.menu > ul > li > ul > .gmenu5 > div > ul > li {
    float: left;
    width: 100%;
    padding:3px 0 3px 1.5em;
    margin: 0;
    font-size: 1em;
    line-height:1.3em;
}

.menu > ul > li > ul > .gmenu5 > div > ul > li:after {
      top: 2em;
}

.menu > ul > li > ul > .gmenu5 > div > ul > li a {
    border: 0;
    padding-top:0.7em;
}





.menu > ul > li > ul.normal-sub {
    width: 300px;
    left: auto;
    padding: 10px 20px;
}

.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: 959px) {
    .menu-container {
        width: 100%;
    }
    .menu-mobile {
        display: block;
    }
    .menu-dropdown-icon:before {
        display: block;
    }
    .menu > ul {
        display: none;
    }
    .menu > ul > li {
        width: 100%;
        float: none;
        display: block;
    }
    .menu > ul > li a {
        padding: 1.5em;
        width: 100%;
        display: block;
    }
    .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: 20px;
    }
    .menu > ul > li > ul > li:first-child {
        margin: 0;
    }
    .menu > ul > li > ul > li > ul {
        position: relative;
    }
    .menu > ul > li > ul > li > ul > li {
        float: none;
    }
    .menu .show-on-mobile {
        display: block;
    }
}




/* ––––––––––––––––––––––––––––––––––––––––––––––––––
画面フル版
–––––––––––––––––––––––––––––––––––––––––––––––––– */


.menu2 {
    margin:0 auto;
    max-width: 1400px;
}



.menu2 .menu2__lists {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding:0;
    box-sizing: border-box;
    display: flex;
	justify-content: center;
	align-items:center;
    position: relative;
}

.menu2 .menu2__lists:before,
.menu2 .menu2__lists:after {
    content: "";
    display: table;
}

.menu2 .menu2__lists:after {
    clear: both;
}


.menu2 .menu2__lists .menu2__list {
    width:16.6%;
    font-size:1.2em;
    text-align:center;
   /*  background: #e9e9e9;
    padding: 0;
    margin: 0; */
}
/*.menu2 .menu2__lists .menu2__list:hover {
    content: "あ";
}*/

.menu2 > ul > li:first-child {background-color:#10447d; border-left: 1px solid #d2e4e8;}
.menu2 > ul > li:nth-child(2) {background-color:#195287; border-left: 1px solid #d2e4e8;}
.menu2 > ul > li:nth-child(3) {background-color:#1c6a98; border-left: 1px solid #d2e4e8;}
.menu2 > ul > li:nth-child(4) {background-color:#257ea7; border-left: 1px solid #d2e4e8;}
.menu2 > ul > li:nth-child(5) {background-color:#388dac; border-left: 1px solid #d2e4e8;}
.menu2 > ul > li:last-child {background-color:#4599b1; border-left: 1px solid #d2e4e8; border-right: 1px solid #d2e4e8;}

.menu2 > ul > li:first-child ul {background-color:#10447d;}
.menu2 > ul > li:nth-child(2)  ul {background-color:#195287;}
.menu2 > ul > li:nth-child(3)  ul {background-color:#1c6a98;}
.menu2 > ul > li:nth-child(4)  ul {background-color:#257ea7;}
.menu2 > ul > li:nth-child(5)  ul {background-color:#388dac;}
.menu2 > ul > li:last-child  ul {background-color:#4599b1;}


.menu2 .menu2__lists .menu2__list a {
    text-decoration: none;
    color:#ffffff;
    padding: 1em 0.5em;
    display: block;
}

.menu2 .menu2__lists .menu2__list a:hover {
    border-bottom:1px dotted #f0f0f0;
    margin-bottom:-1px;
    color:#ffffff;
}


/* 
.menu2 .menu2__lists .menu2__list:hover {
    background: #f0f0f0;
    color:#000000;
}
 */
.menu2 .menu2__lists .menu2__list .dropdown__lists ,
.menu2 .menu2__lists .menu2__list .dropdown__lists3 {
    display: none;
    padding: 5px 10px;
    position: absolute;
    z-index: 99;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}
.menu2 .menu2__lists .menu2__list .dropdown__lists2 {
    display: none;
    width: 100%;
    padding: 5px 15px;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}


.menu2 .menu2__lists .menu2__list ul:before,
.menu2 .menu2__lists .menu2__list ul:after {
    content: "";
    display: table;
}

.menu2 .menu2__lists .menu2__list ul:after {
    clear: both;
}


/*
.menu2 .dropdown__lists {
    display: none;デフォルトでは非表示の状態にしておく*/
    /*width: 100%;
    position: absolute;
    top: 60px;
    left: 0;
}*/


.menu2 .menu2__lists .menu2__list:hover .dropdown__lists {
    display: block;/*Gナビメニューにホバーしたら表示*/
}
.menu2 .dropdown__list {
    /*  background-color: #004d80;
    height: 40px; */
    transition: all .3s;
    position: relative;
    text-align:left;
    /*  padding: 5px 0; */
}
/*
.menu2 .dropdown__list:not(:first-child)::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #3492d1;
    position: absolute;
    top: 0;
    left: 0;
}
*/
.menu2 .dropdown__list:hover {
    background-color: #003558;
}
.menu2 .dropdown__list a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    color: #fff;
    text-decoration: none;
    position: relative;
}

/* 
.menu2 .dropdown__list a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
}
 */


/* 縦階層メニュー  */
.menu2 .dropdown__lists3 {
    display: none;
    position: absolute;
}

.menu2 .menu2__lists .menu2__list:hover .dropdown__lists3 {
    display: block;/*Gナビメニューにホバーしたら表示*/
}

.menu2 .dropdown__lists3 .menu_cat2 .cat02 {
    color: #fff;
    font-size:1.1em;
    font-weight: bold;
    display: block;
    line-height:1.5em;
    margin-top:10px;
    padding: 3px 7px;
    border-left: 5px solid #cccccc;
    text-align:left;
}

.menu2 .dropdown__lists3 .menu_cat2 a {
    color: #ffffff;
    display: block;
    position: relative;
}

.menu2 .dropdown__lists3 .menu_cat2 ul {
    margin-left:10px;
}

/* 4列メニュー  */

.menu2 .dropdown__lists2 {
    display: none;/*デフォルトでは非表示の状態にしておく*/
    width: 100%;
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    /*top: 60px;
    left: 0;*/
}
.menu2 .menu2__lists .menu2__list:hover .dropdown__lists2 {
    display: block;/*Gナビメニューにホバーしたら表示*/
}

.menu2 .dropdown__lists2 .menu_cat2 {
    margin: 0;
    padding: 0.2em 0 0.2em 0.5em;
    list-style: none;
    width: 25%;
    background: none;
    float: left;
}

.menu2 .dropdown__lists2 .menu_cat2 .cat02 {
    color: #ffffff;
    font-size:1.1em;
    width: 95%;
    display: block;
    line-height:1.5em;
    border-bottom: 1px solid #cccccc;
}

.menu2 .dropdown__lists2 .menu_cat2 a {
    color: #ffffff;
    padding: .2em 0;
    width: 95%;
    display: block;
    position: relative;
}

/* 
.menu2 .dropdown__lists2 .menu_cat2 .cat02_2 a:hover {
    border-bottom:1px dotted #f0f0f0;
}

.menu2 .dropdown__lists2 .menu_cat2 a::after {
  display: block;
  content: '';
  position: absolute;
  top: 1.1em;
  left:-1em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
*/
.menu2 .dropdown__lists2 .menu_cat2 > ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

.menu2 .dropdown__lists2 .menu_cat2 > ul:before,
.menu2 .dropdown__lists2 .menu_cat2 > ul:after {
    content: "";
    display: table;
}

.menu2 .dropdown__lists2 .menu_cat2 > div > ul:after {
    clear: both;
}

.menu2 .dropdown__lists2 .menu_cat2 > div > ul > li {
    float: left;
    width: 100%;
    padding:10px 0 10px 1.5em;
    margin: 0;
    font-size: 1em;
    line-height:1.3em;
}

.menu2 .dropdown__lists2 .menu_cat2 > div > ul > li:after {
      top: 2em;
}

.menu2 .dropdown__lists2 .menu_cat2 > div > ul > li a {
    border: 0;
    padding-top:0.7em;
}


/* 5列メニュー  */
.menu2 > ul > li > ul > .gmenu5 {
    margin: 0;
    padding: 0.2em 0 0.2em 0.5em;
    list-style: none;
    width: 20%;
    background: none;
    float: left;
}


.menu2 > ul > li > ul > .gmenu5 a {
    color: #ffffff;
    padding: .2em 0;
    width: 95%;
    display: block;
    position: relative;
}
/*
.menu2 > ul > li > ul > .gmenu5 .cat02_2 a:hover {
    border-bottom:1px dotted #f0f0f0;
}
*/
.menu2 > ul > li > ul > .gmenu5 a::after {
  display: block;
  content: '';
  position: absolute;
  top: 1.1em;
  left:-1em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.menu2 > ul > li > ul > .gmenu5 > ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

.menu2 > ul > li > ul > .gmenu5 > ul:before,
.menu2 > ul > li > ul > .gmenu5 > ul:after {
    content: "";
    display: table;
}

.menu2 > ul > li > ul > .gmenu5 > div > ul:after {
    clear: both;
}

.menu2 > ul > li > ul > .gmenu5 > div > ul > li {
    float: left;
    width: 100%;
    padding:3px 0 3px 1.5em;
    margin: 0;
    font-size: 1em;
    line-height:1.3em;
}

.menu2 > ul > li > ul > .gmenu5 > div > ul > li:after {
      top: 2em;
}

.menu2 > ul > li > ul > .gmenu5 > div > ul > li a {
    border: 0;
    padding-top:0.7em;
}





.menu2 > ul > li > ul.normal-sub {
    width: 300px;
    left: auto;
    padding: 10px 20px;
}

.menu2 > ul > li > ul.normal-sub > li {
    width: 100%;
}

.menu2 > ul > li > ul.normal-sub > li a {
    border: 0;
    padding: 1em 0;
}


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@media only screen and (max-width: 959px) {
    .menu-container {
        width: 100%;
    }
    .menu-mobile {
        display: block;
    }
    .menu-dropdown-icon:before {
        display: block;
    }
    .menu2 > ul {
        display: none;
    }
    .menu2 > ul > li {
        width: 100%;
        float: none;
        display: block;
    }
    .menu2 > ul > li a {
        padding: 1.5em;
        width: 100%;
        display: block;
    }
    .menu2 > ul > li > ul {
        position: relative;
    }
    .menu2 > ul > li > ul.normal-sub {
        width: 100%;
    }
    .menu2 > ul > li > ul > li {
        float: none;
        width: 100%;
        margin-top: 20px;
    }
    .menu2 > ul > li > ul > li:first-child {
        margin: 0;
    }
    .menu2 > ul > li > ul > li > ul {
        position: relative;
    }
    .menu2 > ul > li > ul > li > ul > li {
        float: none;
    }
    .menu2 .show-on-mobile {
        display: block;
    }
}





