/* SCSS Document */
/* global */
@media screen and (max-width: 399px) {
  /* line 33, ../scss/_global.scss */
  .over-sm {
    display: none; } }

@media screen and (max-width: 639px) {
  /* line 38, ../scss/_global.scss */
  .over-md {
    display: none; } }

@media screen and (max-width: 959px) {
  /* line 43, ../scss/_global.scss */
  .over-lg {
    display: none; } }

@media screen and (max-width: 1279px) {
  /* line 48, ../scss/_global.scss */
  .over-xl {
    display: none; } }

@media screen and (min-width: 400px) {
  /* line 53, ../scss/_global.scss */
  .under-sm {
    display: none; } }

@media screen and (min-width: 640px) {
  /* line 58, ../scss/_global.scss */
  .under-md {
    display: none; } }

@media screen and (min-width: 960px) {
  /* line 63, ../scss/_global.scss */
  .under-lg {
    display: none; } }

@media screen and (min-width: 1280px) {
  /* line 68, ../scss/_global.scss */
  .under-xl {
    display: none; } }

/* line 74, ../scss/_global.scss */
* {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  list-style: none;
  box-sizing: border-box; }

/* line 83, ../scss/_global.scss */
body {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 18px; }
  @media screen and (max-width: 1279px) {
    /* line 83, ../scss/_global.scss */
    body {
      font-size: 16px; } }
  @media screen and (max-width: 399px) {
    /* line 83, ../scss/_global.scss */
    body {
      font-size: 14px; } }

