@charset "UTF-8";
/**
 * 外部ライブラリー
 * node_moduleにインストールされていればそこから読み込む
 */
/**
 * Default Setting
 */
/**
 * SuperGradient
 * SASS MULTI-COLOR GRADIENT MIXIN (LINEAR & RADIAL)
 * Options
 * $type: linear*, radial
 * $from: top*, left, top left, top right, bottom right, bottom left, center (radial)
 * $colors: hex, rgba
 * *default
 *
 * Include: bower install super-gradient
 *
 * Demo: http://super-gradient.ib.gs/
 */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
  background-color: #fff; }

::-webkit-scrollbar-track {
  border-radius: 0;
  -webkit-box-shadow: inset 0 0 2px 0 rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 0 2px 0 rgba(0, 0, 0, 0.2); }

::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 0;
  -webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2); }

/**
 * CSS Reset
 * Default StyleSheet Normalize
 *
 * @since 0.1
 * @author MIRAI Inc.
 */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

html, body {
  width: 100%; }

body {
  min-width: 300px;
  margin: 0;
  padding: 0;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "游ゴシック体", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Robot, "Droid Sans", sans-serif;
  color: #222;
  background-color: white;
  -webkit-text-size-adjust: 100%; }

header,
footer,
nav,
figure,
figcaption,
main,
article,
section,
aside {
  display: block; }

main {
  width: 100%; }

a,
area,
button,
[role="button"],
input:not([type=range]),
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  padding: 0.5em 1em;
  border: 1px solid #ccc; }

input[type="text"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],
input[type="color"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 16px; }

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 16px; }

