.gmap {
  padding-bottom: 100%; }

header {
  position: absolute;
  height: 50px; }
  header div.wrap {
    padding: 0 10px; }
    header div.wrap h1 {
      width: 80%; }
    header div.wrap nav {
      position: fixed;
      top: 0;
      right: -100vw;
      width: 100%;
      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 {
          color: #000;
          font-size: 1.5em;
          margin-bottom: 30px; }
          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: 30px;
      height: 30px;
      -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: 30px;
        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: 14px; }
        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(10px) rotate(-315deg);
          -ms-transform: translateY(10px) rotate(-315deg);
          transform: translateY(10px) 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(-10px) rotate(315deg);
          -ms-transform: translateY(-10px) rotate(315deg);
          transform: translateY(-10px) rotate(315deg); }

section#hero p {
  width: 70%;
  padding-top: 50px; }

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: 9vw; }
  body.child main h3 {
    font-size: 5vw;
    margin-bottom: 10px; }
  body.child main section#about div.wrap {
    margin-bottom: 100px; }
    body.child main section#about div.wrap div.flex {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      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: 100%; }
      body.child main section#about div.wrap div.flex:last-child {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; }
        body.child main section#about div.wrap div.flex:last-child div.txt {
          margin-left: 0; }
  body.child main section#service {
    padding: 50px 20px; }
    body.child main section#service ul li {
      padding: 20px;
      font-size: 3.5vw;
      width: 90%; }
  body.child main section#office {
    padding-top: 50px; }
    body.child main section#office dl {
      font-size: 18px;
      margin-bottom: 50px; }
      body.child main section#office dl div.flex {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 30px; }
        body.child main section#office dl div.flex dt,
        body.child main section#office dl div.flex dd {
          line-height: 2;
          text-align: left;
          font-size: 16px; }
        body.child main section#office dl div.flex dt {
          min-width: 6em;
          text-align-last: left; }
        body.child main section#office dl div.flex dd {
          margin-left: 0; }
    body.child main section#office p {
      text-align: center;
      margin-bottom: 50px; }
  body.child main section#contact div.wrap h3 {
    font-size: 20px; }
  body.child main section#contact div.wrap p {
    font-size: 14px;
    margin-bottom: 20px; }
  body.child main section#contact div.wrap ul li {
    font-size: 14px;
    list-style: disc;
    margin-left: 2em;
    margin-bottom: 10px; }
  body.child main section#contact div.wrap div.flex {
    max-width: 1200px;
    width: 90%;
    margin: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    body.child main section#contact div.wrap div.flex div.container {
      width: 100%; }
      body.child main section#contact div.wrap div.flex div.container div#policy {
        margin-bottom: 30px;
        overflow-x: scroll;
        max-height: 50vh;
        border: 1px solid #dadada;
        padding: 5px 10px; }
    body.child main section#contact div.wrap div.flex div#form {
      width: 100%;
      margin-bottom: 50px; }
      body.child main section#contact div.wrap div.flex div#form form input,
      body.child main section#contact div.wrap div.flex div#form form textarea,
      body.child main section#contact div.wrap div.flex div#form form select {
        border: 1px solid #dadada;
        font-size: 14px; }
      body.child main section#contact div.wrap div.flex div#form form input,
      body.child main section#contact div.wrap div.flex div#form form textarea {
        width: 100%;
        padding: 5px; }
      body.child main section#contact div.wrap div.flex div#form form select {
        padding: 10px; }
      body.child main section#contact div.wrap div.flex div#form form textarea {
        height: 200px; }
      body.child main section#contact div.wrap div.flex div#form form dt {
        margin-bottom: 10px; }
      body.child main section#contact div.wrap div.flex div#form form dd {
        margin-bottom: 20px; }
      body.child main section#contact div.wrap div.flex div#form form p#form_submit {
        background: #000;
        color: #fff; }
        body.child main section#contact div.wrap div.flex div#form form p#form_submit:hover {
          -webkit-transition: 0.2s;
          -o-transition: 0.2s;
          transition: 0.2s;
          background: #fff;
          color: #000; }
  body.child main section#gallery div.wrap div.hes-gallery img {
    height: 30vh;
    padding: 5px;
    width: 100%; }
  body.child main section#news div.wrap {
    width: 90%; }
    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; }
