html {
  height: 100%;
}

body {
  min-height: 100vh;
  background: #e3e3e3;
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 400;
  color: #333;
  line-height: 1.8;
}
html, body {
  overflow-x: hidden;
}
body.no-scroll {
  overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.4;
  font-family: 'Josefin Sans', sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.3s ease;
  display: block;
}
a:hover,
a:focus {
  opacity: 0.85;
}

p {
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 15px;
  line-height: 28px;
}

.section {
  padding: 5rem 0;
}
@media (max-width: 768px) {
  .section {
    padding: 3rem;
  }
}

.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

/* --------------------
   共通タイトル
-------------------- */
.section-heading {
  margin-bottom: 28px;
  text-align: left;
}
.section-heading__contact {
  margin-bottom: 0px;
}
.section-heading__blog {
  margin-bottom: 1rem;
}
.section-en {
  font-size: 60px;
  font-weight: 600;
  margin-bottom: 0.4rem;
  line-height: normal;
  color: #111;
}
.section-en-white {
  color: #fff;
}
.section-ja {
  font-size: 0.9rem;
  color: #666;
}
.section-ja-white {
  color: #fff;
}
@media (max-width: 768px) {
  .section-heading {
    margin-bottom: 24px;
  }
  .section-heading__blog {
    margin-bottom: 0.6rem;
  }
  .section-ja {
    font-size: 13px;
  }
  .section-en {
    font-size: 50px;
    margin-bottom: 8px;
  }
}