@charset "UTF-8";
/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
  letter-spacing: .1rem; }

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical; }

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
.sp-item {
  display: none; }

.pc-item {
  display: inline-block; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400; }

h1, h2 {
  font-family: SakuraKeisetsu;
  margin: 0;
  padding: 0;
  line-height: 1; }

h3, h4, h5 {
  margin: 0;
  padding: 0;
  line-height: 1; }

.loaded {
  opacity: 0;
  visibility: hidden; }

#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11000; }

.spinner {
  width: 640px;
  height: 640px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -300px 0 0 -300px; }

#mvbox {
  width: 100%;
  height: 100vh;
  opacity: 1;
  position: relative; }
  #mvbox .overlay {
    width: 100%;
    height: 100vh;
    background: url("../img/dot-bg.png"); }
    #mvbox .overlay .btn_scroll a {
      display: block;
      width: 150px;
      height: 150px;
      position: absolute;
      bottom: 15px;
      left: 50%;
      margin-left: -75px;
      animation: blinkAnime 1s infinite alternate; }
      #mvbox .overlay .btn_scroll a img {
        width: 100%; }

@keyframes blinkAnime {
  0%,100% {
    opacity: 1; }
  50% {
    opacity: 0.2; } }
#gmap_wrapper {
  width: 100%;
  padding-top: 500px;
  position: relative;
  margin: auto; }

#gmap {
  position: absolute;
  width: 100%;
  height: 500px;
  top: 0; }

header {
  position: fixed;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  height: 114px;
  z-index: 10000; }
  header .wrap {
    color: #fff;
    position: relative;
    width: 100%; }
    header .wrap .main-bar {
      background-color: #294350;
      position: absolute;
      top: 40px;
      width: 100%;
      height: 75px;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .wrap .main-bar h1 {
        background-color: #000;
        display: inline-block;
        margin: 0;
        padding: 9px 20px; }
      header .wrap .main-bar .main-nav ul {
        margin: 0;
        padding: 0;
        font-size: 0; }
        header .wrap .main-bar .main-nav ul li {
          display: inline-block;
          margin: 0;
          padding: 0;
          font-size: 16px; }
          header .wrap .main-bar .main-nav ul li a {
            display: inline-block;
            width: auto;
            line-height: 75px;
            text-decoration: none;
            color: #fff;
            padding: 0 15px;
            letter-spacing: .1rem; }
          header .wrap .main-bar .main-nav ul li#nav-contact {
            background: rgba(255, 255, 255, 0.8); }
            header .wrap .main-bar .main-nav ul li#nav-contact a {
              color: #000;
              padding: 0 15px 0 40px; }
              header .wrap .main-bar .main-nav ul li#nav-contact a span {
                display: inline-block;
                position: relative; }
                header .wrap .main-bar .main-nav ul li#nav-contact a span:before {
                  content: "";
                  display: inline-block;
                  width: 24px;
                  height: 24px;
                  background: url(../img/icon-mailb.png) no-repeat;
                  position: absolute;
                  top: 26px;
                  left: -28px; }
          header .wrap .main-bar .main-nav ul li#nav-access {
            background-color: #000; }
            header .wrap .main-bar .main-nav ul li#nav-access a {
              width: 58px;
              background: url(../img/icon-access.png) no-repeat;
              background-position: center;
              text-indent: -9999px;
              padding: 0; }
      header .wrap .main-bar .hamburger {
        display: none; }
    header .wrap .sub-nav {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 40px;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .wrap .sub-nav ul.tellmail {
        margin: 0;
        padding: 0 0 0 48px; }
        header .wrap .sub-nav ul.tellmail li {
          display: inline-block;
          font-size: 16px;
          position: relative;
          margin-right: 30px; }
          header .wrap .sub-nav ul.tellmail li a {
            color: #fff;
            text-decoration: none; }
          header .wrap .sub-nav ul.tellmail li#h-tell:before {
            content: "";
            display: inline-block;
            width: 25px;
            height: 25px;
            background: url(../img/icon-tell.png) no-repeat;
            background-size: 25px;
            padding-left: 10px;
            position: absolute;
            top: 0;
            left: -28px; }
          header .wrap .sub-nav ul.tellmail li#h-mail:before {
            content: "";
            display: inline-block;
            width: 25px;
            height: 25px;
            background: url(../img/icon-mail.png) no-repeat;
            background-size: 25px;
            padding-left: 10px;
            position: absolute;
            top: 0;
            left: -28px; }
      header .wrap .sub-nav ul.sns {
        margin: 0 20px 0 0; }
        header .wrap .sub-nav ul.sns li {
          display: inline-block;
          text-indent: -9999px; }
          header .wrap .sub-nav ul.sns li a {
            display: block;
            width: 25px;
            height: 25px; }
          header .wrap .sub-nav ul.sns li#h-insta a {
            background: url("../img/icon-insta.png") no-repeat;
            background-size: contain; }
          header .wrap .sub-nav ul.sns li#h-facebook a {
            background: url("../img/icon-facebook.png") no-repeat;
            background-size: contain; }