button {
  cursor: pointer; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

a {
  color: #222;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

ul, ol {
  padding-left: 40px; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }

.text p {
  margin: 0 0 1em; }
  .text p:last-child {
    margin-bottom: 0; }

.sp {
  display: block; }
  @media (min-width: 768px) {
    .sp {
      display: none; } }

.pc {
  display: none; }
  @media (min-width: 768px) {
    .pc {
      display: block; } }

a[href^="tel:"] {
  pointer-events: none; }
  @media (pointer: fine) {
    a[href^="tel:"] {
      pointer-events: none;
      color: currentColor;
      text-decoration: none; } }
  @media (pointer: coarse) {
    a[href^="tel:"] {
      pointer-events: auto; } }

.number {
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  letter-spacing: 1px; }

.text-left {
  text-align: left; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.iframe {
  position: relative;
  display: block;
  width: 100%;
  height: 0; }
  .iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%; }

.en {
  font-family: "Poppins", sans-serif; }

.share-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 -5px;
  padding: 0;
  list-style: none; }
  .share-buttons li {
    height: 100%;
    padding: 5px; }
  .share-buttons .fb-like {
    display: block !important; }
    .share-buttons .fb-like > span {
      display: block;
      vertical-align: top !important; }
  .share-buttons iframe {
    display: block; }

.heading {
  margin-bottom: 2em;
  font-size: 18px;
  color: #222;
  text-align: center; }
  @media (min-width: 576px) {
    .heading {
      font-size: 24px; } }
  @media (min-width: 768px) {
    .heading {
      font-size: 28px; } }
  @media (min-width: 992px) {
    .heading {
      font-size: 36px; } }

@media (max-width: 991px) {
  .imap {
    margin-top: 40px; } }

.imap iframe {
  width: 100%;
  height: 300px; }
  @media (min-width: 576px) {
    .imap iframe {
      height: 340px; } }
  @media (min-width: 768px) {
    .imap iframe {
      height: 400px; } }
  @media (min-width: 992px) {
    .imap iframe {
      height: 460px; } }

.table th, .table td {
  padding: 16px 0;
  font-size: 14px; }

@media (min-width: 576px) {
  .table th {
    width: 160px; } }

.table strong {
  font-size: 114%; }

@media (max-width: 575px) {
  .table tr {
    display: block;
    margin-bottom: 16px;
    border-bottom: 1px solid #ccc; }
  .table th, .table td {
    display: block;
    padding: 0;
    border: 0; }
  .table th {
    padding: 6px 0; }
  .table td {
    padding-left: 1em;
    padding-bottom: 1em; } }

.list {
  margin-top: 1em;
  padding-left: 1.4em;
  line-height: 1.3; }
  .list li:not(:last-child) {
    margin-bottom: 8px; }

.anim-leftwark:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
  background-color: #707070;
  -webkit-transform: translateX(0%);
  transform: translateX(0%); }

.anim-leftwark.hover:before {
  -webkit-animation: leftWark 500ms ease-out 0s 1 normal;
  animation: leftWark 500ms ease-out 0s 1 normal; }

@-webkit-keyframes leftWark {
  0% {
    width: 0;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  50% {
    width: 100%;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  100% {
    width: 100%;
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

@keyframes leftWark {
  0% {
    width: 0;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  50% {
    width: 100%;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  100% {
    width: 100%;
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

/**
 * Extend
 */
/**
 * Common Parts
 */
/**
 * Typography
 */
/**
 * Headline
 *
 * @prefix headline-
 */
.heading {
  margin: 0 0 40px;
  font-weight: 700;
  font-size: 28px;
  letter-spacing: 2px;
  text-align: center; }
  @media (min-width: 992px) {
    .heading {
      margin: 0 0 60px;
      font-size: 32px;
      letter-spacing: 4px; } }
  .heading:before {
    content: "";
    display: block;
    width: 5px;
    height: 89px;
    margin: 0 auto 24px;
    background: transparent no-repeat center center;
    background-image: url(../img/common/section-line.svg);
    background-size: contain; }
    @media (min-width: 992px) {
      .heading:before {
        margin-bottom: 30px; } }

/**
 * Table
 *
 * @prefix table-
 */
.table-default {
  table-layout: auto; }
  .table-default th, .table-default td {
    padding: 15px; }
  .table-default th {
    background-color: #f0f0f0; }

/**
 * Form
 * フォームの各Input要素など
 *
 * @prefix form-
 */
/**
 * Icon
 *
 * @prefix icon-
 */
/**
* Components
*/
/**
 * Layout
 */
/**
 * Layout
 * レイアウト全般に関するものはここに書く
 */
body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.layout-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
  background-color: #fff; }

.layout-main {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto; }

main {
  width: 100%; }

.container {
  max-width: 452px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-left: calc(env(safe-area-inset-left) + 16px);
  padding-left: calc(constant(safe-area-inset-left) + 16px);
  padding-right: 16px;
  padding-right: calc(env(safe-area-inset-right) + 16px);
  padding-right: calc(constant(safe-area-inset-right) + 16px); }
  @media (min-width: 576px) {
    .container {
      max-width: 552px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 712px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 912px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1156px; } }

.row {
  margin-left: -16px;
  margin-right: -16px; }

.content {
  padding: 30px 0; }
  @media (min-width: 992px) {
    .content {
      padding: 60px 0; } }
  .content-section {
    padding: 30px 0; }
    @media (min-width: 992px) {
      .content-section {
        padding: 60px 0; } }
    .content-section .display-4 {
      margin-bottom: 20px;
      font-size: 3.5rem; }
      @media (max-width: 1200px) {
        .content-section .display-4 {
          font-size: calc(1.475rem + 2.7vw) ; } }
      @media (min-width: 768px) {
        .content-section .display-4 {
          margin-bottom: 30px; } }
      @media (min-width: 992px) {
        .content-section .display-4 {
          margin-bottom: 60px; } }

body.scrolled .layout-header {
  background-color: rgba(255, 255, 255, 0.9); }

@media (max-width: 1199px) {
  body.scrolled .header-content {
    height: 62px; } }

@media (max-width: 1199px) {
  body.scrolled .header-content .logo-sp {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1); } }

body.scrolled .header-content .btn-open .bars span {
  background-color: #222; }

@media (min-width: 1200px) {
  body.scrolled .layout-header {
    background-color: rgba(255, 255, 255, 0.9); }
  body.scrolled .header-content,
  body.scrolled .header-navi {
    height: 62px; }
  body.scrolled .header-content .logo {
    width: 100px;
    opacity: 1;
    visibility: visible; }
  body.scrolled .header-navi {
    color: #222; }
    body.scrolled .header-navi a {
      text-shadow: none; }
  body.scrolled .lang-select {
    color: #222 !important; }
    body.scrolled .lang-select:hover {
      color: #fff !important;
      background-color: #222 !important;
      border-color: #222 !important; } }

.layout-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 51;
  width: 100%;
  -webkit-transition: background 250ms ease;
  transition: background 250ms ease; }

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0; }
  @media (min-width: 1200px) {
    .header {
      padding: 0 27px; } }

.header-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 0;
  -webkit-transition: height 400ms ease-out;
  transition: height 400ms ease-out; }
  @media (min-width: 1200px) {
    .header-content {
      height: 80px;
      -webkit-transition: height 400ms ease;
      transition: height 400ms ease; } }
  .header-content .logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 120px;
    height: 42px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 235ms ease;
    transition: 235ms ease; }
    @media (max-width: 1199px) {
      .header-content .logo {
        display: none; } }
    .header-content .logo:hover {
      opacity: 0.8; }
    .header-content .logo img {
      display: block;
      width: 100%;
      height: auto; }
  @media (max-width: 1199px) {
    .header-content .logo-sp {
      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      width: 100px;
      height: 34px;
      margin: -17px 0 0 -50px;
      opacity: 0;
      -webkit-transform: translateY(-100%) scale(0.9);
      transform: translateY(-100%) scale(0.9);
      -webkit-transition: 300ms ease-out 100ms;
      transition: 300ms ease-out 100ms; } }
  @media (min-width: 1200px) {
    .header-content .logo-sp {
      display: none; } }
  .header-content .btn-open {
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 78px;
    height: 62px; }
    @media (max-width: 1199px) {
      .header-content .btn-open {
        position: fixed;
        top: 0;
        left: 0; } }
    @media (min-width: 1200px) {
      .header-content .btn-open {
        display: none; } }
    .header-content .btn-open.opened .bars span {
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #222; }
      .header-content .btn-open.opened .bars span:nth-child(1) {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .header-content .btn-open.opened .bars span:nth-child(2) {
        width: 0; }
      .header-content .btn-open.opened .bars span:nth-child(3) {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
    .header-content .btn-open:hover .bars span:before {
      width: 100%;
      -webkit-transform: translateX(100%);
      transform: translateX(100%); }
    .header-content .btn-open:hover .bars span:nth-child(1):before {
      -webkit-transition: width 235ms ease, -webkit-transform 235ms ease 320ms;
      transition: width 235ms ease, -webkit-transform 235ms ease 320ms;
      transition: width 235ms ease, transform 235ms ease 320ms;
      transition: width 235ms ease, transform 235ms ease 320ms, -webkit-transform 235ms ease 320ms; }
    .header-content .btn-open:hover .bars span:nth-child(2):before {
      -webkit-transition: width 235ms ease 80ms, -webkit-transform 235ms ease 400ms;
      transition: width 235ms ease 80ms, -webkit-transform 235ms ease 400ms;
      transition: width 235ms ease 80ms, transform 235ms ease 400ms;
      transition: width 235ms ease 80ms, transform 235ms ease 400ms, -webkit-transform 235ms ease 400ms; }
    .header-content .btn-open:hover .bars span:nth-child(3):before {
      -webkit-transition: width 235ms ease 160ms, -webkit-transform 235ms ease 480ms;
      transition: width 235ms ease 160ms, -webkit-transform 235ms ease 480ms;
      transition: width 235ms ease 160ms, transform 235ms ease 480ms;
      transition: width 235ms ease 160ms, transform 235ms ease 480ms, -webkit-transform 235ms ease 480ms; }
    .header-content .btn-open .bars {
      position: relative;
      width: 26px;
      height: 16px;
      margin: auto; }
      .header-content .btn-open .bars span {
        position: absolute;
        left: 0;
        right: 0;
        display: block;
        width: 26px;
        height: 1px;
        margin: auto;
        overflow: hidden;
        background-color: #fff;
        -webkit-transition: 235ms ease;
        transition: 235ms ease; }
        .header-content .btn-open .bars span:before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          display: block;
          width: 0;
          height: 100%;
          background-color: rgba(255, 255, 255, 0.8); }
        .header-content .btn-open .bars span:nth-child(1) {
          top: 0; }
          .header-content .btn-open .bars span:nth-child(1):before {
            -webkit-transition: width 235ms ease, -webkit-transform 235ms ease 240ms;
            transition: width 235ms ease, -webkit-transform 235ms ease 240ms;
            transition: width 235ms ease, transform 235ms ease 240ms;
            transition: width 235ms ease, transform 235ms ease 240ms, -webkit-transform 235ms ease 240ms; }
        .header-content .btn-open .bars span:nth-child(2) {
          top: 50%; }
          .header-content .btn-open .bars span:nth-child(2):before {
            -webkit-transition: width 235ms ease 80ms, -webkit-transform 235ms ease 320ms;
            transition: width 235ms ease 80ms, -webkit-transform 235ms ease 320ms;
            transition: width 235ms ease 80ms, transform 235ms ease 320ms;
            transition: width 235ms ease 80ms, transform 235ms ease 320ms, -webkit-transform 235ms ease 320ms; }
        .header-content .btn-open .bars span:nth-child(3) {
          bottom: 0; }
          .header-content .btn-open .bars span:nth-child(3):before {
            -webkit-transition: width 235ms ease 160ms, -webkit-transform 235ms ease 400ms;
            transition: width 235ms ease 160ms, -webkit-transform 235ms ease 400ms;
            transition: width 235ms ease 160ms, transform 235ms ease 400ms;
            transition: width 235ms ease 160ms, transform 235ms ease 400ms, -webkit-transform 235ms ease 400ms; }

.header-navi {
  position: fixed;
  z-index: 50;
  opacity: 0;
  visibility: hidden;
  color: #fff; }
  @media (max-width: 1199px) {
    .header-navi {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      color: #222;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      background-color: rgba(255, 255, 255, 0.9);
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
      -webkit-transition: 600ms ease;
      transition: 600ms ease; }
      .header-navi.opened {
        opacity: 1;
        visibility: visible;
        color: #222;
        -webkit-transform: translateY(0);
        transform: translateY(0); }
        .header-navi.opened .lang-select {
          color: #222 !important; } }
  @media (min-width: 1200px) {
    .header-navi {
      top: 0;
      right: 25px;
      z-index: 52;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 80px;
      opacity: 1;
      visibility: visible;
      -webkit-transition: height 400ms ease;
      transition: height 400ms ease; } }
  .header-navi a {
    color: currentColor;
    text-shadow: 1px 1px 8px rgba(34, 34, 34, 0.3);
    -webkit-transition: 235ms ease;
    transition: 235ms ease; }
  .header-navi .logo {
    display: block;
    width: 160px;
    margin: 0 auto 40px; }
    @media (min-width: 1200px) {
      .header-navi .logo {
        display: none; } }
    .header-navi .logo:hover {
      opacity: 0.8; }
  @media (max-width: 1199px) {
    .header-navi .navi {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }
  @media (max-width: 1199px) {
    .header-navi .navi-content {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 100%;
      height: 100%;
      padding: 80px 16px;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch; } }
  .header-navi .navi-list {
    margin: 0;
    padding: 0;
    list-style: none; }
    @media (min-width: 1200px) {
      .header-navi .navi-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0 -16px; } }
    @media (max-width: 1199px) {
      .header-navi .navi-list li {
        padding: 16px 0;
        text-align: center; } }
    @media (min-width: 1200px) {
      .header-navi .navi-list li {
        padding: 0 16px; } }
    .header-navi .navi-list li a {
      font-family: "Poppins", sans-serif;
      font-weight: 700;
      font-size: 22px;
      letter-spacing: 1px;
      text-decoration: none;
      -webkit-transition: 235ms ease;
      transition: 235ms ease; }
      @media (min-width: 1200px) {
        .header-navi .navi-list li a {
          font-size: 16px; } }
      .header-navi .navi-list li a:hover {
        opacity: 0.8; }
    .header-navi .navi-list .lang-select {
      cursor: pointer;
      position: relative;
      display: block;
      width: 56px;
      margin: auto;
      padding-right: 16px;
      font-weight: bold;
      font-size: 15px;
      color: #fff;
      text-align: center;
      border: 1px solid currentColor;
      border-radius: 4px;
      -webkit-transition: 235ms ease;
      transition: 235ms ease; }
      .header-navi .navi-list .lang-select:hover {
        color: #222;
        background-color: #fff; }
      .header-navi .navi-list .lang-select:before {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        display: block;
        width: 0;
        height: 0;
        border: 3px solid transparent;
        border-top: 4px solid currentColor;
        border-bottom-width: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }
      .header-navi .navi-list .lang-select .select-body {
        cursor: pointer;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        font-size: 16px;
        opacity: 0; }

.footer {
  position: relative;
  z-index: 1;
  padding: 25px 0;
  background-color: #222; }
  .footer .copyright {
    margin: 0;
    line-height: 1;
    font-size: 12px;
    color: #fff;
    letter-spacing: 1px; }

body {
  background-repeat: no-repeat;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), to(#f2f2f2));
  background-image: linear-gradient(180deg, #fff 50%, #f2f2f2 100%);
  background-size: contain; }

/**
 * Pages
 * 各ページのScssファイルをここでインポートしてください
 */
.hero-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 480px;
  background: transparent no-repeat center center;
  background-size: cover; }
  @media (min-width: 768px) {
    .hero-bg {
      min-height: 580px;
      height: 80vh; } }
  .hero-bg:before, .hero-bg:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%; }
  .hero-bg.hero1 {
    background-image: url(../img/top2/kv.jpg);
    -webkit-filter: grayscale(95%) sepia(18%);
    filter: grayscale(95%) sepia(18%); }
    .hero-bg.hero1:before {
      -webkit-box-shadow: inset 0 0 100vh 6vh rgba(0, 0, 0, 0.8);
      box-shadow: inset 0 0 100vh 6vh rgba(0, 0, 0, 0.8); }
    .hero-bg.hero1:after {
      background-image: linear-gradient(-45deg, rgba(0, 0, 0, 0.2) 0%, transparent 100%); }
  .hero-bg.hero2 {
    background-image: url(../img/top2/kv2.jpg);
    -webkit-filter: grayscale(95%) sepia(5%);
    filter: grayscale(95%) sepia(5%); }
    .hero-bg.hero2:before {
      -webkit-box-shadow: inset 0 0 100vh 6vh rgba(0, 0, 0, 0.8);
      box-shadow: inset 0 0 100vh 6vh rgba(0, 0, 0, 0.8); }

.hero-section {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 480px;
  overflow: hidden; }
  @media (min-width: 768px) {
    .hero-section {
      min-height: 580px;
      height: 80vh; } }
  .hero-section .container {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0 auto; }
  .hero-section .hero-logo {
    width: 180px;
    margin: 0 auto; }
    @media (min-width: 768px) {
      .hero-section .hero-logo {
        width: 280px; } }
    .hero-section .hero-logo svg path {
      fill: #fff; }

#main {
  position: relative;
  z-index: 1; }

.section {
  position: relative;
  z-index: 1;
  padding: 0 0 80px;
  background-color: #fff; }
  @media (min-width: 992px) {
    .section {
      padding: 0 0 160px; } }

.section-bg {
  padding-left: 16px;
  padding-right: 16px; }
  @media (min-width: 992px) {
    .section-bg {
      padding-left: 28px;
      padding-right: 28px; } }

.section-image {
  position: relative;
  z-index: 1;
  height: 132px;
  overflow: hidden; }
  @media (min-width: 992px) {
    .section-image {
      height: 270px; } }
  .section-image-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 120%;
    height: 120%;
    background: #f0f0f0 no-repeat center center;
    background-size: cover;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-filter: grayscale(95%) sepia(18%) blur(5px);
    filter: grayscale(95%) sepia(18%) blur(5px); }
    .section-image-inner.section-image1 {
      -webkit-filter: grayscale(95%) sepia(8%) blur(5px);
      filter: grayscale(95%) sepia(8%) blur(5px); }
  .section-image:before, .section-image:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%; }
  .section-image:before {
    -webkit-box-shadow: inset 0 0 100px 20px rgba(0, 0, 0, 0.7);
    box-shadow: inset 0 0 100px 20px rgba(0, 0, 0, 0.7); }
  .section-image:after {
    background-image: linear-gradient(-45deg, rgba(0, 0, 0, 0.6) 0%, transparent 100%); }

#mission {
  padding-bottom: 0;
  overflow: hidden; }
  #mission .heading {
    position: relative;
    z-index: 1;
    margin: 0 0 -.5em;
    line-height: 1; }

.mission {
  position: relative;
  padding: 59px 0 80px;
  background-color: #EFEEED; }
  @media (min-width: 992px) {
    .mission {
      padding: 84px 16px 80px; } }
  .mission .logo {
    position: absolute;
    top: 0;
    left: 50%;
    max-width: 326px;
    width: 55%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
    @media (min-width: 992px) {
      .mission .logo {
        -webkit-transform: translateY(-39%);
        transform: translateY(-39%); } }
  .mission .mission-content {
    text-align: center; }
    .mission .mission-content .title {
      margin: 0 0 40px;
      font-weight: 900;
      font-size: 22px;
      letter-spacing: 1px; }
      @media (min-width: 992px) {
        .mission .mission-content .title {
          font-size: 30px;
          letter-spacing: 2px; } }
    .mission .mission-content .text {
      line-height: 2;
      font-size: 16px;
      letter-spacing: 1px; }
      @media (min-width: 992px) {
        .mission .mission-content .text {
          font-size: 18px; } }

.vision .vision-content {
  margin-bottom: 54px; }
  @media (min-width: 992px) {
    .vision .vision-content {
      margin-bottom: 74px; } }
  .vision .vision-content .title {
    margin: 0 0 40px;
    font-weight: 900;
    font-size: 22px;
    text-align: center; }
    @media (min-width: 992px) {
      .vision .vision-content .title {
        margin: 0 0 60px;
        font-size: 30px; } }
  .vision .vision-content .text {
    line-height: 2;
    font-size: 16px; }
    @media (min-width: 992px) {
      .vision .vision-content .text {
        font-size: 18px;
        text-align: center; } }

@media (min-width: 992px) {
  .vision .vision-data {
    max-width: 690px;
    margin: 0 auto; } }

@media (max-width: 991px) {
  .vision .vision-data__row {
    margin-bottom: 38px; }
    .vision .vision-data__row:last-child {
      margin-bottom: 0; } }

@media (min-width: 992px) {
  .vision .vision-data__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px; }
    .vision .vision-data__row:last-child {
      margin-bottom: 0; } }

.vision .vision-data__item {
  position: relative;
  margin-bottom: 38px;
  padding: 32px 16px;
  text-align: center;
  border: 1px solid #222;
  border-left-width: 4px;
  border-right-width: 4px; }
  @media (max-width: 991px) {
    .vision .vision-data__item:last-child {
      margin-bottom: 0; } }
  @media (min-width: 992px) {
    .vision .vision-data__item {
      max-width: 322px;
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      width: 47%;
      margin: 0;
      padding: 35px 16px 34px; } }
  .vision .vision-data__item .icon {
    position: absolute;
    top: 0;
    left: 50%;
    width: 68px;
    text-align: center;
    background-color: #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .vision .vision-data__item .title {
    margin: 0 0 16px;
    font-size: 16px; }
    @media (min-width: 992px) {
      .vision .vision-data__item .title {
        font-size: 18px; } }
  .vision .vision-data__item .text {
    line-height: 2;
    font-size: 14px; }
    @media (min-width: 992px) {
      .vision .vision-data__item .text {
        font-size: 15px; } }

.vision .arrow-down {
  width: 14px;
  margin: 16px auto; }
  @media (min-width: 992px) {
    .vision .arrow-down {
      margin: 40px auto 16px; } }

.vision .lede {
  margin: 0 0 16px;
  font-weight: 900;
  font-size: 19px;
  text-align: center; }
  @media (min-width: 992px) {
    .vision .lede {
      margin: 0 0 18px;
      font-size: 22px;
      letter-spacing: 2px; } }

.vision .hand {
  margin: 16px 0 0;
  text-align: center; }
  @media (max-width: 767px) {
    .vision .hand img {
      width: 58px; } }

#value {
  padding-bottom: 40px; }

.value {
  padding: 0 0 40px;
  background-color: #EFEEED; }
  @media (min-width: 992px) {
    .value {
      padding: 0 0 100px; } }
  .value .lede {
    margin: 0 0 84px;
    line-height: 2;
    font-size: 16px;
    letter-spacing: 1px;
    text-align: center; }
    @media (min-width: 992px) {
      .value .lede {
        margin: 0 0 89px;
        font-size: 18px; } }
  .value .value-content {
    max-width: 825px;
    margin: 0 auto;
    padding: 1px 0;
    background: transparent no-repeat center center;
    background-image: url(../img/value/logo-bg@2x.png);
    background-size: 98% auto; }
    @media (min-width: 992px) {
      .value .value-content {
        min-height: 561px;
        background-size: 561px auto; } }
    .value .value-content__row {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      .value .value-content__row.first {
        margin-top: -22px;
        margin-bottom: 133px; }
        @media (min-width: 992px) {
          .value .value-content__row.first {
            margin-top: 0;
            margin-bottom: 172px; } }
    .value .value-content__item {
      position: relative;
      width: 48%;
      padding: 24px 0 16px; }
      @media (min-width: 992px) {
        .value .value-content__item {
          width: 340px;
          padding: 32px 0 6px; } }
      .value .value-content__item:before, .value .value-content__item:after {
        content: "";
        position: absolute;
        top: 0;
        width: 24px;
        height: 100%;
        border-top: 1px solid #222;
        border-bottom: 1px solid #222; }
      .value .value-content__item:before {
        left: 0;
        border-left: 4px solid #222; }
      .value .value-content__item:after {
        right: 0;
        border-right: 4px solid #222; }
      .value .value-content__item .num {
        position: absolute;
        top: 0;
        left: 50%;
        font-style: italic;
        font-weight: 300;
        font-size: 40px;
        color: #cccbc6;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
        @media (min-width: 992px) {
          .value .value-content__item .num {
            font-size: 55px; } }
      .value .value-content__item .title {
        margin: 0 0 8px;
        line-height: 1.6;
        font-weight: 900;
        font-size: 16px;
        text-align: center; }
        @media (min-width: 992px) {
          .value .value-content__item .title {
            margin: 0 0 12px;
            line-height: 1.8;
            font-size: 22px; } }
      .value .value-content__item .text {
        padding: 0 14px;
        line-height: 1.6;
        font-size: 14px;
        letter-spacing: 1px; }
        @media (min-width: 992px) {
          .value .value-content__item .text {
            padding: 0 24px;
            line-height: 1.8;
            font-size: 15px; } }
  @media (max-width: 991px) {
    .value .value-arrow {
      display: none; } }
  @media (min-width: 992px) {
    .value .value-arrow {
      width: 14px;
      margin: -165px auto 14px; }
      .value .value-arrow img {
        display: block; } }
  .value .value-lede {
    margin: 32px 0 0;
    font-weight: 900;
    font-size: 18px;
    letter-spacing: 1px;
    text-align: center; }
    @media (min-width: 992px) {
      .value .value-lede {
        margin: 14px 0 0;
        font-size: 22px; } }

.service-content {
  padding: 40px 0;
  border-bottom: 1px solid #E8E7E4; }
  .service-content.first {
    padding-top: 0; }
  .service-content.last {
    padding-bottom: 0;
    border-bottom: 0; }
  @media (min-width: 992px) {
    .service-content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media (min-width: 992px) {
    .service-content__left {
      max-width: 297px;
      width: 100%;
      margin-right: 50px; } }
  .service-content__left .icon {
    margin: 0 0 22px; }
  .service-content__left .title {
    margin: 0;
    font-size: 18px; }
  .service-content__left .text {
    margin: 23px 0 0;
    line-height: 2;
    font-size: 15px; }
  @media (min-width: 992px) {
    .service-content__right {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; } }
  .service-content__right .sv-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -5px;
    padding: 0;
    list-style: none; }
    @media (max-width: 991px) {
      .service-content__right .sv-list {
        margin-top: 20px; } }
    .service-content__right .sv-list li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 47%;
      min-height: 64px;
      margin: 5px;
      padding: 12px;
      font-size: 14px;
      text-align: center;
      border: 1px solid #000;
      border-left-width: 4px;
      border-right-width: 4px; }
      @media (min-width: 992px) {
        .service-content__right .sv-list li {
          -webkit-box-flex: 1;
          -ms-flex-positive: 1;
          flex-grow: 1;
          width: 32%;
          height: 82px;
          font-size: 15px; } }

.service-case {
  margin: 60px 0 0; }
  @media (min-width: 768px) {
    .service-case {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: 80px 0 0; } }
  .service-case__textbox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-bottom: 20px; }
    @media (min-width: 768px) {
      .service-case__textbox {
        margin-right: 40px;
        margin-bottom: 0; } }
    .service-case__textbox .title {
      margin: 0 0 16px;
      font-size: 17px; }
    .service-case__textbox .text {
      line-height: 2;
      font-size: 15px;
      letter-spacing: 1px; }
  .service-case__photo {
    text-align: center; }
    @media (min-width: 768px) {
      .service-case__photo {
        width: 320px; } }

@media (min-width: 992px) {
  .company-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -15px; } }

@media (min-width: 992px) {
  .company-content .cont-l,
  .company-content .cont-r {
    width: 50%;
    padding: 0 15px; } }

@media (max-width: 991px) {
  .company-content .cont-r {
    margin-top: 40px; } }

.company .overview-table {
  width: 100%; }
  .company .overview-table th,
  .company .overview-table td {
    padding: 16px 0;
    line-height: 2;
    font-size: 15px;
    vertical-align: top;
    text-align: left;
    border-top: 1px solid #D3D3D3;
    border-bottom: 1px solid #D3D3D3; }
  @media (max-width: 767px) {
    .company .overview-table tr, .company .overview-table th, .company .overview-table td, .company .overview-table tbody {
      display: block; }
    .company .overview-table tr {
      margin-top: -1px;
      padding: 16px 0;
      border-top: 1px solid #d3d3d3;
      border-bottom: 1px solid #d3d3d3; }
    .company .overview-table th, .company .overview-table td {
      padding: 0;
      border: 0; } }
  .company .overview-table th {
    width: 120px; }

.company .gmap-iframe {
  position: relative; }
  .company .gmap-iframe .gmap {
    height: 320px; }
    @media (min-width: 992px) {
      .company .gmap-iframe .gmap {
        height: 506px; } }
  .company .gmap-iframe iframe {
    width: 100%;
    height: 100%; }
/*# sourceMappingURL=maps/app.css.map */
