.gmap {
  padding-bottom: 50%; }

header {
  position: absolute;
  height: 70px; }
  header div.wrap {
    padding: 10px 20px; }
    header div.wrap h1 {
      width: 80%; }
    header div.wrap nav {
      position: fixed;
      top: 0;
      right: -100vw;
      width: 40%;
      height: 100vh;
      background: #ffffff;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
      z-index: 3;
      padding: 20% 10%;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: start; }
      header div.wrap nav ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: auto; }
        header div.wrap nav ul li {
          font-size: 1.5em;
          margin-bottom: 30px;
          color: #000; }
          header div.wrap nav ul li a {
            color: #000; }
      header div.wrap nav a.insta {
        max-width: 100px;
        width: 100px;
        margin: auto; }
        header div.wrap nav a.insta img {
          width: 100px;
          height: 100px;
          max-height: 100px; }
          header div.wrap nav a.insta img.bk {
            display: block; }
          header div.wrap nav a.insta img.wh {
            display: none; }
      header div.wrap nav.open {
        right: 0; }
    header div.wrap .menu_btn {
      display: block;
      position: absolute;
      top: 10px;
      right: 10px;
      width: 40px;
      height: 40px;
      -webkit-transition: all .5s;
      -o-transition: all .5s;
      transition: all .5s;
      cursor: pointer;
      z-index: 10; }
      header div.wrap .menu_btn span {
        display: block;
        position: absolute;
        left: 0;
        width: 40px;
        height: 2px;
        background-color: #fff;
        border-radius: 4px;
        -webkit-transition: all .5s;
        -o-transition: all .5s;
        transition: all .5s; }
        header div.wrap .menu_btn span:first-child {
          top: 4px; }
        header div.wrap .menu_btn span:nth-child(2) {
          top: 19px; }
        header div.wrap .menu_btn span:last-child {
          bottom: 4px; }
      header div.wrap .menu_btn.open span {
        background: #000; }
        header div.wrap .menu_btn.open span:first-child {
          -webkit-transform: translateY(15px) rotate(-315deg);
          -ms-transform: translateY(15px) rotate(-315deg);
          transform: translateY(15px) rotate(-315deg); }
        header div.wrap .menu_btn.open span:nth-child(2) {
          opacity: 0; }
        header div.wrap .menu_btn.open span:last-child {
          -webkit-transform: translateY(-15px) rotate(315deg);
          -ms-transform: translateY(-15px) rotate(315deg);
          transform: translateY(-15px) rotate(315deg); }

section#hero p {
  width: 50%; }

body.child header div.wrap .menu_btn span {
  background: #000; }

body.child main {
  margin-top: 50px; }
  body.child main h2 {
    margin-bottom: 50px;
    font-size: 5vw; }
  body.child main h3 {
    font-size: 3vw;
    margin-bottom: 10px; }
  body.child main section#about div.wrap {
    margin-bottom: 100px; }
    body.child main section#about div.wrap div.flex {
      margin-bottom: 50px; }
      body.child main section#about div.wrap div.flex div.txt p {
        margin-bottom: 20px; }
      body.child main section#about div.wrap div.flex img {
        width: 45%;
        height: 100%; }
  body.child main section#service {
    padding: 100px 20px; }
    body.child main section#service ul li {
      padding: 20px;
      font-size: 2vw;
      width: 80%; }
  body.child main section#office {
    padding-top: 100px; }
    body.child main section#office dl {
      margin-bottom: 50px; }
      body.child main section#office dl div.flex {
        margin-bottom: 30px; }
        body.child main section#office dl div.flex dt {
          text-align-last: justify; }
    body.child main section#office p {
      text-align: center;
      margin-bottom: 100px; }
  body.child main section#gallery div.wrap div.hes-gallery img {
    height: 30vh;
    padding: 10px;
    width: 50%; }
  body.child main section#news div.wrap {
    width: 60%; }
    body.child main section#news div.wrap dl div.flex {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