.section h2 {
  text-align: center;
  font-size: 40px;
  line-height: 1; }
  .section h2 span {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #816446;
    letter-spacing: .2em; }

#instagram {
  padding: 90px 0; }
  #instagram .wrap {
    width: 1024px;
    margin: 0 auto; }
    #instagram .wrap .column {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      #instagram .wrap .column .leftc {
        text-align: center; }
        #instagram .wrap .column .leftc .insta {
          padding-top: 30px; }
          #instagram .wrap .column .leftc .insta a {
            position: relative;
            text-decoration: none;
            color: #000; }
            #instagram .wrap .column .leftc .insta a:before {
              content: "";
              display: inline-block;
              width: 26px;
              height: 26px;
              background: url(../img/icon-instab.png) no-repeat;
              position: absolute;
              top: 0;
              left: -28px; }

#aboutus {
  padding: 90px 0;
  background: url("../img/aboutus-bg.jpg") no-repeat;
  background-size: cover; }
  #aboutus .wrap h2 {
    color: #fff; }
  #aboutus .wrap p {
    max-width: 1160px;
    margin: 45px auto 0;
    padding: 0;
    color: #fff;
    font-size: 18px;
    line-height: 2; }
    #aboutus .wrap p.lead {
      text-align: center;
      font-size: 24px; }

#service {
  padding: 90px 0 0 0; }
  #service .wrap {
    width: 1160px;
    margin: 0 auto; }
    #service .wrap h2 {
      margin-bottom: 45px; }
    #service .wrap .column {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #service .wrap .column .box {
        width: 360px;
        margin: 0 0 30px; }
        #service .wrap .column .box ul {
          margin: 0;
          padding: 0 0 40px 0; }
          #service .wrap .column .box ul li img {
            width: 100%; }
        #service .wrap .column .box .title {
          font-size: 20px;
          font-weight: 700;
          text-align: center;
          margin-bottom: 1em; }

#movie {
  padding: 90px 0 0 0;
  background-color: #F5F5F5; }
  #movie .wrap {
    width: 1160px;
    margin: 0 auto; }
    #movie .wrap h2 {
      margin-bottom: 45px; }
    #movie .wrap .column {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #movie .wrap .column .box {
        width: 360px;
        margin: 0 0 30px; }
        #movie .wrap .column .box .youtube {
          margin-bottom: 15px;
          padding: 0;
          background-color: #000; }
          #movie .wrap .column .box .youtube a {
            display: block;
            position: relative;
            overflow: hidden; }
            #movie .wrap .column .box .youtube a img {
              width: 100%; }
            #movie .wrap .column .box .youtube a:after {
              content: "";
              display: block;
              background: url(../img/btn-play.png) no-repeat;
              background-position: center;
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
              background-color: rgba(0, 0, 0, 0);
              margin: 0;
              transition: 1s; }
            #movie .wrap .column .box .youtube a:hover:after {
              background-color: rgba(0, 0, 0, 0.8);
              -moz-transform: scale(1.2);
              -webkit-transform: scale(1.2);
              -ms-transform: scale(1.2);
              transform: scale(1.2); }
        #movie .wrap .column .box .title {
          font-size: 20px;
          font-weight: 700;
          text-align: center;
          margin-bottom: 1em; }

