@charset "UTF-8";
h2.top-title {
  font-weight: 900;
  text-align: center;
  color: #273a69;
  font-size: 50px; }
  @media screen and (max-width: 768px) {
    h2.top-title {
      font-size: 30px; } }

/*------------------------------------------------------
 メインビジュアル
-------------------------------------------------------*/
.mainvisual {
  margin-top: -172px;
  padding-top: 190px;
  padding-bottom: 70px;
  padding-left: 6%;
  padding-right: 6%;
  background: url("../img/top/main.webp");
  background-size: cover;
  background-position: center top;
  text-align: center; }
  .mainvisual p {
    margin: 0; }

/*------------------------------------------------------
 私たちについて
-------------------------------------------------------*/
.about {
  padding: 100px 5%;
  background-color: #e6f1f7;
  background-image: url("../img/top/main-bg.webp");
  background-position: right 5% bottom;
  background-size: 800px auto;
  background-repeat: no-repeat; }
  @media screen and (max-width: 1400px) {
    .about {
      background-image: url("../img/top/main-bg.webp");
      background-position: right -100px bottom;
      background-size: 720px auto;
      background-repeat: no-repeat; } }
  @media screen and (max-width: 768px) {
    .about {
      padding: 60px 5%;
      background-image: url("../img/top/main-bg.webp");
      background-position: left -50px bottom;
      background-size: 320px auto;
      background-repeat: no-repeat; } }
  .about h2 {
    color: #273a69;
    position: relative;
    font-size: 40px; }
    @media screen and (max-width: 768px) {
      .about h2 {
        font-size: 30px; } }
    .about h2:before {
      content: "";
      display: block;
      width: 150px;
      height: 150px;
      position: absolute;
      left: -70px;
      top: -30px;
      background: url("../img/common/title-bg.webp");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain; }
    .about h2 span {
      position: relative; }
      .about h2 span span {
        margin-top: 1em;
        display: block;
        font-size: 16px; }
  .about .inner {
    max-width: 600px; }

/*------------------------------------------------------
 事業案内
-------------------------------------------------------*/
.business {
  padding: 100px 10px; }
  .business h2 {
    padding: 1em 0;
    background: url("../img/common/title-bg.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 100%;
    color: #273a69;
    letter-spacing: 0.5em;
    padding-left: 0.5em;
    font-size: 40px; }
    @media screen and (max-width: 768px) {
      .business h2 {
        font-size: 30px; } }
    .business h2 span {
      display: block;
      font-size: 50%;
      margin-top: 0.5em;
      letter-spacing: 0; }
  .business h3 {
    position: relative;
    line-height: 0.8; }
    @media screen and (max-width: 768px) {
      .business h3 {
        margin-top: -40px; } }
    .business h3 .num {
      font-family: "Oswald", sans-serif;
      font-weight: 900;
      color: #273a69;
      opacity: 15%;
      font-size: 220px; }
      @media screen and (max-width: 768px) {
        .business h3 .num {
          font-size: 160px; } }
    .business h3 .title {
      font-weight: bold;
      color: #273a69;
      position: absolute;
      top: 55%;
      left: 50px;
      letter-spacing: 0.1em; }
    .business h3.textright .title {
      left: auto;
      right: 50px; }
  .business .inner {
    max-width: 480px;
    margin: auto; }

.recruit a {
  display: inline-block;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); }
  .recruit a img {
    vertical-align: bottom; }

.news h2 {
  padding: 1.2em 0 1.2em 1em;
  background: url("../img/common/title-bg.webp");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 100%;
  color: #273a69;
  font-size: 40px;
  line-height: 0.7; }
  @media screen and (max-width: 768px) {
    .news h2 {
      font-size: 30px; } }
