@charset "UTF-8";
.menu-mobile {
  /* display: none; */
  padding: 50px 0 0 0;
}

.menu-dropdown-icon:before {
  content: "\f489";
  font-family: "Ionicons";
  display: none;
  cursor: pointer;
  float: right;
  font-size: 30px;
  padding: 10px 25px;
  background: rgba(255, 255, 255, 0.5);
  color: #fff;
}

.menu > ul {
  display: flex;
  width: 100%;
  list-style: none;
  /* 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:hover {
  background: #D70C18;
}
.menu > ul > li a {
  text-decoration: none;
  padding: 15px;
  display: block;
  color: #D70C18;
  font-size: 15px;
}
.menu > ul > li a.active {
  color: #fff;
}

.menu > ul > li > ul,
.menu > ul > li > div {
  display: none;
  width: 100%;
  background: #D70C18;
  padding: 40px 20px 20px;
  position: absolute;
  z-index: 99;
  left: 0;
  margin: 0;
  list-style: none;
  box-sizing: border-box;
  overflow: scroll;
}

.menu > ul > li > div > ul.company {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1180px;
  margin: 0 auto;
}
.menu > ul > li > div > ul.company li {
  width: 23%;
  margin: 0;
  padding: 0;
  margin-bottom: 2%;
  list-style: none;
}
.menu > ul > li > div > ul.company li a {
  display: block;
  color: #D70C18;
  background: #fff;
  border-radius: 5px;
  padding: 15px 20px;
  text-align: center;
  border: solid 1px #D70C18;
}
.menu > ul > li > div > ul.company li a:hover {
  opacity: 0.8;
  border: solid 1px #fff;
}

@media only screen and (max-width: 959px) {
  .menu > ul > li > div > ul.company {
    display: block;
    padding: 0;
  }
  .menu > ul > li > div > ul.company > li {
    width: 100%;
  }
  .menu > ul > li > div {
    background: #DD4851;
  }
}
.menu > ul > li > div > ul.group {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1180px;
  margin: 0 auto;
}
.menu > ul > li > div > ul.group li {
  width: 31%;
  margin: 0 12px;
  padding: 0;
  margin-bottom: 2%;
  list-style: none;
  overflow: hidden;
  position: relative;
  border-radius: 5px;
  background: url(../img/location_kanto.jpg) center no-repeat;
  transition: 0.3s;
  background-size: cover;
  border: solid 1px #D70C18;
}
.menu > ul > li > div > ul.group li.blank {
  height: 1px;
  background: none;
}
.menu > ul > li > div > ul.group li:nth-child(2) {
  background: url(../img/location_chubu.jpg) center no-repeat;
}
.menu > ul > li > div > ul.group li:nth-child(3) {
  background: url(../img/location_kansai.jpg) center no-repeat;
}
.menu > ul > li > div > ul.group li:nth-child(4) {
  background: url(../img/location_kyushu.jpg) center no-repeat;
}
.menu > ul > li > div > ul.group li:nth-child(5) {
  background: url(../img/location_shinnagato.jpg) center no-repeat;
}
.menu > ul > li > div > ul.group li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 220px;
  background-image: linear-gradient(180deg, rgba(85, 85, 85, 0) 50%, rgb(0, 0, 0));
}
.menu > ul > li > div > ul.group li:hover {
  opacity: 0.8;
  border: solid 1px #fff;
}
.menu > ul > li > div > ul.group li a {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 220px;
  padding: 20px 0;
  position: relative;
  color: #fff;
  text-align: center;
}

@media only screen and (max-width: 959px) {
  .menu-mobile {
    height: 44px;
    width: 44px;
    position: absolute;
    background: none;
    border: none;
  }
  .menu-mobile::after, .menu-mobile::before {
    position: absolute;
    top: calc(50% - 1px);
    content: "";
    width: 30px;
    height: 2px;
    display: block;
    background: #D70C18;
    transition: transform 0.3s;
  }
  .menu-mobile::before {
    transform: translateY(-8px);
    box-shadow: 0 8px 0 #D70C18;
  }
  .menu-mobile::after {
    transform: translateY(8px);
  }
  .menu-mobile.active::before {
    transform: rotate(45deg);
    box-shadow: none;
  }
  .menu-mobile.active::after {
    transform: rotate(-45deg);
  }
  .menu > ul > li > div > ul.group {
    display: block;
    padding: 0;
  }
  .menu > ul > li > div > ul.group > li {
    width: 100%;
    margin: 0 0 2% 0;
    background: none;
  }
  .menu > ul > li > div > ul.group > li > a {
    height: auto;
    display: block;
    color: #D70C18;
    background: #fff;
    border-radius: 5px;
    padding: 15px 20px;
    text-align: center;
    border: solid 1px #D70C18;
  }
}
.menu > ul > li > div > ul.business {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1180px;
  margin: 0 auto 20px;
}

.menu > ul > li > div > ul.business > li {
  width: 20%;
  border: solid 1px #D70C18;
  margin: 0 12px;
  padding: 0;
  list-style: none;
  overflow: hidden;
  position: relative;
  border-radius: 5px;
  background: url(../img/business_01.jpg) center no-repeat;
  transition: 0.3s;
  background-size: cover;
}

.menu > ul > li > div > ul.business > li:nth-child(2) {
  background: url(../img/business_02.jpg) center no-repeat;
}

.menu > ul > li > div > ul.business > li:nth-child(3) {
  background: url(../img/business_03.jpg) center no-repeat;
}

.menu > ul > li > div > ul.business > li:nth-child(4) {
  background: url(../img/business_04.jpg) center no-repeat;
}

.menu > ul > li > div > ul.business > li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 160px;
  background-image: linear-gradient(180deg, rgba(85, 85, 85, 0) 50%, rgb(0, 0, 0));
}

.menu > ul > li > div > ul.business > li > a {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 160px;
  padding: 20px 0;
  position: relative;
  color: #fff;
  text-align: center;
}

.menu > ul > li > div > ul.business > li:hover {
  opacity: 0.8;
  border: solid 1px #fff;
}

@media only screen and (max-width: 959px) {
  .menu > ul > li > div > ul.business {
    display: block;
    padding: 0;
  }
  .menu > ul > li > div > ul.business > li {
    width: 100%;
    margin: 0 0 2% 0;
    background: none;
  }
  .menu > ul > li > div > ul.business > li > a {
    height: auto;
    display: block;
    color: #D70C18;
    background: #fff;
    border-radius: 5px;
    padding: 15px 20px;
    text-align: center;
    border: solid 1px #D70C18;
  }
}
.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: 100%;
  padding: 10px 0;
  margin: 0;
  font-size: 0.8em;
}

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

/* .menu > ul > li > ul.normal-sub {
    width: 100%;
    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;
    width: 70px;
    padding: 24px 20px;
    position: absolute;
    right: 0;
    top: 0;
  }
  .menu-dropdown-icon:before {
    display: block;
  }
  .menu > ul {
    display: none;
    opacity: 0;
  }
  .menu > ul > li {
    width: 100%;
    float: none;
    display: block;
    border-bottom: solid 1px #FF9FA4;
    background: #D70C18;
  }
  .menu > ul > li a {
    color: #fff;
    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 {
    margin-top: 50px;
    display: block;
    opacity: 1;
    animation: fadeIn 0.3s ease-in 0s forwards;
    height: 100vh;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    border: solid 1px #FF9FA4;
  }
  @keyframes fadeIn {
    0% {
      display: none;
      opacity: 0;
    }
    1% {
      display: block;
      opacity: 0;
    }
    100% {
      display: block;
      opacity: 1;
    }
  }
}/*# sourceMappingURL=mm.css.map */