#flow {
  padding: 90px 0; }
  #flow .wrap p.lead {
    text-align: center;
    font-size: 20px;
    margin-bottom: 45px; }
  #flow .wrap .step {
    width: 960px;
    margin: 0 auto; }
    #flow .wrap .step .box {
      background-color: #F5F5F5;
      padding: 25px;
      position: relative;
      margin-bottom: 100px; }
      #flow .wrap .step .box h3 {
        font-size: 20px;
        font-weight: 700; }
        #flow .wrap .step .box h3 span {
          display: inline-block;
          text-align: center;
          background-color: #816446;
          font-size: 20px;
          color: #fff;
          border-radius: 10px;
          padding: 5px 10px;
          margin-right: 15px; }
      #flow .wrap .step .box:after {
        content: "";
        display: block;
        background: url("../img/step-arrow.png") no-repeat;
        position: absolute;
        bottom: -75px;
        left: 50%;
        width: 88px;
        height: 45px;
        margin-left: -44px; }
      #flow .wrap .step .box:last-child {
        margin-bottom: 0; }
        #flow .wrap .step .box:last-child:after {
          content: none; }
      #flow .wrap .step .box .fromform {
        text-align: center;
        margin-top: 45px; }
        #flow .wrap .step .box .fromform p {
          font-weight: 700; }
        #flow .wrap .step .box .fromform a {
          display: inline-block;
          background-color: #294350;
          border-radius: 10px;
          font-weight: 700;
          font-size: 16px;
          text-decoration: none;
          color: #fff;
          padding: 5px 15px; }
      #flow .wrap .step .box .fromtell {
        text-align: center;
        margin-top: 45px; }
        #flow .wrap .step .box .fromtell p {
          font-weight: 700; }
        #flow .wrap .step .box .fromtell a {
          font-weight: 700;
          font-size: 30px;
          text-decoration: none;
          color: #816446; }

#contact {
  padding: 90px 0;
  background-color: #F5F5F5; }
  #contact .lead {
    text-align: center;
    margin-top: 40px; }
  #contact .tel {
    text-align: center;
    margin-top: 20px; }
    #contact .tel span {
      font-weight: 700;
      font-size: 30px;
      text-decoration: none;
      color: #816446; }
  #contact .form_area {
    width: 700px;
    margin: 40px auto 0; }
    #contact .form_area dl {
      margin: 0;
      padding: 0; }
    #contact .form_area dt {
      font-weight: 700;
      margin: 0;
      padding: 0;
      margin-bottom: 20px; }
    #contact .form_area dd {
      margin: 0;
      padding: 0;
      margin-bottom: 30px;
      padding-bottom: 30px;
      border-bottom: 1px solid #999999; }
    #contact .form_area input[type="text"], #contact .form_area input[type="email"], #contact .form_area select, #contact .form_area textarea {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-appearance: button;
      appearance: none;
      border-radius: 0;
      width: 100%;
      font-size: 16px;
      border: 1px solid #aaa;
      padding: 15px; }
    #contact .form_area .submit {
      text-align: center; }
      #contact .form_area .submit input {
        cursor: pointer;
        border: none;
        display: inline-block;
        width: 300px;
        background: #294350;
        color: #fff;
        font-weight: 700;
        margin: 5px;
        padding: 20px 15px;
        border-radius: 10px; }
      #contact .form_area .submit span.ajax-loader {
        display: block;
        margin: 1em auto; }
    #contact .form_area .checkbox-field label, #contact .form_area .radio-field label {
      display: inline-block;
      margin-right: 20px; }