/* header */
/* line 2, ../scss/_site-header.scss */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  box-shadow: 0 3px 3px 0 rgba(80, 100, 120, 0.5);
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 100; }
  @media screen and (max-width: 959px) {
    /* line 2, ../scss/_site-header.scss */
    .site-header {
      height: 40px; } }
  /* line 14, ../scss/_site-header.scss */
  .site-header .header-inner {
    display: flex;
    justify-content: space-between;
    height: 58px;
    border-bottom: 3px solid #506478;
    position: relative; }
    @media screen and (max-width: 959px) {
      /* line 14, ../scss/_site-header.scss */
      .site-header .header-inner {
        height: 100%;
        border-bottom-width: 1px; } }
    /* line 24, ../scss/_site-header.scss */
    .site-header .header-inner .logo {
      position: relative;
      height: 100%;
      padding-left: 15px;
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      @media screen and (max-width: 959px) {
        /* line 24, ../scss/_site-header.scss */
        .site-header .header-inner .logo {
          padding-left: 10px; } }
      /* line 34, ../scss/_site-header.scss */
      .site-header .header-inner .logo-mark {
        height: 36px;
        width: auto;
        display: block; }
        @media screen and (max-width: 959px) {
          /* line 34, ../scss/_site-header.scss */
          .site-header .header-inner .logo-mark {
            height: 25px; } }
      /* line 42, ../scss/_site-header.scss */
      .site-header .header-inner .logo-type {
        height: 34px;
        width: auto;
        display: block;
        margin-left: 5px; }
        @media screen and (max-width: 959px) {
          /* line 42, ../scss/_site-header.scss */
          .site-header .header-inner .logo-type {
            height: 23px; } }
    /* line 52, ../scss/_site-header.scss */
    .site-header .header-inner .global-nav {
      position: relative;
      display: block;
      width: auto;
      flex-basis: 1080px; }
      @media screen and (max-width: 959px) {
        /* line 52, ../scss/_site-header.scss */
        .site-header .header-inner .global-nav {
          position: absolute;
          top: 40px;
          left: 100%;
          width: 100%;
          transition: all .5s;
          opacity: 0;
          background-color: #506478;
          box-shadow: 0 3px 3px 0 rgba(80, 100, 120, 0.5); }
          /* line 66, ../scss/_site-header.scss */
          .site-header .header-inner .global-nav.active {
            left: 0;
            opacity: 0.95; } }
      /* line 71, ../scss/_site-header.scss */
      .site-header .header-inner .global-nav ul {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        width: 100%;
        height: 100%;
        padding: 0 10px; }
        @media screen and (max-width: 959px) {
          /* line 71, ../scss/_site-header.scss */
          .site-header .header-inner .global-nav ul {
            padding: 20px 40px 40px;
            flex-direction: column;
            align-items: stretch; } }
        /* line 84, ../scss/_site-header.scss */
        .site-header .header-inner .global-nav ul li {
          position: relative;
          display: block;
          flex-basis: 120px; }
          @media screen and (max-width: 959px) {
            /* line 84, ../scss/_site-header.scss */
            .site-header .header-inner .global-nav ul li {
              flex-basis: auto; } }
          /* line 91, ../scss/_site-header.scss */
          .site-header .header-inner .global-nav ul li a {
            position: relative;
            display: flex;
            width: 100%;
            height: 35px;
            top: 3px;
            justify-content: center;
            align-items: flex-start;
            font-size: 16px;
            font-weight: 600;
            text-decoration: none;
            color: #506478;
            border-bottom: 3px solid #506478; }
            @media screen and (max-width: 959px) {
              /* line 91, ../scss/_site-header.scss */
              .site-header .header-inner .global-nav ul li a {
                color: #fff;
                height: 50px;
                align-items: center;
                top: 0;
                border-bottom: 1px solid #909090; }
                /* line 110, ../scss/_site-header.scss */
                .site-header .header-inner .global-nav ul li a.current {
                  border-bottom-color: #14a0b4; } }
            @media screen and (min-width: 960px) {
              /* line 91, ../scss/_site-header.scss */
              .site-header .header-inner .global-nav ul li a {
                transition: color 0.15s ease-in-out 0s, border-bottom-color 0.15s ease-in-out 0s; }
                /* line 116, ../scss/_site-header.scss */
                .site-header .header-inner .global-nav ul li a:hover {
                  color: #14a0b4; }
                /* line 119, ../scss/_site-header.scss */
                .site-header .header-inner .global-nav ul li a.current {
                  border-bottom-color: #14a0b4; } }
    /* line 127, ../scss/_site-header.scss */
    .site-header .header-inner .buttons {
      position: relative;
      display: flex;
      align-items: center;
      font-size: 0.9em; }
      @media screen and (max-width: 1279px) {
        /* line 127, ../scss/_site-header.scss */
        .site-header .header-inner .buttons {
          padding-right: 10px; } }
      @media screen and (max-width: 959px) {
        /* line 127, ../scss/_site-header.scss */
        .site-header .header-inner .buttons {
          margin-left: auto;
          padding-right: 0; } }
      /* line 139, ../scss/_site-header.scss */
      .site-header .header-inner .buttons a {
        background-color: #14a0b4;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 200px;
        height: 35px;
        border-radius: 4px;
        margin-right: 15px;
        text-decoration: none;
        transition: background-color 0.15s ease-in-out 0s; }
        @media screen and (max-width: 1279px) {
          /* line 139, ../scss/_site-header.scss */
          .site-header .header-inner .buttons a {
            width: 35px;
            margin-right: 5px; } }
        @media screen and (max-width: 959px) {
          /* line 139, ../scss/_site-header.scss */
          .site-header .header-inner .buttons a {
            height: 30px;
            width: 30px;
            background-color: transparent;
            border: 1px solid #14a0b4;
            border-radius: 0; } }
        /* line 161, ../scss/_site-header.scss */
        .site-header .header-inner .buttons a span {
          font-weight: 500;
          color: #fff;
          margin-right: 10px; }
          @media screen and (max-width: 1279px) {
            /* line 161, ../scss/_site-header.scss */
            .site-header .header-inner .buttons a span {
              display: none; } }
        /* line 169, ../scss/_site-header.scss */
        .site-header .header-inner .buttons a .contact-icon {
          width: 25px;
          height: auto;
          display: block; }
          /* line 173, ../scss/_site-header.scss */
          .site-header .header-inner .buttons a .contact-icon-mobile {
            display: none; }
          @media screen and (max-width: 959px) {
            /* line 169, ../scss/_site-header.scss */
            .site-header .header-inner .buttons a .contact-icon {
              display: none; }
              /* line 178, ../scss/_site-header.scss */
              .site-header .header-inner .buttons a .contact-icon-mobile {
                display: block;
                width: 24px; } }
        @media screen and (min-width: 960px) {
          /* line 185, ../scss/_site-header.scss */
          .site-header .header-inner .buttons a:hover {
            background-color: #506478; } }
    /* line 191, ../scss/_site-header.scss */
    .site-header .header-inner #nav-toggle {
      display: none; }
      @media screen and (max-width: 959px) {
        /* line 191, ../scss/_site-header.scss */
        .site-header .header-inner #nav-toggle {
          display: block;
          flex-basis: 40px;
          height: 40px;
          border: 10px solid transparent;
          flex-shrink: 0;
          background-color: #14a0b4;
          position: relative;
          transition: all .5s; }
          /* line 202, ../scss/_site-header.scss */
          .site-header .header-inner #nav-toggle span {
            height: 2px;
            left: 0;
            right: 0;
            display: block;
            background-color: #fff;
            transition: all .5s;
            position: absolute; }
            /* line 210, ../scss/_site-header.scss */
            .site-header .header-inner #nav-toggle span:nth-of-type(1) {
              top: 2px; }
            /* line 213, ../scss/_site-header.scss */
            .site-header .header-inner #nav-toggle span:nth-of-type(2) {
              top: 9px; }
            /* line 216, ../scss/_site-header.scss */
            .site-header .header-inner #nav-toggle span:nth-of-type(3) {
              bottom: 2px; }
          /* line 220, ../scss/_site-header.scss */
          .site-header .header-inner #nav-toggle.active {
            background-color: #506478; }
            /* line 223, ../scss/_site-header.scss */
            .site-header .header-inner #nav-toggle.active span:nth-of-type(1) {
              -webkit-transform: translateY(7px) rotate(-45deg);
              transform: translateY(7px) rotate(-45deg); }
            /* line 227, ../scss/_site-header.scss */
            .site-header .header-inner #nav-toggle.active span:nth-of-type(2) {
              opacity: 0; }
            /* line 230, ../scss/_site-header.scss */
            .site-header .header-inner #nav-toggle.active span:nth-of-type(3) {
              -webkit-transform: translateY(-7px) rotate(45deg);
              transform: translateY(-7px) rotate(45deg); } }

/* line 6, ../scss/style.scss */
main {
  padding-top: 60px; }
  @media screen and (max-width: 959px) {
    /* line 6, ../scss/style.scss */
    main {
      padding-top: 40px; } }

/* firstview */
/* line 2, ../scss/_firstview.scss */
.firstview {
  width: 100%;
  position: relative; }
  /* line 5, ../scss/_firstview.scss */
  .firstview-bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #1a60cd;
    background-image: url("../img/background-image/firstview-bg2.png");
    background-size: cover;
    background-position: top center;
    z-index: -1; }
    @media screen and (max-width: 959px) {
      /* line 5, ../scss/_firstview.scss */
      .firstview-bg {
        background-size: 1080px; } }
    @media screen and (max-width: 399px) {
      /* line 5, ../scss/_firstview.scss */
      .firstview-bg {
        background-size: 640px; } }
  /* line 23, ../scss/_firstview.scss */
  .firstview-content {
    position: relative;
    background-image: url("../img/firstview/firstview-image.png");
    background-size: cover;
    background-position: center;
    width: 100%; }
    /* line 29, ../scss/_firstview.scss */
    .firstview-content h1 {
      height: 33vw;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      position: relative; }
      @media screen and (max-width: 959px) {
        /* line 29, ../scss/_firstview.scss */
        .firstview-content h1 {
          height: 360px; } }
      @media screen and (max-width: 399px) {
        /* line 29, ../scss/_firstview.scss */
        .firstview-content h1 {
          height: 240px; } }
      /* line 42, ../scss/_firstview.scss */
      .firstview-content h1 .logo {
        display: block;
        position: relative; }
        /* line 45, ../scss/_firstview.scss */
        .firstview-content h1 .logo-type {
          height: 9%; }
        /* line 48, ../scss/_firstview.scss */
        .firstview-content h1 .logo-mark {
          margin: 0.5% auto;
          height: 17%; }
        /* line 52, ../scss/_firstview.scss */
        .firstview-content h1 .logo-message {
          height: 5%;
          margin-bottom: 1.5%; }
        /* line 56, ../scss/_firstview.scss */
        .firstview-content h1 .logo-mobile {
          display: none; }
        @media screen and (max-width: 959px) {
          /* line 42, ../scss/_firstview.scss */
          .firstview-content h1 .logo {
            display: none; }
            /* line 61, ../scss/_firstview.scss */
            .firstview-content h1 .logo-mobile {
              display: block;
              width: 70%;
              max-width: 320px; } }

