body {
  font-family: 'Noto Sans JP', 'Lucida Grande', '游ゴシック', YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif !important;
}

.font-serif {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.part-header {
  background-image: url(christopher-gower-m_HRfLhgABo-unsplash.jpg);
}

h1 {
  margin-top: -25px;
}

.navbar-brand {
  width: 120px;
  margin: 0;
  margin-top: -5px;
}

.partners {
  margin-top: 2rem;
  text-align: center;
}

.partner-logo {
  height: 40px;
  margin: 15px;
}

.skills {
  margin-top: 2rem;
  text-align: center;
}

.skill-logo {
  height: 40px;
  margin: 15px;
  filter: grayscale(100%) brightness(100%) opacity(50%);
}

.skill-logo.ruby {
  filter:  grayscale(100%) brightness(200%) opacity(50%);
}

.skill-logo.rails {
  filter:  grayscale(100%) brightness(200%)
}

.skill-logo.ts {
  filter:  grayscale(100%) brightness(130%) opacity(50%);
}

.skill-logo.aws {
  filter:  grayscale(100%) brightness(300%) opacity(50%);
}

.footer_logo {
  width: 120px;
}

.services-main:hover img {
  transform: none;
}

.services-main:hover h3 {
  background-image: none;
  -webkit-text-fill-color: #384141;
}

.blog-img img {
  min-width: 400px;
  max-height: 200px;
  object-fit: cover;
}

.news_desc {
  padding: 30px 20px !important;
}

.news_desc p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.news_desc h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 2.3em;
}

#company dt {
  color: #aaa;
}

.ggmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.ggmap iframe, .ggmap object, .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.getin_form .form-control {
  color: inherit;
}

.pile-hr {
  position: relative;
  text-align: center;
}

.pile-hr span {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 0 4em;
  padding: 0 1em;
  color: #aaa;
  background-color: #fff;
  text-align: left;
}

.pile-hr::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #ddd;
  background: -webkit-linear-gradient(-45deg, transparent, #ddd 10%, #ddd 90%, transparent);
  background: linear-gradient(-45deg, transparent, #ddd 10%, #ddd 90%, transparent);
}

#contacts .pile-hr {
  margin: 2rem 3rem;
}

#contacts .pile-hr span {
  background-color:#f6f7f8;
}

.icon-map {
  color: #37b0c3;
  border: 1px solid #37b0c3;
  border-radius: 5px;
  padding: 1px 5px;
  font-size: 80%;
}

.feature-item:hover,
.feature-item.image {
    cursor: inherit !important;
}

.feature-item:hover .text h3 span {
  background-image: inherit;
  background-clip: inherit;
  background-size: inherit;
  filter: inherit;
  -webkit-background-clip: inherit;
  -webkit-text-fill-color: inherit;
}

.feature-item:hover .icon {
  transform: inherit;
}

.copyright {
  background: #444;
}

@media (max-width: 767px) {

  h1 {
    margin-top: -5px;
  }

  .heading_space {
    margin-bottom: 3em;
  }

  .navbar-brand {
    margin: 10px 0 15px 0;
  }

}