footer {
  background: url("../img/footer-bg.png") no-repeat;
  background-size: cover; }
  footer .column {
    width: 1160px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    color: #fff;
    padding: 65px 0; }
    footer .column .f-logo {
      text-align: center;
      padding-right: 55px;
      margin-right: 55px;
      border-right: 1px solid #fff; }
      footer .column .f-logo .logo-yotsuya {
        width: 195px;
        margin: 0 auto 25px; }
        footer .column .f-logo .logo-yotsuya img {
          width: 100%; }
      footer .column .f-logo .logo-kingsland {
        width: 125px;
        margin: 0 auto; }
        footer .column .f-logo .logo-kingsland img {
          width: 100%; }
    footer .column .f-info {
      padding-right: 55px;
      margin-right: 55px;
      border-right: 1px solid #fff; }
      footer .column .f-info .address {
        margin-bottom: 20px; }
        footer .column .f-info .address a {
          color: #fff; }
        footer .column .f-info .address dl {
          margin: 0;
          padding: 0; }
          footer .column .f-info .address dl dt {
            font-weight: 700; }
          footer .column .f-info .address dl dd {
            margin: 0 0 1.5em 0;
            padding: 0; }
      footer .column .f-info ul.sns {
        margin: 0;
        padding: 0; }
        footer .column .f-info ul.sns li {
          display: inline;
          list-style: none; }
    footer .column .f-ex ul.ex-link {
      margin: 0;
      padding: 0; }
      footer .column .f-ex ul.ex-link li {
        list-style: none; }
        footer .column .f-ex ul.ex-link li a {
          color: #fff;
          text-decoration: none;
          display: inline-block;
          position: relative; }
          footer .column .f-ex ul.ex-link li a:after {
            content: "";
            display: block;
            background: url("../img/icon-ex.png") no-repeat;
            background-size: cover;
            position: absolute;
            top: 4px;
            right: -20px;
            width: 16px;
            height: 16px; }
  footer .copyright {
    background-color: #000;
    font-size: 12px;
    text-align: center;
    padding: 10px 0;
    color: #999; }

.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform; }

.fade-in-up {
  transform: translate(0, 50px); }

.fade-in-down {
  transform: translate(0, -50px); }

.fade-in-left {
  transform: translate(-50px, 0); }

.fade-in-right {
  transform: translate(50px, 0); }

.scroll-in {
  opacity: 1;
  transform: translate(0, 0); }

@media only screen and (max-width: 1160px) {
  header {
    position: fixed;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    height: 114px;
    z-index: 10000; }
    header .wrap {
      color: #fff;
      position: relative;
      width: 100%; }
      header .wrap .main-bar {
        background-color: #294350;
        position: absolute;
        top: 40px;
        width: 100%;
        height: 75px;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        header .wrap .main-bar h1 {
          background-color: #000;
          display: inline-block;
          margin: 0;
          padding: 9px 20px; }
        header .wrap .main-bar .main-nav ul {
          margin: 0;
          font-size: 0; }
          header .wrap .main-bar .main-nav ul li {
            display: inline-block;
            font-size: 16px; }
            header .wrap .main-bar .main-nav ul li a {
              display: inline-block;
              height: 75px;
              text-decoration: none;
              color: #fff;
              line-height: 75px;
              padding: 0 15px;
              letter-spacing: .1rem; }
            header .wrap .main-bar .main-nav ul li#nav-contact {
              background: rgba(255, 255, 255, 0.8); }
              header .wrap .main-bar .main-nav ul li#nav-contact a {
                height: 75px;
                color: #000;
                width: 45px;
                background: url(../img/icon-mailb.png) no-repeat;
                background-position: center;
                text-indent: -9999px;
                padding: 0; }
                header .wrap .main-bar .main-nav ul li#nav-contact a span {
                  display: inline-block;
                  position: relative; }
                  header .wrap .main-bar .main-nav ul li#nav-contact a span:before {
                    content: none;
                    display: inline-block;
                    width: 24px;
                    height: 24px;
                    background: url(../img/icon-mailb.png) no-repeat;
                    position: absolute;
                    top: 26px;
                    left: -28px; }
            header .wrap .main-bar .main-nav ul li#nav-access {
              background-color: #000; }
              header .wrap .main-bar .main-nav ul li#nav-access a {
                display: block;
                width: 45px;
                height: 75px;
                background: url(../img/icon-access.png) no-repeat;
                background-position: center;
                text-indent: -9999px;
                padding: 0; }
        header .wrap .main-bar .hamburger {
          display: none; }
      header .wrap .sub-nav {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 40px;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        header .wrap .sub-nav ul.tellmail {
          margin: 0;
          padding: 0 0 0 48px; }
          header .wrap .sub-nav ul.tellmail li {
            display: inline-block;
            font-size: 16px;
            position: relative;
            margin-right: 30px; }
            header .wrap .sub-nav ul.tellmail li a {
              color: #fff;
              text-decoration: none; }
            header .wrap .sub-nav ul.tellmail li#h-tell:before {
              content: "";
              display: inline-block;
              width: 25px;
              height: 25px;
              background: url(../img/icon-tell.png) no-repeat;
              background-size: 25px;
              padding-left: 10px;
              position: absolute;
              top: 0;
              left: -28px; }
            header .wrap .sub-nav ul.tellmail li#h-mail:before {
              content: "";
              display: inline-block;
              width: 25px;
              height: 25px;
              background: url(../img/icon-mail.png) no-repeat;
              background-size: 25px;
              padding-left: 10px;
              position: absolute;
              top: 0;
              left: -28px; }
        header .wrap .sub-nav ul.sns {
          margin: 0 20px 0 0; }
          header .wrap .sub-nav ul.sns li {
            display: inline-block;
            text-indent: -9999px; }
            header .wrap .sub-nav ul.sns li a {
              display: block;
              width: 25px;
              height: 25px; }
            header .wrap .sub-nav ul.sns li#h-insta a {
              background: url("../img/icon-insta.png") no-repeat;
              background-size: contain; }
            header .wrap .sub-nav ul.sns li#h-facebook a {
              background: url("../img/icon-facebook.png") no-repeat;
              background-size: contain; } }
