@charset "UTF-8";

/* ハンバーガーボタン */

.hamburger {
  position: fixed;
  top: 18px;
  left: calc( 100% - ( 100vw - 1340px ) / 2 - 50px );
  z-index: 10000;
  line-height: 30px;
  width: 74px;
  height: 74px;
  background: #6EB92B;
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  transition: .3s;
}

.hamburger:hover {
  background: #ffb900;
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 3px ;
  border-radius: 10px;
  left    : 0;
  background : #fff;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition   : 0.5s ease-in-out;
  transition        : 0.5s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 18.7px;
  width: 35px;
  left: 19.5px;
}

.hamburger span:nth-child(2) {
  top: 28.7px;
  width: 22px;
  left: 29.5px;
}

.hamburger span:nth-child(3) {
  top: 38.7px;
  width: 35px;
  left: 19.5px;
}

.hamburger .en {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 28.7px;
  left: 19.5px;
  -webkit-transform: rotate(325deg);
  -moz-transform   : rotate(325deg);
  transform        : rotate(325deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  left: 19.5px;
  top: 28.7px;
  width: 35px;
  -webkit-transform: rotate(-325deg);
  -moz-transform   : rotate(-325deg);
  transform        : rotate(-325deg);
}

.hamburger p.ttl {
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}

.globalMenuSp_main_menu_box {
  position: fixed;
  top: 110px;
  left: 0;
  width: 100%;
  height: calc( 100% - 110px );
  background-color: #6EB92B;
  z-index: 500;
  display: none;
  padding-top: 20px;
  padding-bottom: 30px;
}

.globalMenuSp_main_menu_box .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../../image/globalMenu_mask.webp) no-repeat;
    background-size: cover;
    background-position: center;
    mix-blend-mode: multiply;
}

.globalMenuSp_main_menu_box .inner {
  max-height: 100%;
  min-height: 560px;
  overflow: scroll;
  width: 1340px;
  margin: 0 auto;
  background: #fff;
  border-radius: 20px;
  position: relative;
}

.globalMenuSp_main_menu_box .inner .pc .illust {
  position: absolute;
  right: 36px;
  bottom: 15.5px;
  width: 142px;
}

.globalMenuSp_main_menu_box .image {
  width: 513px;
  object-fit: cover;
}

.globalMenuSp_main_menu_box .image img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
}

.globalMenuSp_main_menu_box .inner .site_contents {
  width: calc( 100% - 513px );
  padding: 30px 100px 42px 57px;
}

.globalMenuSp_main_menu_box .inner .site_contents .en_title {
  font-size: 36px;
  color: #6EB92B;
  border-bottom: 3px solid;
  margin-bottom: 30px;
  padding-left: 27px;
  padding-bottom: 10px;
  font-weight: 600;
}

.globalMenuSp_main_menu_box .inner .site_contents .global_nav {
  padding-right: 20px;
  padding-left: 36px;
}

.globalMenuSp_main_menu_box .site_contents ul li a {
    color: #141414;
    transition: .3s;
}

.globalMenuSp_main_menu_box .site_contents ul li a:hover {
    color: #6EB92B;
}

.globalMenuSp_main_menu_box .site_contents ul li.parent + li {
    margin-top: 20px;
}

.globalMenuSp_main_menu_box .site_contents ul li.parent a {
    font-weight: 700;
}

.globalMenuSp_main_menu_box .site_contents ul li .title {
    font-weight: 700;
}

.globalMenuSp_main_menu_box .site_contents ul li .in_menu {
    padding-left: 20px;
    margin-top: 15px;
    padding-top: 10px;
}

.globalMenuSp_main_menu_box .site_contents ul li .in_menu .title {
    margin-bottom: 20px;
}

.globalMenuSp_main_menu_box .site_contents ul li .in_menu ul.in_sub_menu {
    margin-bottom: 25px;
    margin-left: 20px;
}

.globalMenuSp_main_menu_box .site_contents ul li .in_menu ul li a {
    font-weight: 400;
}

.globalMenuSp_main_menu_box .site_contents ul li .in_menu ul li.parent a {
    font-weight: 700;
}

.globalMenuSp_main_menu_box .site_contents ul li .in_menu ul li + li {
    margin-top: 12px;
}

.globalMenuSp_main_menu_box .site_contents ul li .in_menu ul li.parent + li {
    margin-top: 20px;
}

