/* 
- 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
–––––––––––––––––––––––––––––––––––––––––––––––––– */

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
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#cross01 li:nth-child(2),
#cross02 li:nth-child(2),
#cross03 li:nth-child(2),
#cross04 li:nth-child(2),
#cross05 li:nth-child(2),
#cross06 li:nth-child(2) {
  margin-right: 0 !important;
}

@media only screen and (max-width: 959px) {
  .mv .logo {
    display: none !important;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .fixed {
    height: 55px;
  }
  #gnavv {
    display: none;
  }
  .more {
    padding: 12px 50px !important;
  }

  .cd-fixed-bg {
    background-attachment: scroll;
    background-position: 45% 50% !important;
  }
  h2 span {
    letter-spacing: 2px;
  }
  body.home .mv h1 .en {
    font-size: 0.8em;
  }
  body.home section.recruit {
    padding: 10% 5% 5%;
  }
  .recruit_text {
    font-size: 15px !important;
  }
  .back_01 {
    height: 200px;
    margin-bottom: 10%;
  }
  .company_text {
    text-align: left;
    margin: 5% 0;
  }

  .company ul li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
  }
  .company ul li:nth-child(2n) {
    margin-right: 0;
  }
  .company ul li img {
    width: 100%;
  }
  .back_02 {
    height: 200px;
    margin-bottom: 10%;
  }
  .back_03 {
    height: 200px;
    margin-bottom: 10%;
  }
  .cross {
    margin: 5% auto;
  }
  .cross ul li {
    width: 100%;
    margin-right: 0%;
    margin-top: 2%;
  }
  .people ul li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
  }
  .people ul li:nth-child(3n) {
    margin-right: 4%;
  }
  .people ul li:nth-child(2n) {
    margin-right: 0;
  }
  .slick-slider .slick-track,
  .slick-slider .slick-list {
    width: 2600px !important;
  }
  .slick-initialized .slick-slide {
    width: 200px !important;
  }
  .company {
    margin: 5% auto;
  }
  .company ul li .company_text_01 {
    font-size: 14px !important;
    margin: 5% 0;
  }
  .company ul li .company_text_03 {
    font-size: 14px !important;
    margin: 0;
  }
  .people {
    margin: 5% auto 0;
    padding-bottom: 1%;
  }
  #people02 {
    padding: 1% 5%;
    margin: 0 auto !important;
  }
  .info {
    margin: 5% auto 0;
    padding-bottom: 1%;
  }
  section {
    width: 100% !important;
  }

  #company {
    width: 90% !important;
    margin: 0 auto !important;
  }
  #cross {
    width: 90% !important;
    margin: 0 auto !important;
  }
  #people {
    width: 90% !important;
    margin: 0 auto !important;
  }
  #info {
    width: 90% !important;
    margin: 0 auto !important;
  }
  .info ul li {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 1%;
  }
  .info ul li p {
    padding: 20px 0;
    margin: 0 0 10px 0;
  }
  .menu {
    z-index: 10;
  }
  #message {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 10% 0;
  }
  .message_text_01 {
    font-size: 25px !important;
  }
  #message .message_text_02 {
    text-align: justify;
  }
  #recruit01 {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 40px 0 0 0;
  }
  #recruit01 ul {
    padding-top: 20px !important;
  }
  #recruit01 ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1%;
  }

  #recruit02 {
    width: 90% !important;
    margin: 0 auto !important;
  }
  #recruit02 table {
    border-top: 0px;
  }
  #recruit02 tr {
    display: block;
    margin-bottom: 10px;
  }
  #recruit02 th {
    display: block;
    width: 100%;
    padding: 5px;
    border: 1px dotted #59493f;
  }
  #recruit02 td {
    display: list-item;
    list-style: none;
    width: 100%;
    border: none;
  }

  #recruit03 {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 0px 0 20px 0;
  }
  #recruit03 table {
    border-top: 0px;
  }
  #recruit03 tr {
    display: block;
    margin-bottom: 10px;
  }
  #recruit03 th {
    display: block;
    width: 100%;
    padding: 5px;
    border: 1px dotted #59493f;
  }
  #recruit03 td {
    display: list-item;
    list-style: none;
    width: 100%;
    border: none;
  }

  #recruit04 {
    width: 90% !important;
    margin: 0 auto !important;
  }
  #recruit04 ul {
  }
  #recruit04 ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  #recruit04 ul li img {
    width: 30%;
  }
  #recruit04 ul li:before {
    content: "";
    display: block;
    position: relative;
    top: -20px;
    left: 49%;
    width: 9px;
    height: 5px;
    background-image: url(../img/icon04.png);
  }

  #recruit05 {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 0 0 80px 0;
  }
  #recruit05 table {
  }
  #recruit05 tr {
    display: block;
    margin-bottom: 10px;
  }
  #recruit05 th {
    display: block;
    width: 100%;
    padding: 0;
  }
  #recruit05 td {
    display: list-item;
    list-style: none;
    width: 100%;
    border: none;
    padding: 0;
  }
  #recruit05 img {
    width: 20%;
  }

  .recruit_text_01 {
    margin: 0 0 30px 0;
    font-size: 25px;
  }
  .recruit_text_01 span {
    font-size: 15px;
  }
  #recruit05 .recruit_text_05 {
    text-align: center;
    margin-bottom: 30px;
  }

  #personality {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 10% 0;
  }
  .personality_text_01 {
    font-size: 25px;
  }
  .personality_text_02 {
    font-size: 12px;
    margin: 30px 0 60px 0;
    text-align: justify;
  }

  #career01 {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 10% 5% 0%;
  }
  #career01 ul li {
    list-style: none;
    width: 100%;
    margin-right: 0%;
    height: auto;
  }

  ul .left01,
  ul .left02,
  ul .left03,
  ul .left05,
  ul .left06 {
    margin-bottom: 55px !important;
  }
  ul .left01:after {
    top: auto;
    bottom: -45px;
    height: 0;
    border-left: 45vw solid transparent;
    border-right: 45vw solid transparent;
    border-top: 45px solid #b6cba2;
  }
  ul .left02:after {
    top: auto;
    bottom: -45px;
    height: 0;
    border-left: 45vw solid transparent;
    border-right: 45vw solid transparent;
    border-top: 45px solid #9dbcd7;
  }
  ul .left03:after {
    top: auto;
    bottom: -45px;
    height: 0;
    border-left: 45vw solid transparent;
    border-right: 45vw solid transparent;
    border-top: 45px solid #799dc7;
  }
  ul .left05:after {
    top: auto;
    bottom: -45px;
    height: 0;
    border-left: 45vw solid transparent;
    border-right: 45vw solid transparent;
    border-top: 45px solid #ebe79a;
  }
  ul .left06:after {
    top: auto;
    bottom: -45px;
    height: 0;
    border-left: 45vw solid transparent;
    border-right: 45vw solid transparent;
    border-top: 45px solid #f1c19d;
  }

  #career01 ul .left01 {
    height: 200px;
    margin-bottom: 10%;
  }
  #career01 ul .left01:after {
    top: 200px;
    border-left: 14em solid transparent;
    border-right: 14em solid transparent;
  }
  #career01 ul .left02 {
    height: 170px;
    margin-bottom: 10%;
  }
  #career01 ul .left02:after {
    top: 170px;
    border-left: 14em solid transparent;
    border-right: 14em solid transparent;
  }
  #career01 ul .left03 {
    height: 140px;
    margin-bottom: 10%;
  }
  #career01 ul .left03:after {
    top: 140px;
    border-left: 14em solid transparent;
    border-right: 14em solid transparent;
  }
  #career01 ul .left04 {
    height: 150px;
    margin-bottom: 10%;
  }
  #career01 ul .left04:after {
    top: 150px;
    border-left: 14em solid transparent;
    border-right: 14em solid transparent;
  }
  #career02 {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 10% 0;
  }
  #career02 ul li {
    list-style: none;
    width: 100%;
    margin-right: 0%;
    height: auto;
  }
  #career02 ul .left05 {
    height: 190px;
    margin-bottom: 10%;
  }
  #career02 ul .left05:after {
    top: 190px;
    border-left: 14em solid transparent;
    border-right: 14em solid transparent;
  }
  #career02 ul .left06 {
    height: 170px;
    margin-bottom: 10%;
  }
  #career02 ul .left06:after {
    top: 170px;
    border-left: 14em solid transparent;
    border-right: 14em solid transparent;
  }
  .career_text_01 {
    font-size: 15px;
    line-height: 35px;
    margin: 30px 0 40px 0;
    color: #59493f;
    font-size: 15px;
  }
  .career_text_02 {
    font-size: 25px;
  }
  .career_text_03 {
    font-size: 22px;
    margin-bottom: 0;
  }
  .career_text_04 {
    font-size: 16px;
  }
  .career_text_05 {
    font-size: 16px;
  }
  .people_text01 {
    text-align: center;
  }
  .people_text02 {
    font-size: 12px !important;
    text-align: center;
  }
  .people_text03 {
    font-size: 28px !important;
    text-align: center;
  }
  .people_text04 {
    font-size: 18px !important;
    text-align: center;
  }
  .people_text06 {
    width: 100%;
    font-size: 16px !important;
    text-shadow: 0 !important;
    margin-bottom: 10px !important;
    font-feature-settings: "palt";
    text-align: center;
  }
  .people_text07 {
    width: 100%;
    font-size: 20px !important;
    margin-bottom: 5% !important;
    line-height: inherit !important;
    text-shadow: 0 !important;
    font-feature-settings: "palt";
    text-align: center;
  }
  .people_text09 {
    padding: 5%;
    font-size: 20px !important;
  }
  .people_text10 {
    padding: 0;
    margin-top: 0;
  }
  ul li .people_text10 {
    padding: 0 5%;
  }
  .people_text05 {
    font-size: 12px !important;
    text-align: center;
    margin-top: 10px !important;
  }
  #cross06 {
    margin-top: 10%;
  }
  #cross07 {
    margin: 5% 0 0;
    padding-bottom: 5%;
  }
  #cross07 ul {
    padding: 0 5% !important;
    width: 100% !important;
  }
  #cross07 ul li {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 2% !important;
  }
  .cross_text01 {
    text-align: center;
  }
  .cross_text02 {
    text-align: center;
    font-size: 12px !important;
  }
  .cross_text03 {
    font-size: 20px !important;
  }
  .cross_text04 {
    font-size: 12px !important;
  }
  .cross_text05 {
    font-size: 15px !important;
    margin: 0 0 5% 0 !important;
  }
  .cross_text06 {
    font-size: 15px !important;
    line-height: 30px;
    margin-bottom: 5% !important;
  }
  .cross_text07 {
  }
  .cross_text07 span {
    font-size: 14px !important;
    font-weight: 600;
  }

  .cross_text09 {
    padding: 5% 5% 0 5%;
    font-size: 20px !important;
  }
  .cross_text10 {
    padding: 0 5%;
  }
  #cross ul {
    width: 100% !important;
  }
  #cross ul li {
    width: 100% !important;
    margin-right: 0 !important;
  }
  #cross01 {
    background-image: none !important;
    height: auto;
  }
  #cross01 ul {
    width: 100%;
  }
  #cross01 ul li {
    width: 100%;
    margin-right: 0%;
  }
  #cross02 {
    margin-top: 0;
  }
  #cross02 ul {
    width: 100%;
  }
  #cross02 ul li {
    width: 100%;
    margin-right: 0 !important;
    margin-bottom: 2% !important;
  }
  #cross03 {
    margin-top: 5%;
  }
  #cross03 ul {
    width: 100%;
  }
  #cross03 ul li {
    width: 100%;
    margin-right: 0 !important;
    margin-bottom: 4% !important;
  }

  #cross04 {
    margin-top: 5%;
  }
  #cross04 ul {
    width: 100%;
  }
  #cross04 ul li {
    width: 100%;
    margin-right: 0%;
  }
  #cross05 {
    background-image: none !important;
    margin-top: 0;
    height: auto;
  }
  #cross05 ul {
    width: 100%;
  }
  #cross05 ul li {
    width: 100%;
    margin-right: 0%;
  }
  #cross06 {
    margin-top: 0%;
  }
  #cross06 ul {
    width: 100%;
  }
  #cross06 ul li {
    width: 100%;
    margin-right: 0%;
  }
  .contents03 {
    padding: 5% !important;
  }
  .cross_text13 {
    text-align: left;
  }

  #cross01 li:last-child,
  #cross02 li:last-child,
  #cross03 li:last-child,
  #cross04 li:last-child,
  #cross05 li:last-child,
  #cross06 li:last-child {
    margin-bottom: 0 !important;
  }
  #cross01 li p:last-child,
  #cross02 li p:last-child,
  #cross03 li p:last-child,
  #cross04 li p:last-child,
  #cross05 li p:last-child,
  #cross06 li p:last-child {
    margin-bottom: 5% !important;
  }

  #positions {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 10% 0 0;
  }

  #positions ul li {
    width: 100% !important;
    margin-right: 0% !important;
    margin-bottom: 4% !important;
  }
  #positions02 {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 0 0 10%;
  }

  #positions02 ul li {
    width: 100% !important;
    margin-right: 0% !important;
    margin-bottom: 4% !important;
  }
  .positions_text_01 {
    margin: 5% 0 0;
  }
  .positions_text_02 {
    line-height: 20px;
    margin: 5% 0 5%;
    font-size: 12px;
  }
  #history .history_text_01 {
    padding: 0;
  }
  #history .history_text_02 {
    padding: 0;
  }
  #positions02 .positions02 .positions_text_03 {
    font-size: 18px;
  }

  #value01 {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 10% 0 5%;
  }
  .value01 li {
    width: 32% !important;
    margin-right: 2% !important;
    margin-bottom: 4% !important;
  }
  .value01 li:nth-child(3n) {
    margin-right: 0% !important;
  }
  #value02 {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 0 0 10%;
  }
  #value02 ul li {
    width: 100% !important;
    margin-right: 0% !important;
    margin-bottom: 4% !important;
  }

  .value_text_01 {
    margin: 10% 0 0%;
  }
  .value_text_01 span {
    font-size: 12px;
  }
  .value_text_02 {
    margin: 10% 0 5%;
  }

  .value_text_03 {
    width: 100%;
    text-indent: -1.6em;
    padding-left: 1.6em;
    line-height: 1.6em;
    margin-bottom: 5%;
  }
  .value_text_003 {
    margin-bottom: 15%;
  }

  #history {
    width: 90% !important;
    margin: 0 auto !important;
    padding: 10% 0;
  }

  .menu-container {
    display: block;
    width: 80%;
    margin: 0 auto;
    background: #ffffff;
    border-bottom: 2px solid #85707a;
  }
  .menu-mobile {
    display: none;
    padding: 10px 15px 6px 15px;
  }
  .menu-mobile img {
    height: 34px;
  }
  .menu-mobile:after {
    content: "\f394"; /*モバイル用メニューに表示するアイコン*/
    font-family: "Ionicons";
    font-size: 2.8em;
    padding-top: 0.1em;
    float: right;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-25%);
    transform: translateY(-25%);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .hov:after {
    content: "\f2d7"; /*モバイル用メニューに表示するアイコン*/
    font-family: "Ionicons";
    font-size: 2.8em;
    padding-top: 0.1em;
    float: right;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-25%);
    transform: translateY(-25%);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .menu-dropdown-icon:before {
    content: "\f489"; /*モバイル用メニューに表示するアイコン*/
    font-family: "Ionicons";
    display: none;
    cursor: pointer;
    float: right;
    padding: 10px 1.1em;
    max-height: 40px;
    background: #fff;
    color: #333;
  }
  .menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
    position: relative;
    box-sizing: border-box;
  }
  .menu > ul:before,
  .menu > ul:after {
    content: "";
    display: table;
  }
  .menu > ul:after {
    clear: both;
  }
  .menu > ul > li {
    float: left;
    background: #e9e9e9;
    padding: 0;
    margin: 0;
  }
  .menu > ul > li a {
    text-decoration: none;
    padding: 1em 1.5em;
    display: block;
    color: #59493f;
  }
  .menu > ul > li:hover {
    background: #f0f0f0;
  }
  .menu > ul > li > ul {
    display: none;
    width: 100%;
    background: #f0f0f0;
    padding: 1em 1.5em;
    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;
  }
  .menu > ul > li > ul > li {
    margin: 0;
    padding-bottom: 0;
    list-style: none;
    width: 25%;
    background: none;
    float: left;
  }
  .menu > ul > li > ul > li a {
    color: #777;
    padding: 0.2em 0;
    width: 95%;
    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: 50%;
    padding: 4px 0;
    margin: 0;
    font-size: 0.8em;
  }
  .menu > ul > li > ul > li > ul > li a {
    border: 0;
  }
  .menu > ul > li > ul.normal-sub {
    width: 300px;
    left: auto;
    padding: 1em 1.5em;
  }
  .menu > ul > li > ul.normal-sub > li {
    width: 100%;
  }
  .menu > ul > li > ul.normal-sub > li a {
    border: 0;
    padding: 0.2em 0;
    width: 100%;
    display: block;
    font-size: 0.85em;
  }

  footer .ribbon {
    padding-bottom: 10%;
    background-image: url(../img/texture_white.jpg);
  }

  #pageTop a img {
    width: 15%;
  }
}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
モバイル用
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*サイズは任意で。js側の設定と合わせる*/

@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: 0.8em 1em;
    width: 100%;
    display: block;
    font-size: 0.9em;
  }
  .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;
  }
}

/*IE10以降に適用されるCSSハック（一応）*/
@media all and (-ms-high-contrast: none) {
  .container02 {
    top: 450px !important;
  }
}

/*IE11だけに適用されるCSSハック*/
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
  .container02 {
    top: 450px !important;
  }
}