/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden,
[hidden] {
  display: none !important; }

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */ }

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto; }

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden; }

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix::before,
.clearfix::after {
  content: " ";
  display: table; }

.clearfix::after {
  clear: both; }

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (max-width: 1024px) {
  /* Style adjustments for viewports that meet the condition */
  .sp-item {
    display: inline-block; }

  .pc-item {
    display: none; }

  .spinner {
    width: 100vw;
    height: 100vw;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -50vw 0 0 -50vw; }
    .spinner img {
      width: 100%; }

  /*　ハンバーガーボタン　*/
  .hamburger {
    display: block;
    position: fixed;
    z-index: 11000;
    right: 0;
    top: 0;
    width: 15.625vw;
    height: 15.625vw;
    cursor: pointer;
    text-align: center; }

  .hamburger span {
    display: block;
    position: absolute;
    width: 9.766vw;
    height: 0.391vw;
    left: 2.93vw;
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }

  .hamburger span:nth-child(1) {
    top: 4.883vw; }

  .hamburger span:nth-child(2) {
    top: 7.813vw; }

  .hamburger span:nth-child(3) {
    top: 10.742vw; }

  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
    top: 7.813vw;
    left: 2.93vw;
    background: #fff;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg); }

  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
    top: 7.813vw;
    background: #fff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg); }

  /* SP-BASE */
  #mvbox {
    width: 100vw;
    height: 50vh;
    opacity: 0.8;
    position: relative; }
    #mvbox .overlay {
      width: 100%;
      height: 50vh;
      background: url("../img/dot-bg.png"); }
      #mvbox .overlay .btn_scroll a {
        display: block;
        width: 29.297vw;
        height: 29.297vw;
        position: absolute;
        bottom: 4.883vw;
        left: 50%;
        margin-left: -14.648vw; }
        #mvbox .overlay .btn_scroll a img {
          width: 100%; }

  #gmap_wrapper {
    width: 100%;
    padding-top: 100vw;
    position: relative;
    margin: auto; }

  #gmap {
    position: absolute;
    width: 100%;
    height: 100vw;
    top: 0; }

  header {
    position: fixed;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    height: 15.625vw;
    z-index: 10000; }
    header .wrap {
      color: #fff;
      position: relative;
      width: 100%; }
      header .wrap .main-bar {
        background-color: #294350;
        position: absolute;
        top: 0;
        width: 100%;
        height: 15.625vw;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        header .wrap .main-bar h1 {
          background-color: #000;
          display: inline-block;
          margin: 0;
          padding: 0;
          height: 15.625vw; }
          header .wrap .main-bar h1 img {
            height: 9.766vw;
            margin: 3.125vw 3.906vw 0; }
        header .wrap .main-bar .main-nav {
          position: fixed;
          z-index: 2000;
          top: 0;
          left: 0;
          color: #fff;
          background: black;
          text-align: center;
          width: 100%;
          transform: translateY(-100%);
          transition: all 0.6s; }
          header .wrap .main-bar .main-nav ul {
            margin: 4.492vw 0;
            font-size: 0;
            padding: 0; }
            header .wrap .main-bar .main-nav ul li {
              font-size: 4.492vw;
              display: block; }
              header .wrap .main-bar .main-nav ul li a {
                display: block;
                height: auto;
                text-decoration: none;
                color: #fff;
                line-height: 1.8;
                padding: 2.344vw 0;
                letter-spacing: .1rem; }
              header .wrap .main-bar .main-nav ul li#nav-contact {
                background: none; }
                header .wrap .main-bar .main-nav ul li#nav-contact a {
                  display: block;
                  width: auto;
                  height: auto;
                  background: none;
                  text-indent: 0;
                  padding: 2.344vw 0;
                  color: #fff; }
                  header .wrap .main-bar .main-nav ul li#nav-contact a span {
                    display: inline;
                    position: relative; }
                    header .wrap .main-bar .main-nav ul li#nav-contact a span:before {
                      content: none; }
              header .wrap .main-bar .main-nav ul li#nav-access {
                background-color: none; }
                header .wrap .main-bar .main-nav ul li#nav-access a {
                  display: block;
                  width: auto;
                  height: auto;
                  background: none;
                  text-indent: 0;
                  padding: 2.344vw 0; }
          header .wrap .main-bar .main-nav.active {
            transform: translateY(0%);
            opacity: 1; }
        header .wrap .main-bar .hamburger {
          display: block; }
      header .wrap .sub-nav {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 40px;
        display: none;
        justify-content: space-between;
        align-items: center; }
        header .wrap .sub-nav ul.tellmail {
          margin: 0;
          padding: 0 0 0 48px; }
          header .wrap .sub-nav ul.tellmail li {
            display: inline-block;
            font-size: 16px;
            position: relative;
            margin-right: 30px; }
            header .wrap .sub-nav ul.tellmail li a {
              color: #fff;
              text-decoration: none; }
            header .wrap .sub-nav ul.tellmail li#h-tell:before {
              content: "";
              display: inline-block;
              width: 25px;
              height: 25px;
              background: url(../img/icon-tell.png) no-repeat;
              background-size: 25px;
              padding-left: 10px;
              position: absolute;
              top: 0;
              left: -28px; }
            header .wrap .sub-nav ul.tellmail li#h-mail:before {
              content: "";
              display: inline-block;
              width: 25px;
              height: 25px;
              background: url(../img/icon-mail.png) no-repeat;
              background-size: 25px;
              padding-left: 10px;
              position: absolute;
              top: 0;
              left: -28px; }
        header .wrap .sub-nav ul.sns {
          margin: 0 20px 0 0; }
          header .wrap .sub-nav ul.sns li {
            display: inline-block;
            text-indent: -9999px; }
            header .wrap .sub-nav ul.sns li a {
              display: block;
              width: 25px;
              height: 25px; }
            header .wrap .sub-nav ul.sns li#h-insta a {
              background: url("../img/icon-insta.png") no-repeat;
              background-size: contain; }
            header .wrap .sub-nav ul.sns li#h-facebook a {
              background: url("../img/icon-facebook.png") no-repeat;
              background-size: contain; }

  .section h2 {
    text-align: center;
    font-size: 7.813vw;
    line-height: 1; }
    .section h2 span {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-size: 3.906vw;
      color: #816446;
      letter-spacing: .2em; }

  #instagram {
    padding: 8.789vw 0; }
    #instagram .wrap {
      width: auto;
      margin: 0 auto; }
      #instagram .wrap .column {
        display: block;
        justify-content: space-between;
        align-items: center; }
        #instagram .wrap .column .leftc {
          text-align: center;
          margin-bottom: 8.789vw; }
          #instagram .wrap .column .leftc p {
            font-size: 3.906vw; }
          #instagram .wrap .column .leftc .insta {
            padding-top: 30px;
            font-size: 3.906vw; }
            #instagram .wrap .column .leftc .insta a {
              position: relative;
              text-decoration: none;
              color: #000; }
              #instagram .wrap .column .leftc .insta a:before {
                content: "";
                display: inline-block;
                width: 3.906vw;
                height: 3.906vw;
                background: url(../img/icon-instab.png) no-repeat;
                background-size: cover;
                position: absolute;
                top: 0.977vw;
                left: -4.395vw; }
        #instagram .wrap .column .rightc {
          width: 100vw;
          overflow: hidden;
          text-align: center; }

  #aboutus {
    padding: 8.789vw 0;
    background: url("../img/aboutus-bg.jpg") no-repeat;
    background-size: cover; }
    #aboutus .wrap h2 {
      color: #fff; }
    #aboutus .wrap p {
      width: auto;
      margin: 4.395vw auto 0;
      padding: 0 5.859vw;
      color: #fff;
      font-size: 3.906vw;
      line-height: 2; }
      #aboutus .wrap p.lead {
        text-align: center;
        font-size: 3.906vw;
        font-weight: 700; }

  #service {
    padding: 8.789vw 0 0 0; }
    #service .wrap {
      width: auto;
      margin: 0 auto; }
      #service .wrap h2 {
        margin-bottom: 7.813vw; }
      #service .wrap .column {
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 0 5.859vw; }
        #service .wrap .column .box {
          width: 100%;
          margin: 0 0 7.813vw; }
          #service .wrap .column .box ul {
            margin: 0;
            padding: 0 0 7.813vw 0; }
            #service .wrap .column .box ul li img {
              width: 100%; }
          #service .wrap .column .box .title {
            font-size: 4.395vw;
            font-weight: 700;
            text-align: center;
            margin-bottom: 1em; }
          #service .wrap .column .box p {
            font-size: 3.906vw; }

  #movie {
    padding: 8.789vw 0 60px 0;
    background-color: #F5F5F5; }
    #movie .wrap {
      width: auto;
      margin: 0 auto; }
      #movie .wrap h2 {
        margin-bottom: 7.813vw; }
      #movie .wrap .column {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 0 5.859vw; }
        #movie .wrap .column .box {
          width: 100%;
          margin: 0 0 7.813vw; }
          #movie .wrap .column .box .youtube {
            margin-bottom: 3.906;
            padding: 0;
            background-color: #000; }
            #movie .wrap .column .box .youtube a {
              display: block;
              position: relative;
              overflow: hidden; }
              #movie .wrap .column .box .youtube a img {
                width: 100%; }
              #movie .wrap .column .box .youtube a:after {
                content: "";
                display: block;
                background: url(../img/btn-play.png) no-repeat;
                background-position: center;
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background-color: rgba(0, 0, 0, 0);
                margin: 0;
                transition: 1s; }
              #movie .wrap .column .box .youtube a:hover:after {
                background-color: rgba(0, 0, 0, 0.8);
                -moz-transform: scale(1.2);
                -webkit-transform: scale(1.2);
                -ms-transform: scale(1.2);
                transform: scale(1.2); }
          #movie .wrap .column .box .title {
            font-size: 4.395vw;
            font-weight: 700;
            text-align: center;
            margin-bottom: 1em; }
          #movie .wrap .column .box p {
            font-size: 3.906vw; }

  #flow {
    padding: 8.789vw 0; }
    #flow .wrap p.lead {
      text-align: center;
      font-size: 4.395vw;
      margin-bottom: 8.789vw; }
    #flow .wrap .step {
      width: auto;
      margin: 0 auto;
      padding: 0 5.859vw; }
      #flow .wrap .step .box {
        background-color: #F5F5F5;
        padding: 25px;
        position: relative;
        margin-bottom: 18.555vw; }
        #flow .wrap .step .box h3 {
          font-size: 4.395vw;
          font-weight: 700;
          line-height: 1.5;
          text-align: center; }
          #flow .wrap .step .box h3 span {
            display: block;
            text-align: center;
            background-color: #816446;
            font-size: 4.395vw;
            color: #fff;
            border-radius: 10px;
            padding: 1.953vw 0;
            margin: 0 0 4.395vw 0; }
        #flow .wrap .step .box > p {
          font-size: 3.906vw; }
        #flow .wrap .step .box:after {
          content: "";
          display: block;
          background: url("../img/step-arrow.png") no-repeat;
          background-size: cover;
          position: absolute;
          bottom: -13.184vw;
          left: 50%;
          width: 17.188vw;
          height: 8.789vw;
          margin-left: -8.594vw; }
        #flow .wrap .step .box:last-child {
          margin-bottom: 0; }
          #flow .wrap .step .box:last-child:after {
            content: none; }
        #flow .wrap .step .box .fromform {
          text-align: center;
          margin-top: 45px; }
          #flow .wrap .step .box .fromform p {
            font-weight: 700;
            font-size: 3.418vw; }
          #flow .wrap .step .box .fromform a {
            display: inline-block;
            background-color: #294350;
            border-radius: 10px;
            font-weight: 700;
            font-size: 3.906vw;
            text-decoration: none;
            color: #fff;
            padding: 1.953vw 3.906vw; }
        #flow .wrap .step .box .fromtell {
          text-align: center;
          margin-top: 45px; }
          #flow .wrap .step .box .fromtell p {
            font-weight: 700;
            font-size: 3.418vw; }
          #flow .wrap .step .box .fromtell a {
            font-weight: 700;
            font-size: 5.859vw;
            text-decoration: none;
            color: #816446; }

  #contact {
    padding: 8.789vw 0;
    background-color: #F5F5F5; }
    #contact .lead {
      text-align: center;
      margin-top: 7.813vw;
      font-size: 3.906vw; }
    #contact .tel {
      text-align: center;
      margin-top: 3.906vw; }
      #contact .tel span a {
        font-weight: 700;
        font-size: 5.859vw;
        text-decoration: none;
        color: #816446; }
    #contact .form_area {
      width: auto;
      margin: 7.813vw auto 0;
      padding: 0 5.859vw; }
      #contact .form_area dl {
        margin: 0;
        padding: 0; }
      #contact .form_area dt {
        font-weight: 700;
        margin: 0;
        padding: 0;
        margin-bottom: 3.906vw; }
      #contact .form_area dd {
        margin: 0;
        padding: 0;
        margin-bottom: 5.859vw;
        padding-bottom: 5.859vw;
        border-bottom: 1px solid #999999; }
      #contact .form_area input[type="text"], #contact .form_area input[type="email"], #contact .form_area select, #contact .form_area textarea {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-appearance: button;
        appearance: none;
        border-radius: 0;
        width: 100%;
        font-size: 3.906vw;
        border: 1px solid #aaa;
        padding: 3.906vw; }
      #contact .form_area .submit {
        text-align: center; }
        #contact .form_area .submit input {
          cursor: pointer;
          border: none;
          display: inline-block;
          width: 300px;
          background: #294350;
          color: #fff;
          font-weight: 700;
          margin: 5px;
          padding: 3.906vw 3.906vw;
          border-radius: 10px; }
        #contact .form_area .submit span.ajax-loader {
          display: block;
          margin: 1em auto; }
      #contact .form_area .checkbox-field label, #contact .form_area .radio-field label {
        display: inline-block;
        margin-right: 3.906vw; }

  footer {
    background: url("../img/footer-bg2.png") no-repeat;
    background-size: cover; }
    footer .column {
      width: auto;
      margin: 0 auto;
      display: block;
      justify-content: center;
      color: #fff;
      padding: 8.789vw 0; }
      footer .column .f-logo {
        text-align: center;
        padding-right: 0;
        margin-right: 0;
        border-right: none; }
        footer .column .f-logo .logo-yotsuya {
          width: 50vw;
          margin: 0 auto 3.906vw; }
          footer .column .f-logo .logo-yotsuya img {
            width: 100%; }
        footer .column .f-logo .logo-kingsland {
          width: 25vw;
          margin: 0 auto; }
          footer .column .f-logo .logo-kingsland img {
            width: 100%; }
      footer .column .f-info {
        padding: 0 5.859vw;
        margin: 0 0 3.906vw 0;
        border-right: none;
        text-align: center; }
        footer .column .f-info .address {
          margin: 3.906vw 0;
          line-height: 1.5; }
          footer .column .f-info .address a {
            color: #fff; }
        footer .column .f-info ul.sns {
          margin: 0;
          padding: 0;
          text-align: center; }
          footer .column .f-info ul.sns li {
            display: inline;
            list-style: none;
            padding: 0 0.977vw; }
      footer .column .f-ex ul.ex-link {
        margin: 0;
        padding: 0;
        text-align: center; }
        footer .column .f-ex ul.ex-link li {
          list-style: none;
          display: inline;
          font-size: 3.906vw; }
          footer .column .f-ex ul.ex-link li a {
            color: #fff;
            text-decoration: none;
            display: inline-block;
            position: relative; }
            footer .column .f-ex ul.ex-link li a:after {
              content: "";
              display: block;
              background: url("../img/icon-ex.png") no-repeat;
              background-size: cover;
              position: absolute;
              top: 0.977vw;
              right: -4.395vw;
              width: 3.906vw;
              height: 3.906vw; }
    footer .copyright {
      background-color: #000;
      font-size: 2.93vw;
      text-align: center;
      padding: 2.93vw 0;
      color: #999; } }
@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */ }
/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important; }

  a,
  a:visited {
    text-decoration: underline; }

  a[href]::after {
    content: " (" attr(href) ")"; }

  abbr[title]::after {
    content: " (" attr(title) ")"; }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: ""; }

  pre {
    white-space: pre-wrap !important; }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group; }

  tr,
  img {
    page-break-inside: avoid; }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }

  h2,
  h3 {
    page-break-after: avoid; } }