/* Section Common */
/* line 3, ../scss/_section-common.scss */
.section-wrap {
  padding: 90px 0;
  color: #506478; }
  @media screen and (max-width: 959px) {
    /* line 3, ../scss/_section-common.scss */
    .section-wrap {
      padding-top: 70px; } }
  /* line 9, ../scss/_section-common.scss */
  .section-wrap .section-title {
    display: flex;
    align-items: center;
    margin-bottom: 40px; }
    /* line 13, ../scss/_section-common.scss */
    .section-wrap .section-title img {
      display: block;
      height: 40px; }
    /* line 17, ../scss/_section-common.scss */
    .section-wrap .section-title::before, .section-wrap .section-title::after {
      content: "";
      height: 1px;
      flex-grow: 1;
      background-color: #14a0b4; }
    /* line 24, ../scss/_section-common.scss */
    .section-wrap .section-title-wh::before, .section-wrap .section-title-wh::after {
      background-color: #fff; }
  /* line 29, ../scss/_section-common.scss */
  .section-wrap.bgcolor {
    background-color: #14a0b4;
    color: #fff; }
  /* line 33, ../scss/_section-common.scss */
  .section-wrap.business-bgimage {
    background-image: url("../img/background-image/image-green.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 600px; }
    @media screen and (max-width: 959px) {
      /* line 33, ../scss/_section-common.scss */
      .section-wrap.business-bgimage {
        background-size: 400px; } }
    @media screen and (max-width: 639px) {
      /* line 33, ../scss/_section-common.scss */
      .section-wrap.business-bgimage {
        background-size: contain; } }
  /* line 45, ../scss/_section-common.scss */
  .section-wrap.contact-bgimage {
    background-image: url("../img/background-image/contact-bg.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100%; }

/* line 53, ../scss/_section-common.scss */
.inner {
  max-width: 1160px;
  width: 100%;
  margin: auto;
  padding: 0 40px; }
  @media screen and (max-width: 959px) {
    /* line 53, ../scss/_section-common.scss */
    .inner {
      padding: 0 20px; } }
  @media screen and (max-width: 639px) {
    /* line 53, ../scss/_section-common.scss */
    .inner {
      padding: 0 10px; } }
  /* line 64, ../scss/_section-common.scss */
  .inner-flex {
    display: flex; }
    @media screen and (max-width: 639px) {
      /* line 64, ../scss/_section-common.scss */
      .inner-flex {
        flex-direction: column; } }

/* line 17, ../scss/style.scss */
.inner-business p {
  display: flex;
  justify-content: center;
  font-weight: 600; }
  @media screen and (max-width: 639px) {
    /* line 17, ../scss/style.scss */
    .inner-business p {
      justify-content: flex-start; } }
/* line 25, ../scss/style.scss */
.inner-business .menu {
  display: flex;
  justify-content: space-between;
  align-items: space-between;
  margin-top: 40px; }
  /* line 30, ../scss/style.scss */
  .inner-business .menu li {
    width: 240px;
    margin-right: 20px; }
    /* line 33, ../scss/style.scss */
    .inner-business .menu li:last-of-type {
      margin-right: 0; }
    /* line 37, ../scss/style.scss */
    .inner-business .menu li figure img {
      display: block;
      width: 100%;
      margin-bottom: 2px; }
    /* line 42, ../scss/style.scss */
    .inner-business .menu li figure figcaption {
      background-color: #14a0b4;
      color: #fff;
      font-weight: 600;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 40px;
      position: relative;
      overflow: hidden; }
      /* line 52, ../scss/style.scss */
      .inner-business .menu li figure figcaption::after {
        content: "";
        position: absolute;
        width: 30px;
        height: 30px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        right: 5px;
        transform: rotate(45deg); }
  @media screen and (max-width: 639px) {
    /* line 25, ../scss/style.scss */
    .inner-business .menu {
      flex-wrap: wrap; }
      /* line 67, ../scss/style.scss */
      .inner-business .menu li {
        width: 47.5%;
        margin-bottom: 5%;
        margin-right: 0; } }

/* line 76, ../scss/style.scss */
.inner-results {
  display: flex;
  justify-content: center;
  align-items: center; }
  /* line 80, ../scss/style.scss */
  .inner-results .results-list {
    padding-left: 1.5em; }
    /* line 82, ../scss/style.scss */
    .inner-results .results-list li {
      text-indent: -1.25em;
      margin-top: 0.75em; }
      /* line 85, ../scss/style.scss */
      .inner-results .results-list li::before {
        content: "";
        width: 0.75em;
        height: 0.75em;
        display: inline-block;
        margin-right: 0.5em;
        background-color: #fff; }

/* overview */
/* line 3, ../scss/_overview.scss */
.inner-overview-table {
  align-items: flex-start;
  justify-content: space-between;
  font-size: 0.9em; }
  /* line 7, ../scss/_overview.scss */
  .inner-overview-table .company-profile {
    margin: -5px 0 35px;
    border-collapse: separate;
    border-spacing: 0 5px;
    width: 49%; }
    @media screen and (max-width: 639px) {
      /* line 7, ../scss/_overview.scss */
      .inner-overview-table .company-profile {
        width: 100%; } }
    /* line 15, ../scss/_overview.scss */
    .inner-overview-table .company-profile th {
      background-color: #e6e6e6;
      text-align: center;
      padding: 0.25em 0.75em; }
      @media screen and (max-width: 959px) {
        /* line 15, ../scss/_overview.scss */
        .inner-overview-table .company-profile th {
          padding: 0.25em; } }
      /* line 22, ../scss/_overview.scss */
      .inner-overview-table .company-profile th span {
        white-space: nowrap; }
    /* line 26, ../scss/_overview.scss */
    .inner-overview-table .company-profile td {
      padding: 0.25em 0 0.25em 0.75em;
      width: 100%;
      overflow-wrap: break-word; }
      @media screen and (max-width: 959px) {
        /* line 26, ../scss/_overview.scss */
        .inner-overview-table .company-profile td {
          padding: 0.5em 0 0.5em 0.5em; } }
      /* line 34, ../scss/_overview.scss */
      .inner-overview-table .company-profile td span {
        display: inline-block; }
  /* line 39, ../scss/_overview.scss */
  .inner-overview-table .company-history {
    border-collapse: collapse;
    width: 49%;
    margin-bottom: 40px; }
    @media screen and (max-width: 639px) {
      /* line 39, ../scss/_overview.scss */
      .inner-overview-table .company-history {
        width: 100%; } }
    /* line 47, ../scss/_overview.scss */
    .inner-overview-table .company-history thead th {
      background-color: #14a0b4;
      color: #fff;
      font-weight: 600;
      font-size: 1.8em;
      text-indent: 1em;
      letter-spacing: 1em; }
    /* line 58, ../scss/_overview.scss */
    .inner-overview-table .company-history tbody tr:nth-of-type(odd) {
      background-color: #c8e6f0; }
    /* line 61, ../scss/_overview.scss */
    .inner-overview-table .company-history tbody tr:nth-of-type(even) {
      background-color: #b4dce6; }
    /* line 64, ../scss/_overview.scss */
    .inner-overview-table .company-history tbody tr th {
      padding: 1.5em;
      white-space: nowrap; }
      @media screen and (max-width: 959px) {
        /* line 64, ../scss/_overview.scss */
        .inner-overview-table .company-history tbody tr th {
          padding: 1em; } }
    /* line 71, ../scss/_overview.scss */
    .inner-overview-table .company-history tbody tr td {
      padding: 1em 1.5em 1em 0; }
      @media screen and (max-width: 959px) {
        /* line 71, ../scss/_overview.scss */
        .inner-overview-table .company-history tbody tr td {
          padding: 0.5em 1em 0.5em 0; } }

/* line 82, ../scss/_overview.scss */
.overview-greeting {
  background-image: url("../img/background-image/image-helmet.png");
  background-repeat: no-repeat;
  background-position: right 7.5% bottom 12.5%;
  background-size: 36.5%; }
  @media screen and (min-width: 1921px) {
    /* line 82, ../scss/_overview.scss */
    .overview-greeting {
      background-size: 710px; } }
  @media screen and (max-width: 959px) {
    /* line 82, ../scss/_overview.scss */
    .overview-greeting {
      background-position: right -250px bottom 25%;
      background-size: 550px; } }
  @media screen and (max-width: 639px) {
    /* line 82, ../scss/_overview.scss */
    .overview-greeting {
      background-image: none; } }
  /* line 98, ../scss/_overview.scss */
  .overview-greeting .inner-greeting .greeting-title {
    border-bottom: 1px solid #14a0b4;
    height: 30px;
    margin-botom: 30px; }
    /* line 102, ../scss/_overview.scss */
    .overview-greeting .inner-greeting .greeting-title img {
      height: 30px; }
  /* line 106, ../scss/_overview.scss */
  .overview-greeting .inner-greeting .greeting-text {
    width: 50%;
    margin-top: 2em; }
    @media screen and (max-width: 639px) {
      /* line 106, ../scss/_overview.scss */
      .overview-greeting .inner-greeting .greeting-text {
        width: 100%; } }
    /* line 112, ../scss/_overview.scss */
    .overview-greeting .inner-greeting .greeting-text p {
      text-justify: inter-ideograph;
      text-align: justify;
      text-indent: 1em;
      line-height: 2;
      margin-top: 0.25em; }
  /* line 120, ../scss/_overview.scss */
  .overview-greeting .inner-greeting .greeting-sign {
    width: 50%;
    padding-top: 2em;
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    @media screen and (max-width: 639px) {
      /* line 120, ../scss/_overview.scss */
      .overview-greeting .inner-greeting .greeting-sign {
        width: 100%;
        justify-content: space-between; } }
    @media screen and (max-width: 399px) {
      /* line 120, ../scss/_overview.scss */
      .overview-greeting .inner-greeting .greeting-sign {
        justify-content: flex-end;
        flex-wrap: wrap; } }
    /* line 134, ../scss/_overview.scss */
    .overview-greeting .inner-greeting .greeting-sign .sign-post {
      height: 20px; }
    /* line 137, ../scss/_overview.scss */
    .overview-greeting .inner-greeting .greeting-sign .sign-name {
      margin-left: 1em;
      height: 30px; }
    /* line 141, ../scss/_overview.scss */
    .overview-greeting .inner-greeting .greeting-sign .sign-image {
      margin-left: auto;
      width: auto;
      max-width: 40%; }
      @media screen and (max-width: 399px) {
        /* line 141, ../scss/_overview.scss */
        .overview-greeting .inner-greeting .greeting-sign .sign-image {
          margin-top: 10px; } }

/* access */
/* line 3, ../scss/_access.scss */
.access-image {
  background-color: #b4dce6;
  padding: 20px 0;
  margin-bottom: 20px; }
  @media screen and (max-width: 639px) {
    /* line 3, ../scss/_access.scss */
    .access-image {
      padding: 10px 0;
      margin-bottom: 10px; } }
  /* line 12, ../scss/_access.scss */
  .access-image .inner-access-image img {
    width: 45%; }
  /* line 15, ../scss/_access.scss */
  .access-image .inner-access-image .access-address {
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin-left: 20px;
    border-left: 1px solid #14a0b4;
    width: calc(55% - 20px); }
    /* line 22, ../scss/_access.scss */
    .access-image .inner-access-image .access-address h3 {
      color: #14a0b4;
      padding: 0 20px;
      border-bottom: 1px solid #14a0b4; }
    /* line 27, ../scss/_access.scss */
    .access-image .inner-access-image .access-address p {
      padding: 0 20px;
      color: #506478; }
      /* line 30, ../scss/_access.scss */
      .access-image .inner-access-image .access-address p span {
        display: inline-block; }
  @media screen and (max-width: 959px) {
    /* line 11, ../scss/_access.scss */
    .access-image .inner-access-image {
      flex-direction: row;
      padding: 0; }
      /* line 38, ../scss/_access.scss */
      .access-image .inner-access-image img {
        padding-left: 20px; } }
  @media screen and (max-width: 639px) {
    /* line 43, ../scss/_access.scss */
    .access-image .inner-access-image img {
      padding-left: 10px; }
    /* line 46, ../scss/_access.scss */
    .access-image .inner-access-image .access-address {
      margin-left: 10px;
      width: calc(55% - 10px); }
      /* line 49, ../scss/_access.scss */
      .access-image .inner-access-image .access-address h3, .access-image .inner-access-image .access-address p {
        padding: 0 10px; } }
  @media screen and (max-width: 399px) {
    /* line 11, ../scss/_access.scss */
    .access-image .inner-access-image {
      flex-direction: column;
      padding: 10px; }
      /* line 57, ../scss/_access.scss */
      .access-image .inner-access-image img {
        padding: 0;
        width: 100%; }
      /* line 61, ../scss/_access.scss */
      .access-image .inner-access-image .access-address {
        margin-top: 10px;
        margin-left: 0;
        width: 100%;
        border-left: none; }
        /* line 66, ../scss/_access.scss */
        .access-image .inner-access-image .access-address h3, .access-image .inner-access-image .access-address p {
          padding: 0; } }

/* line 74, ../scss/_access.scss */
.access-map .inner-map {
  align-items: stretch; }
  /* line 76, ../scss/_access.scss */
  .access-map .inner-map iframe {
    width: 60%;
    height: auto; }
    @media screen and (max-width: 639px) {
      /* line 76, ../scss/_access.scss */
      .access-map .inner-map iframe {
        width: 100%;
        height: 60vw; } }
  /* line 84, ../scss/_access.scss */
  .access-map .inner-map .access-map-apps {
    display: flex;
    flex-direction: column;
    width: 40%;
    padding-left: 40px; }
    @media screen and (max-width: 959px) {
      /* line 84, ../scss/_access.scss */
      .access-map .inner-map .access-map-apps {
        padding-left: 20px; } }
    @media screen and (max-width: 639px) {
      /* line 84, ../scss/_access.scss */
      .access-map .inner-map .access-map-apps {
        width: 100%;
        padding-left: 0;
        flex-direction: row;
        justify-content: space-between; } }
    /* line 98, ../scss/_access.scss */
    .access-map .inner-map .access-map-apps h3 {
      color: #506478;
      background-color: #fff;
      line-height: 50px;
      text-align: center;
      box-shadow: 0 3px 3px 0 rgba(80, 100, 120, 0.5); }
    /* line 105, ../scss/_access.scss */
    .access-map .inner-map .access-map-apps a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      margin-top: 10px;
      background-color: #fff;
      box-shadow: 0 3px 3px 0 rgba(80, 100, 120, 0.5);
      padding: 15px;
      border-radius: 10px;
      transition: opacity 0.2s ease-in-out 0s, box-shadow 0.2s ease-in-out 0s; }
      /* line 116, ../scss/_access.scss */
      .access-map .inner-map .access-map-apps a:hover {
        opacity: 0.8;
        box-shadow: 0 0 10px 0 #19c9e2; }
      @media screen and (max-width: 639px) {
        /* line 105, ../scss/_access.scss */
        .access-map .inner-map .access-map-apps a {
          width: 49%;
          border-radius: 6px; } }
      /* line 124, ../scss/_access.scss */
      .access-map .inner-map .access-map-apps a .app-name {
        width: 80%; }
        @media screen and (max-width: 639px) {
          /* line 124, ../scss/_access.scss */
          .access-map .inner-map .access-map-apps a .app-name {
            width: 90%; } }
        @media screen and (max-width: 399px) {
          /* line 124, ../scss/_access.scss */
          .access-map .inner-map .access-map-apps a .app-name {
            width: 100%; } }
      /* line 133, ../scss/_access.scss */
      .access-map .inner-map .access-map-apps a .app-qr {
        width: 100px;
        margin-top: 10px; }
        @media screen and (max-width: 639px) {
          /* line 133, ../scss/_access.scss */
          .access-map .inner-map .access-map-apps a .app-qr {
            display: none; } }

/* contact */
/* line 3, ../scss/_contact.scss */
.inner-contact .section-title {
  margin-bottom: 0; }
/* line 6, ../scss/_contact.scss */
.inner-contact .contact-form {
  padding: 40px;
  margin-top: -20px;
  border-left: 1px solid #14a0b4;
  border-right: 1px solid #14a0b4;
  border-bottom: 1px solid #14a0b4;
  position: relative;
  transition: all 0.5s ease-in-out 0s; }
  @media screen and (max-width: 959px) {
    /* line 6, ../scss/_contact.scss */
    .inner-contact .contact-form {
      padding: 40px 20px 20px; } }
  @media screen and (max-width: 639px) {
    /* line 6, ../scss/_contact.scss */
    .inner-contact .contact-form {
      padding: 40px 10px 20px; } }
  /* line 20, ../scss/_contact.scss */
  .inner-contact .contact-form .form-display {
    opacity: 0;
    z-index: -1;
    height: auto;
    max-height: 0;
    transition: max-height 0.5s ease-in-out 0s, opacity 0.5s ease-in-out 0s; }
    /* line 26, ../scss/_contact.scss */
    .inner-contact .contact-form .form-display.displayon {
      opacity: 1;
      z-index: 1;
      max-height: 200vh;
      transition: max-height 0.5s ease-in-out 0.4s, opacity 0.5s ease-in-out 0.4s; }
    /* line 32, ../scss/_contact.scss */
    .inner-contact .contact-form .form-display.input-item {
      position: relative;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      /* line 37, ../scss/_contact.scss */
      .inner-contact .contact-form .form-display.input-item * {
        transition: none; }
      /* line 40, ../scss/_contact.scss */
      .inner-contact .contact-form .form-display.input-item label {
        padding: 10px 0;
        border-bottom: 1px solid #506478; }
        /* line 43, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.input-item label.input-short {
          width: calc(50% - 20px); }
          @media screen and (max-width: 639px) {
            /* line 43, ../scss/_contact.scss */
            .inner-contact .contact-form .form-display.input-item label.input-short {
              width: 100%; } }
        /* line 49, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.input-item label.input-long, .inner-contact .contact-form .form-display.input-item label.input-textarea {
          width: 100%; }
        /* line 52, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.input-item label .input-block {
          display: flex;
          justify-content: space-between;
          align-items: center; }
          @media screen and (max-width: 399px) {
            /* line 52, ../scss/_contact.scss */
            .inner-contact .contact-form .form-display.input-item label .input-block {
              flex-direction: column; } }
          /* line 59, ../scss/_contact.scss */
          .inner-contact .contact-form .form-display.input-item label .input-block .item-title {
            display: block;
            width: 5em;
            text-align: center;
            font-weight: 600;
            margin-right: 1em;
            flex-shrink: 0;
            line-height: 1.25em; }
            @media screen and (max-width: 399px) {
              /* line 59, ../scss/_contact.scss */
              .inner-contact .contact-form .form-display.input-item label .input-block .item-title {
                text-align: left;
                width: 100%;
                margin: 0; } }
            /* line 72, ../scss/_contact.scss */
            .inner-contact .contact-form .form-display.input-item label .input-block .item-title .required {
              display: inline-block;
              text-align: center;
              line-height: 1.5em;
              width: 4.5em;
              font-size: 0.75em;
              color: #fff;
              background-color: #B80015;
              border-radius: 1em; }
              @media screen and (max-width: 399px) {
                /* line 72, ../scss/_contact.scss */
                .inner-contact .contact-form .form-display.input-item label .input-block .item-title .required {
                  margin-left: 1em;
                  background-color: transparent;
                  color: #B80015;
                  width: auto;
                  line-height: inherit;
                  font-size: 0.8em;
                  display: inline;
                  vertical-align: top; } }
          /* line 93, ../scss/_contact.scss */
          .inner-contact .contact-form .form-display.input-item label .input-block input, .inner-contact .contact-form .form-display.input-item label .input-block textarea {
            width: 100%;
            border: 1px solid #ccc;
            font-size: 1.1em;
            padding: 10px 15px;
            transition: border-color 0.2s ease-in-out 0s, box-shadow 0.2s ease-in-out 0s;
            font-family: inherit; }
            /* line 100, ../scss/_contact.scss */
            .inner-contact .contact-form .form-display.input-item label .input-block input:focus, .inner-contact .contact-form .form-display.input-item label .input-block textarea:focus {
              border-color: #14a0b4;
              box-shadow: 0 0 5px 0 #14a0b4; }
          /* line 105, ../scss/_contact.scss */
          .inner-contact .contact-form .form-display.input-item label .input-block textarea {
            resize: vertical;
            min-height: 180px; }
        /* line 110, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.input-item label .caution {
          width: 100%;
          display: block;
          color: #8B0000;
          max-height: 0;
          opacity: 0;
          transition: max-height 0.75s ease-in-out 0s, opacity 0.75s ease-in-out 0s; }
          /* line 117, ../scss/_contact.scss */
          .inner-contact .contact-form .form-display.input-item label .caution.append {
            max-height: 10em;
            opacity: 1; }
    /* line 124, ../scss/_contact.scss */
    .inner-contact .contact-form .form-display.confirm-form {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      /* line 128, ../scss/_contact.scss */
      .inner-contact .contact-form .form-display.confirm-form .confirm-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 0;
        border-bottom: 1px solid #506478; }
        /* line 134, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.confirm-form .confirm-item-short {
          width: calc(50% - 20px); }
          @media screen and (max-width: 639px) {
            /* line 134, ../scss/_contact.scss */
            .inner-contact .contact-form .form-display.confirm-form .confirm-item-short {
              width: 100%; } }
        /* line 140, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.confirm-form .confirm-item-long {
          width: 100%; }
        /* line 143, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.confirm-form .confirm-item dt {
          display: block;
          width: 5em;
          text-align: center;
          font-weight: 600;
          margin-right: 1em;
          flex-shrink: 0; }
        /* line 151, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.confirm-form .confirm-item dd {
          width: 100%;
          white-space: pre-wrap; }
    /* line 158, ../scss/_contact.scss */
    .inner-contact .contact-form .form-display.thanks-form.displayon {
      background-color: #fff;
      padding: 40px; }
      @media screen and (max-width: 959px) {
        /* line 158, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.thanks-form.displayon {
          padding: 20px; } }
      @media screen and (max-width: 639px) {
        /* line 158, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.thanks-form.displayon {
          padding: 10px; } }
      /* line 167, ../scss/_contact.scss */
      .inner-contact .contact-form .form-display.thanks-form.displayon h3 {
        font-size: 1.75em;
        text-align: center;
        margin-bottom: 15px; }
      /* line 172, ../scss/_contact.scss */
      .inner-contact .contact-form .form-display.thanks-form.displayon .thanks-text {
        margin-bottom: 0.5em; }
        /* line 174, ../scss/_contact.scss */
        .inner-contact .contact-form .form-display.thanks-form.displayon .thanks-text-caution {
          border-bottom: 1px dashed #506478; }
          /* line 176, ../scss/_contact.scss */
          .inner-contact .contact-form .form-display.thanks-form.displayon .thanks-text-caution-list {
            margin-top: 0.5em;
            padding-left: 1.25em; }
            /* line 179, ../scss/_contact.scss */
            .inner-contact .contact-form .form-display.thanks-form.displayon .thanks-text-caution-list dt {
              text-indent: -1.25em;
              font-weight: 600; }
              /* line 182, ../scss/_contact.scss */
              .inner-contact .contact-form .form-display.thanks-form.displayon .thanks-text-caution-list dt::before {
                content: "";
                display: inline-block;
                width: 0.75em;
                height: 0.75em;
                margin-right: 0.5em;
                background-color: #506478; }
            /* line 191, ../scss/_contact.scss */
            .inner-contact .contact-form .form-display.thanks-form.displayon .thanks-text-caution-list dd {
              margin-bottom: 1em; }
      /* line 197, ../scss/_contact.scss */
      .inner-contact .contact-form .form-display.thanks-form.displayon .thanks-address {
        font-weight: 600;
        color: #B80015; }
  /* line 204, ../scss/_contact.scss */
  .inner-contact .contact-form .input-button {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 20px;
    z-index: 2;
    width: 100%; }
    /* line 212, ../scss/_contact.scss */
    .inner-contact .contact-form .input-button button {
      font-family: inherit;
      font-size: inherit;
      font-weight: 600;
      line-height: 3em;
      color: #fff;
      width: 9.5em;
      text-align: center;
      border-radius: 1.5em;
      margin: 0 20px;
      box-shadow: 0 3px 3px 0 rgba(80, 100, 120, 0.5);
      transition: opacity 0.2s ease-in-out 0s, box-shadow 0.2s ease-in-out 0s;
      display: block; }
      /* line 225, ../scss/_contact.scss */
      .inner-contact .contact-form .input-button button.confirm {
        background-color: #506478; }
      /* line 228, ../scss/_contact.scss */
      .inner-contact .contact-form .input-button button.send {
        background-color: #14a0b4; }
      /* line 231, ../scss/_contact.scss */
      .inner-contact .contact-form .input-button button:hover {
        opacity: 0.8;
        box-shadow: 0 0 10px 0 #19c9e2; }

/* Site Footer */
/* line 2, ../scss/_site-footer.scss */
.site-footer {
  background-color: #506478;
  color: #fff;
  padding-top: 40px; }
  /* line 6, ../scss/_site-footer.scss */
  .site-footer .inner-footer {
    flex-direction: column;
    align-items: center; }
    /* line 9, ../scss/_site-footer.scss */
    .site-footer .inner-footer .footer-logo-mark {
      width: 100px; }
    /* line 12, ../scss/_site-footer.scss */
    .site-footer .inner-footer .footer-logo-type {
      height: 40px;
      margin: 10px 0 15px; }
    /* line 16, ../scss/_site-footer.scss */
    .site-footer .inner-footer .footer-address {
      font-style: normal;
      text-align: center; }
      /* line 19, ../scss/_site-footer.scss */
      .site-footer .inner-footer .footer-address-data, .site-footer .inner-footer .footer-address .footer-mail {
        display: block;
        margin: auto; }
      /* line 23, ../scss/_site-footer.scss */
      .site-footer .inner-footer .footer-address .footer-tel, .site-footer .inner-footer .footer-address .footer-fax {
        display: inline-block;
        margin: 0 10px; }
  /* line 29, ../scss/_site-footer.scss */
  .site-footer .footer-sign {
    margin-top: 40px;
    display: block;
    border-top: 1px solid #fff;
    text-align: center;
    line-height: 40px; }

/* line 102, ../scss/style.scss */
html {
  overflow: hidden; }

/* line 106, ../scss/style.scss */
#loading {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  opacity: 1;
  transition: opacity 1s ease-in-out 1s; }
  /* line 119, ../scss/style.scss */
  #loading.fadeout {
    opacity: 0; }
  /* line 122, ../scss/style.scss */
  #loading-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    -webkit-perspective: 500px;
    perspective: 500px; }
  /* line 130, ../scss/style.scss */
  #loading-logo-mark {
    display: block;
    width: 80px;
    height: 70px;
    background-image: url("../img/companylogo/logo-mark.svg");
    background-position: center;
    background-repeat: no-repeat;
    animation: rotateLogo 1.5s ease-in-out 0s infinite;
    -webkit-animation: rotateLogoios 1.5s ease-in-out 0s infinite; }
  /* line 140, ../scss/style.scss */
  #loading-logo-type {
    display: block;
    width: 150px;
    height: 60px;
    background-image: url("../img/companylogo/logo-type.svg");
    background-position: center;
    background-repeat: no-repeat; }
@keyframes rotateLogo {
  0% {
    transform: rotate3d(0, 1, 0, 0deg); }
  50% {
    transform: rotate3d(0, 1, 0, 180deg); }
  100% {
    transform: rotate3d(0, 1, 0, 360deg); } }
@-webkit-keyframes rotateLogoios {
  0% {
    -webkit-transform: rotate3d(0, 1, 0, 0deg); }
  50% {
    -webkit-transform: rotate3d(0, 1, 0, 180deg); }
  100% {
    -webkit-transform: rotate3d(0, 1, 0, 360deg); } }

/*# sourceMappingURL=style.css.map */
