/*
- Name: megamenu.js - custom.css
- Version: 1.0
- Latest update: 29.01.2016.
- Author: Mario Loncarek
- Author web site: http://marioloncarek.com
*/


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Body - not related to megamenu
–––––––––––––––––––––––––––––––––––––––––––––––––– */

body {
    /*font-family: 'Source Sans Pro', sans-serif;*/
}

* {
    box-sizing: border-box;
}

a {
    color: #333;
}

.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: #e9e9e9;
}

.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 > ul {
    margin: 0 auto;
    width: calc(100% - 66px);
    float: left;
    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 {
    display: inline-block;
    /* width: calc(100% / 9 - 5px); */
    position: relative;
    text-align: center;
    /*padding: 18px 2%;*/
    /*padding: 0 2%;*/
    padding: 0;
    margin: 0;
    transition: .4s;
}

.menu > ul > li:first-child {
    margin-left: 0;
}
.menu > ul > li:nth-child(2) a:hover {
    cursor:
}
.menu > ul > li:hover {
  background: #C6C6C6;
  transition: .4s;
}
.menu > ul > li:hover a {
  color: #222222;
}
.menu > ul > li:hover span.arrow {
  border-color: #222;
}

.menu > ul > li a {
color: #fff;
    font-size: 14px;
    text-decoration: none;
    padding: 18px 2.3em;
    font-weight: lighter;
    letter-spacing: 0.1em;
    line-height: 1.2;
    font-family: 'Roboto', sans-serif;
    -webkit-transition: .7s;
    transition: .7s;
    display: block;
    height: 66px;
}
.menu > ul > li a span {
    font-size: 12px;
    font-family: 'Noto Sans JP', sans-serif;
    display: block;
    font-weight: normal;
}
.menu > ul > li a:hover {
    /* background: #f0f0f0; */

}


.menu > ul > li > ul {
    display: none;
    width: 100%;
    background: #fff;
    padding: 30px 33px;
    position: fixed;
    z-index: 99;
    top: 66px;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
    /*border: 10px solid #F0D45F;*/
    border-style: solid;
    border-color: rgba(67, 67, 67, .3);
    border-width: 1px 1px 4px;
}

.menu > ul > li span.arrow {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 8px;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    opacity: 0.5;
}

.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li {
    margin: 0;
    padding-bottom: 0;
    list-style: none;
    width: 75%;
    background: none;
    float: left;
}

.menu > ul > li > ul > li a {
    color: #777;
    padding: 0;
    width: 100%;
    display: block;
    border-bottom: 1px solid #ccc;
}

.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 > ul:after {
    clear: both;
}

.menu > ul > li > ul > li > ul > li {
    float: left;
    width: 49%;
    padding: 0;
    margin: 0 1% 17px 0;
}
.menu > ul > li > ul > li > ul > li:last-child {
    margin: 0 0 17px;
}

.menu > ul > li > ul > li > ul > li a {
    border: 0;
}
.menu > ul > li > ul > li > ul > li a:hover {
    opacity: 1;
}
.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;
}

.menu .menu_title {
    width:23%;
	margin-right: 2%;
}

.menu .menu_title h2 {
    font-size: 60px;
    color: #D6D6D6;
	padding: 15% 0 0;
}
.menu .menu_title h2 span {
    font-size: 30px;
    margin-top: -1.2em;
}
.menu > ul > li > ul > li > ul > li.btn_style {
}
.menu > ul > li > ul > li > ul > li.btn_style a {
    width: 100%!important;
    margin: 0;
    text-align: left;
    border: 1px solid #C6C6C6;
    padding: 1.5em .5em 1.5em 2.75em;
    color: #222222;
	font-family: 'Noto Sans JP', sans-serif;
}
.menu > ul > li > ul > li > ul > li.btn_style a:before {
    top: 1px;
}

.menu > ul > li > ul.service > li > ul > li {
    /*width: 32.6%;*/
	/*margin-right: 1%;*/
  margin: 0;
  padding: 0 5px;
}
/*.menu > ul > li > ul.service > li > ul > li:nth-child(4),
.menu > ul > li > ul.service > li > ul > li:nth-child(7) {
	margin-right: 0;
}
.menu > ul > li > ul.service > li > ul > li.btn_style {
	width: 100%!important;
}*/