.globalMenuSp_main_menu_box .site_contents .parent_menu li.mt{
  margin-top: 20px;
}

.globalMenuSp_main_menu_box .other_list {
  margin-top: 38px;
}

.globalMenuSp_main_menu_box .other_list ul li {
  font-size: 12px;
  font-weight: 400;
}

.globalMenuSp_main_menu_box .other_list ul li:before {
  content: "/";
  margin: 0 .2em;
}

.globalMenuSp_main_menu_box .other_list ul li:first-child::before {
  display: none;
}

@media (max-width: 1340px) {
  .hamburger {
    left: 94%;
  }
}

@media (max-width: 750px) {

  .hamburger {
    top: 2.1vw;
    left: auto;
    right: 5vw;
    width: 14.1vw;
    height: 14.1vw;
  }

  .hamburger span {
    height: 0.5vw;
  }

  .hamburger span:nth-child(1) {
    top: 3.2vw;
    width: 7.5vw;
    left: 3.3vw;
  }

  .hamburger span:nth-child(2) {
    top: 5.3vw;
    width: 4.3vw;
    left: 5.7vw;
  }

  .hamburger span:nth-child(3) {
    top: 7.5vw;
    width: 7.5vw;
    left: 3.3vw;
  }

  .hamburger .en {
    font-size: 2.7vw;
    line-height: 2;
  }

  .hamburger.active span:nth-child(1) {
    top: 5.3vw;
    left: 3.3vw;
    width: 7.5vw;
  }

  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
    top: 5.3vw;
    left: 3.3vw;
    width: 7.5vw;
  }

  .globalMenuSp_main_menu_box {
    top: 0;
    height: 100%;
    padding-top: 24vw;
    padding-bottom: 5.3vw;
  }

  .globalMenuSp_main_menu_box .inner {
    min-height: unset;
    width: 95%;
    border-radius: 5.3vw;
    padding: 6.4vw 5vw 5.3vw 5vw;
  }

  .globalMenuSp_main_menu_box .common_contact_box {
    border-radius: 5.3vw;
  }

  .globalMenuSp_main_menu_box .common_contact_box .title_area {
    padding-top: 6.9vw;
    padding-bottom: 9.1vw;
  }

  .globalMenuSp_main_menu_box .common_site_links {
    margin: 10.4vw 0;
  }

  .globalMenuSp_main_menu_box .other_list {
    margin-top: 8vw;
  }

  .globalMenuSp_main_menu_box .other_list ul {
    justify-content: center;
  }

  .globalMenuSp_main_menu_box .other_list ul li {
    font-size: 3.2vw;
  }

  .globalMenuSp_main_menu_box .other_list ul li a {
    color: #141414;
  }

  .globalMenuSp_main_menu_box .other_list ul li:before {
    content: "|";
    margin: 0 1.5em;
  }

  .globalMenuSp_main_menu_box .common_contact_box .title_area .tel {
    font-size: 6.7vw;
    padding-left: 5.3vw;
    background-size: 3.9vw;
  }

  .globalMenuSp_main_menu_box .search_box .box_title {
    text-align: center;
    font-size: 5.3vw;
    font-weight: 700;
    margin-bottom: 3.5vw;
  }

  .globalMenuSp_main_menu_box .common_button_cont {
    background: #FFFAF4;
    border-radius: 2.7vw;
    padding: 6.4vw 5.2vw 8vw 5.2vw;
  }

  .globalMenuSp_main_menu_box .common_button_cont .box.residential {
    background: none;
    border-bottom: 0.4vw solid #C2D5B1;
    padding: 0 0 6.4vw 0;
    margin-bottom: 6.4vw;
    border-radius: 0;
  }

  .globalMenuSp_main_menu_box .common_button_cont .box ul li a {
    width: 72vw;
    margin: 0 auto;
  }

  .globalMenuSp_main_menu_box .common_button_cont .box.other ul li a {
    width: 100%;
    height: 18.7vw;
  }

  .globalMenuSp_main_menu_box .common_button_cont .box.other ul li .icon {
    width: 14.4vw;
    text-align: center;
  }

  .globalMenuSp_main_menu_box .common_button_cont .box.other ul li .text {
    font-size: 4.8vw;
  }

  .globalMenuSp_main_menu_box .common_button_cont .box.other {
    padding-bottom: 0;
  }


}