.link.service > li.btn_style a,
.link.about > li.btn_style a,
.link.recruit > li.btn_style a {
  width: 100%!important;
  margin: 10px 0 0;
  text-align: left;
  border: 1px solid #434343;
  padding: 1.5em .5em 1.5em 2.75em;
  color: #222222;
  font-family: 'Noto Sans JP', sans-serif;
}
.link.service .scaleBox > span {
    max-height: 90px;
}
.link.service > li.btn_style a {
    padding: 2.3em .3em 2.5em 2.05em;
    border: 1px solid #c6c6c6;
    height: 82px;
}

.link.service > li.btn_style a:hover {
  border-color: #F0D45F;
}

.menu .about .menu_title h2,
.menu .recruit .menu_title h2 {
    padding: 0;
}

.menu > ul > li > ul.works > li {
  float: none;
  width: 80%;
  margin: auto;
}

.menu > ul > li > ul.works > li > ul {
  display: inline-block;
}

.menu > ul > li > ul.works > li > ul > li {
  margin: 0;
  padding: 0 5px;
  max-width: 470px;
}

.menu > ul > li > ul.about > li > ul {
    margin: 10px auto 0;
    max-width: 956px;
}
.menu > ul > li > ul.about > li {
  float: none;
  width: 80%;
  margin: auto;
}
.menu > ul > li > ul.about > li > ul > li {
    max-width: 470px;
	margin: 0 1% 10px 0;
}
.menu > ul > li > ul.about > li > ul > li:nth-child(2n) {
	margin: 0 0 10px 0;
}
/*.menu figure:hover > figcaption {
	background: #F0D45F;
	-webkit-transition: .4s;
	transition: .4s;
}*/
.menu figure {
    position: relative;
    display: table;
    margin: auto;
}
.menu figure > a {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: block;
}
.menu figure > figcaption {
	background: #fff;
	color: #222;
	font-size: 14px;
	font-weight: bold;
	text-align: left;
	padding: 1em .5em 1em .8em;
	margin: 0 auto;
	position: relative;
	-webkit-transition: .4s;
	transition: .4s;
	line-height: 1.3;
}

.menu figure > figcaption:before {
	content: '';
	position: absolute;
	top: 2px;
	left: 0;
	bottom:0;
	margin: auto;
  width: 4px;
	height: 4px;
	border-top: 1px solid #222;
	border-right: 1px solid #222;
	transform: rotate(45deg);
	/*background: url(../img/arrow2.png) no-repeat center / cover;*/

}

.menu > ul > li > ul > li p.btn_style a {
    color: #222;
    padding: .8em 1em;
    max-width: 220px;
    display: block;
    border: 1px solid #222222;
	margin: 0;
}
.menu > ul > li > ul > li p.btn_style a:hover {
    border: 1px solid #F0D45F;
	opacity: 1;
}
@media only screen and (max-width: 1070px) {
.menu > ul > li > ul {
    padding: 15px 18px;
}
.menu .menu_title h2 {
    font-size: 46px;
}
.menu .menu_title h2 span {
    font-size: 22px;
}
}

.menu > ul > li > ul > li > ul > li.link_box {
    display: inline-block;
    float: none;
    max-width: 316px;
}
.menu > ul > li > ul > li > ul > li.link_box .btn_style {
    float: left;
    margin-right: 20px;
	padding-top: 15px;
	width:auto;
}
.menu > ul > li > ul > li > ul > li.link_box .btn_style:last-child {
    margin-right: 0;
}
.menu > ul > li > ul > li > ul > li.link_box .btn_style a {
    width: 148px!important;
	font-size: 12px;
}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@media only screen and (max-width: 910px) {
.menu-container {
    display: none;
}


    .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;
    }
}

/*@media ( min-width : 979px ) and ( max-width : 1277px ) {
  .menu > ul > li {
    padding: 0 1%;
  }
  .menu > ul > li > a {
    font-size: 13px;
  }
  .menu > ul > li > a span {
    font-size: 11px;
  }
}*/

@media ( min-width : 979px ) and ( max-width : 1487px ) {
  .menu > ul > li > a {
    font-size: 13px;
    padding: 18px 1.5em;
  }
  .menu > ul > li > a span {
    font-size: 11px;
  }
}

/*@media ( min-width : 891px ) and ( max-width : 978px ) {
  .menu > ul > li {
    padding: 18px .3%;
    padding: 0 .3%;
  }
  .menu > ul > li > a {
    font-size: 12px;
  }
  .menu > ul > li > a span {
    font-size: 11px;
  }
}*/
@media ( min-width : 891px ) and ( max-width : 1189px ) {
  .menu > ul > li > a {
    font-size: 12px;
    padding: 18px .8em;
  }
  .menu > ul > li > a span {
    font-size: 11px;
  }
}
